From e04734641ca360208e4eea50aca9ebe13246a7ea Mon Sep 17 00:00:00 2001 From: Carson <104383295+codebycarson@users.noreply.github.com> Date: Mon, 30 Sep 2024 08:51:17 -0700 Subject: [PATCH 01/17] Refactored @sei-js/proto into @sei-js/cosmos - Removed the need for telescope and instead generate TS files with buf.build and cherry pick what we want. - Adds @sei-js/cosmos/types for easy typescript types imports - Adds @sei-js/cosmos/encoding for easy proto/direct message encoding - Adds @sei-js/cosmos/rest which allows for querying cosmos REST nodes - Removes leading zeros from @sei-js/ledger bytes and bumps the sei ledger package version - Remove tsconfig in favor of biome for this package. --- .nvmrc | 2 +- package.json | 1 + packages/cosmos/.npmignore | 15 + packages/cosmos/README.md | 205 + packages/cosmos/biome.json | 49 + packages/cosmos/buf.gen.yaml | 17 + packages/cosmos/generated/encoding/amino.ts | 226 + packages/cosmos/generated/encoding/common.ts | 27 + .../cosmos/generated/encoding/confio/index.ts | 1 + .../generated/encoding/confio/proofs.ts | 1543 +++++ .../cosmos/accesscontrol/accesscontrol.ts | 771 +++ .../cosmos/accesscontrol/constants.ts | 549 ++ .../encoding/cosmos/accesscontrol/index.ts | 3 + .../encoding/cosmos/accesscontrol/legacy.ts | 219 + .../cosmos/accesscontrol_x/genesis.ts | 173 + .../encoding/cosmos/accesscontrol_x/gov.ts | 519 ++ .../encoding/cosmos/accesscontrol_x/index.ts | 4 + .../encoding/cosmos/accesscontrol_x/query.ts | 627 ++ .../encoding/cosmos/accesscontrol_x/tx.ts | 210 + .../encoding/cosmos/auth/v1beta1/auth.ts | 392 ++ .../encoding/cosmos/auth/v1beta1/genesis.ts | 101 + .../encoding/cosmos/auth/v1beta1/index.ts | 3 + .../encoding/cosmos/auth/v1beta1/query.ts | 552 ++ .../encoding/cosmos/authz/v1beta1/authz.ts | 310 + .../encoding/cosmos/authz/v1beta1/event.ts | 213 + .../encoding/cosmos/authz/v1beta1/genesis.ts | 80 + .../encoding/cosmos/authz/v1beta1/index.ts | 5 + .../encoding/cosmos/authz/v1beta1/query.ts | 532 ++ .../encoding/cosmos/authz/v1beta1/tx.ts | 508 ++ .../encoding/cosmos/bank/v1beta1/authz.ts | 80 + .../encoding/cosmos/bank/v1beta1/bank.ts | 741 ++ .../encoding/cosmos/bank/v1beta1/genesis.ts | 316 + .../encoding/cosmos/bank/v1beta1/index.ts | 5 + .../encoding/cosmos/bank/v1beta1/query.ts | 1145 ++++ .../encoding/cosmos/bank/v1beta1/tx.ts | 313 + .../encoding/cosmos/base/abci/v1beta1/abci.ts | 1173 ++++ .../cosmos/base/abci/v1beta1/index.ts | 1 + .../encoding/cosmos/base/kv/v1beta1/index.ts | 1 + .../encoding/cosmos/base/kv/v1beta1/kv.ts | 191 + .../cosmos/base/query/v1beta1/index.ts | 1 + .../cosmos/base/query/v1beta1/pagination.ts | 264 + .../cosmos/base/reflection/v1beta1/index.ts | 1 + .../base/reflection/v1beta1/reflection.ts | 247 + .../cosmos/base/reflection/v2alpha1/index.ts | 1 + .../base/reflection/v2alpha1/reflection.ts | 1841 +++++ .../cosmos/base/snapshots/v1beta1/index.ts | 1 + .../cosmos/base/snapshots/v1beta1/snapshot.ts | 690 ++ .../cosmos/base/store/v1beta1/commit_info.ts | 303 + .../cosmos/base/store/v1beta1/index.ts | 2 + .../cosmos/base/store/v1beta1/listening.ts | 152 + .../cosmos/base/tendermint/v1beta1/index.ts | 1 + .../cosmos/base/tendermint/v1beta1/query.ts | 1281 ++++ .../encoding/cosmos/base/v1beta1/coin.ts | 317 + .../encoding/cosmos/base/v1beta1/index.ts | 1 + .../cosmos/capability/v1beta1/capability.ts | 244 + .../cosmos/capability/v1beta1/genesis.ts | 196 + .../cosmos/capability/v1beta1/index.ts | 2 + .../encoding/cosmos/crisis/v1beta1/genesis.ts | 82 + .../encoding/cosmos/crisis/v1beta1/index.ts | 2 + .../encoding/cosmos/crisis/v1beta1/tx.ts | 161 + .../encoding/cosmos/crypto/ed25519/index.ts | 1 + .../encoding/cosmos/crypto/ed25519/keys.ts | 174 + .../encoding/cosmos/crypto/multisig/index.ts | 1 + .../encoding/cosmos/crypto/multisig/keys.ts | 99 + .../cosmos/crypto/multisig/v1beta1/index.ts | 1 + .../crypto/multisig/v1beta1/multisig.ts | 193 + .../encoding/cosmos/crypto/secp256k1/index.ts | 1 + .../encoding/cosmos/crypto/secp256k1/keys.ts | 174 + .../encoding/cosmos/crypto/secp256r1/index.ts | 1 + .../encoding/cosmos/crypto/secp256r1/keys.ts | 174 + .../encoding/cosmos/crypto/sr25519/index.ts | 1 + .../encoding/cosmos/crypto/sr25519/keys.ts | 105 + .../distribution/v1beta1/distribution.ts | 1053 +++ .../cosmos/distribution/v1beta1/genesis.ts | 882 +++ .../cosmos/distribution/v1beta1/index.ts | 4 + .../cosmos/distribution/v1beta1/query.ts | 1240 ++++ .../cosmos/distribution/v1beta1/tx.ts | 502 ++ .../cosmos/evidence/v1beta1/evidence.ts | 162 + .../cosmos/evidence/v1beta1/genesis.ts | 80 + .../encoding/cosmos/evidence/v1beta1/index.ts | 4 + .../encoding/cosmos/evidence/v1beta1/query.ts | 320 + .../encoding/cosmos/evidence/v1beta1/tx.ts | 187 + .../cosmos/feegrant/v1beta1/feegrant.ts | 446 ++ .../cosmos/feegrant/v1beta1/genesis.ts | 80 + .../encoding/cosmos/feegrant/v1beta1/index.ts | 4 + .../encoding/cosmos/feegrant/v1beta1/query.ts | 476 ++ .../encoding/cosmos/feegrant/v1beta1/tx.ts | 297 + .../cosmos/genutil/v1beta1/genesis.ts | 103 + .../encoding/cosmos/genutil/v1beta1/index.ts | 1 + .../encoding/cosmos/gov/v1beta1/genesis.ts | 194 + .../encoding/cosmos/gov/v1beta1/gov.ts | 1230 ++++ .../encoding/cosmos/gov/v1beta1/index.ts | 4 + .../encoding/cosmos/gov/v1beta1/query.ts | 1304 ++++ .../encoding/cosmos/gov/v1beta1/tx.ts | 664 ++ .../encoding/cosmos/mint/v1beta1/genesis.ts | 99 + .../encoding/cosmos/mint/v1beta1/index.ts | 3 + .../encoding/cosmos/mint/v1beta1/mint.ts | 261 + .../encoding/cosmos/mint/v1beta1/query.ts | 397 ++ .../encoding/cosmos/params/types/index.ts | 1 + .../encoding/cosmos/params/types/types.ts | 272 + .../encoding/cosmos/params/v1beta1/index.ts | 2 + .../encoding/cosmos/params/v1beta1/params.ts | 219 + .../encoding/cosmos/params/v1beta1/query.ts | 168 + .../cosmos/slashing/v1beta1/genesis.ts | 671 ++ .../encoding/cosmos/slashing/v1beta1/index.ts | 4 + .../encoding/cosmos/slashing/v1beta1/query.ts | 406 ++ .../cosmos/slashing/v1beta1/slashing.ts | 691 ++ .../encoding/cosmos/slashing/v1beta1/tx.ts | 135 + .../encoding/cosmos/staking/v1beta1/authz.ts | 234 + .../cosmos/staking/v1beta1/genesis.ts | 324 + .../encoding/cosmos/staking/v1beta1/index.ts | 5 + .../encoding/cosmos/staking/v1beta1/query.ts | 2090 ++++++ .../cosmos/staking/v1beta1/staking.ts | 2182 ++++++ .../encoding/cosmos/staking/v1beta1/tx.ts | 921 +++ .../cosmos/tx/signing/v1beta1/index.ts | 1 + .../cosmos/tx/signing/v1beta1/signing.ts | 504 ++ .../encoding/cosmos/tx/v1beta1/index.ts | 2 + .../encoding/cosmos/tx/v1beta1/service.ts | 1009 +++ .../encoding/cosmos/tx/v1beta1/tx.ts | 1045 +++ .../encoding/cosmos/upgrade/v1beta1/index.ts | 2 + .../encoding/cosmos/upgrade/v1beta1/query.ts | 530 ++ .../cosmos/upgrade/v1beta1/upgrade.ts | 440 ++ .../encoding/cosmos/vesting/v1beta1/index.ts | 2 + .../encoding/cosmos/vesting/v1beta1/tx.ts | 209 + .../cosmos/vesting/v1beta1/vesting.ts | 600 ++ .../encoding/cosmos_proto/cosmos.ts} | 0 .../generated/encoding/cosmos_proto/index.ts | 1 + .../cosmos/generated/encoding/epoch/epoch.ts | 185 + .../generated/encoding/epoch/genesis.ts | 101 + .../cosmos/generated/encoding/epoch/index.ts | 5 + .../cosmos/generated/encoding/epoch/params.ts | 62 + .../cosmos/generated/encoding/epoch/query.ts | 264 + .../cosmos/generated/encoding/epoch/tx.ts | 0 .../cosmos/generated/encoding/eth/index.ts | 1 + packages/cosmos/generated/encoding/eth/tx.ts | 1375 ++++ .../cosmos/generated/encoding/evm/config.ts | 123 + .../cosmos/generated/encoding/evm/enums.ts | 43 + .../cosmos/generated/encoding/evm/genesis.ts | 656 ++ packages/cosmos/generated/encoding/evm/gov.ts | 764 +++ .../cosmos/generated/encoding/evm/index.ts | 9 + .../cosmos/generated/encoding/evm/params.ts | 345 + .../cosmos/generated/encoding/evm/query.ts | 988 +++ .../cosmos/generated/encoding/evm/receipt.ts | 459 ++ packages/cosmos/generated/encoding/evm/tx.ts | 1183 ++++ .../cosmos/generated/encoding/evm/types.ts | 238 + .../generated/encoding/gogoproto/gogo.ts | 0 .../generated/encoding/gogoproto/index.ts | 1 + .../encoding/google/api/annotations.ts | 0 .../generated/encoding/google/api/http.ts | 398 ++ .../generated/encoding/google/api/httpbody.ts | 139 + .../generated/encoding/google/api/index.ts | 3 + .../generated/encoding/google/protobuf/any.ts | 122 + .../encoding/google/protobuf/descriptor.ts | 5290 +++++++++++++++ .../encoding/google/protobuf/duration.ts | 108 + .../encoding/google/protobuf/index.ts | 4 + .../encoding/google/protobuf/timestamp.ts | 108 + packages/cosmos/generated/encoding/index.ts | 111 + .../encoding/mint/v1beta1/genesis.ts | 99 + .../generated/encoding/mint/v1beta1/gov.ts | 114 + .../generated/encoding/mint/v1beta1/index.ts | 4 + .../generated/encoding/mint/v1beta1/mint.ts | 671 ++ .../generated/encoding/mint/v1beta1/query.ts | 389 ++ .../generated/encoding/oracle/genesis.ts | 341 + .../cosmos/generated/encoding/oracle/index.ts | 4 + .../generated/encoding/oracle/oracle.ts | 919 +++ .../cosmos/generated/encoding/oracle/query.ts | 1304 ++++ .../cosmos/generated/encoding/oracle/tx.ts | 279 + packages/cosmos/generated/encoding/proto.ts | 225 + .../cosmos/generated/encoding/stargate.ts | 2 + .../encoding/tendermint/abci/index.ts | 1 + .../encoding/tendermint/abci/types.ts | 5941 +++++++++++++++++ .../encoding/tendermint/crypto/index.ts | 2 + .../encoding/tendermint/crypto/keys.ts | 137 + .../encoding/tendermint/crypto/proof.ts | 520 ++ .../encoding/tendermint/libs/bits/index.ts | 1 + .../encoding/tendermint/libs/bits/types.ts | 120 + .../encoding/tendermint/p2p/index.ts | 1 + .../encoding/tendermint/p2p/types.ts | 661 ++ .../encoding/tendermint/types/block.ts | 131 + .../encoding/tendermint/types/evidence.ts | 478 ++ .../encoding/tendermint/types/index.ts | 5 + .../encoding/tendermint/types/params.ts | 928 +++ .../encoding/tendermint/types/types.ts | 2045 ++++++ .../encoding/tendermint/types/validator.ts | 350 + .../encoding/tendermint/version/index.ts | 1 + .../encoding/tendermint/version/types.ts | 194 + .../tokenfactory/authorityMetadata.ts | 70 + .../encoding/tokenfactory/genesis.ts | 188 + .../generated/encoding/tokenfactory/index.ts | 5 + .../generated/encoding/tokenfactory/params.ts | 62 + .../generated/encoding/tokenfactory/query.ts | 624 ++ .../generated/encoding/tokenfactory/tx.ts | 878 +++ .../rest/cosmos/accesscontrol_x/query.ts | 50 + .../rest/cosmos/auth/v1beta1/query.ts | 39 + .../rest/cosmos/authz/v1beta1/query.ts | 31 + .../rest/cosmos/bank/v1beta1/query.ts | 71 + .../rest/cosmos/distribution/v1beta1/query.ts | 79 + .../rest/cosmos/evidence/v1beta1/query.ts | 23 + .../rest/cosmos/feegrant/v1beta1/query.ts | 31 + .../rest/cosmos/gov/v1beta1/query.ts | 71 + .../rest/cosmos/mint/v1beta1/query.ts | 31 + .../rest/cosmos/params/v1beta1/query.ts | 12 + .../rest/cosmos/slashing/v1beta1/query.ts | 31 + .../rest/cosmos/staking/v1beta1/query.ts | 122 + .../rest/cosmos/upgrade/v1beta1/query.ts | 39 + packages/cosmos/generated/rest/epoch/query.ts | 18 + packages/cosmos/generated/rest/evm/query.ts | 55 + packages/cosmos/generated/rest/fetch.ts | 82 + packages/cosmos/generated/rest/index.ts | 41 + .../generated/rest/mint/v1beta1/query.ts | 18 + .../cosmos/generated/rest/oracle/query.ts | 87 + .../generated/rest/tokenfactory/query.ts | 47 + .../cosmos/generated/types/confio/index.ts | 1 + .../cosmos/generated/types/confio/proofs.ts | 135 + .../cosmos/accesscontrol/accesscontrol.ts | 47 + .../types/cosmos/accesscontrol/constants.ts | 190 + .../types/cosmos/accesscontrol/index.ts | 3 + .../types/cosmos/accesscontrol/legacy.ts | 16 + .../types/cosmos/accesscontrol_x/genesis.ts | 10 + .../types/cosmos/accesscontrol_x/gov.ts | 31 + .../types/cosmos/accesscontrol_x/index.ts | 4 + .../types/cosmos/accesscontrol_x/query.ts | 38 + .../types/cosmos/accesscontrol_x/tx.ts | 12 + .../types/cosmos/auth/v1beta1/auth.ts | 23 + .../types/cosmos/auth/v1beta1/genesis.ts | 10 + .../types/cosmos/auth/v1beta1/index.ts | 3 + .../types/cosmos/auth/v1beta1/query.ts | 41 + .../types/cosmos/authz/v1beta1/authz.ts | 18 + .../types/cosmos/authz/v1beta1/event.ts | 17 + .../types/cosmos/authz/v1beta1/genesis.ts | 5 + .../types/cosmos/authz/v1beta1/index.ts | 5 + .../types/cosmos/authz/v1beta1/query.ts | 45 + .../types/cosmos/authz/v1beta1/tx.ts | 33 + .../types/cosmos/bank/v1beta1/authz.ts | 5 + .../types/cosmos/bank/v1beta1/bank.ts | 71 + .../types/cosmos/bank/v1beta1/genesis.ts | 33 + .../types/cosmos/bank/v1beta1/index.ts | 5 + .../types/cosmos/bank/v1beta1/query.ts | 103 + .../generated/types/cosmos/bank/v1beta1/tx.ts | 18 + .../types/cosmos/base/abci/v1beta1/abci.ts | 119 + .../types/cosmos/base/abci/v1beta1/index.ts | 1 + .../types/cosmos/base/kv/v1beta1/index.ts | 1 + .../types/cosmos/base/kv/v1beta1/kv.ts | 8 + .../types/cosmos/base/query/v1beta1/index.ts | 1 + .../cosmos/base/query/v1beta1/pagination.ts | 45 + .../cosmos/base/reflection/v1beta1/index.ts | 1 + .../base/reflection/v1beta1/reflection.ts | 15 + .../cosmos/base/reflection/v2alpha1/index.ts | 1 + .../base/reflection/v2alpha1/reflection.ts | 169 + .../cosmos/base/snapshots/v1beta1/index.ts | 1 + .../cosmos/base/snapshots/v1beta1/snapshot.ts | 41 + .../cosmos/base/store/v1beta1/commit_info.ts | 14 + .../types/cosmos/base/store/v1beta1/index.ts | 2 + .../cosmos/base/store/v1beta1/listening.ts | 8 + .../cosmos/base/tendermint/v1beta1/index.ts | 1 + .../cosmos/base/tendermint/v1beta1/query.ts | 91 + .../types/cosmos/base/v1beta1/coin.ts | 17 + .../types/cosmos/base/v1beta1/index.ts | 1 + .../cosmos/capability/v1beta1/capability.ts | 12 + .../cosmos/capability/v1beta1/genesis.ts | 18 + .../types/cosmos/capability/v1beta1/index.ts | 2 + .../types/cosmos/crisis/v1beta1/genesis.ts | 9 + .../types/cosmos/crisis/v1beta1/index.ts | 2 + .../types/cosmos/crisis/v1beta1/tx.ts | 7 + .../types/cosmos/crypto/ed25519/index.ts | 1 + .../types/cosmos/crypto/ed25519/keys.ts | 7 + .../types/cosmos/crypto/multisig/index.ts | 1 + .../types/cosmos/crypto/multisig/keys.ts | 6 + .../cosmos/crypto/multisig/v1beta1/index.ts | 1 + .../crypto/multisig/v1beta1/multisig.ts | 8 + .../types/cosmos/crypto/secp256k1/index.ts | 1 + .../types/cosmos/crypto/secp256k1/keys.ts | 7 + .../types/cosmos/crypto/secp256r1/index.ts | 1 + .../types/cosmos/crypto/secp256r1/keys.ts | 12 + .../types/cosmos/crypto/sr25519/index.ts | 1 + .../types/cosmos/crypto/sr25519/keys.ts | 3 + .../distribution/v1beta1/distribution.ts | 65 + .../cosmos/distribution/v1beta1/genesis.ts | 91 + .../cosmos/distribution/v1beta1/index.ts | 4 + .../cosmos/distribution/v1beta1/query.ts | 100 + .../types/cosmos/distribution/v1beta1/tx.ts | 28 + .../types/cosmos/evidence/v1beta1/evidence.ts | 6 + .../types/cosmos/evidence/v1beta1/genesis.ts | 6 + .../types/cosmos/evidence/v1beta1/index.ts | 4 + .../types/cosmos/evidence/v1beta1/query.ts | 25 + .../types/cosmos/evidence/v1beta1/tx.ts | 11 + .../types/cosmos/feegrant/v1beta1/feegrant.ts | 55 + .../types/cosmos/feegrant/v1beta1/genesis.ts | 5 + .../types/cosmos/feegrant/v1beta1/index.ts | 4 + .../types/cosmos/feegrant/v1beta1/query.ts | 41 + .../types/cosmos/feegrant/v1beta1/tx.ts | 21 + .../types/cosmos/genutil/v1beta1/genesis.ts | 4 + .../types/cosmos/genutil/v1beta1/index.ts | 1 + .../types/cosmos/gov/v1beta1/genesis.ts | 18 + .../generated/types/cosmos/gov/v1beta1/gov.ts | 140 + .../types/cosmos/gov/v1beta1/index.ts | 4 + .../types/cosmos/gov/v1beta1/query.ts | 107 + .../generated/types/cosmos/gov/v1beta1/tx.ts | 40 + .../types/cosmos/mint/v1beta1/genesis.ts | 8 + .../types/cosmos/mint/v1beta1/index.ts | 3 + .../types/cosmos/mint/v1beta1/mint.ts | 21 + .../types/cosmos/mint/v1beta1/query.ts | 22 + .../types/cosmos/params/types/index.ts | 1 + .../types/cosmos/params/types/types.ts | 15 + .../types/cosmos/params/v1beta1/index.ts | 2 + .../types/cosmos/params/v1beta1/params.ts | 12 + .../types/cosmos/params/v1beta1/query.ts | 13 + .../types/cosmos/slashing/v1beta1/genesis.ts | 80 + .../types/cosmos/slashing/v1beta1/index.ts | 4 + .../types/cosmos/slashing/v1beta1/query.ts | 29 + .../types/cosmos/slashing/v1beta1/slashing.ts | 65 + .../types/cosmos/slashing/v1beta1/tx.ts | 5 + .../types/cosmos/staking/v1beta1/authz.ts | 34 + .../types/cosmos/staking/v1beta1/genesis.ts | 32 + .../types/cosmos/staking/v1beta1/index.ts | 5 + .../types/cosmos/staking/v1beta1/query.ts | 171 + .../types/cosmos/staking/v1beta1/staking.ts | 191 + .../types/cosmos/staking/v1beta1/tx.ts | 61 + .../types/cosmos/tx/signing/v1beta1/index.ts | 1 + .../cosmos/tx/signing/v1beta1/signing.ts | 79 + .../types/cosmos/tx/v1beta1/index.ts | 2 + .../types/cosmos/tx/v1beta1/service.ts | 119 + .../generated/types/cosmos/tx/v1beta1/tx.ts | 180 + .../types/cosmos/upgrade/v1beta1/index.ts | 2 + .../types/cosmos/upgrade/v1beta1/query.ts | 45 + .../types/cosmos/upgrade/v1beta1/upgrade.ts | 58 + .../types/cosmos/vesting/v1beta1/index.ts | 2 + .../types/cosmos/vesting/v1beta1/tx.ts | 12 + .../types/cosmos/vesting/v1beta1/vesting.ts | 39 + .../cosmos/generated/types/epoch/epoch.ts | 9 + .../cosmos/generated/types/epoch/genesis.ts | 9 + .../cosmos/generated/types/epoch/index.ts | 4 + .../cosmos/generated/types/epoch/params.ts | 1 + .../cosmos/generated/types/epoch/query.ts | 16 + packages/cosmos/generated/types/eth/index.ts | 1 + packages/cosmos/generated/types/eth/tx.ts | 83 + packages/cosmos/generated/types/evm/config.ts | 5 + packages/cosmos/generated/types/evm/enums.ts | 8 + .../cosmos/generated/types/evm/genesis.ts | 42 + packages/cosmos/generated/types/evm/gov.ts | 48 + packages/cosmos/generated/types/evm/index.ts | 9 + packages/cosmos/generated/types/evm/params.ts | 54 + packages/cosmos/generated/types/evm/query.ts | 59 + .../cosmos/generated/types/evm/receipt.ts | 24 + packages/cosmos/generated/types/evm/tx.ts | 71 + packages/cosmos/generated/types/evm/types.ts | 11 + .../cosmos/generated/types/google/api/http.ts | 69 + .../generated/types/google/api/httpbody.ts | 13 + .../generated/types/google/api/index.ts | 2 + .../generated/types/google/protobuf/any.ts | 34 + .../types/google/protobuf/descriptor.ts | 1100 +++ .../types/google/protobuf/duration.ts | 17 + .../generated/types/google/protobuf/index.ts | 4 + .../types/google/protobuf/timestamp.ts | 15 + .../generated/types/mint/v1beta1/genesis.ts | 8 + .../generated/types/mint/v1beta1/gov.ts | 7 + .../generated/types/mint/v1beta1/index.ts | 4 + .../generated/types/mint/v1beta1/mint.ts | 48 + .../generated/types/mint/v1beta1/query.ts | 21 + .../cosmos/generated/types/oracle/genesis.ts | 20 + .../cosmos/generated/types/oracle/index.ts | 4 + .../cosmos/generated/types/oracle/oracle.ts | 55 + .../cosmos/generated/types/oracle/query.ts | 90 + packages/cosmos/generated/types/oracle/tx.ts | 15 + .../generated/types/tendermint/abci/index.ts | 1 + .../generated/types/tendermint/abci/types.ts | 454 ++ .../types/tendermint/crypto/index.ts | 2 + .../generated/types/tendermint/crypto/keys.ts | 5 + .../types/tendermint/crypto/proof.ts | 29 + .../types/tendermint/libs/bits/index.ts | 1 + .../types/tendermint/libs/bits/types.ts | 4 + .../generated/types/tendermint/p2p/index.ts | 1 + .../generated/types/tendermint/p2p/types.ts | 34 + .../generated/types/tendermint/types/block.ts | 10 + .../types/tendermint/types/evidence.ts | 28 + .../generated/types/tendermint/types/index.ts | 5 + .../types/tendermint/types/params.ts | 143 + .../generated/types/tendermint/types/types.ts | 167 + .../types/tendermint/types/validator.ts | 19 + .../types/tendermint/version/index.ts | 1 + .../types/tendermint/version/types.ts | 9 + .../types/tokenfactory/authorityMetadata.ts | 4 + .../generated/types/tokenfactory/genesis.ts | 14 + .../generated/types/tokenfactory/index.ts | 5 + .../generated/types/tokenfactory/params.ts | 1 + .../generated/types/tokenfactory/query.ts | 48 + .../cosmos/generated/types/tokenfactory/tx.ts | 51 + packages/cosmos/package.json | 38 + packages/cosmos/public/encoding/common.ts | 27 + packages/cosmos/public/encoding/stargate.ts | 2 + packages/cosmos/public/rest/fetch.ts | 82 + .../cosmos/scripts/common/create-indexes.ts | 38 + packages/cosmos/scripts/common/utils.ts | 88 + .../cosmos/scripts/encoding/create-encoder.ts | 75 + .../scripts/encoding/extract-encoding.ts | 158 + packages/cosmos/scripts/encoding/stargate.ts | 103 + packages/cosmos/scripts/index.ts | 78 + .../cosmos/scripts/rest/create-querier.ts | 75 + packages/cosmos/scripts/rest/extract-rest.ts | 49 + .../cosmos/scripts/types/extract-types.ts | 60 + packages/ledger/package.json | 3 +- .../src/cosmos/seiLedgerOfflineAminoSigner.ts | 84 +- tsconfig.base.json | 1 + yarn.lock | 74 +- 404 files changed, 80619 insertions(+), 45 deletions(-) create mode 100644 packages/cosmos/.npmignore create mode 100644 packages/cosmos/README.md create mode 100644 packages/cosmos/biome.json create mode 100644 packages/cosmos/buf.gen.yaml create mode 100644 packages/cosmos/generated/encoding/amino.ts create mode 100644 packages/cosmos/generated/encoding/common.ts create mode 100644 packages/cosmos/generated/encoding/confio/index.ts create mode 100644 packages/cosmos/generated/encoding/confio/proofs.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol/constants.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol_x/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/auth/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/base/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/capability/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/ed25519/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/multisig/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/sr25519/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/gov/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/mint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/params/types/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/params/types/types.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/params/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/tx/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts rename packages/{proto/__tests__/.gitkeep => cosmos/generated/encoding/cosmos_proto/cosmos.ts} (100%) create mode 100644 packages/cosmos/generated/encoding/cosmos_proto/index.ts create mode 100644 packages/cosmos/generated/encoding/epoch/epoch.ts create mode 100644 packages/cosmos/generated/encoding/epoch/genesis.ts create mode 100644 packages/cosmos/generated/encoding/epoch/index.ts create mode 100644 packages/cosmos/generated/encoding/epoch/params.ts create mode 100644 packages/cosmos/generated/encoding/epoch/query.ts create mode 100644 packages/cosmos/generated/encoding/epoch/tx.ts create mode 100644 packages/cosmos/generated/encoding/eth/index.ts create mode 100644 packages/cosmos/generated/encoding/eth/tx.ts create mode 100644 packages/cosmos/generated/encoding/evm/config.ts create mode 100644 packages/cosmos/generated/encoding/evm/enums.ts create mode 100644 packages/cosmos/generated/encoding/evm/genesis.ts create mode 100644 packages/cosmos/generated/encoding/evm/gov.ts create mode 100644 packages/cosmos/generated/encoding/evm/index.ts create mode 100644 packages/cosmos/generated/encoding/evm/params.ts create mode 100644 packages/cosmos/generated/encoding/evm/query.ts create mode 100644 packages/cosmos/generated/encoding/evm/receipt.ts create mode 100644 packages/cosmos/generated/encoding/evm/tx.ts create mode 100644 packages/cosmos/generated/encoding/evm/types.ts create mode 100644 packages/cosmos/generated/encoding/gogoproto/gogo.ts create mode 100644 packages/cosmos/generated/encoding/gogoproto/index.ts create mode 100644 packages/cosmos/generated/encoding/google/api/annotations.ts create mode 100644 packages/cosmos/generated/encoding/google/api/http.ts create mode 100644 packages/cosmos/generated/encoding/google/api/httpbody.ts create mode 100644 packages/cosmos/generated/encoding/google/api/index.ts create mode 100644 packages/cosmos/generated/encoding/google/protobuf/any.ts create mode 100644 packages/cosmos/generated/encoding/google/protobuf/descriptor.ts create mode 100644 packages/cosmos/generated/encoding/google/protobuf/duration.ts create mode 100644 packages/cosmos/generated/encoding/google/protobuf/index.ts create mode 100644 packages/cosmos/generated/encoding/google/protobuf/timestamp.ts create mode 100644 packages/cosmos/generated/encoding/index.ts create mode 100644 packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/encoding/mint/v1beta1/gov.ts create mode 100644 packages/cosmos/generated/encoding/mint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/encoding/mint/v1beta1/mint.ts create mode 100644 packages/cosmos/generated/encoding/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/encoding/oracle/genesis.ts create mode 100644 packages/cosmos/generated/encoding/oracle/index.ts create mode 100644 packages/cosmos/generated/encoding/oracle/oracle.ts create mode 100644 packages/cosmos/generated/encoding/oracle/query.ts create mode 100644 packages/cosmos/generated/encoding/oracle/tx.ts create mode 100644 packages/cosmos/generated/encoding/proto.ts create mode 100644 packages/cosmos/generated/encoding/stargate.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/abci/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/abci/types.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/crypto/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/crypto/keys.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/crypto/proof.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/libs/bits/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/p2p/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/p2p/types.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/block.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/evidence.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/params.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/types.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/types/validator.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/version/index.ts create mode 100644 packages/cosmos/generated/encoding/tendermint/version/types.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/genesis.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/index.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/params.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/query.ts create mode 100644 packages/cosmos/generated/encoding/tokenfactory/tx.ts create mode 100644 packages/cosmos/generated/rest/cosmos/accesscontrol_x/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/auth/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/authz/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/bank/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/distribution/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/evidence/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/feegrant/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/gov/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/params/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/slashing/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/staking/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/cosmos/upgrade/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/epoch/query.ts create mode 100644 packages/cosmos/generated/rest/evm/query.ts create mode 100644 packages/cosmos/generated/rest/fetch.ts create mode 100644 packages/cosmos/generated/rest/index.ts create mode 100644 packages/cosmos/generated/rest/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/rest/oracle/query.ts create mode 100644 packages/cosmos/generated/rest/tokenfactory/query.ts create mode 100644 packages/cosmos/generated/types/confio/index.ts create mode 100644 packages/cosmos/generated/types/confio/proofs.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol/accesscontrol.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol/constants.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol/legacy.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol_x/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol_x/gov.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol_x/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol_x/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/accesscontrol_x/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/auth/v1beta1/auth.ts create mode 100644 packages/cosmos/generated/types/cosmos/auth/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/auth/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/auth/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/event.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/authz/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/bank.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/bank/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/abci/v1beta1/abci.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/abci/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/kv/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/kv/v1beta1/kv.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/query/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/query/v1beta1/pagination.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/reflection.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/reflection.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/snapshot.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/store/v1beta1/commit_info.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/store/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/store/v1beta1/listening.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/v1beta1/coin.ts create mode 100644 packages/cosmos/generated/types/cosmos/base/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/capability/v1beta1/capability.ts create mode 100644 packages/cosmos/generated/types/cosmos/capability/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/capability/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crisis/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/crisis/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crisis/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/ed25519/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/ed25519/keys.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/multisig/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/multisig/keys.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/multisig.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/secp256k1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/secp256k1/keys.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/secp256r1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/secp256r1/keys.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/sr25519/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/crypto/sr25519/keys.ts create mode 100644 packages/cosmos/generated/types/cosmos/distribution/v1beta1/distribution.ts create mode 100644 packages/cosmos/generated/types/cosmos/distribution/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/distribution/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/distribution/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/distribution/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/evidence/v1beta1/evidence.ts create mode 100644 packages/cosmos/generated/types/cosmos/evidence/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/evidence/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/evidence/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/evidence/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/feegrant/v1beta1/feegrant.ts create mode 100644 packages/cosmos/generated/types/cosmos/feegrant/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/feegrant/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/feegrant/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/feegrant/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/genutil/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/genutil/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/gov/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/gov/v1beta1/gov.ts create mode 100644 packages/cosmos/generated/types/cosmos/gov/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/gov/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/gov/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/mint/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/mint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/mint/v1beta1/mint.ts create mode 100644 packages/cosmos/generated/types/cosmos/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/params/types/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/params/types/types.ts create mode 100644 packages/cosmos/generated/types/cosmos/params/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/params/v1beta1/params.ts create mode 100644 packages/cosmos/generated/types/cosmos/params/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/slashing/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/slashing/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/slashing/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/slashing/v1beta1/slashing.ts create mode 100644 packages/cosmos/generated/types/cosmos/slashing/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/authz.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/staking.ts create mode 100644 packages/cosmos/generated/types/cosmos/staking/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/signing.ts create mode 100644 packages/cosmos/generated/types/cosmos/tx/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/tx/v1beta1/service.ts create mode 100644 packages/cosmos/generated/types/cosmos/tx/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/upgrade/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/upgrade/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/cosmos/upgrade/v1beta1/upgrade.ts create mode 100644 packages/cosmos/generated/types/cosmos/vesting/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/cosmos/vesting/v1beta1/tx.ts create mode 100644 packages/cosmos/generated/types/cosmos/vesting/v1beta1/vesting.ts create mode 100644 packages/cosmos/generated/types/epoch/epoch.ts create mode 100644 packages/cosmos/generated/types/epoch/genesis.ts create mode 100644 packages/cosmos/generated/types/epoch/index.ts create mode 100644 packages/cosmos/generated/types/epoch/params.ts create mode 100644 packages/cosmos/generated/types/epoch/query.ts create mode 100644 packages/cosmos/generated/types/eth/index.ts create mode 100644 packages/cosmos/generated/types/eth/tx.ts create mode 100644 packages/cosmos/generated/types/evm/config.ts create mode 100644 packages/cosmos/generated/types/evm/enums.ts create mode 100644 packages/cosmos/generated/types/evm/genesis.ts create mode 100644 packages/cosmos/generated/types/evm/gov.ts create mode 100644 packages/cosmos/generated/types/evm/index.ts create mode 100644 packages/cosmos/generated/types/evm/params.ts create mode 100644 packages/cosmos/generated/types/evm/query.ts create mode 100644 packages/cosmos/generated/types/evm/receipt.ts create mode 100644 packages/cosmos/generated/types/evm/tx.ts create mode 100644 packages/cosmos/generated/types/evm/types.ts create mode 100644 packages/cosmos/generated/types/google/api/http.ts create mode 100644 packages/cosmos/generated/types/google/api/httpbody.ts create mode 100644 packages/cosmos/generated/types/google/api/index.ts create mode 100644 packages/cosmos/generated/types/google/protobuf/any.ts create mode 100644 packages/cosmos/generated/types/google/protobuf/descriptor.ts create mode 100644 packages/cosmos/generated/types/google/protobuf/duration.ts create mode 100644 packages/cosmos/generated/types/google/protobuf/index.ts create mode 100644 packages/cosmos/generated/types/google/protobuf/timestamp.ts create mode 100644 packages/cosmos/generated/types/mint/v1beta1/genesis.ts create mode 100644 packages/cosmos/generated/types/mint/v1beta1/gov.ts create mode 100644 packages/cosmos/generated/types/mint/v1beta1/index.ts create mode 100644 packages/cosmos/generated/types/mint/v1beta1/mint.ts create mode 100644 packages/cosmos/generated/types/mint/v1beta1/query.ts create mode 100644 packages/cosmos/generated/types/oracle/genesis.ts create mode 100644 packages/cosmos/generated/types/oracle/index.ts create mode 100644 packages/cosmos/generated/types/oracle/oracle.ts create mode 100644 packages/cosmos/generated/types/oracle/query.ts create mode 100644 packages/cosmos/generated/types/oracle/tx.ts create mode 100644 packages/cosmos/generated/types/tendermint/abci/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/abci/types.ts create mode 100644 packages/cosmos/generated/types/tendermint/crypto/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/crypto/keys.ts create mode 100644 packages/cosmos/generated/types/tendermint/crypto/proof.ts create mode 100644 packages/cosmos/generated/types/tendermint/libs/bits/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/libs/bits/types.ts create mode 100644 packages/cosmos/generated/types/tendermint/p2p/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/p2p/types.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/block.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/evidence.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/params.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/types.ts create mode 100644 packages/cosmos/generated/types/tendermint/types/validator.ts create mode 100644 packages/cosmos/generated/types/tendermint/version/index.ts create mode 100644 packages/cosmos/generated/types/tendermint/version/types.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/authorityMetadata.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/genesis.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/index.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/params.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/query.ts create mode 100644 packages/cosmos/generated/types/tokenfactory/tx.ts create mode 100644 packages/cosmos/package.json create mode 100644 packages/cosmos/public/encoding/common.ts create mode 100644 packages/cosmos/public/encoding/stargate.ts create mode 100644 packages/cosmos/public/rest/fetch.ts create mode 100644 packages/cosmos/scripts/common/create-indexes.ts create mode 100644 packages/cosmos/scripts/common/utils.ts create mode 100644 packages/cosmos/scripts/encoding/create-encoder.ts create mode 100644 packages/cosmos/scripts/encoding/extract-encoding.ts create mode 100644 packages/cosmos/scripts/encoding/stargate.ts create mode 100644 packages/cosmos/scripts/index.ts create mode 100644 packages/cosmos/scripts/rest/create-querier.ts create mode 100644 packages/cosmos/scripts/rest/extract-rest.ts create mode 100644 packages/cosmos/scripts/types/extract-types.ts diff --git a/.nvmrc b/.nvmrc index 6aab9b43f..9a2a0e219 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.18.0 +v20 diff --git a/package.json b/package.json index dc9d1fee2..ef76c57b1 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "test:coverage": "nx test --all --coverage --skip-nx-cache" }, "dependencies": { + "@biomejs/biome": "^1.9.2", "@changesets/cli": "^2.26.0", "axios": "^1.6.0", "glob": "^10.3.10", diff --git a/packages/cosmos/.npmignore b/packages/cosmos/.npmignore new file mode 100644 index 000000000..047607578 --- /dev/null +++ b/packages/cosmos/.npmignore @@ -0,0 +1,15 @@ +node_modules +scripts/ +gen/ +public/ + +.gitkeep +jest.config.ts +tsconfig.json + +yarn-error.log + +.eslintignore +eslintrc.json + +biome.json diff --git a/packages/cosmos/README.md b/packages/cosmos/README.md new file mode 100644 index 000000000..51c9c56a1 --- /dev/null +++ b/packages/cosmos/README.md @@ -0,0 +1,205 @@ +# @sei-js/cosmos/types + +**@sei-js/types** contains the official Sei TypeScript types, interfaces, and enums used throughout the Sei chain. It includes request and response types for queries REST, RPC, and gRPC queries, as well as types for all transaction messages. + +## Installation + +`yarn add @sei-js/types` + +## Features +- Msg, Query, and enum types for all Sei modules +- Works with `@sei-js/rest` and `@sei-js/encoding` and `@cosmjs/stargate` + +## Example Usage + +### Ex.) Bank Send Tx Msg +```typescript +import { MsgSend } from '@sei-js/types/cw/cosmos/bank/v1beta1'; + +const msgSend: MsgSend = { + from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', + to_address: 'sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9', + amount: [{ denom: 'usei', amount: '100' }] +}; +``` + +### Ex.) TokenFactory Tx Msgs +```typescript +import type { MsgCreateDenom, MsgMint } from "@sei-js/types/cw/tokenfactory"; + +const msgCreateDenom: MsgCreateDenom = { + sender: accounts[0].address, + subdenom: "mytoken", + allow_list: { + addresses: ["sei123..."], + } +} + +const msgMint: MsgMint = { + sender: accounts[0].address, + amount: { denom: "usei", amount: "100000" }, +} +``` + +## Development +This package is generated using buf.build. To regenerate the types, run `yarn generate` which builds the types from proto files with the buf build `ts-proto` plugin. From there, typescript is used in a postprocessing script to extract the necessary types and perform any formatting required. + +# @sei-js/cosmos/encoding + +The `@sei-js/encoding` package provides protobuf encoding/decoding, proto encoding type urls. It also contains amino converters and registries for @cosmjs/stargate clients. + +## Installation +```bash +yarn add @sei-js/encoding +``` + +## Features + +- Protobuf encoding/decoding for Cosmos transactions +- Aggregated message typeUrl registry for `@cosmjs/stargate` clients +- Amino message converters for use with Ledger or legacy Cosmos signing +- Uses official types from `@sei-js/types` + +## Usage + +### Importing +```typescript +// Import Msg and Query types +import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; +import { QueryValidatorsRequest } from '@sei-js/encoding/cw/cosmos/staking/v1beta1'; + +// Import Amino converters for legacy Cosmos SDK support +import { aminoConverters } from "@sei-js/encoding/cw/stargate"; + +// Import typeUrl registry for Stargate clients +import { seiProtoRegistry } from "@sei-js/encoding/cw/stargate"; +``` + +### Proto Encoding and Type Urls + +Cosmos gRPC transactions are encoded using protobuf. This library exports encoding and decoding classes for all valid Sei Msg types. + +```typescript +import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; + +const msgSend = new MsgSend({ + from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', + to_address: 'sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9', + amount: [{ denom: 'usei', amount: '100' }] +}); + +const encoded = MsgSend.encode(msgSend).finish(); +const decoded = MsgSend.decode(encoded); + +const protoMsgSend = { typeUrl: `/${MsgSend.$type}`, value: encoded }; +``` + +### Usage with @cosmjs/stargate + +The package provides pre-built registries and amino converters for usage with `@cosmjs/stargate`. These can be used to set up Stargate clients to sign and broadcast Sei transactions. + +```typescript +import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; +import { seiProtoRegistry } from "@sei-js/encoding/cw/stargate"; + +import {SigningStargateClient} from "@cosmjs/stargate"; +import {Registry} from "@cosmjs/proto-signing"; + +// or any other way to get an offline signer +const offlineSigner = await window.compass.getOfflineSigner("arctic-1"); +const accounts = await offlineSigner.getAccounts(); + +// Create a @cosmjs/stargate registry with the Sei proto registry +const registry = new Registry(seiProtoRegistry); + +// Create a Stargate client with the registry and amino types +const stargateClient = await SigningStargateClient.connectWithSigner( + "https://rpc-arctic-1.sei-apis.com", + offlineSigner, + { registry }, +); + +// Create a MsgSend object +const msgSend = MsgSend.fromPartial({ + from_address: accounts[0].address, + to_address: "sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9", + amount: [{ denom: "usei", amount: "10" }] +}); + +// Create a message object with the typeUrl and value. (For Stargate clients the value isn't encoded, but gRPC clients typically require it to be encoded) +const message = { typeUrl: `/${MsgSend.$type}`, value: msgSend }; + + +const txResponse = await stargateClient.signAndBroadcast(accounts[0].address, [message], { + amount: [{ denom: "usei", amount: "100000" }], + gas: "200000", +}); + +console.log(txResponse.transactionHash); +``` + +### Interoperability with @sei-js/types + +The `@sei-js/encoding` package is built to work seamlessly with the `@sei-js/types` package. You can use the types from `@sei-js/types` directly if needed. However, in most cases, you don't need to import `@sei-js/types` separately when using `@sei-js/encoding`, as the values returned from the encoding functions are already typed correctly. +```typescript +import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; + +const msgSend = MsgSend.fromPartial({ + from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', + to_address: 'sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9' +}); + +// msgSend is already typed as @sei-js/type/cosmos/bank/v1beta1/ +``` + +### Usage with Ledger +```typescript +import {createTransportAndApp, SeiLedgerOfflineAminoSigner} from "@sei-js/ledger"; + +import { MsgDelegate } from "@sei-js/encoding/cw/cosmos/staking/v1beta1"; + +import { aminoConverters } from "@sei-js/encoding/cw/stargate"; + +import { AminoTypes, SigningStargateClient, coin } from "@cosmjs/stargate"; + +const hdPath = "m/44'/60'/0'/0/0" +const validatorAddress = "seivaloper1r0tmhjhxmvwlzq5sy3z83qnyvc74uvs9ykek9l"; + +const { app } = await createTransportAndApp(); + +const cosmosAddressData = await app.getCosmosAddress(hdPath, false); + +const ledgerOfflineAminoSigner = new SeiLedgerOfflineAminoSigner(app, hdPath); +const aminoTypes = new AminoTypes(aminoConverters); +const signingStargateClient = await SigningStargateClient.connectWithSigner( + rpcUrl, + ledgerOfflineAminoSigner, + { aminoTypes }, +); + +const fee = { + amount: [{denom: "usei", amount: "20000"}], + gas: "200000", +}; + +const msgDelegate = MsgDelegate.fromPartial({ + delegator_address: cosmosAddressData.address, + validator_address: validatorAddress, + amount: coin(2000, "usei"), +}); + +const protoMessage = { typeUrl: `/${MsgDelegate.$type}`, value: msgDelegate }; + +// This will automatically get converted to the correct amino type due to the aminoTypes registry passed to the SigningStargateClient +const result = await signingStargateClient.signAndBroadcast(cosmosAddressData.address, [protoMessage], fee, memo) + +if (result.code === 0) { + console.log("Transaction broadcast successfully:", result); +} else { + console.error("Error broadcasting transaction:", result.rawLog); +} +``` + +# @sei-js/cosmos/rest + +The `@sei-js/rest` package provides a REST client for the Sei chain. It is built on top of `@cosmjs/rest` and provides a more user-friendly interface for interacting with the Sei chain. It supports all Sei cosmos RPC endpoints and provides a more user-friendly interface for querying a Sei chain. diff --git a/packages/cosmos/biome.json b/packages/cosmos/biome.json new file mode 100644 index 000000000..d7ac5c096 --- /dev/null +++ b/packages/cosmos/biome.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": [] + }, + "formatter": { + "enabled": true, + "indentStyle": "tab", + "lineWidth": 160 + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "correctness": { + "noUnusedImports": "error" + }, + "suspicious": { + "noExplicitAny": "off" + }, + "complexity": { + "noStaticOnlyClass": "off", + "noForEach": "off", + "noUselessSwitchCase": "off", + "noBannedTypes": "off", + "useLiteralKeys": "off" + }, + "style": { + "noUselessElse": "off", + "noNonNullAssertion": "off", + "noUnusedTemplateLiteral": "off" + } + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + } +} diff --git a/packages/cosmos/buf.gen.yaml b/packages/cosmos/buf.gen.yaml new file mode 100644 index 000000000..c5391d057 --- /dev/null +++ b/packages/cosmos/buf.gen.yaml @@ -0,0 +1,17 @@ +version: v2 +managed: + enabled: true +plugins: + - local: protoc-gen-grpc-gateway-ts + out: ./gen/grpc-gateway + opt: + - use_proto_names=true + - remote: buf.build/community/stephenh-ts-proto:v2.2.0 + out: ./gen/ts-proto + opt: + - esModuleInterop=true + - useOptionals=messages + - outputServices=false + - useSnakeTypeName=false + - snakeToCamel=false + - outputTypeAnnotations=static-only diff --git a/packages/cosmos/generated/encoding/amino.ts b/packages/cosmos/generated/encoding/amino.ts new file mode 100644 index 000000000..ce86cc660 --- /dev/null +++ b/packages/cosmos/generated/encoding/amino.ts @@ -0,0 +1,226 @@ +import type { AminoConverters } from "@cosmjs/stargate"; +import { aminoConverters as confio_proofs_amino } from "./confio/proofs"; +import { aminoConverters as cosmos_accesscontrol_accesscontrol_amino } from "./cosmos/accesscontrol/accesscontrol"; +import { aminoConverters as cosmos_accesscontrol_x_genesis_amino } from "./cosmos/accesscontrol_x/genesis"; +import { aminoConverters as cosmos_accesscontrol_x_query_amino } from "./cosmos/accesscontrol_x/query"; +import { aminoConverters as cosmos_auth_v1beta1_auth_amino } from "./cosmos/auth/v1beta1/auth"; +import { aminoConverters as cosmos_auth_v1beta1_genesis_amino } from "./cosmos/auth/v1beta1/genesis"; +import { aminoConverters as cosmos_auth_v1beta1_query_amino } from "./cosmos/auth/v1beta1/query"; +import { aminoConverters as cosmos_authz_v1beta1_authz_amino } from "./cosmos/authz/v1beta1/authz"; +import { aminoConverters as cosmos_authz_v1beta1_event_amino } from "./cosmos/authz/v1beta1/event"; +import { aminoConverters as cosmos_authz_v1beta1_genesis_amino } from "./cosmos/authz/v1beta1/genesis"; +import { aminoConverters as cosmos_authz_v1beta1_query_amino } from "./cosmos/authz/v1beta1/query"; +import { aminoConverters as cosmos_authz_v1beta1_tx_amino } from "./cosmos/authz/v1beta1/tx"; +import { aminoConverters as cosmos_bank_v1beta1_authz_amino } from "./cosmos/bank/v1beta1/authz"; +import { aminoConverters as cosmos_bank_v1beta1_bank_amino } from "./cosmos/bank/v1beta1/bank"; +import { aminoConverters as cosmos_bank_v1beta1_genesis_amino } from "./cosmos/bank/v1beta1/genesis"; +import { aminoConverters as cosmos_bank_v1beta1_query_amino } from "./cosmos/bank/v1beta1/query"; +import { aminoConverters as cosmos_bank_v1beta1_tx_amino } from "./cosmos/bank/v1beta1/tx"; +import { aminoConverters as cosmos_base_abci_v1beta1_abci_amino } from "./cosmos/base/abci/v1beta1/abci"; +import { aminoConverters as cosmos_base_kv_v1beta1_kv_amino } from "./cosmos/base/kv/v1beta1/kv"; +import { aminoConverters as cosmos_base_query_v1beta1_pagination_amino } from "./cosmos/base/query/v1beta1/pagination"; +import { aminoConverters as cosmos_base_reflection_v2alpha1_reflection_amino } from "./cosmos/base/reflection/v2alpha1/reflection"; +import { aminoConverters as cosmos_base_snapshots_v1beta1_snapshot_amino } from "./cosmos/base/snapshots/v1beta1/snapshot"; +import { aminoConverters as cosmos_base_store_v1beta1_commit_info_amino } from "./cosmos/base/store/v1beta1/commit_info"; +import { aminoConverters as cosmos_base_store_v1beta1_listening_amino } from "./cosmos/base/store/v1beta1/listening"; +import { aminoConverters as cosmos_base_tendermint_v1beta1_query_amino } from "./cosmos/base/tendermint/v1beta1/query"; +import { aminoConverters as cosmos_base_v1beta1_coin_amino } from "./cosmos/base/v1beta1/coin"; +import { aminoConverters as cosmos_capability_v1beta1_capability_amino } from "./cosmos/capability/v1beta1/capability"; +import { aminoConverters as cosmos_capability_v1beta1_genesis_amino } from "./cosmos/capability/v1beta1/genesis"; +import { aminoConverters as cosmos_crisis_v1beta1_genesis_amino } from "./cosmos/crisis/v1beta1/genesis"; +import { aminoConverters as cosmos_crisis_v1beta1_tx_amino } from "./cosmos/crisis/v1beta1/tx"; +import { aminoConverters as cosmos_crypto_ed25519_keys_amino } from "./cosmos/crypto/ed25519/keys"; +import { aminoConverters as cosmos_crypto_multisig_keys_amino } from "./cosmos/crypto/multisig/keys"; +import { aminoConverters as cosmos_crypto_multisig_v1beta1_multisig_amino } from "./cosmos/crypto/multisig/v1beta1/multisig"; +import { aminoConverters as cosmos_crypto_secp256k1_keys_amino } from "./cosmos/crypto/secp256k1/keys"; +import { aminoConverters as cosmos_crypto_secp256r1_keys_amino } from "./cosmos/crypto/secp256r1/keys"; +import { aminoConverters as cosmos_crypto_sr25519_keys_amino } from "./cosmos/crypto/sr25519/keys"; +import { aminoConverters as cosmos_distribution_v1beta1_distribution_amino } from "./cosmos/distribution/v1beta1/distribution"; +import { aminoConverters as cosmos_distribution_v1beta1_genesis_amino } from "./cosmos/distribution/v1beta1/genesis"; +import { aminoConverters as cosmos_distribution_v1beta1_query_amino } from "./cosmos/distribution/v1beta1/query"; +import { aminoConverters as cosmos_evidence_v1beta1_evidence_amino } from "./cosmos/evidence/v1beta1/evidence"; +import { aminoConverters as cosmos_evidence_v1beta1_genesis_amino } from "./cosmos/evidence/v1beta1/genesis"; +import { aminoConverters as cosmos_evidence_v1beta1_query_amino } from "./cosmos/evidence/v1beta1/query"; +import { aminoConverters as cosmos_evidence_v1beta1_tx_amino } from "./cosmos/evidence/v1beta1/tx"; +import { aminoConverters as cosmos_feegrant_v1beta1_feegrant_amino } from "./cosmos/feegrant/v1beta1/feegrant"; +import { aminoConverters as cosmos_feegrant_v1beta1_genesis_amino } from "./cosmos/feegrant/v1beta1/genesis"; +import { aminoConverters as cosmos_feegrant_v1beta1_query_amino } from "./cosmos/feegrant/v1beta1/query"; +import { aminoConverters as cosmos_feegrant_v1beta1_tx_amino } from "./cosmos/feegrant/v1beta1/tx"; +import { aminoConverters as cosmos_genutil_v1beta1_genesis_amino } from "./cosmos/genutil/v1beta1/genesis"; +import { aminoConverters as cosmos_gov_v1beta1_genesis_amino } from "./cosmos/gov/v1beta1/genesis"; +import { aminoConverters as cosmos_gov_v1beta1_gov_amino } from "./cosmos/gov/v1beta1/gov"; +import { aminoConverters as cosmos_gov_v1beta1_query_amino } from "./cosmos/gov/v1beta1/query"; +import { aminoConverters as cosmos_gov_v1beta1_tx_amino } from "./cosmos/gov/v1beta1/tx"; +import { aminoConverters as cosmos_mint_v1beta1_genesis_amino } from "./cosmos/mint/v1beta1/genesis"; +import { aminoConverters as cosmos_mint_v1beta1_mint_amino } from "./cosmos/mint/v1beta1/mint"; +import { aminoConverters as cosmos_mint_v1beta1_query_amino } from "./cosmos/mint/v1beta1/query"; +import { aminoConverters as cosmos_params_types_types_amino } from "./cosmos/params/types/types"; +import { aminoConverters as cosmos_params_v1beta1_params_amino } from "./cosmos/params/v1beta1/params"; +import { aminoConverters as cosmos_params_v1beta1_query_amino } from "./cosmos/params/v1beta1/query"; +import { aminoConverters as cosmos_slashing_v1beta1_genesis_amino } from "./cosmos/slashing/v1beta1/genesis"; +import { aminoConverters as cosmos_slashing_v1beta1_query_amino } from "./cosmos/slashing/v1beta1/query"; +import { aminoConverters as cosmos_slashing_v1beta1_slashing_amino } from "./cosmos/slashing/v1beta1/slashing"; +import { aminoConverters as cosmos_slashing_v1beta1_tx_amino } from "./cosmos/slashing/v1beta1/tx"; +import { aminoConverters as cosmos_staking_v1beta1_authz_amino } from "./cosmos/staking/v1beta1/authz"; +import { aminoConverters as cosmos_staking_v1beta1_genesis_amino } from "./cosmos/staking/v1beta1/genesis"; +import { aminoConverters as cosmos_staking_v1beta1_query_amino } from "./cosmos/staking/v1beta1/query"; +import { aminoConverters as cosmos_staking_v1beta1_staking_amino } from "./cosmos/staking/v1beta1/staking"; +import { aminoConverters as cosmos_staking_v1beta1_tx_amino } from "./cosmos/staking/v1beta1/tx"; +import { aminoConverters as cosmos_tx_signing_v1beta1_signing_amino } from "./cosmos/tx/signing/v1beta1/signing"; +import { aminoConverters as cosmos_tx_v1beta1_service_amino } from "./cosmos/tx/v1beta1/service"; +import { aminoConverters as cosmos_tx_v1beta1_tx_amino } from "./cosmos/tx/v1beta1/tx"; +import { aminoConverters as cosmos_upgrade_v1beta1_upgrade_amino } from "./cosmos/upgrade/v1beta1/upgrade"; +import { aminoConverters as cosmos_vesting_v1beta1_vesting_amino } from "./cosmos/vesting/v1beta1/vesting"; +import { aminoConverters as epoch_epoch_amino } from "./epoch/epoch"; +import { aminoConverters as epoch_genesis_amino } from "./epoch/genesis"; +import { aminoConverters as epoch_params_amino } from "./epoch/params"; +import { aminoConverters as epoch_query_amino } from "./epoch/query"; +import { aminoConverters as eth_tx_amino } from "./eth/tx"; +import { aminoConverters as evm_config_amino } from "./evm/config"; +import { aminoConverters as evm_genesis_amino } from "./evm/genesis"; +import { aminoConverters as evm_params_amino } from "./evm/params"; +import { aminoConverters as evm_query_amino } from "./evm/query"; +import { aminoConverters as evm_receipt_amino } from "./evm/receipt"; +import { aminoConverters as evm_tx_amino } from "./evm/tx"; +import { aminoConverters as evm_types_amino } from "./evm/types"; +import { aminoConverters as google_api_http_amino } from "./google/api/http"; +import { aminoConverters as google_api_httpbody_amino } from "./google/api/httpbody"; +import { aminoConverters as google_protobuf_any_amino } from "./google/protobuf/any"; +import { aminoConverters as google_protobuf_descriptor_amino } from "./google/protobuf/descriptor"; +import { aminoConverters as google_protobuf_duration_amino } from "./google/protobuf/duration"; +import { aminoConverters as google_protobuf_timestamp_amino } from "./google/protobuf/timestamp"; +import { aminoConverters as mint_v1beta1_genesis_amino } from "./mint/v1beta1/genesis"; +import { aminoConverters as mint_v1beta1_gov_amino } from "./mint/v1beta1/gov"; +import { aminoConverters as mint_v1beta1_mint_amino } from "./mint/v1beta1/mint"; +import { aminoConverters as mint_v1beta1_query_amino } from "./mint/v1beta1/query"; +import { aminoConverters as oracle_genesis_amino } from "./oracle/genesis"; +import { aminoConverters as oracle_oracle_amino } from "./oracle/oracle"; +import { aminoConverters as oracle_query_amino } from "./oracle/query"; +import { aminoConverters as tendermint_abci_types_amino } from "./tendermint/abci/types"; +import { aminoConverters as tendermint_crypto_keys_amino } from "./tendermint/crypto/keys"; +import { aminoConverters as tendermint_crypto_proof_amino } from "./tendermint/crypto/proof"; +import { aminoConverters as tendermint_libs_bits_types_amino } from "./tendermint/libs/bits/types"; +import { aminoConverters as tendermint_p2p_types_amino } from "./tendermint/p2p/types"; +import { aminoConverters as tendermint_types_block_amino } from "./tendermint/types/block"; +import { aminoConverters as tendermint_types_evidence_amino } from "./tendermint/types/evidence"; +import { aminoConverters as tendermint_types_params_amino } from "./tendermint/types/params"; +import { aminoConverters as tendermint_types_types_amino } from "./tendermint/types/types"; +import { aminoConverters as tendermint_types_validator_amino } from "./tendermint/types/validator"; +import { aminoConverters as tendermint_version_types_amino } from "./tendermint/version/types"; +import { aminoConverters as tokenfactory_genesis_amino } from "./tokenfactory/genesis"; +import { aminoConverters as tokenfactory_params_amino } from "./tokenfactory/params"; +import { aminoConverters as tokenfactory_tx_amino } from "./tokenfactory/tx"; + +export const aminoConverters: AminoConverters = { + ...confio_proofs_amino, + ...epoch_epoch_amino, + ...epoch_genesis_amino, + ...epoch_params_amino, + ...epoch_query_amino, + ...evm_config_amino, + ...evm_genesis_amino, + ...evm_types_amino, + ...evm_receipt_amino, + ...evm_params_amino, + ...evm_tx_amino, + ...evm_query_amino, + ...eth_tx_amino, + ...oracle_genesis_amino, + ...oracle_oracle_amino, + ...oracle_query_amino, + ...tokenfactory_genesis_amino, + ...tokenfactory_params_amino, + ...cosmos_accesscontrol_accesscontrol_amino, + ...cosmos_accesscontrol_x_genesis_amino, + ...cosmos_accesscontrol_x_query_amino, + ...tokenfactory_tx_amino, + ...mint_v1beta1_genesis_amino, + ...mint_v1beta1_query_amino, + ...mint_v1beta1_gov_amino, + ...mint_v1beta1_mint_amino, + ...google_protobuf_duration_amino, + ...google_api_http_amino, + ...google_protobuf_timestamp_amino, + ...google_protobuf_any_amino, + ...tendermint_crypto_keys_amino, + ...tendermint_crypto_proof_amino, + ...google_protobuf_descriptor_amino, + ...tendermint_abci_types_amino, + ...google_api_httpbody_amino, + ...tendermint_p2p_types_amino, + ...tendermint_version_types_amino, + ...tendermint_types_validator_amino, + ...tendermint_types_types_amino, + ...tendermint_types_evidence_amino, + ...cosmos_authz_v1beta1_genesis_amino, + ...cosmos_authz_v1beta1_event_amino, + ...tendermint_types_params_amino, + ...cosmos_authz_v1beta1_tx_amino, + ...tendermint_types_block_amino, + ...cosmos_bank_v1beta1_genesis_amino, + ...cosmos_bank_v1beta1_query_amino, + ...cosmos_bank_v1beta1_bank_amino, + ...cosmos_bank_v1beta1_authz_amino, + ...cosmos_authz_v1beta1_query_amino, + ...cosmos_auth_v1beta1_auth_amino, + ...cosmos_crisis_v1beta1_genesis_amino, + ...cosmos_auth_v1beta1_genesis_amino, + ...cosmos_bank_v1beta1_tx_amino, + ...cosmos_authz_v1beta1_authz_amino, + ...cosmos_auth_v1beta1_query_amino, + ...cosmos_crisis_v1beta1_tx_amino, + ...cosmos_distribution_v1beta1_query_amino, + ...cosmos_evidence_v1beta1_genesis_amino, + ...cosmos_evidence_v1beta1_evidence_amino, + ...cosmos_distribution_v1beta1_distribution_amino, + ...cosmos_distribution_v1beta1_genesis_amino, + ...cosmos_evidence_v1beta1_query_amino, + ...cosmos_evidence_v1beta1_tx_amino, + ...cosmos_capability_v1beta1_capability_amino, + ...cosmos_capability_v1beta1_genesis_amino, + ...cosmos_feegrant_v1beta1_feegrant_amino, + ...cosmos_feegrant_v1beta1_genesis_amino, + ...cosmos_base_v1beta1_coin_amino, + ...cosmos_feegrant_v1beta1_query_amino, + ...cosmos_feegrant_v1beta1_tx_amino, + ...cosmos_crypto_ed25519_keys_amino, + ...cosmos_crypto_secp256k1_keys_amino, + ...cosmos_genutil_v1beta1_genesis_amino, + ...cosmos_crypto_secp256r1_keys_amino, + ...cosmos_crypto_multisig_keys_amino, + ...cosmos_gov_v1beta1_genesis_amino, + ...cosmos_crypto_sr25519_keys_amino, + ...cosmos_gov_v1beta1_gov_amino, + ...cosmos_gov_v1beta1_query_amino, + ...cosmos_gov_v1beta1_tx_amino, + ...cosmos_params_v1beta1_params_amino, + ...cosmos_params_v1beta1_query_amino, + ...cosmos_mint_v1beta1_genesis_amino, + ...cosmos_mint_v1beta1_mint_amino, + ...cosmos_params_types_types_amino, + ...cosmos_staking_v1beta1_genesis_amino, + ...cosmos_staking_v1beta1_authz_amino, + ...cosmos_mint_v1beta1_query_amino, + ...cosmos_staking_v1beta1_staking_amino, + ...cosmos_slashing_v1beta1_query_amino, + ...cosmos_staking_v1beta1_query_amino, + ...cosmos_slashing_v1beta1_tx_amino, + ...cosmos_staking_v1beta1_tx_amino, + ...cosmos_slashing_v1beta1_genesis_amino, + ...cosmos_slashing_v1beta1_slashing_amino, + ...cosmos_vesting_v1beta1_vesting_amino, + ...cosmos_tx_v1beta1_service_amino, + ...cosmos_tx_v1beta1_tx_amino, + ...cosmos_upgrade_v1beta1_upgrade_amino, + ...tendermint_libs_bits_types_amino, + ...cosmos_base_reflection_v2alpha1_reflection_amino, + ...cosmos_base_store_v1beta1_commit_info_amino, + ...cosmos_base_store_v1beta1_listening_amino, + ...cosmos_base_query_v1beta1_pagination_amino, + ...cosmos_base_kv_v1beta1_kv_amino, + ...cosmos_base_abci_v1beta1_abci_amino, + ...cosmos_base_tendermint_v1beta1_query_amino, + ...cosmos_crypto_multisig_v1beta1_multisig_amino, + ...cosmos_base_snapshots_v1beta1_snapshot_amino, + ...cosmos_tx_signing_v1beta1_signing_amino, +}; diff --git a/packages/cosmos/generated/encoding/common.ts b/packages/cosmos/generated/encoding/common.ts new file mode 100644 index 000000000..fd8b78a35 --- /dev/null +++ b/packages/cosmos/generated/encoding/common.ts @@ -0,0 +1,27 @@ +import type { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +export type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin + ? T + : T extends globalThis.Array + ? globalThis.Array> + : T extends ReadonlyArray + ? ReadonlyArray> + : T extends {} + ? { [K in keyof T]?: DeepPartial } + : Partial; + +export type KeysOfUnion = T extends T ? keyof T : never; + +export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +export interface MessageFns { + readonly $type: V; + encode(message: T, writer?: BinaryWriter): BinaryWriter; + decode(input: BinaryReader | Uint8Array, length?: number): T; + fromJSON(object: any): T; + toJSON(message: T): unknown; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; +} diff --git a/packages/cosmos/generated/encoding/confio/index.ts b/packages/cosmos/generated/encoding/confio/index.ts new file mode 100644 index 000000000..9cd629664 --- /dev/null +++ b/packages/cosmos/generated/encoding/confio/index.ts @@ -0,0 +1 @@ +export * from './proofs'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/confio/proofs.ts b/packages/cosmos/generated/encoding/confio/proofs.ts new file mode 100644 index 000000000..1120849ee --- /dev/null +++ b/packages/cosmos/generated/encoding/confio/proofs.ts @@ -0,0 +1,1543 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + BatchEntry as BatchEntryType, + BatchProof as BatchProofType, + CommitmentProof as CommitmentProofType, + CompressedBatchEntry as CompressedBatchEntryType, + CompressedBatchProof as CompressedBatchProofType, + CompressedExistenceProof as CompressedExistenceProofType, + CompressedNonExistenceProof as CompressedNonExistenceProofType, + ExistenceProof as ExistenceProofType, + InnerOp as InnerOpType, + InnerSpec as InnerSpecType, + LeafOp as LeafOpType, + NonExistenceProof as NonExistenceProofType, + ProofSpec as ProofSpecType, +} from "../../types/confio"; + +import { HashOp, LengthOp } from "../../types/confio"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface ExistenceProof extends ExistenceProofType {} +interface NonExistenceProof extends NonExistenceProofType {} +interface CommitmentProof extends CommitmentProofType {} +interface LeafOp extends LeafOpType {} +interface InnerOp extends InnerOpType {} +interface ProofSpec extends ProofSpecType {} +interface InnerSpec extends InnerSpecType {} +interface BatchProof extends BatchProofType {} +interface BatchEntry extends BatchEntryType {} +interface CompressedBatchProof extends CompressedBatchProofType {} +interface CompressedBatchEntry extends CompressedBatchEntryType {} +interface CompressedExistenceProof extends CompressedExistenceProofType {} +interface CompressedNonExistenceProof extends CompressedNonExistenceProofType {} + +export const ExistenceProof: MessageFns = { + $type: "ics23.ExistenceProof" as const, + + encode(message: ExistenceProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + if (message.leaf !== undefined) { + LeafOp.encode(message.leaf, writer.uint32(26).fork()).join(); + } + for (const v of message.path) { + InnerOp.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExistenceProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.leaf = LeafOp.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.path.push(InnerOp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExistenceProof { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + leaf: isSet(object.leaf) ? LeafOp.fromJSON(object.leaf) : undefined, + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => InnerOp.fromJSON(e)) : [], + }; + }, + + toJSON(message: ExistenceProof): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + if (message.leaf !== undefined) { + obj.leaf = LeafOp.toJSON(message.leaf); + } + if (message.path?.length) { + obj.path = message.path.map((e) => InnerOp.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ExistenceProof { + return ExistenceProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExistenceProof { + const message = createBaseExistenceProof(); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + message.leaf = object.leaf !== undefined && object.leaf !== null ? LeafOp.fromPartial(object.leaf) : undefined; + message.path = object.path?.map((e) => InnerOp.fromPartial(e)) || []; + return message; + }, +}; + +export const NonExistenceProof: MessageFns = { + $type: "ics23.NonExistenceProof" as const, + + encode(message: NonExistenceProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.left !== undefined) { + ExistenceProof.encode(message.left, writer.uint32(18).fork()).join(); + } + if (message.right !== undefined) { + ExistenceProof.encode(message.right, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): NonExistenceProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNonExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.left = ExistenceProof.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.right = ExistenceProof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): NonExistenceProof { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + left: isSet(object.left) ? ExistenceProof.fromJSON(object.left) : undefined, + right: isSet(object.right) ? ExistenceProof.fromJSON(object.right) : undefined, + }; + }, + + toJSON(message: NonExistenceProof): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.left !== undefined) { + obj.left = ExistenceProof.toJSON(message.left); + } + if (message.right !== undefined) { + obj.right = ExistenceProof.toJSON(message.right); + } + return obj; + }, + + create, I>>(base?: I): NonExistenceProof { + return NonExistenceProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): NonExistenceProof { + const message = createBaseNonExistenceProof(); + message.key = object.key ?? new Uint8Array(0); + message.left = object.left !== undefined && object.left !== null ? ExistenceProof.fromPartial(object.left) : undefined; + message.right = object.right !== undefined && object.right !== null ? ExistenceProof.fromPartial(object.right) : undefined; + return message; + }, +}; + +export const CommitmentProof: MessageFns = { + $type: "ics23.CommitmentProof" as const, + + encode(message: CommitmentProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exist !== undefined) { + ExistenceProof.encode(message.exist, writer.uint32(10).fork()).join(); + } + if (message.nonexist !== undefined) { + NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).join(); + } + if (message.batch !== undefined) { + BatchProof.encode(message.batch, writer.uint32(26).fork()).join(); + } + if (message.compressed !== undefined) { + CompressedBatchProof.encode(message.compressed, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommitmentProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitmentProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exist = ExistenceProof.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.nonexist = NonExistenceProof.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.batch = BatchProof.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.compressed = CompressedBatchProof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommitmentProof { + return { + exist: isSet(object.exist) ? ExistenceProof.fromJSON(object.exist) : undefined, + nonexist: isSet(object.nonexist) ? NonExistenceProof.fromJSON(object.nonexist) : undefined, + batch: isSet(object.batch) ? BatchProof.fromJSON(object.batch) : undefined, + compressed: isSet(object.compressed) ? CompressedBatchProof.fromJSON(object.compressed) : undefined, + }; + }, + + toJSON(message: CommitmentProof): unknown { + const obj: any = {}; + if (message.exist !== undefined) { + obj.exist = ExistenceProof.toJSON(message.exist); + } + if (message.nonexist !== undefined) { + obj.nonexist = NonExistenceProof.toJSON(message.nonexist); + } + if (message.batch !== undefined) { + obj.batch = BatchProof.toJSON(message.batch); + } + if (message.compressed !== undefined) { + obj.compressed = CompressedBatchProof.toJSON(message.compressed); + } + return obj; + }, + + create, I>>(base?: I): CommitmentProof { + return CommitmentProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommitmentProof { + const message = createBaseCommitmentProof(); + message.exist = object.exist !== undefined && object.exist !== null ? ExistenceProof.fromPartial(object.exist) : undefined; + message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? NonExistenceProof.fromPartial(object.nonexist) : undefined; + message.batch = object.batch !== undefined && object.batch !== null ? BatchProof.fromPartial(object.batch) : undefined; + message.compressed = object.compressed !== undefined && object.compressed !== null ? CompressedBatchProof.fromPartial(object.compressed) : undefined; + return message; + }, +}; + +export const LeafOp: MessageFns = { + $type: "ics23.LeafOp" as const, + + encode(message: LeafOp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash !== 0) { + writer.uint32(8).int32(message.hash); + } + if (message.prehash_key !== 0) { + writer.uint32(16).int32(message.prehash_key); + } + if (message.prehash_value !== 0) { + writer.uint32(24).int32(message.prehash_value); + } + if (message.length !== 0) { + writer.uint32(32).int32(message.length); + } + if (message.prefix.length !== 0) { + writer.uint32(42).bytes(message.prefix); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LeafOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLeafOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.hash = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.prehash_key = reader.int32() as any; + continue; + case 3: + if (tag !== 24) { + break; + } + + message.prehash_value = reader.int32() as any; + continue; + case 4: + if (tag !== 32) { + break; + } + + message.length = reader.int32() as any; + continue; + case 5: + if (tag !== 42) { + break; + } + + message.prefix = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LeafOp { + return { + hash: isSet(object.hash) ? hashOpFromJSON(object.hash) : 0, + prehash_key: isSet(object.prehash_key) ? hashOpFromJSON(object.prehash_key) : 0, + prehash_value: isSet(object.prehash_value) ? hashOpFromJSON(object.prehash_value) : 0, + length: isSet(object.length) ? lengthOpFromJSON(object.length) : 0, + prefix: isSet(object.prefix) ? bytesFromBase64(object.prefix) : new Uint8Array(0), + }; + }, + + toJSON(message: LeafOp): unknown { + const obj: any = {}; + if (message.hash !== 0) { + obj.hash = hashOpToJSON(message.hash); + } + if (message.prehash_key !== 0) { + obj.prehash_key = hashOpToJSON(message.prehash_key); + } + if (message.prehash_value !== 0) { + obj.prehash_value = hashOpToJSON(message.prehash_value); + } + if (message.length !== 0) { + obj.length = lengthOpToJSON(message.length); + } + if (message.prefix.length !== 0) { + obj.prefix = base64FromBytes(message.prefix); + } + return obj; + }, + + create, I>>(base?: I): LeafOp { + return LeafOp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LeafOp { + const message = createBaseLeafOp(); + message.hash = object.hash ?? 0; + message.prehash_key = object.prehash_key ?? 0; + message.prehash_value = object.prehash_value ?? 0; + message.length = object.length ?? 0; + message.prefix = object.prefix ?? new Uint8Array(0); + return message; + }, +}; + +export const InnerOp: MessageFns = { + $type: "ics23.InnerOp" as const, + + encode(message: InnerOp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash !== 0) { + writer.uint32(8).int32(message.hash); + } + if (message.prefix.length !== 0) { + writer.uint32(18).bytes(message.prefix); + } + if (message.suffix.length !== 0) { + writer.uint32(26).bytes(message.suffix); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InnerOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInnerOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.hash = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.prefix = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.suffix = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InnerOp { + return { + hash: isSet(object.hash) ? hashOpFromJSON(object.hash) : 0, + prefix: isSet(object.prefix) ? bytesFromBase64(object.prefix) : new Uint8Array(0), + suffix: isSet(object.suffix) ? bytesFromBase64(object.suffix) : new Uint8Array(0), + }; + }, + + toJSON(message: InnerOp): unknown { + const obj: any = {}; + if (message.hash !== 0) { + obj.hash = hashOpToJSON(message.hash); + } + if (message.prefix.length !== 0) { + obj.prefix = base64FromBytes(message.prefix); + } + if (message.suffix.length !== 0) { + obj.suffix = base64FromBytes(message.suffix); + } + return obj; + }, + + create, I>>(base?: I): InnerOp { + return InnerOp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InnerOp { + const message = createBaseInnerOp(); + message.hash = object.hash ?? 0; + message.prefix = object.prefix ?? new Uint8Array(0); + message.suffix = object.suffix ?? new Uint8Array(0); + return message; + }, +}; + +export const ProofSpec: MessageFns = { + $type: "ics23.ProofSpec" as const, + + encode(message: ProofSpec, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.leaf_spec !== undefined) { + LeafOp.encode(message.leaf_spec, writer.uint32(10).fork()).join(); + } + if (message.inner_spec !== undefined) { + InnerSpec.encode(message.inner_spec, writer.uint32(18).fork()).join(); + } + if (message.max_depth !== 0) { + writer.uint32(24).int32(message.max_depth); + } + if (message.min_depth !== 0) { + writer.uint32(32).int32(message.min_depth); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ProofSpec { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofSpec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.leaf_spec = LeafOp.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.inner_spec = InnerSpec.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.max_depth = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.min_depth = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ProofSpec { + return { + leaf_spec: isSet(object.leaf_spec) ? LeafOp.fromJSON(object.leaf_spec) : undefined, + inner_spec: isSet(object.inner_spec) ? InnerSpec.fromJSON(object.inner_spec) : undefined, + max_depth: isSet(object.max_depth) ? globalThis.Number(object.max_depth) : 0, + min_depth: isSet(object.min_depth) ? globalThis.Number(object.min_depth) : 0, + }; + }, + + toJSON(message: ProofSpec): unknown { + const obj: any = {}; + if (message.leaf_spec !== undefined) { + obj.leaf_spec = LeafOp.toJSON(message.leaf_spec); + } + if (message.inner_spec !== undefined) { + obj.inner_spec = InnerSpec.toJSON(message.inner_spec); + } + if (message.max_depth !== 0) { + obj.max_depth = Math.round(message.max_depth); + } + if (message.min_depth !== 0) { + obj.min_depth = Math.round(message.min_depth); + } + return obj; + }, + + create, I>>(base?: I): ProofSpec { + return ProofSpec.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ProofSpec { + const message = createBaseProofSpec(); + message.leaf_spec = object.leaf_spec !== undefined && object.leaf_spec !== null ? LeafOp.fromPartial(object.leaf_spec) : undefined; + message.inner_spec = object.inner_spec !== undefined && object.inner_spec !== null ? InnerSpec.fromPartial(object.inner_spec) : undefined; + message.max_depth = object.max_depth ?? 0; + message.min_depth = object.min_depth ?? 0; + return message; + }, +}; + +export const InnerSpec: MessageFns = { + $type: "ics23.InnerSpec" as const, + + encode(message: InnerSpec, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.child_order) { + writer.int32(v); + } + writer.join(); + if (message.child_size !== 0) { + writer.uint32(16).int32(message.child_size); + } + if (message.min_prefix_length !== 0) { + writer.uint32(24).int32(message.min_prefix_length); + } + if (message.max_prefix_length !== 0) { + writer.uint32(32).int32(message.max_prefix_length); + } + if (message.empty_child.length !== 0) { + writer.uint32(42).bytes(message.empty_child); + } + if (message.hash !== 0) { + writer.uint32(48).int32(message.hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InnerSpec { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInnerSpec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.child_order.push(reader.int32()); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.child_order.push(reader.int32()); + } + + continue; + } + + break; + case 2: + if (tag !== 16) { + break; + } + + message.child_size = reader.int32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.min_prefix_length = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.max_prefix_length = reader.int32(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.empty_child = reader.bytes(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.hash = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InnerSpec { + return { + child_order: globalThis.Array.isArray(object?.child_order) ? object.child_order.map((e: any) => globalThis.Number(e)) : [], + child_size: isSet(object.child_size) ? globalThis.Number(object.child_size) : 0, + min_prefix_length: isSet(object.min_prefix_length) ? globalThis.Number(object.min_prefix_length) : 0, + max_prefix_length: isSet(object.max_prefix_length) ? globalThis.Number(object.max_prefix_length) : 0, + empty_child: isSet(object.empty_child) ? bytesFromBase64(object.empty_child) : new Uint8Array(0), + hash: isSet(object.hash) ? hashOpFromJSON(object.hash) : 0, + }; + }, + + toJSON(message: InnerSpec): unknown { + const obj: any = {}; + if (message.child_order?.length) { + obj.child_order = message.child_order.map((e) => Math.round(e)); + } + if (message.child_size !== 0) { + obj.child_size = Math.round(message.child_size); + } + if (message.min_prefix_length !== 0) { + obj.min_prefix_length = Math.round(message.min_prefix_length); + } + if (message.max_prefix_length !== 0) { + obj.max_prefix_length = Math.round(message.max_prefix_length); + } + if (message.empty_child.length !== 0) { + obj.empty_child = base64FromBytes(message.empty_child); + } + if (message.hash !== 0) { + obj.hash = hashOpToJSON(message.hash); + } + return obj; + }, + + create, I>>(base?: I): InnerSpec { + return InnerSpec.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InnerSpec { + const message = createBaseInnerSpec(); + message.child_order = object.child_order?.map((e) => e) || []; + message.child_size = object.child_size ?? 0; + message.min_prefix_length = object.min_prefix_length ?? 0; + message.max_prefix_length = object.max_prefix_length ?? 0; + message.empty_child = object.empty_child ?? new Uint8Array(0); + message.hash = object.hash ?? 0; + return message; + }, +}; + +export const BatchProof: MessageFns = { + $type: "ics23.BatchProof" as const, + + encode(message: BatchProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.entries) { + BatchEntry.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BatchProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.entries.push(BatchEntry.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BatchProof { + return { + entries: globalThis.Array.isArray(object?.entries) ? object.entries.map((e: any) => BatchEntry.fromJSON(e)) : [], + }; + }, + + toJSON(message: BatchProof): unknown { + const obj: any = {}; + if (message.entries?.length) { + obj.entries = message.entries.map((e) => BatchEntry.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): BatchProof { + return BatchProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BatchProof { + const message = createBaseBatchProof(); + message.entries = object.entries?.map((e) => BatchEntry.fromPartial(e)) || []; + return message; + }, +}; + +export const BatchEntry: MessageFns = { + $type: "ics23.BatchEntry" as const, + + encode(message: BatchEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exist !== undefined) { + ExistenceProof.encode(message.exist, writer.uint32(10).fork()).join(); + } + if (message.nonexist !== undefined) { + NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BatchEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exist = ExistenceProof.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.nonexist = NonExistenceProof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BatchEntry { + return { + exist: isSet(object.exist) ? ExistenceProof.fromJSON(object.exist) : undefined, + nonexist: isSet(object.nonexist) ? NonExistenceProof.fromJSON(object.nonexist) : undefined, + }; + }, + + toJSON(message: BatchEntry): unknown { + const obj: any = {}; + if (message.exist !== undefined) { + obj.exist = ExistenceProof.toJSON(message.exist); + } + if (message.nonexist !== undefined) { + obj.nonexist = NonExistenceProof.toJSON(message.nonexist); + } + return obj; + }, + + create, I>>(base?: I): BatchEntry { + return BatchEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BatchEntry { + const message = createBaseBatchEntry(); + message.exist = object.exist !== undefined && object.exist !== null ? ExistenceProof.fromPartial(object.exist) : undefined; + message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? NonExistenceProof.fromPartial(object.nonexist) : undefined; + return message; + }, +}; + +export const CompressedBatchProof: MessageFns = { + $type: "ics23.CompressedBatchProof" as const, + + encode(message: CompressedBatchProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.entries) { + CompressedBatchEntry.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.lookup_inners) { + InnerOp.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CompressedBatchProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedBatchProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.entries.push(CompressedBatchEntry.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.lookup_inners.push(InnerOp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CompressedBatchProof { + return { + entries: globalThis.Array.isArray(object?.entries) ? object.entries.map((e: any) => CompressedBatchEntry.fromJSON(e)) : [], + lookup_inners: globalThis.Array.isArray(object?.lookup_inners) ? object.lookup_inners.map((e: any) => InnerOp.fromJSON(e)) : [], + }; + }, + + toJSON(message: CompressedBatchProof): unknown { + const obj: any = {}; + if (message.entries?.length) { + obj.entries = message.entries.map((e) => CompressedBatchEntry.toJSON(e)); + } + if (message.lookup_inners?.length) { + obj.lookup_inners = message.lookup_inners.map((e) => InnerOp.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CompressedBatchProof { + return CompressedBatchProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CompressedBatchProof { + const message = createBaseCompressedBatchProof(); + message.entries = object.entries?.map((e) => CompressedBatchEntry.fromPartial(e)) || []; + message.lookup_inners = object.lookup_inners?.map((e) => InnerOp.fromPartial(e)) || []; + return message; + }, +}; + +export const CompressedBatchEntry: MessageFns = { + $type: "ics23.CompressedBatchEntry" as const, + + encode(message: CompressedBatchEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exist !== undefined) { + CompressedExistenceProof.encode(message.exist, writer.uint32(10).fork()).join(); + } + if (message.nonexist !== undefined) { + CompressedNonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CompressedBatchEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedBatchEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exist = CompressedExistenceProof.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.nonexist = CompressedNonExistenceProof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CompressedBatchEntry { + return { + exist: isSet(object.exist) ? CompressedExistenceProof.fromJSON(object.exist) : undefined, + nonexist: isSet(object.nonexist) ? CompressedNonExistenceProof.fromJSON(object.nonexist) : undefined, + }; + }, + + toJSON(message: CompressedBatchEntry): unknown { + const obj: any = {}; + if (message.exist !== undefined) { + obj.exist = CompressedExistenceProof.toJSON(message.exist); + } + if (message.nonexist !== undefined) { + obj.nonexist = CompressedNonExistenceProof.toJSON(message.nonexist); + } + return obj; + }, + + create, I>>(base?: I): CompressedBatchEntry { + return CompressedBatchEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CompressedBatchEntry { + const message = createBaseCompressedBatchEntry(); + message.exist = object.exist !== undefined && object.exist !== null ? CompressedExistenceProof.fromPartial(object.exist) : undefined; + message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? CompressedNonExistenceProof.fromPartial(object.nonexist) : undefined; + return message; + }, +}; + +export const CompressedExistenceProof: MessageFns = { + $type: "ics23.CompressedExistenceProof" as const, + + encode(message: CompressedExistenceProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + if (message.leaf !== undefined) { + LeafOp.encode(message.leaf, writer.uint32(26).fork()).join(); + } + writer.uint32(34).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.join(); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CompressedExistenceProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.leaf = LeafOp.decode(reader, reader.uint32()); + continue; + case 4: + if (tag === 32) { + message.path.push(reader.int32()); + + continue; + } + + if (tag === 34) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CompressedExistenceProof { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + leaf: isSet(object.leaf) ? LeafOp.fromJSON(object.leaf) : undefined, + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => globalThis.Number(e)) : [], + }; + }, + + toJSON(message: CompressedExistenceProof): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + if (message.leaf !== undefined) { + obj.leaf = LeafOp.toJSON(message.leaf); + } + if (message.path?.length) { + obj.path = message.path.map((e) => Math.round(e)); + } + return obj; + }, + + create, I>>(base?: I): CompressedExistenceProof { + return CompressedExistenceProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CompressedExistenceProof { + const message = createBaseCompressedExistenceProof(); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + message.leaf = object.leaf !== undefined && object.leaf !== null ? LeafOp.fromPartial(object.leaf) : undefined; + message.path = object.path?.map((e) => e) || []; + return message; + }, +}; + +export const CompressedNonExistenceProof: MessageFns = { + $type: "ics23.CompressedNonExistenceProof" as const, + + encode(message: CompressedNonExistenceProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.left !== undefined) { + CompressedExistenceProof.encode(message.left, writer.uint32(18).fork()).join(); + } + if (message.right !== undefined) { + CompressedExistenceProof.encode(message.right, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CompressedNonExistenceProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedNonExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.left = CompressedExistenceProof.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.right = CompressedExistenceProof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CompressedNonExistenceProof { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + left: isSet(object.left) ? CompressedExistenceProof.fromJSON(object.left) : undefined, + right: isSet(object.right) ? CompressedExistenceProof.fromJSON(object.right) : undefined, + }; + }, + + toJSON(message: CompressedNonExistenceProof): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.left !== undefined) { + obj.left = CompressedExistenceProof.toJSON(message.left); + } + if (message.right !== undefined) { + obj.right = CompressedExistenceProof.toJSON(message.right); + } + return obj; + }, + + create, I>>(base?: I): CompressedNonExistenceProof { + return CompressedNonExistenceProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CompressedNonExistenceProof { + const message = createBaseCompressedNonExistenceProof(); + message.key = object.key ?? new Uint8Array(0); + message.left = object.left !== undefined && object.left !== null ? CompressedExistenceProof.fromPartial(object.left) : undefined; + message.right = object.right !== undefined && object.right !== null ? CompressedExistenceProof.fromPartial(object.right) : undefined; + return message; + }, +}; + +export function hashOpFromJSON(object: any): HashOp { + switch (object) { + case 0: + case "NO_HASH": + return HashOp.NO_HASH; + case 1: + case "SHA256": + return HashOp.SHA256; + case 2: + case "SHA512": + return HashOp.SHA512; + case 3: + case "KECCAK": + return HashOp.KECCAK; + case 4: + case "RIPEMD160": + return HashOp.RIPEMD160; + case 5: + case "BITCOIN": + return HashOp.BITCOIN; + case -1: + case "UNRECOGNIZED": + default: + return HashOp.UNRECOGNIZED; + } +} + +export function hashOpToJSON(object: HashOp): string { + switch (object) { + case HashOp.NO_HASH: + return "NO_HASH"; + case HashOp.SHA256: + return "SHA256"; + case HashOp.SHA512: + return "SHA512"; + case HashOp.KECCAK: + return "KECCAK"; + case HashOp.RIPEMD160: + return "RIPEMD160"; + case HashOp.BITCOIN: + return "BITCOIN"; + case HashOp.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function lengthOpFromJSON(object: any): LengthOp { + switch (object) { + case 0: + case "NO_PREFIX": + return LengthOp.NO_PREFIX; + case 1: + case "VAR_PROTO": + return LengthOp.VAR_PROTO; + case 2: + case "VAR_RLP": + return LengthOp.VAR_RLP; + case 3: + case "FIXED32_BIG": + return LengthOp.FIXED32_BIG; + case 4: + case "FIXED32_LITTLE": + return LengthOp.FIXED32_LITTLE; + case 5: + case "FIXED64_BIG": + return LengthOp.FIXED64_BIG; + case 6: + case "FIXED64_LITTLE": + return LengthOp.FIXED64_LITTLE; + case 7: + case "REQUIRE_32_BYTES": + return LengthOp.REQUIRE_32_BYTES; + case 8: + case "REQUIRE_64_BYTES": + return LengthOp.REQUIRE_64_BYTES; + case -1: + case "UNRECOGNIZED": + default: + return LengthOp.UNRECOGNIZED; + } +} + +export function lengthOpToJSON(object: LengthOp): string { + switch (object) { + case LengthOp.NO_PREFIX: + return "NO_PREFIX"; + case LengthOp.VAR_PROTO: + return "VAR_PROTO"; + case LengthOp.VAR_RLP: + return "VAR_RLP"; + case LengthOp.FIXED32_BIG: + return "FIXED32_BIG"; + case LengthOp.FIXED32_LITTLE: + return "FIXED32_LITTLE"; + case LengthOp.FIXED64_BIG: + return "FIXED64_BIG"; + case LengthOp.FIXED64_LITTLE: + return "FIXED64_LITTLE"; + case LengthOp.REQUIRE_32_BYTES: + return "REQUIRE_32_BYTES"; + case LengthOp.REQUIRE_64_BYTES: + return "REQUIRE_64_BYTES"; + case LengthOp.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseExistenceProof(): ExistenceProof { + return { key: new Uint8Array(0), value: new Uint8Array(0), leaf: undefined, path: [] }; +} + +function createBaseNonExistenceProof(): NonExistenceProof { + return { key: new Uint8Array(0), left: undefined, right: undefined }; +} + +function createBaseCommitmentProof(): CommitmentProof { + return { exist: undefined, nonexist: undefined, batch: undefined, compressed: undefined }; +} + +function createBaseLeafOp(): LeafOp { + return { hash: 0, prehash_key: 0, prehash_value: 0, length: 0, prefix: new Uint8Array(0) }; +} + +function createBaseInnerOp(): InnerOp { + return { hash: 0, prefix: new Uint8Array(0), suffix: new Uint8Array(0) }; +} + +function createBaseProofSpec(): ProofSpec { + return { leaf_spec: undefined, inner_spec: undefined, max_depth: 0, min_depth: 0 }; +} + +function createBaseInnerSpec(): InnerSpec { + return { + child_order: [], + child_size: 0, + min_prefix_length: 0, + max_prefix_length: 0, + empty_child: new Uint8Array(0), + hash: 0, + }; +} + +function createBaseBatchProof(): BatchProof { + return { entries: [] }; +} + +function createBaseBatchEntry(): BatchEntry { + return { exist: undefined, nonexist: undefined }; +} + +function createBaseCompressedBatchProof(): CompressedBatchProof { + return { entries: [], lookup_inners: [] }; +} + +function createBaseCompressedBatchEntry(): CompressedBatchEntry { + return { exist: undefined, nonexist: undefined }; +} + +function createBaseCompressedExistenceProof(): CompressedExistenceProof { + return { key: new Uint8Array(0), value: new Uint8Array(0), leaf: undefined, path: [] }; +} + +function createBaseCompressedNonExistenceProof(): CompressedNonExistenceProof { + return { key: new Uint8Array(0), left: undefined, right: undefined }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/ics23.ExistenceProof", ExistenceProof as never], + ["/ics23.NonExistenceProof", NonExistenceProof as never], + ["/ics23.CommitmentProof", CommitmentProof as never], + ["/ics23.LeafOp", LeafOp as never], + ["/ics23.InnerOp", InnerOp as never], + ["/ics23.ProofSpec", ProofSpec as never], + ["/ics23.InnerSpec", InnerSpec as never], + ["/ics23.BatchProof", BatchProof as never], + ["/ics23.BatchEntry", BatchEntry as never], + ["/ics23.CompressedBatchProof", CompressedBatchProof as never], + ["/ics23.CompressedBatchEntry", CompressedBatchEntry as never], + ["/ics23.CompressedExistenceProof", CompressedExistenceProof as never], + ["/ics23.CompressedNonExistenceProof", CompressedNonExistenceProof as never], +]; +export const aminoConverters = { + "/ics23.ExistenceProof": { + aminoType: "ics23.ExistenceProof", + toAmino: (message: ExistenceProof) => ({ ...message }), + fromAmino: (object: ExistenceProof) => ({ ...object }), + }, + + "/ics23.NonExistenceProof": { + aminoType: "ics23.NonExistenceProof", + toAmino: (message: NonExistenceProof) => ({ ...message }), + fromAmino: (object: NonExistenceProof) => ({ ...object }), + }, + + "/ics23.CommitmentProof": { + aminoType: "ics23.CommitmentProof", + toAmino: (message: CommitmentProof) => ({ ...message }), + fromAmino: (object: CommitmentProof) => ({ ...object }), + }, + + "/ics23.LeafOp": { + aminoType: "ics23.LeafOp", + toAmino: (message: LeafOp) => ({ ...message }), + fromAmino: (object: LeafOp) => ({ ...object }), + }, + + "/ics23.InnerOp": { + aminoType: "ics23.InnerOp", + toAmino: (message: InnerOp) => ({ ...message }), + fromAmino: (object: InnerOp) => ({ ...object }), + }, + + "/ics23.ProofSpec": { + aminoType: "ics23.ProofSpec", + toAmino: (message: ProofSpec) => ({ ...message }), + fromAmino: (object: ProofSpec) => ({ ...object }), + }, + + "/ics23.InnerSpec": { + aminoType: "ics23.InnerSpec", + toAmino: (message: InnerSpec) => ({ ...message }), + fromAmino: (object: InnerSpec) => ({ ...object }), + }, + + "/ics23.BatchProof": { + aminoType: "ics23.BatchProof", + toAmino: (message: BatchProof) => ({ ...message }), + fromAmino: (object: BatchProof) => ({ ...object }), + }, + + "/ics23.BatchEntry": { + aminoType: "ics23.BatchEntry", + toAmino: (message: BatchEntry) => ({ ...message }), + fromAmino: (object: BatchEntry) => ({ ...object }), + }, + + "/ics23.CompressedBatchProof": { + aminoType: "ics23.CompressedBatchProof", + toAmino: (message: CompressedBatchProof) => ({ ...message }), + fromAmino: (object: CompressedBatchProof) => ({ ...object }), + }, + + "/ics23.CompressedBatchEntry": { + aminoType: "ics23.CompressedBatchEntry", + toAmino: (message: CompressedBatchEntry) => ({ ...message }), + fromAmino: (object: CompressedBatchEntry) => ({ ...object }), + }, + + "/ics23.CompressedExistenceProof": { + aminoType: "ics23.CompressedExistenceProof", + toAmino: (message: CompressedExistenceProof) => ({ ...message }), + fromAmino: (object: CompressedExistenceProof) => ({ ...object }), + }, + + "/ics23.CompressedNonExistenceProof": { + aminoType: "ics23.CompressedNonExistenceProof", + toAmino: (message: CompressedNonExistenceProof) => ({ ...message }), + fromAmino: (object: CompressedNonExistenceProof) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts new file mode 100644 index 000000000..73a8ba33e --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts @@ -0,0 +1,771 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { + accessOperationSelectorTypeFromJSON, + accessOperationSelectorTypeToJSON, + accessTypeFromJSON, + accessTypeToJSON, + resourceTypeFromJSON, + resourceTypeToJSON, + wasmMessageSubtypeFromJSON, + wasmMessageSubtypeToJSON, +} from "./constants"; + +import type { + AccessOperation as AccessOperationType, + MessageDependencyMapping as MessageDependencyMappingType, + WasmAccessOperation as WasmAccessOperationType, + WasmAccessOperations as WasmAccessOperationsType, + WasmContractReference as WasmContractReferenceType, + WasmContractReferences as WasmContractReferencesType, + WasmDependencyMapping as WasmDependencyMappingType, +} from "../../../types/cosmos/accesscontrol"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface AccessOperation extends AccessOperationType {} +interface WasmAccessOperation extends WasmAccessOperationType {} +interface WasmContractReference extends WasmContractReferenceType {} +interface WasmContractReferences extends WasmContractReferencesType {} +interface WasmAccessOperations extends WasmAccessOperationsType {} +interface MessageDependencyMapping extends MessageDependencyMappingType {} +interface WasmDependencyMapping extends WasmDependencyMappingType {} + +export const AccessOperation: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.AccessOperation" as const, + + encode(message: AccessOperation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.access_type !== 0) { + writer.uint32(8).int32(message.access_type); + } + if (message.resource_type !== 0) { + writer.uint32(16).int32(message.resource_type); + } + if (message.identifier_template !== "") { + writer.uint32(26).string(message.identifier_template); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AccessOperation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessOperation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.access_type = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.resource_type = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.identifier_template = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessOperation { + return { + access_type: isSet(object.access_type) ? accessTypeFromJSON(object.access_type) : 0, + resource_type: isSet(object.resource_type) ? resourceTypeFromJSON(object.resource_type) : 0, + identifier_template: isSet(object.identifier_template) ? globalThis.String(object.identifier_template) : "", + }; + }, + + toJSON(message: AccessOperation): unknown { + const obj: any = {}; + if (message.access_type !== 0) { + obj.access_type = accessTypeToJSON(message.access_type); + } + if (message.resource_type !== 0) { + obj.resource_type = resourceTypeToJSON(message.resource_type); + } + if (message.identifier_template !== "") { + obj.identifier_template = message.identifier_template; + } + return obj; + }, + + create, I>>(base?: I): AccessOperation { + return AccessOperation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccessOperation { + const message = createBaseAccessOperation(); + message.access_type = object.access_type ?? 0; + message.resource_type = object.resource_type ?? 0; + message.identifier_template = object.identifier_template ?? ""; + return message; + }, +}; + +export const WasmAccessOperation: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.WasmAccessOperation" as const, + + encode(message: WasmAccessOperation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.operation !== undefined) { + AccessOperation.encode(message.operation, writer.uint32(10).fork()).join(); + } + if (message.selector_type !== 0) { + writer.uint32(16).int32(message.selector_type); + } + if (message.selector !== "") { + writer.uint32(26).string(message.selector); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmAccessOperation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmAccessOperation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.operation = AccessOperation.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.selector_type = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.selector = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmAccessOperation { + return { + operation: isSet(object.operation) ? AccessOperation.fromJSON(object.operation) : undefined, + selector_type: isSet(object.selector_type) ? accessOperationSelectorTypeFromJSON(object.selector_type) : 0, + selector: isSet(object.selector) ? globalThis.String(object.selector) : "", + }; + }, + + toJSON(message: WasmAccessOperation): unknown { + const obj: any = {}; + if (message.operation !== undefined) { + obj.operation = AccessOperation.toJSON(message.operation); + } + if (message.selector_type !== 0) { + obj.selector_type = accessOperationSelectorTypeToJSON(message.selector_type); + } + if (message.selector !== "") { + obj.selector = message.selector; + } + return obj; + }, + + create, I>>(base?: I): WasmAccessOperation { + return WasmAccessOperation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmAccessOperation { + const message = createBaseWasmAccessOperation(); + message.operation = object.operation !== undefined && object.operation !== null ? AccessOperation.fromPartial(object.operation) : undefined; + message.selector_type = object.selector_type ?? 0; + message.selector = object.selector ?? ""; + return message; + }, +}; + +export const WasmContractReference: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.WasmContractReference" as const, + + encode(message: WasmContractReference, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.contract_address !== "") { + writer.uint32(10).string(message.contract_address); + } + if (message.message_type !== 0) { + writer.uint32(16).int32(message.message_type); + } + if (message.message_name !== "") { + writer.uint32(26).string(message.message_name); + } + if (message.json_translation_template !== "") { + writer.uint32(34).string(message.json_translation_template); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmContractReference { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmContractReference(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contract_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.message_type = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.message_name = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.json_translation_template = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmContractReference { + return { + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + message_type: isSet(object.message_type) ? wasmMessageSubtypeFromJSON(object.message_type) : 0, + message_name: isSet(object.message_name) ? globalThis.String(object.message_name) : "", + json_translation_template: isSet(object.json_translation_template) ? globalThis.String(object.json_translation_template) : "", + }; + }, + + toJSON(message: WasmContractReference): unknown { + const obj: any = {}; + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + if (message.message_type !== 0) { + obj.message_type = wasmMessageSubtypeToJSON(message.message_type); + } + if (message.message_name !== "") { + obj.message_name = message.message_name; + } + if (message.json_translation_template !== "") { + obj.json_translation_template = message.json_translation_template; + } + return obj; + }, + + create, I>>(base?: I): WasmContractReference { + return WasmContractReference.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmContractReference { + const message = createBaseWasmContractReference(); + message.contract_address = object.contract_address ?? ""; + message.message_type = object.message_type ?? 0; + message.message_name = object.message_name ?? ""; + message.json_translation_template = object.json_translation_template ?? ""; + return message; + }, +}; + +export const WasmContractReferences: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.WasmContractReferences" as const, + + encode(message: WasmContractReferences, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_name !== "") { + writer.uint32(10).string(message.message_name); + } + for (const v of message.contract_references) { + WasmContractReference.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmContractReferences { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmContractReferences(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contract_references.push(WasmContractReference.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmContractReferences { + return { + message_name: isSet(object.message_name) ? globalThis.String(object.message_name) : "", + contract_references: globalThis.Array.isArray(object?.contract_references) + ? object.contract_references.map((e: any) => WasmContractReference.fromJSON(e)) + : [], + }; + }, + + toJSON(message: WasmContractReferences): unknown { + const obj: any = {}; + if (message.message_name !== "") { + obj.message_name = message.message_name; + } + if (message.contract_references?.length) { + obj.contract_references = message.contract_references.map((e) => WasmContractReference.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): WasmContractReferences { + return WasmContractReferences.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmContractReferences { + const message = createBaseWasmContractReferences(); + message.message_name = object.message_name ?? ""; + message.contract_references = object.contract_references?.map((e) => WasmContractReference.fromPartial(e)) || []; + return message; + }, +}; + +export const WasmAccessOperations: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.WasmAccessOperations" as const, + + encode(message: WasmAccessOperations, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_name !== "") { + writer.uint32(10).string(message.message_name); + } + for (const v of message.wasm_operations) { + WasmAccessOperation.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmAccessOperations { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmAccessOperations(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.wasm_operations.push(WasmAccessOperation.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmAccessOperations { + return { + message_name: isSet(object.message_name) ? globalThis.String(object.message_name) : "", + wasm_operations: globalThis.Array.isArray(object?.wasm_operations) ? object.wasm_operations.map((e: any) => WasmAccessOperation.fromJSON(e)) : [], + }; + }, + + toJSON(message: WasmAccessOperations): unknown { + const obj: any = {}; + if (message.message_name !== "") { + obj.message_name = message.message_name; + } + if (message.wasm_operations?.length) { + obj.wasm_operations = message.wasm_operations.map((e) => WasmAccessOperation.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): WasmAccessOperations { + return WasmAccessOperations.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmAccessOperations { + const message = createBaseWasmAccessOperations(); + message.message_name = object.message_name ?? ""; + message.wasm_operations = object.wasm_operations?.map((e) => WasmAccessOperation.fromPartial(e)) || []; + return message; + }, +}; + +export const MessageDependencyMapping: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.MessageDependencyMapping" as const, + + encode(message: MessageDependencyMapping, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_key !== "") { + writer.uint32(10).string(message.message_key); + } + for (const v of message.access_ops) { + AccessOperation.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.dynamic_enabled !== false) { + writer.uint32(24).bool(message.dynamic_enabled); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MessageDependencyMapping { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageDependencyMapping(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.access_ops.push(AccessOperation.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.dynamic_enabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageDependencyMapping { + return { + message_key: isSet(object.message_key) ? globalThis.String(object.message_key) : "", + access_ops: globalThis.Array.isArray(object?.access_ops) ? object.access_ops.map((e: any) => AccessOperation.fromJSON(e)) : [], + dynamic_enabled: isSet(object.dynamic_enabled) ? globalThis.Boolean(object.dynamic_enabled) : false, + }; + }, + + toJSON(message: MessageDependencyMapping): unknown { + const obj: any = {}; + if (message.message_key !== "") { + obj.message_key = message.message_key; + } + if (message.access_ops?.length) { + obj.access_ops = message.access_ops.map((e) => AccessOperation.toJSON(e)); + } + if (message.dynamic_enabled !== false) { + obj.dynamic_enabled = message.dynamic_enabled; + } + return obj; + }, + + create, I>>(base?: I): MessageDependencyMapping { + return MessageDependencyMapping.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageDependencyMapping { + const message = createBaseMessageDependencyMapping(); + message.message_key = object.message_key ?? ""; + message.access_ops = object.access_ops?.map((e) => AccessOperation.fromPartial(e)) || []; + message.dynamic_enabled = object.dynamic_enabled ?? false; + return message; + }, +}; + +export const WasmDependencyMapping: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.WasmDependencyMapping" as const, + + encode(message: WasmDependencyMapping, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.base_access_ops) { + WasmAccessOperation.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.query_access_ops) { + WasmAccessOperations.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.execute_access_ops) { + WasmAccessOperations.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.base_contract_references) { + WasmContractReference.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.query_contract_references) { + WasmContractReferences.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.execute_contract_references) { + WasmContractReferences.encode(v!, writer.uint32(50).fork()).join(); + } + if (message.reset_reason !== "") { + writer.uint32(58).string(message.reset_reason); + } + if (message.contract_address !== "") { + writer.uint32(66).string(message.contract_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmDependencyMapping { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmDependencyMapping(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_access_ops.push(WasmAccessOperation.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.query_access_ops.push(WasmAccessOperations.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.execute_access_ops.push(WasmAccessOperations.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.base_contract_references.push(WasmContractReference.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.query_contract_references.push(WasmContractReferences.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.execute_contract_references.push(WasmContractReferences.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.reset_reason = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.contract_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmDependencyMapping { + return { + base_access_ops: globalThis.Array.isArray(object?.base_access_ops) ? object.base_access_ops.map((e: any) => WasmAccessOperation.fromJSON(e)) : [], + query_access_ops: globalThis.Array.isArray(object?.query_access_ops) ? object.query_access_ops.map((e: any) => WasmAccessOperations.fromJSON(e)) : [], + execute_access_ops: globalThis.Array.isArray(object?.execute_access_ops) + ? object.execute_access_ops.map((e: any) => WasmAccessOperations.fromJSON(e)) + : [], + base_contract_references: globalThis.Array.isArray(object?.base_contract_references) + ? object.base_contract_references.map((e: any) => WasmContractReference.fromJSON(e)) + : [], + query_contract_references: globalThis.Array.isArray(object?.query_contract_references) + ? object.query_contract_references.map((e: any) => WasmContractReferences.fromJSON(e)) + : [], + execute_contract_references: globalThis.Array.isArray(object?.execute_contract_references) + ? object.execute_contract_references.map((e: any) => WasmContractReferences.fromJSON(e)) + : [], + reset_reason: isSet(object.reset_reason) ? globalThis.String(object.reset_reason) : "", + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + }; + }, + + toJSON(message: WasmDependencyMapping): unknown { + const obj: any = {}; + if (message.base_access_ops?.length) { + obj.base_access_ops = message.base_access_ops.map((e) => WasmAccessOperation.toJSON(e)); + } + if (message.query_access_ops?.length) { + obj.query_access_ops = message.query_access_ops.map((e) => WasmAccessOperations.toJSON(e)); + } + if (message.execute_access_ops?.length) { + obj.execute_access_ops = message.execute_access_ops.map((e) => WasmAccessOperations.toJSON(e)); + } + if (message.base_contract_references?.length) { + obj.base_contract_references = message.base_contract_references.map((e) => WasmContractReference.toJSON(e)); + } + if (message.query_contract_references?.length) { + obj.query_contract_references = message.query_contract_references.map((e) => WasmContractReferences.toJSON(e)); + } + if (message.execute_contract_references?.length) { + obj.execute_contract_references = message.execute_contract_references.map((e) => WasmContractReferences.toJSON(e)); + } + if (message.reset_reason !== "") { + obj.reset_reason = message.reset_reason; + } + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + return obj; + }, + + create, I>>(base?: I): WasmDependencyMapping { + return WasmDependencyMapping.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmDependencyMapping { + const message = createBaseWasmDependencyMapping(); + message.base_access_ops = object.base_access_ops?.map((e) => WasmAccessOperation.fromPartial(e)) || []; + message.query_access_ops = object.query_access_ops?.map((e) => WasmAccessOperations.fromPartial(e)) || []; + message.execute_access_ops = object.execute_access_ops?.map((e) => WasmAccessOperations.fromPartial(e)) || []; + message.base_contract_references = object.base_contract_references?.map((e) => WasmContractReference.fromPartial(e)) || []; + message.query_contract_references = object.query_contract_references?.map((e) => WasmContractReferences.fromPartial(e)) || []; + message.execute_contract_references = object.execute_contract_references?.map((e) => WasmContractReferences.fromPartial(e)) || []; + message.reset_reason = object.reset_reason ?? ""; + message.contract_address = object.contract_address ?? ""; + return message; + }, +}; + +function createBaseAccessOperation(): AccessOperation { + return { access_type: 0, resource_type: 0, identifier_template: "" }; +} + +function createBaseWasmAccessOperation(): WasmAccessOperation { + return { operation: undefined, selector_type: 0, selector: "" }; +} + +function createBaseWasmContractReference(): WasmContractReference { + return { contract_address: "", message_type: 0, message_name: "", json_translation_template: "" }; +} + +function createBaseWasmContractReferences(): WasmContractReferences { + return { message_name: "", contract_references: [] }; +} + +function createBaseWasmAccessOperations(): WasmAccessOperations { + return { message_name: "", wasm_operations: [] }; +} + +function createBaseMessageDependencyMapping(): MessageDependencyMapping { + return { message_key: "", access_ops: [], dynamic_enabled: false }; +} + +function createBaseWasmDependencyMapping(): WasmDependencyMapping { + return { + base_access_ops: [], + query_access_ops: [], + execute_access_ops: [], + base_contract_references: [], + query_contract_references: [], + execute_contract_references: [], + reset_reason: "", + contract_address: "", + }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.accesscontrol.v1beta1.AccessOperation", AccessOperation as never], + ["/cosmos.accesscontrol.v1beta1.WasmAccessOperation", WasmAccessOperation as never], +]; +export const aminoConverters = { + "/cosmos.accesscontrol.v1beta1.AccessOperation": { + aminoType: "cosmos-sdk/AccessOperation", + toAmino: (message: AccessOperation) => ({ ...message }), + fromAmino: (object: AccessOperation) => ({ ...object }), + }, + + "/cosmos.accesscontrol.v1beta1.WasmAccessOperation": { + aminoType: "cosmos-sdk/WasmAccessOperation", + toAmino: (message: WasmAccessOperation) => ({ ...message }), + fromAmino: (object: WasmAccessOperation) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/constants.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/constants.ts new file mode 100644 index 000000000..95532930c --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/constants.ts @@ -0,0 +1,549 @@ +import { AccessOperationSelectorType, AccessType, ResourceType, WasmMessageSubtype } from "../../../types/cosmos/accesscontrol"; + +export function accessTypeFromJSON(object: any): AccessType { + switch (object) { + case 0: + case "UNKNOWN": + return AccessType.UNKNOWN; + case 1: + case "READ": + return AccessType.READ; + case 2: + case "WRITE": + return AccessType.WRITE; + case 3: + case "COMMIT": + return AccessType.COMMIT; + case -1: + case "UNRECOGNIZED": + default: + return AccessType.UNRECOGNIZED; + } +} + +export function accessTypeToJSON(object: AccessType): string { + switch (object) { + case AccessType.UNKNOWN: + return "UNKNOWN"; + case AccessType.READ: + return "READ"; + case AccessType.WRITE: + return "WRITE"; + case AccessType.COMMIT: + return "COMMIT"; + case AccessType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function accessOperationSelectorTypeFromJSON(object: any): AccessOperationSelectorType { + switch (object) { + case 0: + case "NONE": + return AccessOperationSelectorType.NONE; + case 1: + case "JQ": + return AccessOperationSelectorType.JQ; + case 2: + case "JQ_BECH32_ADDRESS": + return AccessOperationSelectorType.JQ_BECH32_ADDRESS; + case 3: + case "JQ_LENGTH_PREFIXED_ADDRESS": + return AccessOperationSelectorType.JQ_LENGTH_PREFIXED_ADDRESS; + case 4: + case "SENDER_BECH32_ADDRESS": + return AccessOperationSelectorType.SENDER_BECH32_ADDRESS; + case 5: + case "SENDER_LENGTH_PREFIXED_ADDRESS": + return AccessOperationSelectorType.SENDER_LENGTH_PREFIXED_ADDRESS; + case 6: + case "CONTRACT_ADDRESS": + return AccessOperationSelectorType.CONTRACT_ADDRESS; + case 7: + case "JQ_MESSAGE_CONDITIONAL": + return AccessOperationSelectorType.JQ_MESSAGE_CONDITIONAL; + case 8: + case "CONSTANT_STRING_TO_HEX": + return AccessOperationSelectorType.CONSTANT_STRING_TO_HEX; + case 9: + case "CONTRACT_REFERENCE": + return AccessOperationSelectorType.CONTRACT_REFERENCE; + case -1: + case "UNRECOGNIZED": + default: + return AccessOperationSelectorType.UNRECOGNIZED; + } +} + +export function accessOperationSelectorTypeToJSON(object: AccessOperationSelectorType): string { + switch (object) { + case AccessOperationSelectorType.NONE: + return "NONE"; + case AccessOperationSelectorType.JQ: + return "JQ"; + case AccessOperationSelectorType.JQ_BECH32_ADDRESS: + return "JQ_BECH32_ADDRESS"; + case AccessOperationSelectorType.JQ_LENGTH_PREFIXED_ADDRESS: + return "JQ_LENGTH_PREFIXED_ADDRESS"; + case AccessOperationSelectorType.SENDER_BECH32_ADDRESS: + return "SENDER_BECH32_ADDRESS"; + case AccessOperationSelectorType.SENDER_LENGTH_PREFIXED_ADDRESS: + return "SENDER_LENGTH_PREFIXED_ADDRESS"; + case AccessOperationSelectorType.CONTRACT_ADDRESS: + return "CONTRACT_ADDRESS"; + case AccessOperationSelectorType.JQ_MESSAGE_CONDITIONAL: + return "JQ_MESSAGE_CONDITIONAL"; + case AccessOperationSelectorType.CONSTANT_STRING_TO_HEX: + return "CONSTANT_STRING_TO_HEX"; + case AccessOperationSelectorType.CONTRACT_REFERENCE: + return "CONTRACT_REFERENCE"; + case AccessOperationSelectorType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function resourceTypeFromJSON(object: any): ResourceType { + switch (object) { + case 0: + case "ANY": + return ResourceType.ANY; + case 1: + case "KV": + return ResourceType.KV; + case 2: + case "Mem": + return ResourceType.Mem; + case 4: + case "KV_BANK": + return ResourceType.KV_BANK; + case 5: + case "KV_STAKING": + return ResourceType.KV_STAKING; + case 6: + case "KV_WASM": + return ResourceType.KV_WASM; + case 7: + case "KV_ORACLE": + return ResourceType.KV_ORACLE; + case 9: + case "KV_EPOCH": + return ResourceType.KV_EPOCH; + case 10: + case "KV_TOKENFACTORY": + return ResourceType.KV_TOKENFACTORY; + case 11: + case "KV_ORACLE_VOTE_TARGETS": + return ResourceType.KV_ORACLE_VOTE_TARGETS; + case 12: + case "KV_ORACLE_AGGREGATE_VOTES": + return ResourceType.KV_ORACLE_AGGREGATE_VOTES; + case 13: + case "KV_ORACLE_FEEDERS": + return ResourceType.KV_ORACLE_FEEDERS; + case 14: + case "KV_STAKING_DELEGATION": + return ResourceType.KV_STAKING_DELEGATION; + case 15: + case "KV_STAKING_VALIDATOR": + return ResourceType.KV_STAKING_VALIDATOR; + case 16: + case "KV_AUTH": + return ResourceType.KV_AUTH; + case 17: + case "KV_AUTH_ADDRESS_STORE": + return ResourceType.KV_AUTH_ADDRESS_STORE; + case 18: + case "KV_BANK_SUPPLY": + return ResourceType.KV_BANK_SUPPLY; + case 19: + case "KV_BANK_DENOM": + return ResourceType.KV_BANK_DENOM; + case 20: + case "KV_BANK_BALANCES": + return ResourceType.KV_BANK_BALANCES; + case 21: + case "KV_TOKENFACTORY_DENOM": + return ResourceType.KV_TOKENFACTORY_DENOM; + case 22: + case "KV_TOKENFACTORY_METADATA": + return ResourceType.KV_TOKENFACTORY_METADATA; + case 23: + case "KV_TOKENFACTORY_ADMIN": + return ResourceType.KV_TOKENFACTORY_ADMIN; + case 24: + case "KV_TOKENFACTORY_CREATOR": + return ResourceType.KV_TOKENFACTORY_CREATOR; + case 25: + case "KV_ORACLE_EXCHANGE_RATE": + return ResourceType.KV_ORACLE_EXCHANGE_RATE; + case 26: + case "KV_ORACLE_VOTE_PENALTY_COUNTER": + return ResourceType.KV_ORACLE_VOTE_PENALTY_COUNTER; + case 27: + case "KV_ORACLE_PRICE_SNAPSHOT": + return ResourceType.KV_ORACLE_PRICE_SNAPSHOT; + case 28: + case "KV_STAKING_VALIDATION_POWER": + return ResourceType.KV_STAKING_VALIDATION_POWER; + case 29: + case "KV_STAKING_TOTAL_POWER": + return ResourceType.KV_STAKING_TOTAL_POWER; + case 30: + case "KV_STAKING_VALIDATORS_CON_ADDR": + return ResourceType.KV_STAKING_VALIDATORS_CON_ADDR; + case 31: + case "KV_STAKING_UNBONDING_DELEGATION": + return ResourceType.KV_STAKING_UNBONDING_DELEGATION; + case 32: + case "KV_STAKING_UNBONDING_DELEGATION_VAL": + return ResourceType.KV_STAKING_UNBONDING_DELEGATION_VAL; + case 33: + case "KV_STAKING_REDELEGATION": + return ResourceType.KV_STAKING_REDELEGATION; + case 34: + case "KV_STAKING_REDELEGATION_VAL_SRC": + return ResourceType.KV_STAKING_REDELEGATION_VAL_SRC; + case 35: + case "KV_STAKING_REDELEGATION_VAL_DST": + return ResourceType.KV_STAKING_REDELEGATION_VAL_DST; + case 36: + case "KV_STAKING_REDELEGATION_QUEUE": + return ResourceType.KV_STAKING_REDELEGATION_QUEUE; + case 37: + case "KV_STAKING_VALIDATOR_QUEUE": + return ResourceType.KV_STAKING_VALIDATOR_QUEUE; + case 38: + case "KV_STAKING_HISTORICAL_INFO": + return ResourceType.KV_STAKING_HISTORICAL_INFO; + case 39: + case "KV_STAKING_UNBONDING": + return ResourceType.KV_STAKING_UNBONDING; + case 41: + case "KV_STAKING_VALIDATORS_BY_POWER": + return ResourceType.KV_STAKING_VALIDATORS_BY_POWER; + case 40: + case "KV_DISTRIBUTION": + return ResourceType.KV_DISTRIBUTION; + case 42: + case "KV_DISTRIBUTION_FEE_POOL": + return ResourceType.KV_DISTRIBUTION_FEE_POOL; + case 43: + case "KV_DISTRIBUTION_PROPOSER_KEY": + return ResourceType.KV_DISTRIBUTION_PROPOSER_KEY; + case 44: + case "KV_DISTRIBUTION_OUTSTANDING_REWARDS": + return ResourceType.KV_DISTRIBUTION_OUTSTANDING_REWARDS; + case 45: + case "KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR": + return ResourceType.KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR; + case 46: + case "KV_DISTRIBUTION_DELEGATOR_STARTING_INFO": + return ResourceType.KV_DISTRIBUTION_DELEGATOR_STARTING_INFO; + case 47: + case "KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS": + return ResourceType.KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS; + case 48: + case "KV_DISTRIBUTION_VAL_CURRENT_REWARDS": + return ResourceType.KV_DISTRIBUTION_VAL_CURRENT_REWARDS; + case 49: + case "KV_DISTRIBUTION_VAL_ACCUM_COMMISSION": + return ResourceType.KV_DISTRIBUTION_VAL_ACCUM_COMMISSION; + case 50: + case "KV_DISTRIBUTION_SLASH_EVENT": + return ResourceType.KV_DISTRIBUTION_SLASH_EVENT; + case 71: + case "KV_ACCESSCONTROL": + return ResourceType.KV_ACCESSCONTROL; + case 72: + case "KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING": + return ResourceType.KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING; + case 73: + case "KV_WASM_CODE": + return ResourceType.KV_WASM_CODE; + case 74: + case "KV_WASM_CONTRACT_ADDRESS": + return ResourceType.KV_WASM_CONTRACT_ADDRESS; + case 75: + case "KV_WASM_CONTRACT_STORE": + return ResourceType.KV_WASM_CONTRACT_STORE; + case 76: + case "KV_WASM_SEQUENCE_KEY": + return ResourceType.KV_WASM_SEQUENCE_KEY; + case 77: + case "KV_WASM_CONTRACT_CODE_HISTORY": + return ResourceType.KV_WASM_CONTRACT_CODE_HISTORY; + case 78: + case "KV_WASM_CONTRACT_BY_CODE_ID": + return ResourceType.KV_WASM_CONTRACT_BY_CODE_ID; + case 79: + case "KV_WASM_PINNED_CODE_INDEX": + return ResourceType.KV_WASM_PINNED_CODE_INDEX; + case 80: + case "KV_AUTH_GLOBAL_ACCOUNT_NUMBER": + return ResourceType.KV_AUTH_GLOBAL_ACCOUNT_NUMBER; + case 81: + case "KV_AUTHZ": + return ResourceType.KV_AUTHZ; + case 82: + case "KV_FEEGRANT": + return ResourceType.KV_FEEGRANT; + case 83: + case "KV_FEEGRANT_ALLOWANCE": + return ResourceType.KV_FEEGRANT_ALLOWANCE; + case 84: + case "KV_SLASHING": + return ResourceType.KV_SLASHING; + case 85: + case "KV_SLASHING_VAL_SIGNING_INFO": + return ResourceType.KV_SLASHING_VAL_SIGNING_INFO; + case 86: + case "KV_SLASHING_ADDR_PUBKEY_RELATION_KEY": + return ResourceType.KV_SLASHING_ADDR_PUBKEY_RELATION_KEY; + case 93: + case "KV_BANK_DEFERRED": + return ResourceType.KV_BANK_DEFERRED; + case 95: + case "KV_BANK_DEFERRED_MODULE_TX_INDEX": + return ResourceType.KV_BANK_DEFERRED_MODULE_TX_INDEX; + case 96: + case "KV_EVM": + return ResourceType.KV_EVM; + case 97: + case "KV_EVM_BALANCE": + return ResourceType.KV_EVM_BALANCE; + case 98: + case "KV_EVM_TRANSIENT": + return ResourceType.KV_EVM_TRANSIENT; + case 99: + case "KV_EVM_ACCOUNT_TRANSIENT": + return ResourceType.KV_EVM_ACCOUNT_TRANSIENT; + case 100: + case "KV_EVM_MODULE_TRANSIENT": + return ResourceType.KV_EVM_MODULE_TRANSIENT; + case 101: + case "KV_EVM_NONCE": + return ResourceType.KV_EVM_NONCE; + case 102: + case "KV_EVM_RECEIPT": + return ResourceType.KV_EVM_RECEIPT; + case 103: + case "KV_EVM_S2E": + return ResourceType.KV_EVM_S2E; + case 104: + case "KV_EVM_E2S": + return ResourceType.KV_EVM_E2S; + case 105: + case "KV_EVM_CODE_HASH": + return ResourceType.KV_EVM_CODE_HASH; + case 106: + case "KV_EVM_CODE": + return ResourceType.KV_EVM_CODE; + case 107: + case "KV_EVM_CODE_SIZE": + return ResourceType.KV_EVM_CODE_SIZE; + case 108: + case "KV_BANK_WEI_BALANCE": + return ResourceType.KV_BANK_WEI_BALANCE; + case -1: + case "UNRECOGNIZED": + default: + return ResourceType.UNRECOGNIZED; + } +} + +export function resourceTypeToJSON(object: ResourceType): string { + switch (object) { + case ResourceType.ANY: + return "ANY"; + case ResourceType.KV: + return "KV"; + case ResourceType.Mem: + return "Mem"; + case ResourceType.KV_BANK: + return "KV_BANK"; + case ResourceType.KV_STAKING: + return "KV_STAKING"; + case ResourceType.KV_WASM: + return "KV_WASM"; + case ResourceType.KV_ORACLE: + return "KV_ORACLE"; + case ResourceType.KV_EPOCH: + return "KV_EPOCH"; + case ResourceType.KV_TOKENFACTORY: + return "KV_TOKENFACTORY"; + case ResourceType.KV_ORACLE_VOTE_TARGETS: + return "KV_ORACLE_VOTE_TARGETS"; + case ResourceType.KV_ORACLE_AGGREGATE_VOTES: + return "KV_ORACLE_AGGREGATE_VOTES"; + case ResourceType.KV_ORACLE_FEEDERS: + return "KV_ORACLE_FEEDERS"; + case ResourceType.KV_STAKING_DELEGATION: + return "KV_STAKING_DELEGATION"; + case ResourceType.KV_STAKING_VALIDATOR: + return "KV_STAKING_VALIDATOR"; + case ResourceType.KV_AUTH: + return "KV_AUTH"; + case ResourceType.KV_AUTH_ADDRESS_STORE: + return "KV_AUTH_ADDRESS_STORE"; + case ResourceType.KV_BANK_SUPPLY: + return "KV_BANK_SUPPLY"; + case ResourceType.KV_BANK_DENOM: + return "KV_BANK_DENOM"; + case ResourceType.KV_BANK_BALANCES: + return "KV_BANK_BALANCES"; + case ResourceType.KV_TOKENFACTORY_DENOM: + return "KV_TOKENFACTORY_DENOM"; + case ResourceType.KV_TOKENFACTORY_METADATA: + return "KV_TOKENFACTORY_METADATA"; + case ResourceType.KV_TOKENFACTORY_ADMIN: + return "KV_TOKENFACTORY_ADMIN"; + case ResourceType.KV_TOKENFACTORY_CREATOR: + return "KV_TOKENFACTORY_CREATOR"; + case ResourceType.KV_ORACLE_EXCHANGE_RATE: + return "KV_ORACLE_EXCHANGE_RATE"; + case ResourceType.KV_ORACLE_VOTE_PENALTY_COUNTER: + return "KV_ORACLE_VOTE_PENALTY_COUNTER"; + case ResourceType.KV_ORACLE_PRICE_SNAPSHOT: + return "KV_ORACLE_PRICE_SNAPSHOT"; + case ResourceType.KV_STAKING_VALIDATION_POWER: + return "KV_STAKING_VALIDATION_POWER"; + case ResourceType.KV_STAKING_TOTAL_POWER: + return "KV_STAKING_TOTAL_POWER"; + case ResourceType.KV_STAKING_VALIDATORS_CON_ADDR: + return "KV_STAKING_VALIDATORS_CON_ADDR"; + case ResourceType.KV_STAKING_UNBONDING_DELEGATION: + return "KV_STAKING_UNBONDING_DELEGATION"; + case ResourceType.KV_STAKING_UNBONDING_DELEGATION_VAL: + return "KV_STAKING_UNBONDING_DELEGATION_VAL"; + case ResourceType.KV_STAKING_REDELEGATION: + return "KV_STAKING_REDELEGATION"; + case ResourceType.KV_STAKING_REDELEGATION_VAL_SRC: + return "KV_STAKING_REDELEGATION_VAL_SRC"; + case ResourceType.KV_STAKING_REDELEGATION_VAL_DST: + return "KV_STAKING_REDELEGATION_VAL_DST"; + case ResourceType.KV_STAKING_REDELEGATION_QUEUE: + return "KV_STAKING_REDELEGATION_QUEUE"; + case ResourceType.KV_STAKING_VALIDATOR_QUEUE: + return "KV_STAKING_VALIDATOR_QUEUE"; + case ResourceType.KV_STAKING_HISTORICAL_INFO: + return "KV_STAKING_HISTORICAL_INFO"; + case ResourceType.KV_STAKING_UNBONDING: + return "KV_STAKING_UNBONDING"; + case ResourceType.KV_STAKING_VALIDATORS_BY_POWER: + return "KV_STAKING_VALIDATORS_BY_POWER"; + case ResourceType.KV_DISTRIBUTION: + return "KV_DISTRIBUTION"; + case ResourceType.KV_DISTRIBUTION_FEE_POOL: + return "KV_DISTRIBUTION_FEE_POOL"; + case ResourceType.KV_DISTRIBUTION_PROPOSER_KEY: + return "KV_DISTRIBUTION_PROPOSER_KEY"; + case ResourceType.KV_DISTRIBUTION_OUTSTANDING_REWARDS: + return "KV_DISTRIBUTION_OUTSTANDING_REWARDS"; + case ResourceType.KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR: + return "KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR"; + case ResourceType.KV_DISTRIBUTION_DELEGATOR_STARTING_INFO: + return "KV_DISTRIBUTION_DELEGATOR_STARTING_INFO"; + case ResourceType.KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS: + return "KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS"; + case ResourceType.KV_DISTRIBUTION_VAL_CURRENT_REWARDS: + return "KV_DISTRIBUTION_VAL_CURRENT_REWARDS"; + case ResourceType.KV_DISTRIBUTION_VAL_ACCUM_COMMISSION: + return "KV_DISTRIBUTION_VAL_ACCUM_COMMISSION"; + case ResourceType.KV_DISTRIBUTION_SLASH_EVENT: + return "KV_DISTRIBUTION_SLASH_EVENT"; + case ResourceType.KV_ACCESSCONTROL: + return "KV_ACCESSCONTROL"; + case ResourceType.KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING: + return "KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING"; + case ResourceType.KV_WASM_CODE: + return "KV_WASM_CODE"; + case ResourceType.KV_WASM_CONTRACT_ADDRESS: + return "KV_WASM_CONTRACT_ADDRESS"; + case ResourceType.KV_WASM_CONTRACT_STORE: + return "KV_WASM_CONTRACT_STORE"; + case ResourceType.KV_WASM_SEQUENCE_KEY: + return "KV_WASM_SEQUENCE_KEY"; + case ResourceType.KV_WASM_CONTRACT_CODE_HISTORY: + return "KV_WASM_CONTRACT_CODE_HISTORY"; + case ResourceType.KV_WASM_CONTRACT_BY_CODE_ID: + return "KV_WASM_CONTRACT_BY_CODE_ID"; + case ResourceType.KV_WASM_PINNED_CODE_INDEX: + return "KV_WASM_PINNED_CODE_INDEX"; + case ResourceType.KV_AUTH_GLOBAL_ACCOUNT_NUMBER: + return "KV_AUTH_GLOBAL_ACCOUNT_NUMBER"; + case ResourceType.KV_AUTHZ: + return "KV_AUTHZ"; + case ResourceType.KV_FEEGRANT: + return "KV_FEEGRANT"; + case ResourceType.KV_FEEGRANT_ALLOWANCE: + return "KV_FEEGRANT_ALLOWANCE"; + case ResourceType.KV_SLASHING: + return "KV_SLASHING"; + case ResourceType.KV_SLASHING_VAL_SIGNING_INFO: + return "KV_SLASHING_VAL_SIGNING_INFO"; + case ResourceType.KV_SLASHING_ADDR_PUBKEY_RELATION_KEY: + return "KV_SLASHING_ADDR_PUBKEY_RELATION_KEY"; + case ResourceType.KV_BANK_DEFERRED: + return "KV_BANK_DEFERRED"; + case ResourceType.KV_BANK_DEFERRED_MODULE_TX_INDEX: + return "KV_BANK_DEFERRED_MODULE_TX_INDEX"; + case ResourceType.KV_EVM: + return "KV_EVM"; + case ResourceType.KV_EVM_BALANCE: + return "KV_EVM_BALANCE"; + case ResourceType.KV_EVM_TRANSIENT: + return "KV_EVM_TRANSIENT"; + case ResourceType.KV_EVM_ACCOUNT_TRANSIENT: + return "KV_EVM_ACCOUNT_TRANSIENT"; + case ResourceType.KV_EVM_MODULE_TRANSIENT: + return "KV_EVM_MODULE_TRANSIENT"; + case ResourceType.KV_EVM_NONCE: + return "KV_EVM_NONCE"; + case ResourceType.KV_EVM_RECEIPT: + return "KV_EVM_RECEIPT"; + case ResourceType.KV_EVM_S2E: + return "KV_EVM_S2E"; + case ResourceType.KV_EVM_E2S: + return "KV_EVM_E2S"; + case ResourceType.KV_EVM_CODE_HASH: + return "KV_EVM_CODE_HASH"; + case ResourceType.KV_EVM_CODE: + return "KV_EVM_CODE"; + case ResourceType.KV_EVM_CODE_SIZE: + return "KV_EVM_CODE_SIZE"; + case ResourceType.KV_BANK_WEI_BALANCE: + return "KV_BANK_WEI_BALANCE"; + case ResourceType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function wasmMessageSubtypeFromJSON(object: any): WasmMessageSubtype { + switch (object) { + case 0: + case "QUERY": + return WasmMessageSubtype.QUERY; + case 1: + case "EXECUTE": + return WasmMessageSubtype.EXECUTE; + case -1: + case "UNRECOGNIZED": + default: + return WasmMessageSubtype.UNRECOGNIZED; + } +} + +export function wasmMessageSubtypeToJSON(object: WasmMessageSubtype): string { + switch (object) { + case WasmMessageSubtype.QUERY: + return "QUERY"; + case WasmMessageSubtype.EXECUTE: + return "EXECUTE"; + case WasmMessageSubtype.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/index.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/index.ts new file mode 100644 index 000000000..640c59a25 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/index.ts @@ -0,0 +1,3 @@ +export * from './accesscontrol'; +export * from './constants'; +export * from './legacy'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts new file mode 100644 index 000000000..7958cf68c --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts @@ -0,0 +1,219 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { AccessOperation } from "./accesscontrol"; + +import { accessOperationSelectorTypeFromJSON, accessOperationSelectorTypeToJSON } from "./constants"; + +import type { + LegacyAccessOperationWithSelector as LegacyAccessOperationWithSelectorType, + LegacyWasmDependencyMapping as LegacyWasmDependencyMappingType, +} from "../../../types/cosmos/accesscontrol"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface LegacyAccessOperationWithSelector extends LegacyAccessOperationWithSelectorType {} +interface LegacyWasmDependencyMapping extends LegacyWasmDependencyMappingType {} + +export const LegacyAccessOperationWithSelector: MessageFns< + LegacyAccessOperationWithSelector, + "cosmos.accesscontrol.v1beta1.LegacyAccessOperationWithSelector" +> = { + $type: "cosmos.accesscontrol.v1beta1.LegacyAccessOperationWithSelector" as const, + + encode(message: LegacyAccessOperationWithSelector, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.operation !== undefined) { + AccessOperation.encode(message.operation, writer.uint32(10).fork()).join(); + } + if (message.selector_type !== 0) { + writer.uint32(16).int32(message.selector_type); + } + if (message.selector !== "") { + writer.uint32(26).string(message.selector); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LegacyAccessOperationWithSelector { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyAccessOperationWithSelector(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.operation = AccessOperation.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.selector_type = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.selector = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LegacyAccessOperationWithSelector { + return { + operation: isSet(object.operation) ? AccessOperation.fromJSON(object.operation) : undefined, + selector_type: isSet(object.selector_type) ? accessOperationSelectorTypeFromJSON(object.selector_type) : 0, + selector: isSet(object.selector) ? globalThis.String(object.selector) : "", + }; + }, + + toJSON(message: LegacyAccessOperationWithSelector): unknown { + const obj: any = {}; + if (message.operation !== undefined) { + obj.operation = AccessOperation.toJSON(message.operation); + } + if (message.selector_type !== 0) { + obj.selector_type = accessOperationSelectorTypeToJSON(message.selector_type); + } + if (message.selector !== "") { + obj.selector = message.selector; + } + return obj; + }, + + create, I>>(base?: I): LegacyAccessOperationWithSelector { + return LegacyAccessOperationWithSelector.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LegacyAccessOperationWithSelector { + const message = createBaseLegacyAccessOperationWithSelector(); + message.operation = object.operation !== undefined && object.operation !== null ? AccessOperation.fromPartial(object.operation) : undefined; + message.selector_type = object.selector_type ?? 0; + message.selector = object.selector ?? ""; + return message; + }, +}; + +export const LegacyWasmDependencyMapping: MessageFns = { + $type: "cosmos.accesscontrol.v1beta1.LegacyWasmDependencyMapping" as const, + + encode(message: LegacyWasmDependencyMapping, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.enabled !== false) { + writer.uint32(8).bool(message.enabled); + } + for (const v of message.access_ops) { + LegacyAccessOperationWithSelector.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.reset_reason !== "") { + writer.uint32(26).string(message.reset_reason); + } + if (message.contract_address !== "") { + writer.uint32(34).string(message.contract_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LegacyWasmDependencyMapping { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyWasmDependencyMapping(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.enabled = reader.bool(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.access_ops.push(LegacyAccessOperationWithSelector.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.reset_reason = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.contract_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LegacyWasmDependencyMapping { + return { + enabled: isSet(object.enabled) ? globalThis.Boolean(object.enabled) : false, + access_ops: globalThis.Array.isArray(object?.access_ops) ? object.access_ops.map((e: any) => LegacyAccessOperationWithSelector.fromJSON(e)) : [], + reset_reason: isSet(object.reset_reason) ? globalThis.String(object.reset_reason) : "", + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + }; + }, + + toJSON(message: LegacyWasmDependencyMapping): unknown { + const obj: any = {}; + if (message.enabled !== false) { + obj.enabled = message.enabled; + } + if (message.access_ops?.length) { + obj.access_ops = message.access_ops.map((e) => LegacyAccessOperationWithSelector.toJSON(e)); + } + if (message.reset_reason !== "") { + obj.reset_reason = message.reset_reason; + } + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + return obj; + }, + + create, I>>(base?: I): LegacyWasmDependencyMapping { + return LegacyWasmDependencyMapping.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LegacyWasmDependencyMapping { + const message = createBaseLegacyWasmDependencyMapping(); + message.enabled = object.enabled ?? false; + message.access_ops = object.access_ops?.map((e) => LegacyAccessOperationWithSelector.fromPartial(e)) || []; + message.reset_reason = object.reset_reason ?? ""; + message.contract_address = object.contract_address ?? ""; + return message; + }, +}; + +function createBaseLegacyAccessOperationWithSelector(): LegacyAccessOperationWithSelector { + return { operation: undefined, selector_type: 0, selector: "" }; +} + +function createBaseLegacyWasmDependencyMapping(): LegacyWasmDependencyMapping { + return { enabled: false, access_ops: [], reset_reason: "", contract_address: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts new file mode 100644 index 000000000..af149c7ac --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts @@ -0,0 +1,173 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +import type { GenesisState as GenesisStateType, Params as ParamsType } from "../../../types/cosmos/accesscontrol_x"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface Params extends ParamsType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.message_dependency_mapping) { + MessageDependencyMapping.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.wasm_dependency_mappings) { + WasmDependencyMapping.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.message_dependency_mapping.push(MessageDependencyMapping.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.wasm_dependency_mappings.push(WasmDependencyMapping.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + message_dependency_mapping: globalThis.Array.isArray(object?.message_dependency_mapping) + ? object.message_dependency_mapping.map((e: any) => MessageDependencyMapping.fromJSON(e)) + : [], + wasm_dependency_mappings: globalThis.Array.isArray(object?.wasm_dependency_mappings) + ? object.wasm_dependency_mappings.map((e: any) => WasmDependencyMapping.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.message_dependency_mapping?.length) { + obj.message_dependency_mapping = message.message_dependency_mapping.map((e) => MessageDependencyMapping.toJSON(e)); + } + if (message.wasm_dependency_mappings?.length) { + obj.wasm_dependency_mappings = message.wasm_dependency_mappings.map((e) => WasmDependencyMapping.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.message_dependency_mapping = object.message_dependency_mapping?.map((e) => MessageDependencyMapping.fromPartial(e)) || []; + message.wasm_dependency_mappings = object.wasm_dependency_mappings?.map((e) => WasmDependencyMapping.fromPartial(e)) || []; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.Params" as const, + + encode(_: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): Params { + return {}; + }, + + toJSON(_: Params): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): Params { + const message = createBaseParams(); + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, message_dependency_mapping: [], wasm_dependency_mappings: [] }; +} + +function createBaseParams(): Params { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.accesscontrol_x.v1beta1.GenesisState", GenesisState as never], + ["/cosmos.accesscontrol_x.v1beta1.Params", Params as never], +]; +export const aminoConverters = { + "/cosmos.accesscontrol_x.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/cosmos.accesscontrol_x.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts new file mode 100644 index 000000000..e15cb65a2 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts @@ -0,0 +1,519 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +import type { + MsgUpdateResourceDependencyMappingProposalJsonFile as MsgUpdateResourceDependencyMappingProposalJsonFileType, + MsgUpdateResourceDependencyMappingProposalResponse as MsgUpdateResourceDependencyMappingProposalResponseType, + MsgUpdateResourceDependencyMappingProposal as MsgUpdateResourceDependencyMappingProposalType, + MsgUpdateWasmDependencyMappingProposalJsonFile as MsgUpdateWasmDependencyMappingProposalJsonFileType, + MsgUpdateWasmDependencyMappingProposal as MsgUpdateWasmDependencyMappingProposalType, +} from "../../../types/cosmos/accesscontrol_x"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface MsgUpdateResourceDependencyMappingProposal extends MsgUpdateResourceDependencyMappingProposalType {} +interface MsgUpdateResourceDependencyMappingProposalJsonFile extends MsgUpdateResourceDependencyMappingProposalJsonFileType {} +interface MsgUpdateResourceDependencyMappingProposalResponse extends MsgUpdateResourceDependencyMappingProposalResponseType {} +interface MsgUpdateWasmDependencyMappingProposal extends MsgUpdateWasmDependencyMappingProposalType {} +interface MsgUpdateWasmDependencyMappingProposalJsonFile extends MsgUpdateWasmDependencyMappingProposalJsonFileType {} + +export const MsgUpdateResourceDependencyMappingProposal: MessageFns< + MsgUpdateResourceDependencyMappingProposal, + "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposal" +> = { + $type: "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposal" as const, + + encode(message: MsgUpdateResourceDependencyMappingProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + for (const v of message.message_dependency_mapping) { + MessageDependencyMapping.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateResourceDependencyMappingProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateResourceDependencyMappingProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.message_dependency_mapping.push(MessageDependencyMapping.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateResourceDependencyMappingProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + message_dependency_mapping: globalThis.Array.isArray(object?.message_dependency_mapping) + ? object.message_dependency_mapping.map((e: any) => MessageDependencyMapping.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MsgUpdateResourceDependencyMappingProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.message_dependency_mapping?.length) { + obj.message_dependency_mapping = message.message_dependency_mapping.map((e) => MessageDependencyMapping.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgUpdateResourceDependencyMappingProposal { + return MsgUpdateResourceDependencyMappingProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUpdateResourceDependencyMappingProposal { + const message = createBaseMsgUpdateResourceDependencyMappingProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.message_dependency_mapping = object.message_dependency_mapping?.map((e) => MessageDependencyMapping.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgUpdateResourceDependencyMappingProposalJsonFile: MessageFns< + MsgUpdateResourceDependencyMappingProposalJsonFile, + "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposalJsonFile" +> = { + $type: "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposalJsonFile" as const, + + encode(message: MsgUpdateResourceDependencyMappingProposalJsonFile, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.deposit !== "") { + writer.uint32(26).string(message.deposit); + } + for (const v of message.message_dependency_mapping) { + MessageDependencyMapping.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateResourceDependencyMappingProposalJsonFile { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateResourceDependencyMappingProposalJsonFile(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.deposit = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.message_dependency_mapping.push(MessageDependencyMapping.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateResourceDependencyMappingProposalJsonFile { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + deposit: isSet(object.deposit) ? globalThis.String(object.deposit) : "", + message_dependency_mapping: globalThis.Array.isArray(object?.message_dependency_mapping) + ? object.message_dependency_mapping.map((e: any) => MessageDependencyMapping.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MsgUpdateResourceDependencyMappingProposalJsonFile): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.deposit !== "") { + obj.deposit = message.deposit; + } + if (message.message_dependency_mapping?.length) { + obj.message_dependency_mapping = message.message_dependency_mapping.map((e) => MessageDependencyMapping.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgUpdateResourceDependencyMappingProposalJsonFile { + return MsgUpdateResourceDependencyMappingProposalJsonFile.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): MsgUpdateResourceDependencyMappingProposalJsonFile { + const message = createBaseMsgUpdateResourceDependencyMappingProposalJsonFile(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.deposit = object.deposit ?? ""; + message.message_dependency_mapping = object.message_dependency_mapping?.map((e) => MessageDependencyMapping.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgUpdateResourceDependencyMappingProposalResponse: MessageFns< + MsgUpdateResourceDependencyMappingProposalResponse, + "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposalResponse" +> = { + $type: "cosmos.accesscontrol.v1beta1.MsgUpdateResourceDependencyMappingProposalResponse" as const, + + encode(_: MsgUpdateResourceDependencyMappingProposalResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateResourceDependencyMappingProposalResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateResourceDependencyMappingProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateResourceDependencyMappingProposalResponse { + return {}; + }, + + toJSON(_: MsgUpdateResourceDependencyMappingProposalResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUpdateResourceDependencyMappingProposalResponse { + return MsgUpdateResourceDependencyMappingProposalResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgUpdateResourceDependencyMappingProposalResponse { + const message = createBaseMsgUpdateResourceDependencyMappingProposalResponse(); + return message; + }, +}; + +export const MsgUpdateWasmDependencyMappingProposal: MessageFns< + MsgUpdateWasmDependencyMappingProposal, + "cosmos.accesscontrol.v1beta1.MsgUpdateWasmDependencyMappingProposal" +> = { + $type: "cosmos.accesscontrol.v1beta1.MsgUpdateWasmDependencyMappingProposal" as const, + + encode(message: MsgUpdateWasmDependencyMappingProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.contract_address !== "") { + writer.uint32(26).string(message.contract_address); + } + if (message.wasm_dependency_mapping !== undefined) { + WasmDependencyMapping.encode(message.wasm_dependency_mapping, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateWasmDependencyMappingProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateWasmDependencyMappingProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contract_address = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.wasm_dependency_mapping = WasmDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateWasmDependencyMappingProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + wasm_dependency_mapping: isSet(object.wasm_dependency_mapping) ? WasmDependencyMapping.fromJSON(object.wasm_dependency_mapping) : undefined, + }; + }, + + toJSON(message: MsgUpdateWasmDependencyMappingProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + if (message.wasm_dependency_mapping !== undefined) { + obj.wasm_dependency_mapping = WasmDependencyMapping.toJSON(message.wasm_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): MsgUpdateWasmDependencyMappingProposal { + return MsgUpdateWasmDependencyMappingProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUpdateWasmDependencyMappingProposal { + const message = createBaseMsgUpdateWasmDependencyMappingProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.contract_address = object.contract_address ?? ""; + message.wasm_dependency_mapping = + object.wasm_dependency_mapping !== undefined && object.wasm_dependency_mapping !== null + ? WasmDependencyMapping.fromPartial(object.wasm_dependency_mapping) + : undefined; + return message; + }, +}; + +export const MsgUpdateWasmDependencyMappingProposalJsonFile: MessageFns< + MsgUpdateWasmDependencyMappingProposalJsonFile, + "cosmos.accesscontrol.v1beta1.MsgUpdateWasmDependencyMappingProposalJsonFile" +> = { + $type: "cosmos.accesscontrol.v1beta1.MsgUpdateWasmDependencyMappingProposalJsonFile" as const, + + encode(message: MsgUpdateWasmDependencyMappingProposalJsonFile, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.deposit !== "") { + writer.uint32(26).string(message.deposit); + } + if (message.contract_address !== "") { + writer.uint32(34).string(message.contract_address); + } + if (message.wasm_dependency_mapping !== undefined) { + WasmDependencyMapping.encode(message.wasm_dependency_mapping, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateWasmDependencyMappingProposalJsonFile { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateWasmDependencyMappingProposalJsonFile(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.deposit = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.contract_address = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.wasm_dependency_mapping = WasmDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateWasmDependencyMappingProposalJsonFile { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + deposit: isSet(object.deposit) ? globalThis.String(object.deposit) : "", + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + wasm_dependency_mapping: isSet(object.wasm_dependency_mapping) ? WasmDependencyMapping.fromJSON(object.wasm_dependency_mapping) : undefined, + }; + }, + + toJSON(message: MsgUpdateWasmDependencyMappingProposalJsonFile): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.deposit !== "") { + obj.deposit = message.deposit; + } + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + if (message.wasm_dependency_mapping !== undefined) { + obj.wasm_dependency_mapping = WasmDependencyMapping.toJSON(message.wasm_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): MsgUpdateWasmDependencyMappingProposalJsonFile { + return MsgUpdateWasmDependencyMappingProposalJsonFile.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUpdateWasmDependencyMappingProposalJsonFile { + const message = createBaseMsgUpdateWasmDependencyMappingProposalJsonFile(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.deposit = object.deposit ?? ""; + message.contract_address = object.contract_address ?? ""; + message.wasm_dependency_mapping = + object.wasm_dependency_mapping !== undefined && object.wasm_dependency_mapping !== null + ? WasmDependencyMapping.fromPartial(object.wasm_dependency_mapping) + : undefined; + return message; + }, +}; + +function createBaseMsgUpdateResourceDependencyMappingProposal(): MsgUpdateResourceDependencyMappingProposal { + return { title: "", description: "", message_dependency_mapping: [] }; +} + +function createBaseMsgUpdateResourceDependencyMappingProposalJsonFile(): MsgUpdateResourceDependencyMappingProposalJsonFile { + return { title: "", description: "", deposit: "", message_dependency_mapping: [] }; +} + +function createBaseMsgUpdateResourceDependencyMappingProposalResponse(): MsgUpdateResourceDependencyMappingProposalResponse { + return {}; +} + +function createBaseMsgUpdateWasmDependencyMappingProposal(): MsgUpdateWasmDependencyMappingProposal { + return { title: "", description: "", contract_address: "", wasm_dependency_mapping: undefined }; +} + +function createBaseMsgUpdateWasmDependencyMappingProposalJsonFile(): MsgUpdateWasmDependencyMappingProposalJsonFile { + return { title: "", description: "", deposit: "", contract_address: "", wasm_dependency_mapping: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/index.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/index.ts new file mode 100644 index 000000000..00479ae19 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts new file mode 100644 index 000000000..8eaa9a2d7 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts @@ -0,0 +1,627 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +import { Params } from "./genesis"; + +import type { + ListResourceDependencyMappingRequest as ListResourceDependencyMappingRequestType, + ListResourceDependencyMappingResponse as ListResourceDependencyMappingResponseType, + ListWasmDependencyMappingRequest as ListWasmDependencyMappingRequestType, + ListWasmDependencyMappingResponse as ListWasmDependencyMappingResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + ResourceDependencyMappingFromMessageKeyRequest as ResourceDependencyMappingFromMessageKeyRequestType, + ResourceDependencyMappingFromMessageKeyResponse as ResourceDependencyMappingFromMessageKeyResponseType, + WasmDependencyMappingRequest as WasmDependencyMappingRequestType, + WasmDependencyMappingResponse as WasmDependencyMappingResponseType, +} from "../../../types/cosmos/accesscontrol_x"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface ResourceDependencyMappingFromMessageKeyRequest extends ResourceDependencyMappingFromMessageKeyRequestType {} +interface ResourceDependencyMappingFromMessageKeyResponse extends ResourceDependencyMappingFromMessageKeyResponseType {} +interface WasmDependencyMappingRequest extends WasmDependencyMappingRequestType {} +interface WasmDependencyMappingResponse extends WasmDependencyMappingResponseType {} +interface ListResourceDependencyMappingRequest extends ListResourceDependencyMappingRequestType {} +interface ListResourceDependencyMappingResponse extends ListResourceDependencyMappingResponseType {} +interface ListWasmDependencyMappingRequest extends ListWasmDependencyMappingRequestType {} +interface ListWasmDependencyMappingResponse extends ListWasmDependencyMappingResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const ResourceDependencyMappingFromMessageKeyRequest: MessageFns< + ResourceDependencyMappingFromMessageKeyRequest, + "cosmos.accesscontrol_x.v1beta1.ResourceDependencyMappingFromMessageKeyRequest" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.ResourceDependencyMappingFromMessageKeyRequest" as const, + + encode(message: ResourceDependencyMappingFromMessageKeyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_key !== "") { + writer.uint32(10).string(message.message_key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResourceDependencyMappingFromMessageKeyRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceDependencyMappingFromMessageKeyRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_key = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResourceDependencyMappingFromMessageKeyRequest { + return { message_key: isSet(object.message_key) ? globalThis.String(object.message_key) : "" }; + }, + + toJSON(message: ResourceDependencyMappingFromMessageKeyRequest): unknown { + const obj: any = {}; + if (message.message_key !== "") { + obj.message_key = message.message_key; + } + return obj; + }, + + create, I>>(base?: I): ResourceDependencyMappingFromMessageKeyRequest { + return ResourceDependencyMappingFromMessageKeyRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResourceDependencyMappingFromMessageKeyRequest { + const message = createBaseResourceDependencyMappingFromMessageKeyRequest(); + message.message_key = object.message_key ?? ""; + return message; + }, +}; + +export const ResourceDependencyMappingFromMessageKeyResponse: MessageFns< + ResourceDependencyMappingFromMessageKeyResponse, + "cosmos.accesscontrol_x.v1beta1.ResourceDependencyMappingFromMessageKeyResponse" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.ResourceDependencyMappingFromMessageKeyResponse" as const, + + encode(message: ResourceDependencyMappingFromMessageKeyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_dependency_mapping !== undefined) { + MessageDependencyMapping.encode(message.message_dependency_mapping, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResourceDependencyMappingFromMessageKeyResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceDependencyMappingFromMessageKeyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_dependency_mapping = MessageDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResourceDependencyMappingFromMessageKeyResponse { + return { + message_dependency_mapping: isSet(object.message_dependency_mapping) ? MessageDependencyMapping.fromJSON(object.message_dependency_mapping) : undefined, + }; + }, + + toJSON(message: ResourceDependencyMappingFromMessageKeyResponse): unknown { + const obj: any = {}; + if (message.message_dependency_mapping !== undefined) { + obj.message_dependency_mapping = MessageDependencyMapping.toJSON(message.message_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): ResourceDependencyMappingFromMessageKeyResponse { + return ResourceDependencyMappingFromMessageKeyResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResourceDependencyMappingFromMessageKeyResponse { + const message = createBaseResourceDependencyMappingFromMessageKeyResponse(); + message.message_dependency_mapping = + object.message_dependency_mapping !== undefined && object.message_dependency_mapping !== null + ? MessageDependencyMapping.fromPartial(object.message_dependency_mapping) + : undefined; + return message; + }, +}; + +export const WasmDependencyMappingRequest: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.WasmDependencyMappingRequest" as const, + + encode(message: WasmDependencyMappingRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.contract_address !== "") { + writer.uint32(10).string(message.contract_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmDependencyMappingRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmDependencyMappingRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contract_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmDependencyMappingRequest { + return { contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "" }; + }, + + toJSON(message: WasmDependencyMappingRequest): unknown { + const obj: any = {}; + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + return obj; + }, + + create, I>>(base?: I): WasmDependencyMappingRequest { + return WasmDependencyMappingRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmDependencyMappingRequest { + const message = createBaseWasmDependencyMappingRequest(); + message.contract_address = object.contract_address ?? ""; + return message; + }, +}; + +export const WasmDependencyMappingResponse: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.WasmDependencyMappingResponse" as const, + + encode(message: WasmDependencyMappingResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.wasm_dependency_mapping !== undefined) { + WasmDependencyMapping.encode(message.wasm_dependency_mapping, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WasmDependencyMappingResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmDependencyMappingResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.wasm_dependency_mapping = WasmDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmDependencyMappingResponse { + return { + wasm_dependency_mapping: isSet(object.wasm_dependency_mapping) ? WasmDependencyMapping.fromJSON(object.wasm_dependency_mapping) : undefined, + }; + }, + + toJSON(message: WasmDependencyMappingResponse): unknown { + const obj: any = {}; + if (message.wasm_dependency_mapping !== undefined) { + obj.wasm_dependency_mapping = WasmDependencyMapping.toJSON(message.wasm_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): WasmDependencyMappingResponse { + return WasmDependencyMappingResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WasmDependencyMappingResponse { + const message = createBaseWasmDependencyMappingResponse(); + message.wasm_dependency_mapping = + object.wasm_dependency_mapping !== undefined && object.wasm_dependency_mapping !== null + ? WasmDependencyMapping.fromPartial(object.wasm_dependency_mapping) + : undefined; + return message; + }, +}; + +export const ListResourceDependencyMappingRequest: MessageFns< + ListResourceDependencyMappingRequest, + "cosmos.accesscontrol_x.v1beta1.ListResourceDependencyMappingRequest" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.ListResourceDependencyMappingRequest" as const, + + encode(_: ListResourceDependencyMappingRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListResourceDependencyMappingRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListResourceDependencyMappingRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): ListResourceDependencyMappingRequest { + return {}; + }, + + toJSON(_: ListResourceDependencyMappingRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ListResourceDependencyMappingRequest { + return ListResourceDependencyMappingRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ListResourceDependencyMappingRequest { + const message = createBaseListResourceDependencyMappingRequest(); + return message; + }, +}; + +export const ListResourceDependencyMappingResponse: MessageFns< + ListResourceDependencyMappingResponse, + "cosmos.accesscontrol_x.v1beta1.ListResourceDependencyMappingResponse" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.ListResourceDependencyMappingResponse" as const, + + encode(message: ListResourceDependencyMappingResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.message_dependency_mapping_list) { + MessageDependencyMapping.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListResourceDependencyMappingResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListResourceDependencyMappingResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_dependency_mapping_list.push(MessageDependencyMapping.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ListResourceDependencyMappingResponse { + return { + message_dependency_mapping_list: globalThis.Array.isArray(object?.message_dependency_mapping_list) + ? object.message_dependency_mapping_list.map((e: any) => MessageDependencyMapping.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ListResourceDependencyMappingResponse): unknown { + const obj: any = {}; + if (message.message_dependency_mapping_list?.length) { + obj.message_dependency_mapping_list = message.message_dependency_mapping_list.map((e) => MessageDependencyMapping.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ListResourceDependencyMappingResponse { + return ListResourceDependencyMappingResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ListResourceDependencyMappingResponse { + const message = createBaseListResourceDependencyMappingResponse(); + message.message_dependency_mapping_list = object.message_dependency_mapping_list?.map((e) => MessageDependencyMapping.fromPartial(e)) || []; + return message; + }, +}; + +export const ListWasmDependencyMappingRequest: MessageFns = + { + $type: "cosmos.accesscontrol_x.v1beta1.ListWasmDependencyMappingRequest" as const, + + encode(_: ListWasmDependencyMappingRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListWasmDependencyMappingRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListWasmDependencyMappingRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): ListWasmDependencyMappingRequest { + return {}; + }, + + toJSON(_: ListWasmDependencyMappingRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ListWasmDependencyMappingRequest { + return ListWasmDependencyMappingRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ListWasmDependencyMappingRequest { + const message = createBaseListWasmDependencyMappingRequest(); + return message; + }, + }; + +export const ListWasmDependencyMappingResponse: MessageFns< + ListWasmDependencyMappingResponse, + "cosmos.accesscontrol_x.v1beta1.ListWasmDependencyMappingResponse" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.ListWasmDependencyMappingResponse" as const, + + encode(message: ListWasmDependencyMappingResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.wasm_dependency_mapping_list) { + WasmDependencyMapping.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListWasmDependencyMappingResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListWasmDependencyMappingResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.wasm_dependency_mapping_list.push(WasmDependencyMapping.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ListWasmDependencyMappingResponse { + return { + wasm_dependency_mapping_list: globalThis.Array.isArray(object?.wasm_dependency_mapping_list) + ? object.wasm_dependency_mapping_list.map((e: any) => WasmDependencyMapping.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ListWasmDependencyMappingResponse): unknown { + const obj: any = {}; + if (message.wasm_dependency_mapping_list?.length) { + obj.wasm_dependency_mapping_list = message.wasm_dependency_mapping_list.map((e) => WasmDependencyMapping.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ListWasmDependencyMappingResponse { + return ListWasmDependencyMappingResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ListWasmDependencyMappingResponse { + const message = createBaseListWasmDependencyMappingResponse(); + message.wasm_dependency_mapping_list = object.wasm_dependency_mapping_list?.map((e) => WasmDependencyMapping.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseResourceDependencyMappingFromMessageKeyRequest(): ResourceDependencyMappingFromMessageKeyRequest { + return { message_key: "" }; +} + +function createBaseResourceDependencyMappingFromMessageKeyResponse(): ResourceDependencyMappingFromMessageKeyResponse { + return { message_dependency_mapping: undefined }; +} + +function createBaseWasmDependencyMappingRequest(): WasmDependencyMappingRequest { + return { contract_address: "" }; +} + +function createBaseWasmDependencyMappingResponse(): WasmDependencyMappingResponse { + return { wasm_dependency_mapping: undefined }; +} + +function createBaseListResourceDependencyMappingRequest(): ListResourceDependencyMappingRequest { + return {}; +} + +function createBaseListResourceDependencyMappingResponse(): ListResourceDependencyMappingResponse { + return { message_dependency_mapping_list: [] }; +} + +function createBaseListWasmDependencyMappingRequest(): ListWasmDependencyMappingRequest { + return {}; +} + +function createBaseListWasmDependencyMappingResponse(): ListWasmDependencyMappingResponse { + return { wasm_dependency_mapping_list: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.accesscontrol_x.v1beta1.QueryParamsRequest", QueryParamsRequest as never]]; +export const aminoConverters = { + "/cosmos.accesscontrol_x.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts new file mode 100644 index 000000000..26dc1821b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts @@ -0,0 +1,210 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +import type { + MsgRegisterWasmDependencyResponse as MsgRegisterWasmDependencyResponseType, + MsgRegisterWasmDependency as MsgRegisterWasmDependencyType, + RegisterWasmDependencyJSONFile as RegisterWasmDependencyJSONFileType, +} from "../../../types/cosmos/accesscontrol_x"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface RegisterWasmDependencyJSONFile extends RegisterWasmDependencyJSONFileType {} +interface MsgRegisterWasmDependency extends MsgRegisterWasmDependencyType {} +interface MsgRegisterWasmDependencyResponse extends MsgRegisterWasmDependencyResponseType {} + +export const RegisterWasmDependencyJSONFile: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.RegisterWasmDependencyJSONFile" as const, + + encode(message: RegisterWasmDependencyJSONFile, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.wasm_dependency_mapping !== undefined) { + WasmDependencyMapping.encode(message.wasm_dependency_mapping, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegisterWasmDependencyJSONFile { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisterWasmDependencyJSONFile(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.wasm_dependency_mapping = WasmDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegisterWasmDependencyJSONFile { + return { + wasm_dependency_mapping: isSet(object.wasm_dependency_mapping) ? WasmDependencyMapping.fromJSON(object.wasm_dependency_mapping) : undefined, + }; + }, + + toJSON(message: RegisterWasmDependencyJSONFile): unknown { + const obj: any = {}; + if (message.wasm_dependency_mapping !== undefined) { + obj.wasm_dependency_mapping = WasmDependencyMapping.toJSON(message.wasm_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): RegisterWasmDependencyJSONFile { + return RegisterWasmDependencyJSONFile.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RegisterWasmDependencyJSONFile { + const message = createBaseRegisterWasmDependencyJSONFile(); + message.wasm_dependency_mapping = + object.wasm_dependency_mapping !== undefined && object.wasm_dependency_mapping !== null + ? WasmDependencyMapping.fromPartial(object.wasm_dependency_mapping) + : undefined; + return message; + }, +}; + +export const MsgRegisterWasmDependency: MessageFns = { + $type: "cosmos.accesscontrol_x.v1beta1.MsgRegisterWasmDependency" as const, + + encode(message: MsgRegisterWasmDependency, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.from_address !== "") { + writer.uint32(10).string(message.from_address); + } + if (message.wasm_dependency_mapping !== undefined) { + WasmDependencyMapping.encode(message.wasm_dependency_mapping, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterWasmDependency { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterWasmDependency(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.from_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.wasm_dependency_mapping = WasmDependencyMapping.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRegisterWasmDependency { + return { + from_address: isSet(object.from_address) ? globalThis.String(object.from_address) : "", + wasm_dependency_mapping: isSet(object.wasm_dependency_mapping) ? WasmDependencyMapping.fromJSON(object.wasm_dependency_mapping) : undefined, + }; + }, + + toJSON(message: MsgRegisterWasmDependency): unknown { + const obj: any = {}; + if (message.from_address !== "") { + obj.from_address = message.from_address; + } + if (message.wasm_dependency_mapping !== undefined) { + obj.wasm_dependency_mapping = WasmDependencyMapping.toJSON(message.wasm_dependency_mapping); + } + return obj; + }, + + create, I>>(base?: I): MsgRegisterWasmDependency { + return MsgRegisterWasmDependency.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgRegisterWasmDependency { + const message = createBaseMsgRegisterWasmDependency(); + message.from_address = object.from_address ?? ""; + message.wasm_dependency_mapping = + object.wasm_dependency_mapping !== undefined && object.wasm_dependency_mapping !== null + ? WasmDependencyMapping.fromPartial(object.wasm_dependency_mapping) + : undefined; + return message; + }, +}; + +export const MsgRegisterWasmDependencyResponse: MessageFns< + MsgRegisterWasmDependencyResponse, + "cosmos.accesscontrol_x.v1beta1.MsgRegisterWasmDependencyResponse" +> = { + $type: "cosmos.accesscontrol_x.v1beta1.MsgRegisterWasmDependencyResponse" as const, + + encode(_: MsgRegisterWasmDependencyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterWasmDependencyResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterWasmDependencyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRegisterWasmDependencyResponse { + return {}; + }, + + toJSON(_: MsgRegisterWasmDependencyResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgRegisterWasmDependencyResponse { + return MsgRegisterWasmDependencyResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgRegisterWasmDependencyResponse { + const message = createBaseMsgRegisterWasmDependencyResponse(); + return message; + }, +}; + +function createBaseRegisterWasmDependencyJSONFile(): RegisterWasmDependencyJSONFile { + return { wasm_dependency_mapping: undefined }; +} + +function createBaseMsgRegisterWasmDependency(): MsgRegisterWasmDependency { + return { from_address: "", wasm_dependency_mapping: undefined }; +} + +function createBaseMsgRegisterWasmDependencyResponse(): MsgRegisterWasmDependencyResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts new file mode 100644 index 000000000..af5ea3320 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts @@ -0,0 +1,392 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import type { BaseAccount as BaseAccountType, ModuleAccount as ModuleAccountType, Params as ParamsType } from "../../../../types/cosmos/auth/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface BaseAccount extends BaseAccountType {} +interface ModuleAccount extends ModuleAccountType {} +interface Params extends ParamsType {} + +export const BaseAccount: MessageFns = { + $type: "cosmos.auth.v1beta1.BaseAccount" as const, + + encode(message: BaseAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pub_key !== undefined) { + Any.encode(message.pub_key, writer.uint32(18).fork()).join(); + } + if (message.account_number !== 0) { + writer.uint32(24).uint64(message.account_number); + } + if (message.sequence !== 0) { + writer.uint32(32).uint64(message.sequence); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BaseAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBaseAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pub_key = Any.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.account_number = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.sequence = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BaseAccount { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + pub_key: isSet(object.pub_key) ? Any.fromJSON(object.pub_key) : undefined, + account_number: isSet(object.account_number) ? globalThis.Number(object.account_number) : 0, + sequence: isSet(object.sequence) ? globalThis.Number(object.sequence) : 0, + }; + }, + + toJSON(message: BaseAccount): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.pub_key !== undefined) { + obj.pub_key = Any.toJSON(message.pub_key); + } + if (message.account_number !== 0) { + obj.account_number = Math.round(message.account_number); + } + if (message.sequence !== 0) { + obj.sequence = Math.round(message.sequence); + } + return obj; + }, + + create, I>>(base?: I): BaseAccount { + return BaseAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BaseAccount { + const message = createBaseBaseAccount(); + message.address = object.address ?? ""; + message.pub_key = object.pub_key !== undefined && object.pub_key !== null ? Any.fromPartial(object.pub_key) : undefined; + message.account_number = object.account_number ?? 0; + message.sequence = object.sequence ?? 0; + return message; + }, +}; + +export const ModuleAccount: MessageFns = { + $type: "cosmos.auth.v1beta1.ModuleAccount" as const, + + encode(message: ModuleAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_account !== undefined) { + BaseAccount.encode(message.base_account, writer.uint32(10).fork()).join(); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + for (const v of message.permissions) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ModuleAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_account = BaseAccount.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.name = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccount { + return { + base_account: isSet(object.base_account) ? BaseAccount.fromJSON(object.base_account) : undefined, + name: isSet(object.name) ? globalThis.String(object.name) : "", + permissions: globalThis.Array.isArray(object?.permissions) ? object.permissions.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: ModuleAccount): unknown { + const obj: any = {}; + if (message.base_account !== undefined) { + obj.base_account = BaseAccount.toJSON(message.base_account); + } + if (message.name !== "") { + obj.name = message.name; + } + if (message.permissions?.length) { + obj.permissions = message.permissions; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccount { + return ModuleAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ModuleAccount { + const message = createBaseModuleAccount(); + message.base_account = object.base_account !== undefined && object.base_account !== null ? BaseAccount.fromPartial(object.base_account) : undefined; + message.name = object.name ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "cosmos.auth.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.max_memo_characters !== 0) { + writer.uint32(8).uint64(message.max_memo_characters); + } + if (message.tx_sig_limit !== 0) { + writer.uint32(16).uint64(message.tx_sig_limit); + } + if (message.tx_size_cost_per_byte !== 0) { + writer.uint32(24).uint64(message.tx_size_cost_per_byte); + } + if (message.sig_verify_cost_ed25519 !== 0) { + writer.uint32(32).uint64(message.sig_verify_cost_ed25519); + } + if (message.sig_verify_cost_secp256k1 !== 0) { + writer.uint32(40).uint64(message.sig_verify_cost_secp256k1); + } + if (message.disable_seqno_check !== false) { + writer.uint32(48).bool(message.disable_seqno_check); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.max_memo_characters = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.tx_sig_limit = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.tx_size_cost_per_byte = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.sig_verify_cost_ed25519 = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.sig_verify_cost_secp256k1 = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.disable_seqno_check = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + max_memo_characters: isSet(object.max_memo_characters) ? globalThis.Number(object.max_memo_characters) : 0, + tx_sig_limit: isSet(object.tx_sig_limit) ? globalThis.Number(object.tx_sig_limit) : 0, + tx_size_cost_per_byte: isSet(object.tx_size_cost_per_byte) ? globalThis.Number(object.tx_size_cost_per_byte) : 0, + sig_verify_cost_ed25519: isSet(object.sig_verify_cost_ed25519) ? globalThis.Number(object.sig_verify_cost_ed25519) : 0, + sig_verify_cost_secp256k1: isSet(object.sig_verify_cost_secp256k1) ? globalThis.Number(object.sig_verify_cost_secp256k1) : 0, + disable_seqno_check: isSet(object.disable_seqno_check) ? globalThis.Boolean(object.disable_seqno_check) : false, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.max_memo_characters !== 0) { + obj.max_memo_characters = Math.round(message.max_memo_characters); + } + if (message.tx_sig_limit !== 0) { + obj.tx_sig_limit = Math.round(message.tx_sig_limit); + } + if (message.tx_size_cost_per_byte !== 0) { + obj.tx_size_cost_per_byte = Math.round(message.tx_size_cost_per_byte); + } + if (message.sig_verify_cost_ed25519 !== 0) { + obj.sig_verify_cost_ed25519 = Math.round(message.sig_verify_cost_ed25519); + } + if (message.sig_verify_cost_secp256k1 !== 0) { + obj.sig_verify_cost_secp256k1 = Math.round(message.sig_verify_cost_secp256k1); + } + if (message.disable_seqno_check !== false) { + obj.disable_seqno_check = message.disable_seqno_check; + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.max_memo_characters = object.max_memo_characters ?? 0; + message.tx_sig_limit = object.tx_sig_limit ?? 0; + message.tx_size_cost_per_byte = object.tx_size_cost_per_byte ?? 0; + message.sig_verify_cost_ed25519 = object.sig_verify_cost_ed25519 ?? 0; + message.sig_verify_cost_secp256k1 = object.sig_verify_cost_secp256k1 ?? 0; + message.disable_seqno_check = object.disable_seqno_check ?? false; + return message; + }, +}; + +function createBaseBaseAccount(): BaseAccount { + return { address: "", pub_key: undefined, account_number: 0, sequence: 0 }; +} + +function createBaseModuleAccount(): ModuleAccount { + return { base_account: undefined, name: "", permissions: [] }; +} + +function createBaseParams(): Params { + return { + max_memo_characters: 0, + tx_sig_limit: 0, + tx_size_cost_per_byte: 0, + sig_verify_cost_ed25519: 0, + sig_verify_cost_secp256k1: 0, + disable_seqno_check: false, + }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.auth.v1beta1.BaseAccount", BaseAccount as never], + ["/cosmos.auth.v1beta1.ModuleAccount", ModuleAccount as never], + ["/cosmos.auth.v1beta1.Params", Params as never], +]; +export const aminoConverters = { + "/cosmos.auth.v1beta1.BaseAccount": { + aminoType: "cosmos-sdk/BaseAccount", + toAmino: (message: BaseAccount) => ({ ...message }), + fromAmino: (object: BaseAccount) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.ModuleAccount": { + aminoType: "cosmos-sdk/ModuleAccount", + toAmino: (message: ModuleAccount) => ({ ...message }), + fromAmino: (object: ModuleAccount) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts new file mode 100644 index 000000000..38e5cd9f3 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts @@ -0,0 +1,101 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Params } from "./auth"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/auth/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.auth.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.accounts) { + Any.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.accounts.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + accounts: globalThis.Array.isArray(object?.accounts) ? object.accounts.map((e: any) => Any.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.accounts?.length) { + obj.accounts = message.accounts.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.accounts = object.accounts?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, accounts: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.auth.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.auth.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/index.ts new file mode 100644 index 000000000..554d5edb1 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/index.ts @@ -0,0 +1,3 @@ +export * from './auth'; +export * from './genesis'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts new file mode 100644 index 000000000..3ccf149a2 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts @@ -0,0 +1,552 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Params } from "./auth"; + +import type { + QueryAccountRequest as QueryAccountRequestType, + QueryAccountResponse as QueryAccountResponseType, + QueryAccountsRequest as QueryAccountsRequestType, + QueryAccountsResponse as QueryAccountsResponseType, + QueryNextAccountNumberRequest as QueryNextAccountNumberRequestType, + QueryNextAccountNumberResponse as QueryNextAccountNumberResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, +} from "../../../../types/cosmos/auth/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryAccountsRequest extends QueryAccountsRequestType {} +interface QueryAccountsResponse extends QueryAccountsResponseType {} +interface QueryAccountRequest extends QueryAccountRequestType {} +interface QueryAccountResponse extends QueryAccountResponseType {} +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryNextAccountNumberRequest extends QueryNextAccountNumberRequestType {} +interface QueryNextAccountNumberResponse extends QueryNextAccountNumberResponseType {} + +export const QueryAccountsRequest: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryAccountsRequest" as const, + + encode(message: QueryAccountsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAccountsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountsRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryAccountsRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAccountsRequest { + return QueryAccountsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAccountsRequest { + const message = createBaseQueryAccountsRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAccountsResponse: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryAccountsResponse" as const, + + encode(message: QueryAccountsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.accounts) { + Any.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAccountsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.accounts.push(Any.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountsResponse { + return { + accounts: globalThis.Array.isArray(object?.accounts) ? object.accounts.map((e: any) => Any.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAccountsResponse): unknown { + const obj: any = {}; + if (message.accounts?.length) { + obj.accounts = message.accounts.map((e) => Any.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAccountsResponse { + return QueryAccountsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAccountsResponse { + const message = createBaseQueryAccountsResponse(); + message.accounts = object.accounts?.map((e) => Any.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAccountRequest: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryAccountRequest" as const, + + encode(message: QueryAccountRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAccountRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountRequest { + return { address: isSet(object.address) ? globalThis.String(object.address) : "" }; + }, + + toJSON(message: QueryAccountRequest): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + return obj; + }, + + create, I>>(base?: I): QueryAccountRequest { + return QueryAccountRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAccountRequest { + const message = createBaseQueryAccountRequest(); + message.address = object.address ?? ""; + return message; + }, +}; + +export const QueryAccountResponse: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryAccountResponse" as const, + + encode(message: QueryAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.account !== undefined) { + Any.encode(message.account, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAccountResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountResponse { + return { account: isSet(object.account) ? Any.fromJSON(object.account) : undefined }; + }, + + toJSON(message: QueryAccountResponse): unknown { + const obj: any = {}; + if (message.account !== undefined) { + obj.account = Any.toJSON(message.account); + } + return obj; + }, + + create, I>>(base?: I): QueryAccountResponse { + return QueryAccountResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAccountResponse { + const message = createBaseQueryAccountResponse(); + message.account = object.account !== undefined && object.account !== null ? Any.fromPartial(object.account) : undefined; + return message; + }, +}; + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryNextAccountNumberRequest: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryNextAccountNumberRequest" as const, + + encode(_: QueryNextAccountNumberRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryNextAccountNumberRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNextAccountNumberRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryNextAccountNumberRequest { + return {}; + }, + + toJSON(_: QueryNextAccountNumberRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryNextAccountNumberRequest { + return QueryNextAccountNumberRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryNextAccountNumberRequest { + const message = createBaseQueryNextAccountNumberRequest(); + return message; + }, +}; + +export const QueryNextAccountNumberResponse: MessageFns = { + $type: "cosmos.auth.v1beta1.QueryNextAccountNumberResponse" as const, + + encode(message: QueryNextAccountNumberResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.count !== 0) { + writer.uint32(8).uint64(message.count); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryNextAccountNumberResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNextAccountNumberResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.count = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryNextAccountNumberResponse { + return { count: isSet(object.count) ? globalThis.Number(object.count) : 0 }; + }, + + toJSON(message: QueryNextAccountNumberResponse): unknown { + const obj: any = {}; + if (message.count !== 0) { + obj.count = Math.round(message.count); + } + return obj; + }, + + create, I>>(base?: I): QueryNextAccountNumberResponse { + return QueryNextAccountNumberResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryNextAccountNumberResponse { + const message = createBaseQueryNextAccountNumberResponse(); + message.count = object.count ?? 0; + return message; + }, +}; + +function createBaseQueryAccountsRequest(): QueryAccountsRequest { + return { pagination: undefined }; +} + +function createBaseQueryAccountsResponse(): QueryAccountsResponse { + return { accounts: [], pagination: undefined }; +} + +function createBaseQueryAccountRequest(): QueryAccountRequest { + return { address: "" }; +} + +function createBaseQueryAccountResponse(): QueryAccountResponse { + return { account: undefined }; +} + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryNextAccountNumberRequest(): QueryNextAccountNumberRequest { + return {}; +} + +function createBaseQueryNextAccountNumberResponse(): QueryNextAccountNumberResponse { + return { count: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.auth.v1beta1.QueryAccountsRequest", QueryAccountsRequest as never], + ["/cosmos.auth.v1beta1.QueryAccountsResponse", QueryAccountsResponse as never], + ["/cosmos.auth.v1beta1.QueryAccountRequest", QueryAccountRequest as never], + ["/cosmos.auth.v1beta1.QueryAccountResponse", QueryAccountResponse as never], + ["/cosmos.auth.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.auth.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.auth.v1beta1.QueryAccountsRequest": { + aminoType: "cosmos-sdk/QueryAccountsRequest", + toAmino: (message: QueryAccountsRequest) => ({ ...message }), + fromAmino: (object: QueryAccountsRequest) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.QueryAccountsResponse": { + aminoType: "cosmos-sdk/QueryAccountsResponse", + toAmino: (message: QueryAccountsResponse) => ({ ...message }), + fromAmino: (object: QueryAccountsResponse) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.QueryAccountRequest": { + aminoType: "cosmos-sdk/QueryAccountRequest", + toAmino: (message: QueryAccountRequest) => ({ ...message }), + fromAmino: (object: QueryAccountRequest) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.QueryAccountResponse": { + aminoType: "cosmos-sdk/QueryAccountResponse", + toAmino: (message: QueryAccountResponse) => ({ ...message }), + fromAmino: (object: QueryAccountResponse) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.auth.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts new file mode 100644 index 000000000..9b6189722 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts @@ -0,0 +1,310 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import type { + GenericAuthorization as GenericAuthorizationType, + GrantAuthorization as GrantAuthorizationType, + Grant as GrantType, +} from "../../../../types/cosmos/authz/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenericAuthorization extends GenericAuthorizationType {} +interface Grant extends GrantType {} +interface GrantAuthorization extends GrantAuthorizationType {} + +export const GenericAuthorization: MessageFns = { + $type: "cosmos.authz.v1beta1.GenericAuthorization" as const, + + encode(message: GenericAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg !== "") { + writer.uint32(10).string(message.msg); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenericAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenericAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.msg = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenericAuthorization { + return { msg: isSet(object.msg) ? globalThis.String(object.msg) : "" }; + }, + + toJSON(message: GenericAuthorization): unknown { + const obj: any = {}; + if (message.msg !== "") { + obj.msg = message.msg; + } + return obj; + }, + + create, I>>(base?: I): GenericAuthorization { + return GenericAuthorization.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenericAuthorization { + const message = createBaseGenericAuthorization(); + message.msg = object.msg ?? ""; + return message; + }, +}; + +export const Grant: MessageFns = { + $type: "cosmos.authz.v1beta1.Grant" as const, + + encode(message: Grant, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.authorization !== undefined) { + Any.encode(message.authorization, writer.uint32(10).fork()).join(); + } + if (message.expiration !== undefined) { + Timestamp.encode(toTimestamp(message.expiration), writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Grant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authorization = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Grant { + return { + authorization: isSet(object.authorization) ? Any.fromJSON(object.authorization) : undefined, + expiration: isSet(object.expiration) ? fromJsonTimestamp(object.expiration) : undefined, + }; + }, + + toJSON(message: Grant): unknown { + const obj: any = {}; + if (message.authorization !== undefined) { + obj.authorization = Any.toJSON(message.authorization); + } + if (message.expiration !== undefined) { + obj.expiration = message.expiration.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): Grant { + return Grant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Grant { + const message = createBaseGrant(); + message.authorization = object.authorization !== undefined && object.authorization !== null ? Any.fromPartial(object.authorization) : undefined; + message.expiration = object.expiration ?? undefined; + return message; + }, +}; + +export const GrantAuthorization: MessageFns = { + $type: "cosmos.authz.v1beta1.GrantAuthorization" as const, + + encode(message: GrantAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.authorization !== undefined) { + Any.encode(message.authorization, writer.uint32(26).fork()).join(); + } + if (message.expiration !== undefined) { + Timestamp.encode(toTimestamp(message.expiration), writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GrantAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.authorization = Any.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GrantAuthorization { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + authorization: isSet(object.authorization) ? Any.fromJSON(object.authorization) : undefined, + expiration: isSet(object.expiration) ? fromJsonTimestamp(object.expiration) : undefined, + }; + }, + + toJSON(message: GrantAuthorization): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.authorization !== undefined) { + obj.authorization = Any.toJSON(message.authorization); + } + if (message.expiration !== undefined) { + obj.expiration = message.expiration.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): GrantAuthorization { + return GrantAuthorization.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GrantAuthorization { + const message = createBaseGrantAuthorization(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.authorization = object.authorization !== undefined && object.authorization !== null ? Any.fromPartial(object.authorization) : undefined; + message.expiration = object.expiration ?? undefined; + return message; + }, +}; + +function createBaseGenericAuthorization(): GenericAuthorization { + return { msg: "" }; +} + +function createBaseGrant(): Grant { + return { authorization: undefined, expiration: undefined }; +} + +function createBaseGrantAuthorization(): GrantAuthorization { + return { granter: "", grantee: "", authorization: undefined, expiration: undefined }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.authz.v1beta1.GenericAuthorization", GenericAuthorization as never], + ["/cosmos.authz.v1beta1.Grant", Grant as never], + ["/cosmos.authz.v1beta1.GrantAuthorization", GrantAuthorization as never], +]; +export const aminoConverters = { + "/cosmos.authz.v1beta1.GenericAuthorization": { + aminoType: "cosmos-sdk/GenericAuthorization", + toAmino: (message: GenericAuthorization) => ({ ...message }), + fromAmino: (object: GenericAuthorization) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.Grant": { + aminoType: "cosmos-sdk/Grant", + toAmino: (message: Grant) => ({ ...message }), + fromAmino: (object: Grant) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.GrantAuthorization": { + aminoType: "cosmos-sdk/GrantAuthorization", + toAmino: (message: GrantAuthorization) => ({ ...message }), + fromAmino: (object: GrantAuthorization) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts new file mode 100644 index 000000000..046dc05a9 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts @@ -0,0 +1,213 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { EventGrant as EventGrantType, EventRevoke as EventRevokeType } from "../../../../types/cosmos/authz/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface EventGrant extends EventGrantType {} +interface EventRevoke extends EventRevokeType {} + +export const EventGrant: MessageFns = { + $type: "cosmos.authz.v1beta1.EventGrant" as const, + + encode(message: EventGrant, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg_type_url !== "") { + writer.uint32(18).string(message.msg_type_url); + } + if (message.granter !== "") { + writer.uint32(26).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(34).string(message.grantee); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EventGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.msg_type_url = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.granter = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.grantee = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventGrant { + return { + msg_type_url: isSet(object.msg_type_url) ? globalThis.String(object.msg_type_url) : "", + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + }; + }, + + toJSON(message: EventGrant): unknown { + const obj: any = {}; + if (message.msg_type_url !== "") { + obj.msg_type_url = message.msg_type_url; + } + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + return obj; + }, + + create, I>>(base?: I): EventGrant { + return EventGrant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EventGrant { + const message = createBaseEventGrant(); + message.msg_type_url = object.msg_type_url ?? ""; + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + return message; + }, +}; + +export const EventRevoke: MessageFns = { + $type: "cosmos.authz.v1beta1.EventRevoke" as const, + + encode(message: EventRevoke, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg_type_url !== "") { + writer.uint32(18).string(message.msg_type_url); + } + if (message.granter !== "") { + writer.uint32(26).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(34).string(message.grantee); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EventRevoke { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventRevoke(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.msg_type_url = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.granter = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.grantee = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventRevoke { + return { + msg_type_url: isSet(object.msg_type_url) ? globalThis.String(object.msg_type_url) : "", + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + }; + }, + + toJSON(message: EventRevoke): unknown { + const obj: any = {}; + if (message.msg_type_url !== "") { + obj.msg_type_url = message.msg_type_url; + } + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + return obj; + }, + + create, I>>(base?: I): EventRevoke { + return EventRevoke.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EventRevoke { + const message = createBaseEventRevoke(); + message.msg_type_url = object.msg_type_url ?? ""; + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + return message; + }, +}; + +function createBaseEventGrant(): EventGrant { + return { msg_type_url: "", granter: "", grantee: "" }; +} + +function createBaseEventRevoke(): EventRevoke { + return { msg_type_url: "", granter: "", grantee: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.authz.v1beta1.EventGrant", EventGrant as never], + ["/cosmos.authz.v1beta1.EventRevoke", EventRevoke as never], +]; +export const aminoConverters = { + "/cosmos.authz.v1beta1.EventGrant": { + aminoType: "cosmos-sdk/EventGrant", + toAmino: (message: EventGrant) => ({ ...message }), + fromAmino: (object: EventGrant) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.EventRevoke": { + aminoType: "cosmos-sdk/EventRevoke", + toAmino: (message: EventRevoke) => ({ ...message }), + fromAmino: (object: EventRevoke) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts new file mode 100644 index 000000000..81ff41b7f --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts @@ -0,0 +1,80 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { GrantAuthorization } from "./authz"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/authz/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.authz.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.authorization) { + GrantAuthorization.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authorization.push(GrantAuthorization.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + authorization: globalThis.Array.isArray(object?.authorization) ? object.authorization.map((e: any) => GrantAuthorization.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.authorization?.length) { + obj.authorization = message.authorization.map((e) => GrantAuthorization.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.authorization = object.authorization?.map((e) => GrantAuthorization.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { authorization: [] }; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.authz.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.authz.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/index.ts new file mode 100644 index 000000000..450933087 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './event'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts new file mode 100644 index 000000000..a093e723d --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts @@ -0,0 +1,532 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Grant, GrantAuthorization } from "./authz"; + +import type { + QueryGranteeGrantsRequest as QueryGranteeGrantsRequestType, + QueryGranteeGrantsResponse as QueryGranteeGrantsResponseType, + QueryGranterGrantsRequest as QueryGranterGrantsRequestType, + QueryGranterGrantsResponse as QueryGranterGrantsResponseType, + QueryGrantsRequest as QueryGrantsRequestType, + QueryGrantsResponse as QueryGrantsResponseType, +} from "../../../../types/cosmos/authz/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryGrantsRequest extends QueryGrantsRequestType {} +interface QueryGrantsResponse extends QueryGrantsResponseType {} +interface QueryGranterGrantsRequest extends QueryGranterGrantsRequestType {} +interface QueryGranterGrantsResponse extends QueryGranterGrantsResponseType {} +interface QueryGranteeGrantsRequest extends QueryGranteeGrantsRequestType {} +interface QueryGranteeGrantsResponse extends QueryGranteeGrantsResponseType {} + +export const QueryGrantsRequest: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGrantsRequest" as const, + + encode(message: QueryGrantsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.msg_type_url !== "") { + writer.uint32(26).string(message.msg_type_url); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGrantsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGrantsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.msg_type_url = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGrantsRequest { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + msg_type_url: isSet(object.msg_type_url) ? globalThis.String(object.msg_type_url) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGrantsRequest): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.msg_type_url !== "") { + obj.msg_type_url = message.msg_type_url; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGrantsRequest { + return QueryGrantsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGrantsRequest { + const message = createBaseQueryGrantsRequest(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.msg_type_url = object.msg_type_url ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryGrantsResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGrantsResponse" as const, + + encode(message: QueryGrantsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.grants) { + Grant.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGrantsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGrantsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(Grant.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGrantsResponse { + return { + grants: globalThis.Array.isArray(object?.grants) ? object.grants.map((e: any) => Grant.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGrantsResponse): unknown { + const obj: any = {}; + if (message.grants?.length) { + obj.grants = message.grants.map((e) => Grant.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGrantsResponse { + return QueryGrantsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGrantsResponse { + const message = createBaseQueryGrantsResponse(); + message.grants = object.grants?.map((e) => Grant.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryGranterGrantsRequest: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGranterGrantsRequest" as const, + + encode(message: QueryGranterGrantsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGranterGrantsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGranterGrantsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGranterGrantsRequest { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGranterGrantsRequest): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGranterGrantsRequest { + return QueryGranterGrantsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGranterGrantsRequest { + const message = createBaseQueryGranterGrantsRequest(); + message.granter = object.granter ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryGranterGrantsResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGranterGrantsResponse" as const, + + encode(message: QueryGranterGrantsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.grants) { + GrantAuthorization.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGranterGrantsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGranterGrantsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(GrantAuthorization.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGranterGrantsResponse { + return { + grants: globalThis.Array.isArray(object?.grants) ? object.grants.map((e: any) => GrantAuthorization.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGranterGrantsResponse): unknown { + const obj: any = {}; + if (message.grants?.length) { + obj.grants = message.grants.map((e) => GrantAuthorization.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGranterGrantsResponse { + return QueryGranterGrantsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGranterGrantsResponse { + const message = createBaseQueryGranterGrantsResponse(); + message.grants = object.grants?.map((e) => GrantAuthorization.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryGranteeGrantsRequest: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGranteeGrantsRequest" as const, + + encode(message: QueryGranteeGrantsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.grantee !== "") { + writer.uint32(10).string(message.grantee); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGranteeGrantsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGranteeGrantsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grantee = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGranteeGrantsRequest { + return { + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGranteeGrantsRequest): unknown { + const obj: any = {}; + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGranteeGrantsRequest { + return QueryGranteeGrantsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGranteeGrantsRequest { + const message = createBaseQueryGranteeGrantsRequest(); + message.grantee = object.grantee ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryGranteeGrantsResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.QueryGranteeGrantsResponse" as const, + + encode(message: QueryGranteeGrantsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.grants) { + GrantAuthorization.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryGranteeGrantsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGranteeGrantsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(GrantAuthorization.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryGranteeGrantsResponse { + return { + grants: globalThis.Array.isArray(object?.grants) ? object.grants.map((e: any) => GrantAuthorization.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryGranteeGrantsResponse): unknown { + const obj: any = {}; + if (message.grants?.length) { + obj.grants = message.grants.map((e) => GrantAuthorization.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryGranteeGrantsResponse { + return QueryGranteeGrantsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryGranteeGrantsResponse { + const message = createBaseQueryGranteeGrantsResponse(); + message.grants = object.grants?.map((e) => GrantAuthorization.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +function createBaseQueryGrantsRequest(): QueryGrantsRequest { + return { granter: "", grantee: "", msg_type_url: "", pagination: undefined }; +} + +function createBaseQueryGrantsResponse(): QueryGrantsResponse { + return { grants: [], pagination: undefined }; +} + +function createBaseQueryGranterGrantsRequest(): QueryGranterGrantsRequest { + return { granter: "", pagination: undefined }; +} + +function createBaseQueryGranterGrantsResponse(): QueryGranterGrantsResponse { + return { grants: [], pagination: undefined }; +} + +function createBaseQueryGranteeGrantsRequest(): QueryGranteeGrantsRequest { + return { grantee: "", pagination: undefined }; +} + +function createBaseQueryGranteeGrantsResponse(): QueryGranteeGrantsResponse { + return { grants: [], pagination: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.authz.v1beta1.QueryGrantsRequest", QueryGrantsRequest as never], + ["/cosmos.authz.v1beta1.QueryGrantsResponse", QueryGrantsResponse as never], +]; +export const aminoConverters = { + "/cosmos.authz.v1beta1.QueryGrantsRequest": { + aminoType: "cosmos-sdk/QueryGrantsRequest", + toAmino: (message: QueryGrantsRequest) => ({ ...message }), + fromAmino: (object: QueryGrantsRequest) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.QueryGrantsResponse": { + aminoType: "cosmos-sdk/QueryGrantsResponse", + toAmino: (message: QueryGrantsResponse) => ({ ...message }), + fromAmino: (object: QueryGrantsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts new file mode 100644 index 000000000..8e2f37ac6 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts @@ -0,0 +1,508 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Grant } from "./authz"; + +import type { + MsgExecResponse as MsgExecResponseType, + MsgExec as MsgExecType, + MsgGrantResponse as MsgGrantResponseType, + MsgGrant as MsgGrantType, + MsgRevokeResponse as MsgRevokeResponseType, + MsgRevoke as MsgRevokeType, +} from "../../../../types/cosmos/authz/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgGrant extends MsgGrantType {} +interface MsgExecResponse extends MsgExecResponseType {} +interface MsgExec extends MsgExecType {} +interface MsgGrantResponse extends MsgGrantResponseType {} +interface MsgRevoke extends MsgRevokeType {} +interface MsgRevokeResponse extends MsgRevokeResponseType {} + +export const MsgGrant: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgGrant" as const, + + encode(message: MsgGrant, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.grant !== undefined) { + Grant.encode(message.grant, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.grant = Grant.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgGrant { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + grant: isSet(object.grant) ? Grant.fromJSON(object.grant) : undefined, + }; + }, + + toJSON(message: MsgGrant): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.grant !== undefined) { + obj.grant = Grant.toJSON(message.grant); + } + return obj; + }, + + create, I>>(base?: I): MsgGrant { + return MsgGrant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgGrant { + const message = createBaseMsgGrant(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.grant = object.grant !== undefined && object.grant !== null ? Grant.fromPartial(object.grant) : undefined; + return message; + }, +}; + +export const MsgExecResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgExecResponse" as const, + + encode(message: MsgExecResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.results) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.results.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgExecResponse { + return { + results: globalThis.Array.isArray(object?.results) ? object.results.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: MsgExecResponse): unknown { + const obj: any = {}; + if (message.results?.length) { + obj.results = message.results.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgExecResponse { + return MsgExecResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgExecResponse { + const message = createBaseMsgExecResponse(); + message.results = object.results?.map((e) => e) || []; + return message; + }, +}; + +export const MsgExec: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgExec" as const, + + encode(message: MsgExec, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.grantee !== "") { + writer.uint32(10).string(message.grantee); + } + for (const v of message.msgs) { + Any.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgExec { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grantee = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.msgs.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgExec { + return { + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + msgs: globalThis.Array.isArray(object?.msgs) ? object.msgs.map((e: any) => Any.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgExec): unknown { + const obj: any = {}; + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.msgs?.length) { + obj.msgs = message.msgs.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgExec { + return MsgExec.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgExec { + const message = createBaseMsgExec(); + message.grantee = object.grantee ?? ""; + message.msgs = object.msgs?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgGrantResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgGrantResponse" as const, + + encode(_: MsgGrantResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrantResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrantResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgGrantResponse { + return {}; + }, + + toJSON(_: MsgGrantResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgGrantResponse { + return MsgGrantResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgGrantResponse { + const message = createBaseMsgGrantResponse(); + return message; + }, +}; + +export const MsgRevoke: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgRevoke" as const, + + encode(message: MsgRevoke, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.msg_type_url !== "") { + writer.uint32(26).string(message.msg_type_url); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevoke { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevoke(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.msg_type_url = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRevoke { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + msg_type_url: isSet(object.msg_type_url) ? globalThis.String(object.msg_type_url) : "", + }; + }, + + toJSON(message: MsgRevoke): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.msg_type_url !== "") { + obj.msg_type_url = message.msg_type_url; + } + return obj; + }, + + create, I>>(base?: I): MsgRevoke { + return MsgRevoke.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgRevoke { + const message = createBaseMsgRevoke(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.msg_type_url = object.msg_type_url ?? ""; + return message; + }, +}; + +export const MsgRevokeResponse: MessageFns = { + $type: "cosmos.authz.v1beta1.MsgRevokeResponse" as const, + + encode(_: MsgRevokeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevokeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRevokeResponse { + return {}; + }, + + toJSON(_: MsgRevokeResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgRevokeResponse { + return MsgRevokeResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgRevokeResponse { + const message = createBaseMsgRevokeResponse(); + return message; + }, +}; + +function createBaseMsgGrant(): MsgGrant { + return { granter: "", grantee: "", grant: undefined }; +} + +function createBaseMsgExecResponse(): MsgExecResponse { + return { results: [] }; +} + +function createBaseMsgExec(): MsgExec { + return { grantee: "", msgs: [] }; +} + +function createBaseMsgGrantResponse(): MsgGrantResponse { + return {}; +} + +function createBaseMsgRevoke(): MsgRevoke { + return { granter: "", grantee: "", msg_type_url: "" }; +} + +function createBaseMsgRevokeResponse(): MsgRevokeResponse { + return {}; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.authz.v1beta1.MsgGrant", MsgGrant as never], + ["/cosmos.authz.v1beta1.MsgExecResponse", MsgExecResponse as never], + ["/cosmos.authz.v1beta1.MsgExec", MsgExec as never], + ["/cosmos.authz.v1beta1.MsgGrantResponse", MsgGrantResponse as never], + ["/cosmos.authz.v1beta1.MsgRevoke", MsgRevoke as never], + ["/cosmos.authz.v1beta1.MsgRevokeResponse", MsgRevokeResponse as never], +]; +export const aminoConverters = { + "/cosmos.authz.v1beta1.MsgGrant": { + aminoType: "cosmos-sdk/MsgGrant", + toAmino: (message: MsgGrant) => ({ ...message }), + fromAmino: (object: MsgGrant) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.MsgExecResponse": { + aminoType: "cosmos-sdk/MsgExecResponse", + toAmino: (message: MsgExecResponse) => ({ ...message }), + fromAmino: (object: MsgExecResponse) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.MsgExec": { + aminoType: "cosmos-sdk/MsgExec", + toAmino: (message: MsgExec) => ({ ...message }), + fromAmino: (object: MsgExec) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.MsgGrantResponse": { + aminoType: "cosmos-sdk/MsgGrantResponse", + toAmino: (message: MsgGrantResponse) => ({ ...message }), + fromAmino: (object: MsgGrantResponse) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.MsgRevoke": { + aminoType: "cosmos-sdk/MsgRevoke", + toAmino: (message: MsgRevoke) => ({ ...message }), + fromAmino: (object: MsgRevoke) => ({ ...object }), + }, + + "/cosmos.authz.v1beta1.MsgRevokeResponse": { + aminoType: "cosmos-sdk/MsgRevokeResponse", + toAmino: (message: MsgRevokeResponse) => ({ ...message }), + fromAmino: (object: MsgRevokeResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts new file mode 100644 index 000000000..13205fc49 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts @@ -0,0 +1,80 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { SendAuthorization as SendAuthorizationType } from "../../../../types/cosmos/bank/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface SendAuthorization extends SendAuthorizationType {} + +export const SendAuthorization: MessageFns = { + $type: "cosmos.bank.v1beta1.SendAuthorization" as const, + + encode(message: SendAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.spend_limit) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SendAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSendAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.spend_limit.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SendAuthorization { + return { + spend_limit: globalThis.Array.isArray(object?.spend_limit) ? object.spend_limit.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: SendAuthorization): unknown { + const obj: any = {}; + if (message.spend_limit?.length) { + obj.spend_limit = message.spend_limit.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SendAuthorization { + return SendAuthorization.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SendAuthorization { + const message = createBaseSendAuthorization(); + message.spend_limit = object.spend_limit?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSendAuthorization(): SendAuthorization { + return { spend_limit: [] }; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.bank.v1beta1.SendAuthorization", SendAuthorization as never]]; +export const aminoConverters = { + "/cosmos.bank.v1beta1.SendAuthorization": { + aminoType: "cosmos-sdk/SendAuthorization", + toAmino: (message: SendAuthorization) => ({ ...message }), + fromAmino: (object: SendAuthorization) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts new file mode 100644 index 000000000..d780a3f7b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts @@ -0,0 +1,741 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + AllowList as AllowListType, + DenomUnit as DenomUnitType, + Input as InputType, + Metadata as MetadataType, + Output as OutputType, + Params as ParamsType, + SendEnabled as SendEnabledType, + Supply as SupplyType, +} from "../../../../types/cosmos/bank/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Params extends ParamsType {} +interface SendEnabled extends SendEnabledType {} +interface Input extends InputType {} +interface Output extends OutputType {} +interface Supply extends SupplyType {} +interface DenomUnit extends DenomUnitType {} +interface Metadata extends MetadataType {} +interface AllowList extends AllowListType {} + +export const Params: MessageFns = { + $type: "cosmos.bank.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.send_enabled) { + SendEnabled.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.default_send_enabled !== false) { + writer.uint32(16).bool(message.default_send_enabled); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.send_enabled.push(SendEnabled.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.default_send_enabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + send_enabled: globalThis.Array.isArray(object?.send_enabled) ? object.send_enabled.map((e: any) => SendEnabled.fromJSON(e)) : [], + default_send_enabled: isSet(object.default_send_enabled) ? globalThis.Boolean(object.default_send_enabled) : false, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.send_enabled?.length) { + obj.send_enabled = message.send_enabled.map((e) => SendEnabled.toJSON(e)); + } + if (message.default_send_enabled !== false) { + obj.default_send_enabled = message.default_send_enabled; + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.send_enabled = object.send_enabled?.map((e) => SendEnabled.fromPartial(e)) || []; + message.default_send_enabled = object.default_send_enabled ?? false; + return message; + }, +}; + +export const SendEnabled: MessageFns = { + $type: "cosmos.bank.v1beta1.SendEnabled" as const, + + encode(message: SendEnabled, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.enabled !== false) { + writer.uint32(16).bool(message.enabled); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SendEnabled { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSendEnabled(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.enabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SendEnabled { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + enabled: isSet(object.enabled) ? globalThis.Boolean(object.enabled) : false, + }; + }, + + toJSON(message: SendEnabled): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.enabled !== false) { + obj.enabled = message.enabled; + } + return obj; + }, + + create, I>>(base?: I): SendEnabled { + return SendEnabled.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SendEnabled { + const message = createBaseSendEnabled(); + message.denom = object.denom ?? ""; + message.enabled = object.enabled ?? false; + return message; + }, +}; + +export const Input: MessageFns = { + $type: "cosmos.bank.v1beta1.Input" as const, + + encode(message: Input, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.coins) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Input { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.coins.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Input { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + coins: globalThis.Array.isArray(object?.coins) ? object.coins.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: Input): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.coins?.length) { + obj.coins = message.coins.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Input { + return Input.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Input { + const message = createBaseInput(); + message.address = object.address ?? ""; + message.coins = object.coins?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const Output: MessageFns = { + $type: "cosmos.bank.v1beta1.Output" as const, + + encode(message: Output, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.coins) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Output { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.coins.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Output { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + coins: globalThis.Array.isArray(object?.coins) ? object.coins.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: Output): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.coins?.length) { + obj.coins = message.coins.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Output { + return Output.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Output { + const message = createBaseOutput(); + message.address = object.address ?? ""; + message.coins = object.coins?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const Supply: MessageFns = { + $type: "cosmos.bank.v1beta1.Supply" as const, + + encode(message: Supply, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.total) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Supply { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSupply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.total.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Supply { + return { total: globalThis.Array.isArray(object?.total) ? object.total.map((e: any) => Coin.fromJSON(e)) : [] }; + }, + + toJSON(message: Supply): unknown { + const obj: any = {}; + if (message.total?.length) { + obj.total = message.total.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Supply { + return Supply.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Supply { + const message = createBaseSupply(); + message.total = object.total?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const DenomUnit: MessageFns = { + $type: "cosmos.bank.v1beta1.DenomUnit" as const, + + encode(message: DenomUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.exponent !== 0) { + writer.uint32(16).uint32(message.exponent); + } + for (const v of message.aliases) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DenomUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.exponent = reader.uint32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.aliases.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DenomUnit { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + exponent: isSet(object.exponent) ? globalThis.Number(object.exponent) : 0, + aliases: globalThis.Array.isArray(object?.aliases) ? object.aliases.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: DenomUnit): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.exponent !== 0) { + obj.exponent = Math.round(message.exponent); + } + if (message.aliases?.length) { + obj.aliases = message.aliases; + } + return obj; + }, + + create, I>>(base?: I): DenomUnit { + return DenomUnit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DenomUnit { + const message = createBaseDenomUnit(); + message.denom = object.denom ?? ""; + message.exponent = object.exponent ?? 0; + message.aliases = object.aliases?.map((e) => e) || []; + return message; + }, +}; + +export const Metadata: MessageFns = { + $type: "cosmos.bank.v1beta1.Metadata" as const, + + encode(message: Metadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.description !== "") { + writer.uint32(10).string(message.description); + } + for (const v of message.denom_units) { + DenomUnit.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.base !== "") { + writer.uint32(26).string(message.base); + } + if (message.display !== "") { + writer.uint32(34).string(message.display); + } + if (message.name !== "") { + writer.uint32(42).string(message.name); + } + if (message.symbol !== "") { + writer.uint32(50).string(message.symbol); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Metadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.description = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.denom_units.push(DenomUnit.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.base = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.display = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.name = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.symbol = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Metadata { + return { + description: isSet(object.description) ? globalThis.String(object.description) : "", + denom_units: globalThis.Array.isArray(object?.denom_units) ? object.denom_units.map((e: any) => DenomUnit.fromJSON(e)) : [], + base: isSet(object.base) ? globalThis.String(object.base) : "", + display: isSet(object.display) ? globalThis.String(object.display) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", + symbol: isSet(object.symbol) ? globalThis.String(object.symbol) : "", + }; + }, + + toJSON(message: Metadata): unknown { + const obj: any = {}; + if (message.description !== "") { + obj.description = message.description; + } + if (message.denom_units?.length) { + obj.denom_units = message.denom_units.map((e) => DenomUnit.toJSON(e)); + } + if (message.base !== "") { + obj.base = message.base; + } + if (message.display !== "") { + obj.display = message.display; + } + if (message.name !== "") { + obj.name = message.name; + } + if (message.symbol !== "") { + obj.symbol = message.symbol; + } + return obj; + }, + + create, I>>(base?: I): Metadata { + return Metadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Metadata { + const message = createBaseMetadata(); + message.description = object.description ?? ""; + message.denom_units = object.denom_units?.map((e) => DenomUnit.fromPartial(e)) || []; + message.base = object.base ?? ""; + message.display = object.display ?? ""; + message.name = object.name ?? ""; + message.symbol = object.symbol ?? ""; + return message; + }, +}; + +export const AllowList: MessageFns = { + $type: "cosmos.bank.v1beta1.AllowList" as const, + + encode(message: AllowList, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.addresses) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AllowList { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllowList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.addresses.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AllowList { + return { + addresses: globalThis.Array.isArray(object?.addresses) ? object.addresses.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: AllowList): unknown { + const obj: any = {}; + if (message.addresses?.length) { + obj.addresses = message.addresses; + } + return obj; + }, + + create, I>>(base?: I): AllowList { + return AllowList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AllowList { + const message = createBaseAllowList(); + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, +}; + +function createBaseParams(): Params { + return { send_enabled: [], default_send_enabled: false }; +} + +function createBaseSendEnabled(): SendEnabled { + return { denom: "", enabled: false }; +} + +function createBaseInput(): Input { + return { address: "", coins: [] }; +} + +function createBaseOutput(): Output { + return { address: "", coins: [] }; +} + +function createBaseSupply(): Supply { + return { total: [] }; +} + +function createBaseDenomUnit(): DenomUnit { + return { denom: "", exponent: 0, aliases: [] }; +} + +function createBaseMetadata(): Metadata { + return { description: "", denom_units: [], base: "", display: "", name: "", symbol: "" }; +} + +function createBaseAllowList(): AllowList { + return { addresses: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.bank.v1beta1.Params", Params as never], + ["/cosmos.bank.v1beta1.SendEnabled", SendEnabled as never], + ["/cosmos.bank.v1beta1.Input", Input as never], + ["/cosmos.bank.v1beta1.Output", Output as never], + ["/cosmos.bank.v1beta1.Supply", Supply as never], + ["/cosmos.bank.v1beta1.DenomUnit", DenomUnit as never], + ["/cosmos.bank.v1beta1.Metadata", Metadata as never], + ["/cosmos.bank.v1beta1.AllowList", AllowList as never], +]; +export const aminoConverters = { + "/cosmos.bank.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.SendEnabled": { + aminoType: "cosmos-sdk/SendEnabled", + toAmino: (message: SendEnabled) => ({ ...message }), + fromAmino: (object: SendEnabled) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.Input": { + aminoType: "cosmos-sdk/Input", + toAmino: (message: Input) => ({ ...message }), + fromAmino: (object: Input) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.Output": { + aminoType: "cosmos-sdk/Output", + toAmino: (message: Output) => ({ ...message }), + fromAmino: (object: Output) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.Supply": { + aminoType: "cosmos-sdk/Supply", + toAmino: (message: Supply) => ({ ...message }), + fromAmino: (object: Supply) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.DenomUnit": { + aminoType: "cosmos-sdk/DenomUnit", + toAmino: (message: DenomUnit) => ({ ...message }), + fromAmino: (object: DenomUnit) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.Metadata": { + aminoType: "cosmos-sdk/Metadata", + toAmino: (message: Metadata) => ({ ...message }), + fromAmino: (object: Metadata) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.AllowList": { + aminoType: "cosmos-sdk/AllowList", + toAmino: (message: AllowList) => ({ ...message }), + fromAmino: (object: AllowList) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts new file mode 100644 index 000000000..a682d4932 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts @@ -0,0 +1,316 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { Metadata, Params } from "./bank"; + +import type { Balance as BalanceType, GenesisState as GenesisStateType, WeiBalance as WeiBalanceType } from "../../../../types/cosmos/bank/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface Balance extends BalanceType {} +interface WeiBalance extends WeiBalanceType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.bank.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.balances) { + Balance.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.supply) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.denom_metadata) { + Metadata.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.wei_balances) { + WeiBalance.encode(v!, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.balances.push(Balance.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.supply.push(Coin.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.denom_metadata.push(Metadata.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.wei_balances.push(WeiBalance.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + balances: globalThis.Array.isArray(object?.balances) ? object.balances.map((e: any) => Balance.fromJSON(e)) : [], + supply: globalThis.Array.isArray(object?.supply) ? object.supply.map((e: any) => Coin.fromJSON(e)) : [], + denom_metadata: globalThis.Array.isArray(object?.denom_metadata) ? object.denom_metadata.map((e: any) => Metadata.fromJSON(e)) : [], + wei_balances: globalThis.Array.isArray(object?.wei_balances) ? object.wei_balances.map((e: any) => WeiBalance.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.balances?.length) { + obj.balances = message.balances.map((e) => Balance.toJSON(e)); + } + if (message.supply?.length) { + obj.supply = message.supply.map((e) => Coin.toJSON(e)); + } + if (message.denom_metadata?.length) { + obj.denom_metadata = message.denom_metadata.map((e) => Metadata.toJSON(e)); + } + if (message.wei_balances?.length) { + obj.wei_balances = message.wei_balances.map((e) => WeiBalance.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.balances = object.balances?.map((e) => Balance.fromPartial(e)) || []; + message.supply = object.supply?.map((e) => Coin.fromPartial(e)) || []; + message.denom_metadata = object.denom_metadata?.map((e) => Metadata.fromPartial(e)) || []; + message.wei_balances = object.wei_balances?.map((e) => WeiBalance.fromPartial(e)) || []; + return message; + }, +}; + +export const Balance: MessageFns = { + $type: "cosmos.bank.v1beta1.Balance" as const, + + encode(message: Balance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.coins) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Balance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBalance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.coins.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Balance { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + coins: globalThis.Array.isArray(object?.coins) ? object.coins.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: Balance): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.coins?.length) { + obj.coins = message.coins.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Balance { + return Balance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Balance { + const message = createBaseBalance(); + message.address = object.address ?? ""; + message.coins = object.coins?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const WeiBalance: MessageFns = { + $type: "cosmos.bank.v1beta1.WeiBalance" as const, + + encode(message: WeiBalance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.amount !== "") { + writer.uint32(18).string(message.amount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WeiBalance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeiBalance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WeiBalance { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + amount: isSet(object.amount) ? globalThis.String(object.amount) : "", + }; + }, + + toJSON(message: WeiBalance): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.amount !== "") { + obj.amount = message.amount; + } + return obj; + }, + + create, I>>(base?: I): WeiBalance { + return WeiBalance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WeiBalance { + const message = createBaseWeiBalance(); + message.address = object.address ?? ""; + message.amount = object.amount ?? ""; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, balances: [], supply: [], denom_metadata: [], wei_balances: [] }; +} + +function createBaseBalance(): Balance { + return { address: "", coins: [] }; +} + +function createBaseWeiBalance(): WeiBalance { + return { address: "", amount: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.bank.v1beta1.GenesisState", GenesisState as never], + ["/cosmos.bank.v1beta1.Balance", Balance as never], + ["/cosmos.bank.v1beta1.WeiBalance", WeiBalance as never], +]; +export const aminoConverters = { + "/cosmos.bank.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.Balance": { + aminoType: "cosmos-sdk/Balance", + toAmino: (message: Balance) => ({ ...message }), + fromAmino: (object: Balance) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.WeiBalance": { + aminoType: "cosmos-sdk/WeiBalance", + toAmino: (message: WeiBalance) => ({ ...message }), + fromAmino: (object: WeiBalance) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/index.ts new file mode 100644 index 000000000..406a84fbc --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './bank'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts new file mode 100644 index 000000000..42cdf3ce2 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts @@ -0,0 +1,1145 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { Metadata, Params } from "./bank"; + +import type { + QueryAllBalancesRequest as QueryAllBalancesRequestType, + QueryAllBalancesResponse as QueryAllBalancesResponseType, + QueryBalanceRequest as QueryBalanceRequestType, + QueryBalanceResponse as QueryBalanceResponseType, + QueryDenomMetadataRequest as QueryDenomMetadataRequestType, + QueryDenomMetadataResponse as QueryDenomMetadataResponseType, + QueryDenomsMetadataRequest as QueryDenomsMetadataRequestType, + QueryDenomsMetadataResponse as QueryDenomsMetadataResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QuerySpendableBalancesRequest as QuerySpendableBalancesRequestType, + QuerySpendableBalancesResponse as QuerySpendableBalancesResponseType, + QuerySupplyOfRequest as QuerySupplyOfRequestType, + QuerySupplyOfResponse as QuerySupplyOfResponseType, + QueryTotalSupplyRequest as QueryTotalSupplyRequestType, + QueryTotalSupplyResponse as QueryTotalSupplyResponseType, +} from "../../../../types/cosmos/bank/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryBalanceRequest extends QueryBalanceRequestType {} +interface QueryBalanceResponse extends QueryBalanceResponseType {} +interface QueryAllBalancesRequest extends QueryAllBalancesRequestType {} +interface QueryAllBalancesResponse extends QueryAllBalancesResponseType {} +interface QuerySpendableBalancesRequest extends QuerySpendableBalancesRequestType {} +interface QuerySpendableBalancesResponse extends QuerySpendableBalancesResponseType {} +interface QueryTotalSupplyRequest extends QueryTotalSupplyRequestType {} +interface QueryTotalSupplyResponse extends QueryTotalSupplyResponseType {} +interface QuerySupplyOfRequest extends QuerySupplyOfRequestType {} +interface QuerySupplyOfResponse extends QuerySupplyOfResponseType {} +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryDenomsMetadataRequest extends QueryDenomsMetadataRequestType {} +interface QueryDenomsMetadataResponse extends QueryDenomsMetadataResponseType {} +interface QueryDenomMetadataRequest extends QueryDenomMetadataRequestType {} +interface QueryDenomMetadataResponse extends QueryDenomMetadataResponseType {} + +export const QueryBalanceRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryBalanceRequest" as const, + + encode(message: QueryBalanceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.denom !== "") { + writer.uint32(18).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryBalanceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryBalanceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryBalanceRequest { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + }; + }, + + toJSON(message: QueryBalanceRequest): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryBalanceRequest { + return QueryBalanceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryBalanceRequest { + const message = createBaseQueryBalanceRequest(); + message.address = object.address ?? ""; + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryBalanceResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryBalanceResponse" as const, + + encode(message: QueryBalanceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.balance !== undefined) { + Coin.encode(message.balance, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryBalanceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryBalanceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.balance = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryBalanceResponse { + return { balance: isSet(object.balance) ? Coin.fromJSON(object.balance) : undefined }; + }, + + toJSON(message: QueryBalanceResponse): unknown { + const obj: any = {}; + if (message.balance !== undefined) { + obj.balance = Coin.toJSON(message.balance); + } + return obj; + }, + + create, I>>(base?: I): QueryBalanceResponse { + return QueryBalanceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryBalanceResponse { + const message = createBaseQueryBalanceResponse(); + message.balance = object.balance !== undefined && object.balance !== null ? Coin.fromPartial(object.balance) : undefined; + return message; + }, +}; + +export const QueryAllBalancesRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryAllBalancesRequest" as const, + + encode(message: QueryAllBalancesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllBalancesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllBalancesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllBalancesRequest { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllBalancesRequest): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllBalancesRequest { + return QueryAllBalancesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllBalancesRequest { + const message = createBaseQueryAllBalancesRequest(); + message.address = object.address ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAllBalancesResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryAllBalancesResponse" as const, + + encode(message: QueryAllBalancesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.balances) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllBalancesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllBalancesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.balances.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllBalancesResponse { + return { + balances: globalThis.Array.isArray(object?.balances) ? object.balances.map((e: any) => Coin.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllBalancesResponse): unknown { + const obj: any = {}; + if (message.balances?.length) { + obj.balances = message.balances.map((e) => Coin.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllBalancesResponse { + return QueryAllBalancesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllBalancesResponse { + const message = createBaseQueryAllBalancesResponse(); + message.balances = object.balances?.map((e) => Coin.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QuerySpendableBalancesRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QuerySpendableBalancesRequest" as const, + + encode(message: QuerySpendableBalancesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySpendableBalancesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySpendableBalancesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySpendableBalancesRequest { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QuerySpendableBalancesRequest): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QuerySpendableBalancesRequest { + return QuerySpendableBalancesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySpendableBalancesRequest { + const message = createBaseQuerySpendableBalancesRequest(); + message.address = object.address ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QuerySpendableBalancesResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QuerySpendableBalancesResponse" as const, + + encode(message: QuerySpendableBalancesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.balances) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySpendableBalancesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySpendableBalancesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.balances.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySpendableBalancesResponse { + return { + balances: globalThis.Array.isArray(object?.balances) ? object.balances.map((e: any) => Coin.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QuerySpendableBalancesResponse): unknown { + const obj: any = {}; + if (message.balances?.length) { + obj.balances = message.balances.map((e) => Coin.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QuerySpendableBalancesResponse { + return QuerySpendableBalancesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySpendableBalancesResponse { + const message = createBaseQuerySpendableBalancesResponse(); + message.balances = object.balances?.map((e) => Coin.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryTotalSupplyRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryTotalSupplyRequest" as const, + + encode(message: QueryTotalSupplyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalSupplyRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalSupplyRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTotalSupplyRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryTotalSupplyRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryTotalSupplyRequest { + return QueryTotalSupplyRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTotalSupplyRequest { + const message = createBaseQueryTotalSupplyRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryTotalSupplyResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryTotalSupplyResponse" as const, + + encode(message: QueryTotalSupplyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.supply) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalSupplyResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalSupplyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.supply.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTotalSupplyResponse { + return { + supply: globalThis.Array.isArray(object?.supply) ? object.supply.map((e: any) => Coin.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryTotalSupplyResponse): unknown { + const obj: any = {}; + if (message.supply?.length) { + obj.supply = message.supply.map((e) => Coin.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryTotalSupplyResponse { + return QueryTotalSupplyResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTotalSupplyResponse { + const message = createBaseQueryTotalSupplyResponse(); + message.supply = object.supply?.map((e) => Coin.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QuerySupplyOfRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QuerySupplyOfRequest" as const, + + encode(message: QuerySupplyOfRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySupplyOfRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySupplyOfRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySupplyOfRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QuerySupplyOfRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QuerySupplyOfRequest { + return QuerySupplyOfRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySupplyOfRequest { + const message = createBaseQuerySupplyOfRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QuerySupplyOfResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QuerySupplyOfResponse" as const, + + encode(message: QuerySupplyOfResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySupplyOfResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySupplyOfResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySupplyOfResponse { + return { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; + }, + + toJSON(message: QuerySupplyOfResponse): unknown { + const obj: any = {}; + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): QuerySupplyOfResponse { + return QuerySupplyOfResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySupplyOfResponse { + const message = createBaseQuerySupplyOfResponse(); + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryDenomsMetadataRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryDenomsMetadataRequest" as const, + + encode(message: QueryDenomsMetadataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsMetadataRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomsMetadataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomsMetadataRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryDenomsMetadataRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomsMetadataRequest { + return QueryDenomsMetadataRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomsMetadataRequest { + const message = createBaseQueryDenomsMetadataRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDenomsMetadataResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryDenomsMetadataResponse" as const, + + encode(message: QueryDenomsMetadataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.metadatas) { + Metadata.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsMetadataResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomsMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.metadatas.push(Metadata.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomsMetadataResponse { + return { + metadatas: globalThis.Array.isArray(object?.metadatas) ? object.metadatas.map((e: any) => Metadata.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDenomsMetadataResponse): unknown { + const obj: any = {}; + if (message.metadatas?.length) { + obj.metadatas = message.metadatas.map((e) => Metadata.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomsMetadataResponse { + return QueryDenomsMetadataResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomsMetadataResponse { + const message = createBaseQueryDenomsMetadataResponse(); + message.metadatas = object.metadatas?.map((e) => Metadata.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDenomMetadataRequest: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryDenomMetadataRequest" as const, + + encode(message: QueryDenomMetadataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomMetadataRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomMetadataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomMetadataRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QueryDenomMetadataRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomMetadataRequest { + return QueryDenomMetadataRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomMetadataRequest { + const message = createBaseQueryDenomMetadataRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryDenomMetadataResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.QueryDenomMetadataResponse" as const, + + encode(message: QueryDenomMetadataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.metadata !== undefined) { + Metadata.encode(message.metadata, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomMetadataResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.metadata = Metadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomMetadataResponse { + return { metadata: isSet(object.metadata) ? Metadata.fromJSON(object.metadata) : undefined }; + }, + + toJSON(message: QueryDenomMetadataResponse): unknown { + const obj: any = {}; + if (message.metadata !== undefined) { + obj.metadata = Metadata.toJSON(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomMetadataResponse { + return QueryDenomMetadataResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomMetadataResponse { + const message = createBaseQueryDenomMetadataResponse(); + message.metadata = object.metadata !== undefined && object.metadata !== null ? Metadata.fromPartial(object.metadata) : undefined; + return message; + }, +}; + +function createBaseQueryBalanceRequest(): QueryBalanceRequest { + return { address: "", denom: "" }; +} + +function createBaseQueryBalanceResponse(): QueryBalanceResponse { + return { balance: undefined }; +} + +function createBaseQueryAllBalancesRequest(): QueryAllBalancesRequest { + return { address: "", pagination: undefined }; +} + +function createBaseQueryAllBalancesResponse(): QueryAllBalancesResponse { + return { balances: [], pagination: undefined }; +} + +function createBaseQuerySpendableBalancesRequest(): QuerySpendableBalancesRequest { + return { address: "", pagination: undefined }; +} + +function createBaseQuerySpendableBalancesResponse(): QuerySpendableBalancesResponse { + return { balances: [], pagination: undefined }; +} + +function createBaseQueryTotalSupplyRequest(): QueryTotalSupplyRequest { + return { pagination: undefined }; +} + +function createBaseQueryTotalSupplyResponse(): QueryTotalSupplyResponse { + return { supply: [], pagination: undefined }; +} + +function createBaseQuerySupplyOfRequest(): QuerySupplyOfRequest { + return { denom: "" }; +} + +function createBaseQuerySupplyOfResponse(): QuerySupplyOfResponse { + return { amount: undefined }; +} + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryDenomsMetadataRequest(): QueryDenomsMetadataRequest { + return { pagination: undefined }; +} + +function createBaseQueryDenomsMetadataResponse(): QueryDenomsMetadataResponse { + return { metadatas: [], pagination: undefined }; +} + +function createBaseQueryDenomMetadataRequest(): QueryDenomMetadataRequest { + return { denom: "" }; +} + +function createBaseQueryDenomMetadataResponse(): QueryDenomMetadataResponse { + return { metadata: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.bank.v1beta1.QueryBalanceRequest", QueryBalanceRequest as never], + ["/cosmos.bank.v1beta1.QueryBalanceResponse", QueryBalanceResponse as never], + ["/cosmos.bank.v1beta1.QuerySupplyOfRequest", QuerySupplyOfRequest as never], + ["/cosmos.bank.v1beta1.QuerySupplyOfResponse", QuerySupplyOfResponse as never], + ["/cosmos.bank.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.bank.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.bank.v1beta1.QueryBalanceRequest": { + aminoType: "cosmos-sdk/QueryBalanceRequest", + toAmino: (message: QueryBalanceRequest) => ({ ...message }), + fromAmino: (object: QueryBalanceRequest) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.QueryBalanceResponse": { + aminoType: "cosmos-sdk/QueryBalanceResponse", + toAmino: (message: QueryBalanceResponse) => ({ ...message }), + fromAmino: (object: QueryBalanceResponse) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.QuerySupplyOfRequest": { + aminoType: "cosmos-sdk/QuerySupplyOfRequest", + toAmino: (message: QuerySupplyOfRequest) => ({ ...message }), + fromAmino: (object: QuerySupplyOfRequest) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.QuerySupplyOfResponse": { + aminoType: "cosmos-sdk/QuerySupplyOfResponse", + toAmino: (message: QuerySupplyOfResponse) => ({ ...message }), + fromAmino: (object: QuerySupplyOfResponse) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts new file mode 100644 index 000000000..dc4b2df47 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts @@ -0,0 +1,313 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { Input, Output } from "./bank"; + +import type { + MsgMultiSendResponse as MsgMultiSendResponseType, + MsgMultiSend as MsgMultiSendType, + MsgSendResponse as MsgSendResponseType, + MsgSend as MsgSendType, +} from "../../../../types/cosmos/bank/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgSend extends MsgSendType {} +interface MsgSendResponse extends MsgSendResponseType {} +interface MsgMultiSend extends MsgMultiSendType {} +interface MsgMultiSendResponse extends MsgMultiSendResponseType {} + +export const MsgSend: MessageFns = { + $type: "cosmos.bank.v1beta1.MsgSend" as const, + + encode(message: MsgSend, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.from_address !== "") { + writer.uint32(10).string(message.from_address); + } + if (message.to_address !== "") { + writer.uint32(18).string(message.to_address); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.from_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.to_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSend { + return { + from_address: isSet(object.from_address) ? globalThis.String(object.from_address) : "", + to_address: isSet(object.to_address) ? globalThis.String(object.to_address) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgSend): unknown { + const obj: any = {}; + if (message.from_address !== "") { + obj.from_address = message.from_address; + } + if (message.to_address !== "") { + obj.to_address = message.to_address; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgSend { + return MsgSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSend { + const message = createBaseMsgSend(); + message.from_address = object.from_address ?? ""; + message.to_address = object.to_address ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgSendResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.MsgSendResponse" as const, + + encode(_: MsgSendResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgSendResponse { + return {}; + }, + + toJSON(_: MsgSendResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgSendResponse { + return MsgSendResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgSendResponse { + const message = createBaseMsgSendResponse(); + return message; + }, +}; + +export const MsgMultiSend: MessageFns = { + $type: "cosmos.bank.v1beta1.MsgMultiSend" as const, + + encode(message: MsgMultiSend, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.inputs) { + Input.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.outputs) { + Output.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgMultiSend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMultiSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.inputs.push(Input.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.outputs.push(Output.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgMultiSend { + return { + inputs: globalThis.Array.isArray(object?.inputs) ? object.inputs.map((e: any) => Input.fromJSON(e)) : [], + outputs: globalThis.Array.isArray(object?.outputs) ? object.outputs.map((e: any) => Output.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgMultiSend): unknown { + const obj: any = {}; + if (message.inputs?.length) { + obj.inputs = message.inputs.map((e) => Input.toJSON(e)); + } + if (message.outputs?.length) { + obj.outputs = message.outputs.map((e) => Output.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgMultiSend { + return MsgMultiSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgMultiSend { + const message = createBaseMsgMultiSend(); + message.inputs = object.inputs?.map((e) => Input.fromPartial(e)) || []; + message.outputs = object.outputs?.map((e) => Output.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgMultiSendResponse: MessageFns = { + $type: "cosmos.bank.v1beta1.MsgMultiSendResponse" as const, + + encode(_: MsgMultiSendResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgMultiSendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMultiSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgMultiSendResponse { + return {}; + }, + + toJSON(_: MsgMultiSendResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgMultiSendResponse { + return MsgMultiSendResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgMultiSendResponse { + const message = createBaseMsgMultiSendResponse(); + return message; + }, +}; + +function createBaseMsgSend(): MsgSend { + return { from_address: "", to_address: "", amount: [] }; +} + +function createBaseMsgSendResponse(): MsgSendResponse { + return {}; +} + +function createBaseMsgMultiSend(): MsgMultiSend { + return { inputs: [], outputs: [] }; +} + +function createBaseMsgMultiSendResponse(): MsgMultiSendResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.bank.v1beta1.MsgSend", MsgSend as never], + ["/cosmos.bank.v1beta1.MsgSendResponse", MsgSendResponse as never], + ["/cosmos.bank.v1beta1.MsgMultiSend", MsgMultiSend as never], + ["/cosmos.bank.v1beta1.MsgMultiSendResponse", MsgMultiSendResponse as never], +]; +export const aminoConverters = { + "/cosmos.bank.v1beta1.MsgSend": { + aminoType: "cosmos-sdk/MsgSend", + toAmino: (message: MsgSend) => ({ ...message }), + fromAmino: (object: MsgSend) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.MsgSendResponse": { + aminoType: "cosmos-sdk/MsgSendResponse", + toAmino: (message: MsgSendResponse) => ({ ...message }), + fromAmino: (object: MsgSendResponse) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.MsgMultiSend": { + aminoType: "cosmos-sdk/MsgMultiSend", + toAmino: (message: MsgMultiSend) => ({ ...message }), + fromAmino: (object: MsgMultiSend) => ({ ...object }), + }, + + "/cosmos.bank.v1beta1.MsgMultiSendResponse": { + aminoType: "cosmos-sdk/MsgMultiSendResponse", + toAmino: (message: MsgMultiSendResponse) => ({ ...message }), + fromAmino: (object: MsgMultiSendResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts new file mode 100644 index 000000000..3c90c2917 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts @@ -0,0 +1,1173 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../../google/protobuf/any"; + +import { Event } from "../../../../tendermint/abci/types"; + +import type { + ABCIMessageLog as ABCIMessageLogType, + Attribute as AttributeType, + GasInfo as GasInfoType, + MsgData as MsgDataType, + Result as ResultType, + SearchTxsResult as SearchTxsResultType, + SimulationResponse as SimulationResponseType, + StringEvent as StringEventType, + TxMsgData as TxMsgDataType, + TxResponse as TxResponseType, +} from "../../../../../types/cosmos/base/abci/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface TxResponse extends TxResponseType {} +interface ABCIMessageLog extends ABCIMessageLogType {} +interface StringEvent extends StringEventType {} +interface Attribute extends AttributeType {} +interface GasInfo extends GasInfoType {} +interface Result extends ResultType {} +interface SimulationResponse extends SimulationResponseType {} +interface MsgData extends MsgDataType {} +interface TxMsgData extends TxMsgDataType {} +interface SearchTxsResult extends SearchTxsResultType {} + +export const TxResponse: MessageFns = { + $type: "cosmos.base.abci.v1beta1.TxResponse" as const, + + encode(message: TxResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.txhash !== "") { + writer.uint32(18).string(message.txhash); + } + if (message.codespace !== "") { + writer.uint32(26).string(message.codespace); + } + if (message.code !== 0) { + writer.uint32(32).uint32(message.code); + } + if (message.data !== "") { + writer.uint32(42).string(message.data); + } + if (message.raw_log !== "") { + writer.uint32(50).string(message.raw_log); + } + for (const v of message.logs) { + ABCIMessageLog.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.info !== "") { + writer.uint32(66).string(message.info); + } + if (message.gas_wanted !== 0) { + writer.uint32(72).int64(message.gas_wanted); + } + if (message.gas_used !== 0) { + writer.uint32(80).int64(message.gas_used); + } + if (message.tx !== undefined) { + Any.encode(message.tx, writer.uint32(90).fork()).join(); + } + if (message.timestamp !== "") { + writer.uint32(98).string(message.timestamp); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(106).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.txhash = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.codespace = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.code = reader.uint32(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.data = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.raw_log = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.logs.push(ABCIMessageLog.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.info = reader.string(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.gas_wanted = longToNumber(reader.int64()); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.gas_used = longToNumber(reader.int64()); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.tx = Any.decode(reader, reader.uint32()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.timestamp = reader.string(); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.events.push(Event.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxResponse { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + txhash: isSet(object.txhash) ? globalThis.String(object.txhash) : "", + codespace: isSet(object.codespace) ? globalThis.String(object.codespace) : "", + code: isSet(object.code) ? globalThis.Number(object.code) : 0, + data: isSet(object.data) ? globalThis.String(object.data) : "", + raw_log: isSet(object.raw_log) ? globalThis.String(object.raw_log) : "", + logs: globalThis.Array.isArray(object?.logs) ? object.logs.map((e: any) => ABCIMessageLog.fromJSON(e)) : [], + info: isSet(object.info) ? globalThis.String(object.info) : "", + gas_wanted: isSet(object.gas_wanted) ? globalThis.Number(object.gas_wanted) : 0, + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + tx: isSet(object.tx) ? Any.fromJSON(object.tx) : undefined, + timestamp: isSet(object.timestamp) ? globalThis.String(object.timestamp) : "", + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], + }; + }, + + toJSON(message: TxResponse): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.txhash !== "") { + obj.txhash = message.txhash; + } + if (message.codespace !== "") { + obj.codespace = message.codespace; + } + if (message.code !== 0) { + obj.code = Math.round(message.code); + } + if (message.data !== "") { + obj.data = message.data; + } + if (message.raw_log !== "") { + obj.raw_log = message.raw_log; + } + if (message.logs?.length) { + obj.logs = message.logs.map((e) => ABCIMessageLog.toJSON(e)); + } + if (message.info !== "") { + obj.info = message.info; + } + if (message.gas_wanted !== 0) { + obj.gas_wanted = Math.round(message.gas_wanted); + } + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + if (message.tx !== undefined) { + obj.tx = Any.toJSON(message.tx); + } + if (message.timestamp !== "") { + obj.timestamp = message.timestamp; + } + if (message.events?.length) { + obj.events = message.events.map((e) => Event.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): TxResponse { + return TxResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxResponse { + const message = createBaseTxResponse(); + message.height = object.height ?? 0; + message.txhash = object.txhash ?? ""; + message.codespace = object.codespace ?? ""; + message.code = object.code ?? 0; + message.data = object.data ?? ""; + message.raw_log = object.raw_log ?? ""; + message.logs = object.logs?.map((e) => ABCIMessageLog.fromPartial(e)) || []; + message.info = object.info ?? ""; + message.gas_wanted = object.gas_wanted ?? 0; + message.gas_used = object.gas_used ?? 0; + message.tx = object.tx !== undefined && object.tx !== null ? Any.fromPartial(object.tx) : undefined; + message.timestamp = object.timestamp ?? ""; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + return message; + }, +}; + +export const ABCIMessageLog: MessageFns = { + $type: "cosmos.base.abci.v1beta1.ABCIMessageLog" as const, + + encode(message: ABCIMessageLog, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg_index !== 0) { + writer.uint32(8).uint32(message.msg_index); + } + if (message.log !== "") { + writer.uint32(18).string(message.log); + } + for (const v of message.events) { + StringEvent.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ABCIMessageLog { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseABCIMessageLog(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.msg_index = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.log = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.events.push(StringEvent.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ABCIMessageLog { + return { + msg_index: isSet(object.msg_index) ? globalThis.Number(object.msg_index) : 0, + log: isSet(object.log) ? globalThis.String(object.log) : "", + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => StringEvent.fromJSON(e)) : [], + }; + }, + + toJSON(message: ABCIMessageLog): unknown { + const obj: any = {}; + if (message.msg_index !== 0) { + obj.msg_index = Math.round(message.msg_index); + } + if (message.log !== "") { + obj.log = message.log; + } + if (message.events?.length) { + obj.events = message.events.map((e) => StringEvent.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ABCIMessageLog { + return ABCIMessageLog.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ABCIMessageLog { + const message = createBaseABCIMessageLog(); + message.msg_index = object.msg_index ?? 0; + message.log = object.log ?? ""; + message.events = object.events?.map((e) => StringEvent.fromPartial(e)) || []; + return message; + }, +}; + +export const StringEvent: MessageFns = { + $type: "cosmos.base.abci.v1beta1.StringEvent" as const, + + encode(message: StringEvent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== "") { + writer.uint32(10).string(message.type); + } + for (const v of message.attributes) { + Attribute.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): StringEvent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStringEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.type = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.attributes.push(Attribute.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): StringEvent { + return { + type: isSet(object.type) ? globalThis.String(object.type) : "", + attributes: globalThis.Array.isArray(object?.attributes) ? object.attributes.map((e: any) => Attribute.fromJSON(e)) : [], + }; + }, + + toJSON(message: StringEvent): unknown { + const obj: any = {}; + if (message.type !== "") { + obj.type = message.type; + } + if (message.attributes?.length) { + obj.attributes = message.attributes.map((e) => Attribute.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): StringEvent { + return StringEvent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StringEvent { + const message = createBaseStringEvent(); + message.type = object.type ?? ""; + message.attributes = object.attributes?.map((e) => Attribute.fromPartial(e)) || []; + return message; + }, +}; + +export const Attribute: MessageFns = { + $type: "cosmos.base.abci.v1beta1.Attribute" as const, + + encode(message: Attribute, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Attribute { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAttribute(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Attribute { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: Attribute): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create, I>>(base?: I): Attribute { + return Attribute.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Attribute { + const message = createBaseAttribute(); + message.key = object.key ?? ""; + message.value = object.value ?? ""; + return message; + }, +}; + +export const GasInfo: MessageFns = { + $type: "cosmos.base.abci.v1beta1.GasInfo" as const, + + encode(message: GasInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.gas_wanted !== 0) { + writer.uint32(8).uint64(message.gas_wanted); + } + if (message.gas_used !== 0) { + writer.uint32(16).uint64(message.gas_used); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GasInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGasInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.gas_wanted = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.gas_used = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GasInfo { + return { + gas_wanted: isSet(object.gas_wanted) ? globalThis.Number(object.gas_wanted) : 0, + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + }; + }, + + toJSON(message: GasInfo): unknown { + const obj: any = {}; + if (message.gas_wanted !== 0) { + obj.gas_wanted = Math.round(message.gas_wanted); + } + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + return obj; + }, + + create, I>>(base?: I): GasInfo { + return GasInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GasInfo { + const message = createBaseGasInfo(); + message.gas_wanted = object.gas_wanted ?? 0; + message.gas_used = object.gas_used ?? 0; + return message; + }, +}; + +export const Result: MessageFns = { + $type: "cosmos.base.abci.v1beta1.Result" as const, + + encode(message: Result, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + if (message.log !== "") { + writer.uint32(18).string(message.log); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.evmError !== "") { + writer.uint32(34).string(message.evmError); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Result { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.log = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.events.push(Event.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.evmError = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Result { + return { + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + log: isSet(object.log) ? globalThis.String(object.log) : "", + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], + evmError: isSet(object.evmError) ? globalThis.String(object.evmError) : "", + }; + }, + + toJSON(message: Result): unknown { + const obj: any = {}; + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.log !== "") { + obj.log = message.log; + } + if (message.events?.length) { + obj.events = message.events.map((e) => Event.toJSON(e)); + } + if (message.evmError !== "") { + obj.evmError = message.evmError; + } + return obj; + }, + + create, I>>(base?: I): Result { + return Result.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Result { + const message = createBaseResult(); + message.data = object.data ?? new Uint8Array(0); + message.log = object.log ?? ""; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.evmError = object.evmError ?? ""; + return message; + }, +}; + +export const SimulationResponse: MessageFns = { + $type: "cosmos.base.abci.v1beta1.SimulationResponse" as const, + + encode(message: SimulationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.gas_info !== undefined) { + GasInfo.encode(message.gas_info, writer.uint32(10).fork()).join(); + } + if (message.result !== undefined) { + Result.encode(message.result, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SimulationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.gas_info = GasInfo.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.result = Result.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SimulationResponse { + return { + gas_info: isSet(object.gas_info) ? GasInfo.fromJSON(object.gas_info) : undefined, + result: isSet(object.result) ? Result.fromJSON(object.result) : undefined, + }; + }, + + toJSON(message: SimulationResponse): unknown { + const obj: any = {}; + if (message.gas_info !== undefined) { + obj.gas_info = GasInfo.toJSON(message.gas_info); + } + if (message.result !== undefined) { + obj.result = Result.toJSON(message.result); + } + return obj; + }, + + create, I>>(base?: I): SimulationResponse { + return SimulationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SimulationResponse { + const message = createBaseSimulationResponse(); + message.gas_info = object.gas_info !== undefined && object.gas_info !== null ? GasInfo.fromPartial(object.gas_info) : undefined; + message.result = object.result !== undefined && object.result !== null ? Result.fromPartial(object.result) : undefined; + return message; + }, +}; + +export const MsgData: MessageFns = { + $type: "cosmos.base.abci.v1beta1.MsgData" as const, + + encode(message: MsgData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg_type !== "") { + writer.uint32(10).string(message.msg_type); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.msg_type = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgData { + return { + msg_type: isSet(object.msg_type) ? globalThis.String(object.msg_type) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgData): unknown { + const obj: any = {}; + if (message.msg_type !== "") { + obj.msg_type = message.msg_type; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + return obj; + }, + + create, I>>(base?: I): MsgData { + return MsgData.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgData { + const message = createBaseMsgData(); + message.msg_type = object.msg_type ?? ""; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +export const TxMsgData: MessageFns = { + $type: "cosmos.base.abci.v1beta1.TxMsgData" as const, + + encode(message: TxMsgData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.data) { + MsgData.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxMsgData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxMsgData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data.push(MsgData.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxMsgData { + return { data: globalThis.Array.isArray(object?.data) ? object.data.map((e: any) => MsgData.fromJSON(e)) : [] }; + }, + + toJSON(message: TxMsgData): unknown { + const obj: any = {}; + if (message.data?.length) { + obj.data = message.data.map((e) => MsgData.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): TxMsgData { + return TxMsgData.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxMsgData { + const message = createBaseTxMsgData(); + message.data = object.data?.map((e) => MsgData.fromPartial(e)) || []; + return message; + }, +}; + +export const SearchTxsResult: MessageFns = { + $type: "cosmos.base.abci.v1beta1.SearchTxsResult" as const, + + encode(message: SearchTxsResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.total_count !== 0) { + writer.uint32(8).uint64(message.total_count); + } + if (message.count !== 0) { + writer.uint32(16).uint64(message.count); + } + if (message.page_number !== 0) { + writer.uint32(24).uint64(message.page_number); + } + if (message.page_total !== 0) { + writer.uint32(32).uint64(message.page_total); + } + if (message.limit !== 0) { + writer.uint32(40).uint64(message.limit); + } + for (const v of message.txs) { + TxResponse.encode(v!, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SearchTxsResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchTxsResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.total_count = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.count = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.page_number = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.page_total = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.limit = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.txs.push(TxResponse.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SearchTxsResult { + return { + total_count: isSet(object.total_count) ? globalThis.Number(object.total_count) : 0, + count: isSet(object.count) ? globalThis.Number(object.count) : 0, + page_number: isSet(object.page_number) ? globalThis.Number(object.page_number) : 0, + page_total: isSet(object.page_total) ? globalThis.Number(object.page_total) : 0, + limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0, + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => TxResponse.fromJSON(e)) : [], + }; + }, + + toJSON(message: SearchTxsResult): unknown { + const obj: any = {}; + if (message.total_count !== 0) { + obj.total_count = Math.round(message.total_count); + } + if (message.count !== 0) { + obj.count = Math.round(message.count); + } + if (message.page_number !== 0) { + obj.page_number = Math.round(message.page_number); + } + if (message.page_total !== 0) { + obj.page_total = Math.round(message.page_total); + } + if (message.limit !== 0) { + obj.limit = Math.round(message.limit); + } + if (message.txs?.length) { + obj.txs = message.txs.map((e) => TxResponse.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SearchTxsResult { + return SearchTxsResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SearchTxsResult { + const message = createBaseSearchTxsResult(); + message.total_count = object.total_count ?? 0; + message.count = object.count ?? 0; + message.page_number = object.page_number ?? 0; + message.page_total = object.page_total ?? 0; + message.limit = object.limit ?? 0; + message.txs = object.txs?.map((e) => TxResponse.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseTxResponse(): TxResponse { + return { + height: 0, + txhash: "", + codespace: "", + code: 0, + data: "", + raw_log: "", + logs: [], + info: "", + gas_wanted: 0, + gas_used: 0, + tx: undefined, + timestamp: "", + events: [], + }; +} + +function createBaseABCIMessageLog(): ABCIMessageLog { + return { msg_index: 0, log: "", events: [] }; +} + +function createBaseStringEvent(): StringEvent { + return { type: "", attributes: [] }; +} + +function createBaseAttribute(): Attribute { + return { key: "", value: "" }; +} + +function createBaseGasInfo(): GasInfo { + return { gas_wanted: 0, gas_used: 0 }; +} + +function createBaseResult(): Result { + return { data: new Uint8Array(0), log: "", events: [], evmError: "" }; +} + +function createBaseSimulationResponse(): SimulationResponse { + return { gas_info: undefined, result: undefined }; +} + +function createBaseMsgData(): MsgData { + return { msg_type: "", data: new Uint8Array(0) }; +} + +function createBaseTxMsgData(): TxMsgData { + return { data: [] }; +} + +function createBaseSearchTxsResult(): SearchTxsResult { + return { total_count: 0, count: 0, page_number: 0, page_total: 0, limit: 0, txs: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.abci.v1beta1.TxResponse", TxResponse as never], + ["/cosmos.base.abci.v1beta1.ABCIMessageLog", ABCIMessageLog as never], + ["/cosmos.base.abci.v1beta1.StringEvent", StringEvent as never], + ["/cosmos.base.abci.v1beta1.Attribute", Attribute as never], + ["/cosmos.base.abci.v1beta1.GasInfo", GasInfo as never], + ["/cosmos.base.abci.v1beta1.Result", Result as never], + ["/cosmos.base.abci.v1beta1.SimulationResponse", SimulationResponse as never], + ["/cosmos.base.abci.v1beta1.MsgData", MsgData as never], + ["/cosmos.base.abci.v1beta1.TxMsgData", TxMsgData as never], + ["/cosmos.base.abci.v1beta1.SearchTxsResult", SearchTxsResult as never], +]; +export const aminoConverters = { + "/cosmos.base.abci.v1beta1.TxResponse": { + aminoType: "cosmos-sdk/TxResponse", + toAmino: (message: TxResponse) => ({ ...message }), + fromAmino: (object: TxResponse) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.ABCIMessageLog": { + aminoType: "cosmos-sdk/ABCIMessageLog", + toAmino: (message: ABCIMessageLog) => ({ ...message }), + fromAmino: (object: ABCIMessageLog) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.StringEvent": { + aminoType: "cosmos-sdk/StringEvent", + toAmino: (message: StringEvent) => ({ ...message }), + fromAmino: (object: StringEvent) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.Attribute": { + aminoType: "cosmos-sdk/Attribute", + toAmino: (message: Attribute) => ({ ...message }), + fromAmino: (object: Attribute) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.GasInfo": { + aminoType: "cosmos-sdk/GasInfo", + toAmino: (message: GasInfo) => ({ ...message }), + fromAmino: (object: GasInfo) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.Result": { + aminoType: "cosmos-sdk/Result", + toAmino: (message: Result) => ({ ...message }), + fromAmino: (object: Result) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.SimulationResponse": { + aminoType: "cosmos-sdk/SimulationResponse", + toAmino: (message: SimulationResponse) => ({ ...message }), + fromAmino: (object: SimulationResponse) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.MsgData": { + aminoType: "cosmos-sdk/MsgData", + toAmino: (message: MsgData) => ({ ...message }), + fromAmino: (object: MsgData) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.TxMsgData": { + aminoType: "cosmos-sdk/TxMsgData", + toAmino: (message: TxMsgData) => ({ ...message }), + fromAmino: (object: TxMsgData) => ({ ...object }), + }, + + "/cosmos.base.abci.v1beta1.SearchTxsResult": { + aminoType: "cosmos-sdk/SearchTxsResult", + toAmino: (message: SearchTxsResult) => ({ ...message }), + fromAmino: (object: SearchTxsResult) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/index.ts new file mode 100644 index 000000000..010f5907c --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './abci'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/index.ts new file mode 100644 index 000000000..5705f1cc3 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './kv'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts new file mode 100644 index 000000000..af8cab555 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts @@ -0,0 +1,191 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Pair as PairType, Pairs as PairsType } from "../../../../../types/cosmos/base/kv/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface Pairs extends PairsType {} +interface Pair extends PairType {} + +export const Pairs: MessageFns = { + $type: "cosmos.base.kv.v1beta1.Pairs" as const, + + encode(message: Pairs, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.pairs) { + Pair.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Pairs { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePairs(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pairs.push(Pair.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Pairs { + return { pairs: globalThis.Array.isArray(object?.pairs) ? object.pairs.map((e: any) => Pair.fromJSON(e)) : [] }; + }, + + toJSON(message: Pairs): unknown { + const obj: any = {}; + if (message.pairs?.length) { + obj.pairs = message.pairs.map((e) => Pair.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Pairs { + return Pairs.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Pairs { + const message = createBasePairs(); + message.pairs = object.pairs?.map((e) => Pair.fromPartial(e)) || []; + return message; + }, +}; + +export const Pair: MessageFns = { + $type: "cosmos.base.kv.v1beta1.Pair" as const, + + encode(message: Pair, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Pair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Pair { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: Pair): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create, I>>(base?: I): Pair { + return Pair.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Pair { + const message = createBasePair(); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +function createBasePairs(): Pairs { + return { pairs: [] }; +} + +function createBasePair(): Pair { + return { key: new Uint8Array(0), value: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.kv.v1beta1.Pairs", Pairs as never], + ["/cosmos.base.kv.v1beta1.Pair", Pair as never], +]; +export const aminoConverters = { + "/cosmos.base.kv.v1beta1.Pairs": { + aminoType: "cosmos-sdk/Pairs", + toAmino: (message: Pairs) => ({ ...message }), + fromAmino: (object: Pairs) => ({ ...object }), + }, + + "/cosmos.base.kv.v1beta1.Pair": { + aminoType: "cosmos-sdk/Pair", + toAmino: (message: Pair) => ({ ...message }), + fromAmino: (object: Pair) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/index.ts new file mode 100644 index 000000000..f99fc1287 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './pagination'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts new file mode 100644 index 000000000..ca73390dc --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts @@ -0,0 +1,264 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PageRequest as PageRequestType, PageResponse as PageResponseType } from "../../../../../types/cosmos/base/query/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface PageRequest extends PageRequestType {} +interface PageResponse extends PageResponseType {} + +export const PageRequest: MessageFns = { + $type: "cosmos.base.query.v1beta1.PageRequest" as const, + + encode(message: PageRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.offset !== 0) { + writer.uint32(16).uint64(message.offset); + } + if (message.limit !== 0) { + writer.uint32(24).uint64(message.limit); + } + if (message.count_total !== false) { + writer.uint32(32).bool(message.count_total); + } + if (message.reverse !== false) { + writer.uint32(40).bool(message.reverse); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PageRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePageRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.offset = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.limit = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.count_total = reader.bool(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.reverse = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PageRequest { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + offset: isSet(object.offset) ? globalThis.Number(object.offset) : 0, + limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0, + count_total: isSet(object.count_total) ? globalThis.Boolean(object.count_total) : false, + reverse: isSet(object.reverse) ? globalThis.Boolean(object.reverse) : false, + }; + }, + + toJSON(message: PageRequest): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.offset !== 0) { + obj.offset = Math.round(message.offset); + } + if (message.limit !== 0) { + obj.limit = Math.round(message.limit); + } + if (message.count_total !== false) { + obj.count_total = message.count_total; + } + if (message.reverse !== false) { + obj.reverse = message.reverse; + } + return obj; + }, + + create, I>>(base?: I): PageRequest { + return PageRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PageRequest { + const message = createBasePageRequest(); + message.key = object.key ?? new Uint8Array(0); + message.offset = object.offset ?? 0; + message.limit = object.limit ?? 0; + message.count_total = object.count_total ?? false; + message.reverse = object.reverse ?? false; + return message; + }, +}; + +export const PageResponse: MessageFns = { + $type: "cosmos.base.query.v1beta1.PageResponse" as const, + + encode(message: PageResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.next_key.length !== 0) { + writer.uint32(10).bytes(message.next_key); + } + if (message.total !== 0) { + writer.uint32(16).uint64(message.total); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PageResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePageResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.next_key = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.total = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PageResponse { + return { + next_key: isSet(object.next_key) ? bytesFromBase64(object.next_key) : new Uint8Array(0), + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + }; + }, + + toJSON(message: PageResponse): unknown { + const obj: any = {}; + if (message.next_key.length !== 0) { + obj.next_key = base64FromBytes(message.next_key); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + return obj; + }, + + create, I>>(base?: I): PageResponse { + return PageResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PageResponse { + const message = createBasePageResponse(); + message.next_key = object.next_key ?? new Uint8Array(0); + message.total = object.total ?? 0; + return message; + }, +}; + +function createBasePageRequest(): PageRequest { + return { key: new Uint8Array(0), offset: 0, limit: 0, count_total: false, reverse: false }; +} + +function createBasePageResponse(): PageResponse { + return { next_key: new Uint8Array(0), total: 0 }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.query.v1beta1.PageRequest", PageRequest as never], + ["/cosmos.base.query.v1beta1.PageResponse", PageResponse as never], +]; +export const aminoConverters = { + "/cosmos.base.query.v1beta1.PageRequest": { + aminoType: "cosmos-sdk/PageRequest", + toAmino: (message: PageRequest) => ({ ...message }), + fromAmino: (object: PageRequest) => ({ ...object }), + }, + + "/cosmos.base.query.v1beta1.PageResponse": { + aminoType: "cosmos-sdk/PageResponse", + toAmino: (message: PageResponse) => ({ ...message }), + fromAmino: (object: PageResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/index.ts new file mode 100644 index 000000000..5ff57c28b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './reflection'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts new file mode 100644 index 000000000..bab6d261e --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts @@ -0,0 +1,247 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + ListAllInterfacesRequest as ListAllInterfacesRequestType, + ListAllInterfacesResponse as ListAllInterfacesResponseType, + ListImplementationsRequest as ListImplementationsRequestType, + ListImplementationsResponse as ListImplementationsResponseType, +} from "../../../../../types/cosmos/base/reflection/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface ListAllInterfacesRequest extends ListAllInterfacesRequestType {} +interface ListAllInterfacesResponse extends ListAllInterfacesResponseType {} +interface ListImplementationsRequest extends ListImplementationsRequestType {} +interface ListImplementationsResponse extends ListImplementationsResponseType {} + +export const ListAllInterfacesRequest: MessageFns = { + $type: "cosmos.base.reflection.v1beta1.ListAllInterfacesRequest" as const, + + encode(_: ListAllInterfacesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListAllInterfacesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListAllInterfacesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): ListAllInterfacesRequest { + return {}; + }, + + toJSON(_: ListAllInterfacesRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ListAllInterfacesRequest { + return ListAllInterfacesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ListAllInterfacesRequest { + const message = createBaseListAllInterfacesRequest(); + return message; + }, +}; + +export const ListAllInterfacesResponse: MessageFns = { + $type: "cosmos.base.reflection.v1beta1.ListAllInterfacesResponse" as const, + + encode(message: ListAllInterfacesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.interface_names) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListAllInterfacesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListAllInterfacesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.interface_names.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ListAllInterfacesResponse { + return { + interface_names: globalThis.Array.isArray(object?.interface_names) ? object.interface_names.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: ListAllInterfacesResponse): unknown { + const obj: any = {}; + if (message.interface_names?.length) { + obj.interface_names = message.interface_names; + } + return obj; + }, + + create, I>>(base?: I): ListAllInterfacesResponse { + return ListAllInterfacesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ListAllInterfacesResponse { + const message = createBaseListAllInterfacesResponse(); + message.interface_names = object.interface_names?.map((e) => e) || []; + return message; + }, +}; + +export const ListImplementationsRequest: MessageFns = { + $type: "cosmos.base.reflection.v1beta1.ListImplementationsRequest" as const, + + encode(message: ListImplementationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.interface_name !== "") { + writer.uint32(10).string(message.interface_name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListImplementationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListImplementationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.interface_name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ListImplementationsRequest { + return { interface_name: isSet(object.interface_name) ? globalThis.String(object.interface_name) : "" }; + }, + + toJSON(message: ListImplementationsRequest): unknown { + const obj: any = {}; + if (message.interface_name !== "") { + obj.interface_name = message.interface_name; + } + return obj; + }, + + create, I>>(base?: I): ListImplementationsRequest { + return ListImplementationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ListImplementationsRequest { + const message = createBaseListImplementationsRequest(); + message.interface_name = object.interface_name ?? ""; + return message; + }, +}; + +export const ListImplementationsResponse: MessageFns = { + $type: "cosmos.base.reflection.v1beta1.ListImplementationsResponse" as const, + + encode(message: ListImplementationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.implementation_message_names) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ListImplementationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListImplementationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.implementation_message_names.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ListImplementationsResponse { + return { + implementation_message_names: globalThis.Array.isArray(object?.implementation_message_names) + ? object.implementation_message_names.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: ListImplementationsResponse): unknown { + const obj: any = {}; + if (message.implementation_message_names?.length) { + obj.implementation_message_names = message.implementation_message_names; + } + return obj; + }, + + create, I>>(base?: I): ListImplementationsResponse { + return ListImplementationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ListImplementationsResponse { + const message = createBaseListImplementationsResponse(); + message.implementation_message_names = object.implementation_message_names?.map((e) => e) || []; + return message; + }, +}; + +function createBaseListAllInterfacesRequest(): ListAllInterfacesRequest { + return {}; +} + +function createBaseListAllInterfacesResponse(): ListAllInterfacesResponse { + return { interface_names: [] }; +} + +function createBaseListImplementationsRequest(): ListImplementationsRequest { + return { interface_name: "" }; +} + +function createBaseListImplementationsResponse(): ListImplementationsResponse { + return { implementation_message_names: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/index.ts new file mode 100644 index 000000000..5ff57c28b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/index.ts @@ -0,0 +1 @@ +export * from './reflection'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts new file mode 100644 index 000000000..ca1d5699b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts @@ -0,0 +1,1841 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + AppDescriptor as AppDescriptorType, + AuthnDescriptor as AuthnDescriptorType, + ChainDescriptor as ChainDescriptorType, + CodecDescriptor as CodecDescriptorType, + ConfigurationDescriptor as ConfigurationDescriptorType, + GetAuthnDescriptorRequest as GetAuthnDescriptorRequestType, + GetAuthnDescriptorResponse as GetAuthnDescriptorResponseType, + GetChainDescriptorRequest as GetChainDescriptorRequestType, + GetChainDescriptorResponse as GetChainDescriptorResponseType, + GetCodecDescriptorRequest as GetCodecDescriptorRequestType, + GetCodecDescriptorResponse as GetCodecDescriptorResponseType, + GetConfigurationDescriptorRequest as GetConfigurationDescriptorRequestType, + GetConfigurationDescriptorResponse as GetConfigurationDescriptorResponseType, + GetQueryServicesDescriptorRequest as GetQueryServicesDescriptorRequestType, + GetQueryServicesDescriptorResponse as GetQueryServicesDescriptorResponseType, + GetTxDescriptorRequest as GetTxDescriptorRequestType, + GetTxDescriptorResponse as GetTxDescriptorResponseType, + InterfaceAcceptingMessageDescriptor as InterfaceAcceptingMessageDescriptorType, + InterfaceDescriptor as InterfaceDescriptorType, + InterfaceImplementerDescriptor as InterfaceImplementerDescriptorType, + MsgDescriptor as MsgDescriptorType, + QueryMethodDescriptor as QueryMethodDescriptorType, + QueryServiceDescriptor as QueryServiceDescriptorType, + QueryServicesDescriptor as QueryServicesDescriptorType, + SigningModeDescriptor as SigningModeDescriptorType, + TxDescriptor as TxDescriptorType, +} from "../../../../../types/cosmos/base/reflection/v2alpha1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface AppDescriptor extends AppDescriptorType {} +interface TxDescriptor extends TxDescriptorType {} +interface AuthnDescriptor extends AuthnDescriptorType {} +interface SigningModeDescriptor extends SigningModeDescriptorType {} +interface ChainDescriptor extends ChainDescriptorType {} +interface CodecDescriptor extends CodecDescriptorType {} +interface InterfaceDescriptor extends InterfaceDescriptorType {} +interface InterfaceImplementerDescriptor extends InterfaceImplementerDescriptorType {} +interface InterfaceAcceptingMessageDescriptor extends InterfaceAcceptingMessageDescriptorType {} +interface ConfigurationDescriptor extends ConfigurationDescriptorType {} +interface MsgDescriptor extends MsgDescriptorType {} +interface GetAuthnDescriptorRequest extends GetAuthnDescriptorRequestType {} +interface GetAuthnDescriptorResponse extends GetAuthnDescriptorResponseType {} +interface GetChainDescriptorRequest extends GetChainDescriptorRequestType {} +interface GetChainDescriptorResponse extends GetChainDescriptorResponseType {} +interface GetCodecDescriptorRequest extends GetCodecDescriptorRequestType {} +interface GetCodecDescriptorResponse extends GetCodecDescriptorResponseType {} +interface GetConfigurationDescriptorRequest extends GetConfigurationDescriptorRequestType {} +interface GetConfigurationDescriptorResponse extends GetConfigurationDescriptorResponseType {} +interface GetQueryServicesDescriptorRequest extends GetQueryServicesDescriptorRequestType {} +interface GetQueryServicesDescriptorResponse extends GetQueryServicesDescriptorResponseType {} +interface GetTxDescriptorRequest extends GetTxDescriptorRequestType {} +interface GetTxDescriptorResponse extends GetTxDescriptorResponseType {} +interface QueryServicesDescriptor extends QueryServicesDescriptorType {} +interface QueryServiceDescriptor extends QueryServiceDescriptorType {} +interface QueryMethodDescriptor extends QueryMethodDescriptorType {} + +export const AppDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.AppDescriptor" as const, + + encode(message: AppDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.authn !== undefined) { + AuthnDescriptor.encode(message.authn, writer.uint32(10).fork()).join(); + } + if (message.chain !== undefined) { + ChainDescriptor.encode(message.chain, writer.uint32(18).fork()).join(); + } + if (message.codec !== undefined) { + CodecDescriptor.encode(message.codec, writer.uint32(26).fork()).join(); + } + if (message.configuration !== undefined) { + ConfigurationDescriptor.encode(message.configuration, writer.uint32(34).fork()).join(); + } + if (message.query_services !== undefined) { + QueryServicesDescriptor.encode(message.query_services, writer.uint32(42).fork()).join(); + } + if (message.tx !== undefined) { + TxDescriptor.encode(message.tx, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AppDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAppDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authn = AuthnDescriptor.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.chain = ChainDescriptor.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.codec = CodecDescriptor.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.configuration = ConfigurationDescriptor.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.query_services = QueryServicesDescriptor.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.tx = TxDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AppDescriptor { + return { + authn: isSet(object.authn) ? AuthnDescriptor.fromJSON(object.authn) : undefined, + chain: isSet(object.chain) ? ChainDescriptor.fromJSON(object.chain) : undefined, + codec: isSet(object.codec) ? CodecDescriptor.fromJSON(object.codec) : undefined, + configuration: isSet(object.configuration) ? ConfigurationDescriptor.fromJSON(object.configuration) : undefined, + query_services: isSet(object.query_services) ? QueryServicesDescriptor.fromJSON(object.query_services) : undefined, + tx: isSet(object.tx) ? TxDescriptor.fromJSON(object.tx) : undefined, + }; + }, + + toJSON(message: AppDescriptor): unknown { + const obj: any = {}; + if (message.authn !== undefined) { + obj.authn = AuthnDescriptor.toJSON(message.authn); + } + if (message.chain !== undefined) { + obj.chain = ChainDescriptor.toJSON(message.chain); + } + if (message.codec !== undefined) { + obj.codec = CodecDescriptor.toJSON(message.codec); + } + if (message.configuration !== undefined) { + obj.configuration = ConfigurationDescriptor.toJSON(message.configuration); + } + if (message.query_services !== undefined) { + obj.query_services = QueryServicesDescriptor.toJSON(message.query_services); + } + if (message.tx !== undefined) { + obj.tx = TxDescriptor.toJSON(message.tx); + } + return obj; + }, + + create, I>>(base?: I): AppDescriptor { + return AppDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AppDescriptor { + const message = createBaseAppDescriptor(); + message.authn = object.authn !== undefined && object.authn !== null ? AuthnDescriptor.fromPartial(object.authn) : undefined; + message.chain = object.chain !== undefined && object.chain !== null ? ChainDescriptor.fromPartial(object.chain) : undefined; + message.codec = object.codec !== undefined && object.codec !== null ? CodecDescriptor.fromPartial(object.codec) : undefined; + message.configuration = + object.configuration !== undefined && object.configuration !== null ? ConfigurationDescriptor.fromPartial(object.configuration) : undefined; + message.query_services = + object.query_services !== undefined && object.query_services !== null ? QueryServicesDescriptor.fromPartial(object.query_services) : undefined; + message.tx = object.tx !== undefined && object.tx !== null ? TxDescriptor.fromPartial(object.tx) : undefined; + return message; + }, +}; + +export const TxDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.TxDescriptor" as const, + + encode(message: TxDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fullname !== "") { + writer.uint32(10).string(message.fullname); + } + for (const v of message.msgs) { + MsgDescriptor.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fullname = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.msgs.push(MsgDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxDescriptor { + return { + fullname: isSet(object.fullname) ? globalThis.String(object.fullname) : "", + msgs: globalThis.Array.isArray(object?.msgs) ? object.msgs.map((e: any) => MsgDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: TxDescriptor): unknown { + const obj: any = {}; + if (message.fullname !== "") { + obj.fullname = message.fullname; + } + if (message.msgs?.length) { + obj.msgs = message.msgs.map((e) => MsgDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): TxDescriptor { + return TxDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxDescriptor { + const message = createBaseTxDescriptor(); + message.fullname = object.fullname ?? ""; + message.msgs = object.msgs?.map((e) => MsgDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const AuthnDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.AuthnDescriptor" as const, + + encode(message: AuthnDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.sign_modes) { + SigningModeDescriptor.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AuthnDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuthnDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sign_modes.push(SigningModeDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AuthnDescriptor { + return { + sign_modes: globalThis.Array.isArray(object?.sign_modes) ? object.sign_modes.map((e: any) => SigningModeDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: AuthnDescriptor): unknown { + const obj: any = {}; + if (message.sign_modes?.length) { + obj.sign_modes = message.sign_modes.map((e) => SigningModeDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): AuthnDescriptor { + return AuthnDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AuthnDescriptor { + const message = createBaseAuthnDescriptor(); + message.sign_modes = object.sign_modes?.map((e) => SigningModeDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const SigningModeDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.SigningModeDescriptor" as const, + + encode(message: SigningModeDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.number !== 0) { + writer.uint32(16).int32(message.number); + } + if (message.authn_info_provider_method_fullname !== "") { + writer.uint32(26).string(message.authn_info_provider_method_fullname); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SigningModeDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSigningModeDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.number = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.authn_info_provider_method_fullname = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SigningModeDescriptor { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + authn_info_provider_method_fullname: isSet(object.authn_info_provider_method_fullname) + ? globalThis.String(object.authn_info_provider_method_fullname) + : "", + }; + }, + + toJSON(message: SigningModeDescriptor): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.authn_info_provider_method_fullname !== "") { + obj.authn_info_provider_method_fullname = message.authn_info_provider_method_fullname; + } + return obj; + }, + + create, I>>(base?: I): SigningModeDescriptor { + return SigningModeDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SigningModeDescriptor { + const message = createBaseSigningModeDescriptor(); + message.name = object.name ?? ""; + message.number = object.number ?? 0; + message.authn_info_provider_method_fullname = object.authn_info_provider_method_fullname ?? ""; + return message; + }, +}; + +export const ChainDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.ChainDescriptor" as const, + + encode(message: ChainDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ChainDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseChainDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ChainDescriptor { + return { id: isSet(object.id) ? globalThis.String(object.id) : "" }; + }, + + toJSON(message: ChainDescriptor): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + return obj; + }, + + create, I>>(base?: I): ChainDescriptor { + return ChainDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ChainDescriptor { + const message = createBaseChainDescriptor(); + message.id = object.id ?? ""; + return message; + }, +}; + +export const CodecDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.CodecDescriptor" as const, + + encode(message: CodecDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.interfaces) { + InterfaceDescriptor.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CodecDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodecDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.interfaces.push(InterfaceDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CodecDescriptor { + return { + interfaces: globalThis.Array.isArray(object?.interfaces) ? object.interfaces.map((e: any) => InterfaceDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: CodecDescriptor): unknown { + const obj: any = {}; + if (message.interfaces?.length) { + obj.interfaces = message.interfaces.map((e) => InterfaceDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CodecDescriptor { + return CodecDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CodecDescriptor { + const message = createBaseCodecDescriptor(); + message.interfaces = object.interfaces?.map((e) => InterfaceDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const InterfaceDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.InterfaceDescriptor" as const, + + encode(message: InterfaceDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fullname !== "") { + writer.uint32(10).string(message.fullname); + } + for (const v of message.interface_accepting_messages) { + InterfaceAcceptingMessageDescriptor.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.interface_implementers) { + InterfaceImplementerDescriptor.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InterfaceDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInterfaceDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fullname = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.interface_accepting_messages.push(InterfaceAcceptingMessageDescriptor.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.interface_implementers.push(InterfaceImplementerDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InterfaceDescriptor { + return { + fullname: isSet(object.fullname) ? globalThis.String(object.fullname) : "", + interface_accepting_messages: globalThis.Array.isArray(object?.interface_accepting_messages) + ? object.interface_accepting_messages.map((e: any) => InterfaceAcceptingMessageDescriptor.fromJSON(e)) + : [], + interface_implementers: globalThis.Array.isArray(object?.interface_implementers) + ? object.interface_implementers.map((e: any) => InterfaceImplementerDescriptor.fromJSON(e)) + : [], + }; + }, + + toJSON(message: InterfaceDescriptor): unknown { + const obj: any = {}; + if (message.fullname !== "") { + obj.fullname = message.fullname; + } + if (message.interface_accepting_messages?.length) { + obj.interface_accepting_messages = message.interface_accepting_messages.map((e) => InterfaceAcceptingMessageDescriptor.toJSON(e)); + } + if (message.interface_implementers?.length) { + obj.interface_implementers = message.interface_implementers.map((e) => InterfaceImplementerDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): InterfaceDescriptor { + return InterfaceDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InterfaceDescriptor { + const message = createBaseInterfaceDescriptor(); + message.fullname = object.fullname ?? ""; + message.interface_accepting_messages = object.interface_accepting_messages?.map((e) => InterfaceAcceptingMessageDescriptor.fromPartial(e)) || []; + message.interface_implementers = object.interface_implementers?.map((e) => InterfaceImplementerDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const InterfaceImplementerDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor" as const, + + encode(message: InterfaceImplementerDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fullname !== "") { + writer.uint32(10).string(message.fullname); + } + if (message.type_url !== "") { + writer.uint32(18).string(message.type_url); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InterfaceImplementerDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInterfaceImplementerDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fullname = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.type_url = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InterfaceImplementerDescriptor { + return { + fullname: isSet(object.fullname) ? globalThis.String(object.fullname) : "", + type_url: isSet(object.type_url) ? globalThis.String(object.type_url) : "", + }; + }, + + toJSON(message: InterfaceImplementerDescriptor): unknown { + const obj: any = {}; + if (message.fullname !== "") { + obj.fullname = message.fullname; + } + if (message.type_url !== "") { + obj.type_url = message.type_url; + } + return obj; + }, + + create, I>>(base?: I): InterfaceImplementerDescriptor { + return InterfaceImplementerDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InterfaceImplementerDescriptor { + const message = createBaseInterfaceImplementerDescriptor(); + message.fullname = object.fullname ?? ""; + message.type_url = object.type_url ?? ""; + return message; + }, +}; + +export const InterfaceAcceptingMessageDescriptor: MessageFns< + InterfaceAcceptingMessageDescriptor, + "cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor" +> = { + $type: "cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor" as const, + + encode(message: InterfaceAcceptingMessageDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fullname !== "") { + writer.uint32(10).string(message.fullname); + } + for (const v of message.field_descriptor_names) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InterfaceAcceptingMessageDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInterfaceAcceptingMessageDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fullname = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.field_descriptor_names.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InterfaceAcceptingMessageDescriptor { + return { + fullname: isSet(object.fullname) ? globalThis.String(object.fullname) : "", + field_descriptor_names: globalThis.Array.isArray(object?.field_descriptor_names) + ? object.field_descriptor_names.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: InterfaceAcceptingMessageDescriptor): unknown { + const obj: any = {}; + if (message.fullname !== "") { + obj.fullname = message.fullname; + } + if (message.field_descriptor_names?.length) { + obj.field_descriptor_names = message.field_descriptor_names; + } + return obj; + }, + + create, I>>(base?: I): InterfaceAcceptingMessageDescriptor { + return InterfaceAcceptingMessageDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InterfaceAcceptingMessageDescriptor { + const message = createBaseInterfaceAcceptingMessageDescriptor(); + message.fullname = object.fullname ?? ""; + message.field_descriptor_names = object.field_descriptor_names?.map((e) => e) || []; + return message; + }, +}; + +export const ConfigurationDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.ConfigurationDescriptor" as const, + + encode(message: ConfigurationDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.bech32_account_address_prefix !== "") { + writer.uint32(10).string(message.bech32_account_address_prefix); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ConfigurationDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfigurationDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.bech32_account_address_prefix = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ConfigurationDescriptor { + return { + bech32_account_address_prefix: isSet(object.bech32_account_address_prefix) ? globalThis.String(object.bech32_account_address_prefix) : "", + }; + }, + + toJSON(message: ConfigurationDescriptor): unknown { + const obj: any = {}; + if (message.bech32_account_address_prefix !== "") { + obj.bech32_account_address_prefix = message.bech32_account_address_prefix; + } + return obj; + }, + + create, I>>(base?: I): ConfigurationDescriptor { + return ConfigurationDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ConfigurationDescriptor { + const message = createBaseConfigurationDescriptor(); + message.bech32_account_address_prefix = object.bech32_account_address_prefix ?? ""; + return message; + }, +}; + +export const MsgDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.MsgDescriptor" as const, + + encode(message: MsgDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.msg_type_url !== "") { + writer.uint32(10).string(message.msg_type_url); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.msg_type_url = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgDescriptor { + return { msg_type_url: isSet(object.msg_type_url) ? globalThis.String(object.msg_type_url) : "" }; + }, + + toJSON(message: MsgDescriptor): unknown { + const obj: any = {}; + if (message.msg_type_url !== "") { + obj.msg_type_url = message.msg_type_url; + } + return obj; + }, + + create, I>>(base?: I): MsgDescriptor { + return MsgDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgDescriptor { + const message = createBaseMsgDescriptor(); + message.msg_type_url = object.msg_type_url ?? ""; + return message; + }, +}; + +export const GetAuthnDescriptorRequest: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetAuthnDescriptorRequest" as const, + + encode(_: GetAuthnDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAuthnDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAuthnDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetAuthnDescriptorRequest { + return {}; + }, + + toJSON(_: GetAuthnDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetAuthnDescriptorRequest { + return GetAuthnDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetAuthnDescriptorRequest { + const message = createBaseGetAuthnDescriptorRequest(); + return message; + }, +}; + +export const GetAuthnDescriptorResponse: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse" as const, + + encode(message: GetAuthnDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.authn !== undefined) { + AuthnDescriptor.encode(message.authn, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAuthnDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAuthnDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authn = AuthnDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAuthnDescriptorResponse { + return { authn: isSet(object.authn) ? AuthnDescriptor.fromJSON(object.authn) : undefined }; + }, + + toJSON(message: GetAuthnDescriptorResponse): unknown { + const obj: any = {}; + if (message.authn !== undefined) { + obj.authn = AuthnDescriptor.toJSON(message.authn); + } + return obj; + }, + + create, I>>(base?: I): GetAuthnDescriptorResponse { + return GetAuthnDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetAuthnDescriptorResponse { + const message = createBaseGetAuthnDescriptorResponse(); + message.authn = object.authn !== undefined && object.authn !== null ? AuthnDescriptor.fromPartial(object.authn) : undefined; + return message; + }, +}; + +export const GetChainDescriptorRequest: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetChainDescriptorRequest" as const, + + encode(_: GetChainDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetChainDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetChainDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetChainDescriptorRequest { + return {}; + }, + + toJSON(_: GetChainDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetChainDescriptorRequest { + return GetChainDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetChainDescriptorRequest { + const message = createBaseGetChainDescriptorRequest(); + return message; + }, +}; + +export const GetChainDescriptorResponse: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse" as const, + + encode(message: GetChainDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chain !== undefined) { + ChainDescriptor.encode(message.chain, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetChainDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetChainDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chain = ChainDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetChainDescriptorResponse { + return { chain: isSet(object.chain) ? ChainDescriptor.fromJSON(object.chain) : undefined }; + }, + + toJSON(message: GetChainDescriptorResponse): unknown { + const obj: any = {}; + if (message.chain !== undefined) { + obj.chain = ChainDescriptor.toJSON(message.chain); + } + return obj; + }, + + create, I>>(base?: I): GetChainDescriptorResponse { + return GetChainDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetChainDescriptorResponse { + const message = createBaseGetChainDescriptorResponse(); + message.chain = object.chain !== undefined && object.chain !== null ? ChainDescriptor.fromPartial(object.chain) : undefined; + return message; + }, +}; + +export const GetCodecDescriptorRequest: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetCodecDescriptorRequest" as const, + + encode(_: GetCodecDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetCodecDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetCodecDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetCodecDescriptorRequest { + return {}; + }, + + toJSON(_: GetCodecDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetCodecDescriptorRequest { + return GetCodecDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetCodecDescriptorRequest { + const message = createBaseGetCodecDescriptorRequest(); + return message; + }, +}; + +export const GetCodecDescriptorResponse: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse" as const, + + encode(message: GetCodecDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.codec !== undefined) { + CodecDescriptor.encode(message.codec, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetCodecDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetCodecDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codec = CodecDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetCodecDescriptorResponse { + return { codec: isSet(object.codec) ? CodecDescriptor.fromJSON(object.codec) : undefined }; + }, + + toJSON(message: GetCodecDescriptorResponse): unknown { + const obj: any = {}; + if (message.codec !== undefined) { + obj.codec = CodecDescriptor.toJSON(message.codec); + } + return obj; + }, + + create, I>>(base?: I): GetCodecDescriptorResponse { + return GetCodecDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetCodecDescriptorResponse { + const message = createBaseGetCodecDescriptorResponse(); + message.codec = object.codec !== undefined && object.codec !== null ? CodecDescriptor.fromPartial(object.codec) : undefined; + return message; + }, +}; + +export const GetConfigurationDescriptorRequest: MessageFns< + GetConfigurationDescriptorRequest, + "cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest" +> = { + $type: "cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest" as const, + + encode(_: GetConfigurationDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetConfigurationDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetConfigurationDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetConfigurationDescriptorRequest { + return {}; + }, + + toJSON(_: GetConfigurationDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetConfigurationDescriptorRequest { + return GetConfigurationDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetConfigurationDescriptorRequest { + const message = createBaseGetConfigurationDescriptorRequest(); + return message; + }, +}; + +export const GetConfigurationDescriptorResponse: MessageFns< + GetConfigurationDescriptorResponse, + "cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse" +> = { + $type: "cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse" as const, + + encode(message: GetConfigurationDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.config !== undefined) { + ConfigurationDescriptor.encode(message.config, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetConfigurationDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetConfigurationDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.config = ConfigurationDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetConfigurationDescriptorResponse { + return { config: isSet(object.config) ? ConfigurationDescriptor.fromJSON(object.config) : undefined }; + }, + + toJSON(message: GetConfigurationDescriptorResponse): unknown { + const obj: any = {}; + if (message.config !== undefined) { + obj.config = ConfigurationDescriptor.toJSON(message.config); + } + return obj; + }, + + create, I>>(base?: I): GetConfigurationDescriptorResponse { + return GetConfigurationDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetConfigurationDescriptorResponse { + const message = createBaseGetConfigurationDescriptorResponse(); + message.config = object.config !== undefined && object.config !== null ? ConfigurationDescriptor.fromPartial(object.config) : undefined; + return message; + }, +}; + +export const GetQueryServicesDescriptorRequest: MessageFns< + GetQueryServicesDescriptorRequest, + "cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest" +> = { + $type: "cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest" as const, + + encode(_: GetQueryServicesDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetQueryServicesDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetQueryServicesDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetQueryServicesDescriptorRequest { + return {}; + }, + + toJSON(_: GetQueryServicesDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetQueryServicesDescriptorRequest { + return GetQueryServicesDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetQueryServicesDescriptorRequest { + const message = createBaseGetQueryServicesDescriptorRequest(); + return message; + }, +}; + +export const GetQueryServicesDescriptorResponse: MessageFns< + GetQueryServicesDescriptorResponse, + "cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse" +> = { + $type: "cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse" as const, + + encode(message: GetQueryServicesDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.queries !== undefined) { + QueryServicesDescriptor.encode(message.queries, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetQueryServicesDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetQueryServicesDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.queries = QueryServicesDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetQueryServicesDescriptorResponse { + return { queries: isSet(object.queries) ? QueryServicesDescriptor.fromJSON(object.queries) : undefined }; + }, + + toJSON(message: GetQueryServicesDescriptorResponse): unknown { + const obj: any = {}; + if (message.queries !== undefined) { + obj.queries = QueryServicesDescriptor.toJSON(message.queries); + } + return obj; + }, + + create, I>>(base?: I): GetQueryServicesDescriptorResponse { + return GetQueryServicesDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetQueryServicesDescriptorResponse { + const message = createBaseGetQueryServicesDescriptorResponse(); + message.queries = object.queries !== undefined && object.queries !== null ? QueryServicesDescriptor.fromPartial(object.queries) : undefined; + return message; + }, +}; + +export const GetTxDescriptorRequest: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetTxDescriptorRequest" as const, + + encode(_: GetTxDescriptorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxDescriptorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxDescriptorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetTxDescriptorRequest { + return {}; + }, + + toJSON(_: GetTxDescriptorRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetTxDescriptorRequest { + return GetTxDescriptorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetTxDescriptorRequest { + const message = createBaseGetTxDescriptorRequest(); + return message; + }, +}; + +export const GetTxDescriptorResponse: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse" as const, + + encode(message: GetTxDescriptorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx !== undefined) { + TxDescriptor.encode(message.tx, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxDescriptorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxDescriptorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx = TxDescriptor.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetTxDescriptorResponse { + return { tx: isSet(object.tx) ? TxDescriptor.fromJSON(object.tx) : undefined }; + }, + + toJSON(message: GetTxDescriptorResponse): unknown { + const obj: any = {}; + if (message.tx !== undefined) { + obj.tx = TxDescriptor.toJSON(message.tx); + } + return obj; + }, + + create, I>>(base?: I): GetTxDescriptorResponse { + return GetTxDescriptorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetTxDescriptorResponse { + const message = createBaseGetTxDescriptorResponse(); + message.tx = object.tx !== undefined && object.tx !== null ? TxDescriptor.fromPartial(object.tx) : undefined; + return message; + }, +}; + +export const QueryServicesDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.QueryServicesDescriptor" as const, + + encode(message: QueryServicesDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.query_services) { + QueryServiceDescriptor.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryServicesDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryServicesDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.query_services.push(QueryServiceDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryServicesDescriptor { + return { + query_services: globalThis.Array.isArray(object?.query_services) ? object.query_services.map((e: any) => QueryServiceDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryServicesDescriptor): unknown { + const obj: any = {}; + if (message.query_services?.length) { + obj.query_services = message.query_services.map((e) => QueryServiceDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryServicesDescriptor { + return QueryServicesDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryServicesDescriptor { + const message = createBaseQueryServicesDescriptor(); + message.query_services = object.query_services?.map((e) => QueryServiceDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryServiceDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.QueryServiceDescriptor" as const, + + encode(message: QueryServiceDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fullname !== "") { + writer.uint32(10).string(message.fullname); + } + if (message.is_module !== false) { + writer.uint32(16).bool(message.is_module); + } + for (const v of message.methods) { + QueryMethodDescriptor.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryServiceDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryServiceDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fullname = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.is_module = reader.bool(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.methods.push(QueryMethodDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryServiceDescriptor { + return { + fullname: isSet(object.fullname) ? globalThis.String(object.fullname) : "", + is_module: isSet(object.is_module) ? globalThis.Boolean(object.is_module) : false, + methods: globalThis.Array.isArray(object?.methods) ? object.methods.map((e: any) => QueryMethodDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryServiceDescriptor): unknown { + const obj: any = {}; + if (message.fullname !== "") { + obj.fullname = message.fullname; + } + if (message.is_module !== false) { + obj.is_module = message.is_module; + } + if (message.methods?.length) { + obj.methods = message.methods.map((e) => QueryMethodDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryServiceDescriptor { + return QueryServiceDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryServiceDescriptor { + const message = createBaseQueryServiceDescriptor(); + message.fullname = object.fullname ?? ""; + message.is_module = object.is_module ?? false; + message.methods = object.methods?.map((e) => QueryMethodDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryMethodDescriptor: MessageFns = { + $type: "cosmos.base.reflection.v2alpha1.QueryMethodDescriptor" as const, + + encode(message: QueryMethodDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.full_query_path !== "") { + writer.uint32(18).string(message.full_query_path); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryMethodDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryMethodDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.full_query_path = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryMethodDescriptor { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + full_query_path: isSet(object.full_query_path) ? globalThis.String(object.full_query_path) : "", + }; + }, + + toJSON(message: QueryMethodDescriptor): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.full_query_path !== "") { + obj.full_query_path = message.full_query_path; + } + return obj; + }, + + create, I>>(base?: I): QueryMethodDescriptor { + return QueryMethodDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryMethodDescriptor { + const message = createBaseQueryMethodDescriptor(); + message.name = object.name ?? ""; + message.full_query_path = object.full_query_path ?? ""; + return message; + }, +}; + +function createBaseAppDescriptor(): AppDescriptor { + return { + authn: undefined, + chain: undefined, + codec: undefined, + configuration: undefined, + query_services: undefined, + tx: undefined, + }; +} + +function createBaseTxDescriptor(): TxDescriptor { + return { fullname: "", msgs: [] }; +} + +function createBaseAuthnDescriptor(): AuthnDescriptor { + return { sign_modes: [] }; +} + +function createBaseSigningModeDescriptor(): SigningModeDescriptor { + return { name: "", number: 0, authn_info_provider_method_fullname: "" }; +} + +function createBaseChainDescriptor(): ChainDescriptor { + return { id: "" }; +} + +function createBaseCodecDescriptor(): CodecDescriptor { + return { interfaces: [] }; +} + +function createBaseInterfaceDescriptor(): InterfaceDescriptor { + return { fullname: "", interface_accepting_messages: [], interface_implementers: [] }; +} + +function createBaseInterfaceImplementerDescriptor(): InterfaceImplementerDescriptor { + return { fullname: "", type_url: "" }; +} + +function createBaseInterfaceAcceptingMessageDescriptor(): InterfaceAcceptingMessageDescriptor { + return { fullname: "", field_descriptor_names: [] }; +} + +function createBaseConfigurationDescriptor(): ConfigurationDescriptor { + return { bech32_account_address_prefix: "" }; +} + +function createBaseMsgDescriptor(): MsgDescriptor { + return { msg_type_url: "" }; +} + +function createBaseGetAuthnDescriptorRequest(): GetAuthnDescriptorRequest { + return {}; +} + +function createBaseGetAuthnDescriptorResponse(): GetAuthnDescriptorResponse { + return { authn: undefined }; +} + +function createBaseGetChainDescriptorRequest(): GetChainDescriptorRequest { + return {}; +} + +function createBaseGetChainDescriptorResponse(): GetChainDescriptorResponse { + return { chain: undefined }; +} + +function createBaseGetCodecDescriptorRequest(): GetCodecDescriptorRequest { + return {}; +} + +function createBaseGetCodecDescriptorResponse(): GetCodecDescriptorResponse { + return { codec: undefined }; +} + +function createBaseGetConfigurationDescriptorRequest(): GetConfigurationDescriptorRequest { + return {}; +} + +function createBaseGetConfigurationDescriptorResponse(): GetConfigurationDescriptorResponse { + return { config: undefined }; +} + +function createBaseGetQueryServicesDescriptorRequest(): GetQueryServicesDescriptorRequest { + return {}; +} + +function createBaseGetQueryServicesDescriptorResponse(): GetQueryServicesDescriptorResponse { + return { queries: undefined }; +} + +function createBaseGetTxDescriptorRequest(): GetTxDescriptorRequest { + return {}; +} + +function createBaseGetTxDescriptorResponse(): GetTxDescriptorResponse { + return { tx: undefined }; +} + +function createBaseQueryServicesDescriptor(): QueryServicesDescriptor { + return { query_services: [] }; +} + +function createBaseQueryServiceDescriptor(): QueryServiceDescriptor { + return { fullname: "", is_module: false, methods: [] }; +} + +function createBaseQueryMethodDescriptor(): QueryMethodDescriptor { + return { name: "", full_query_path: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.reflection.v2alpha1.AppDescriptor", AppDescriptor as never], + ["/cosmos.base.reflection.v2alpha1.TxDescriptor", TxDescriptor as never], + ["/cosmos.base.reflection.v2alpha1.AuthnDescriptor", AuthnDescriptor as never], + ["/cosmos.base.reflection.v2alpha1.ChainDescriptor", ChainDescriptor as never], + ["/cosmos.base.reflection.v2alpha1.CodecDescriptor", CodecDescriptor as never], + ["/cosmos.base.reflection.v2alpha1.MsgDescriptor", MsgDescriptor as never], +]; +export const aminoConverters = { + "/cosmos.base.reflection.v2alpha1.AppDescriptor": { + aminoType: "cosmos-sdk/AppDescriptor", + toAmino: (message: AppDescriptor) => ({ ...message }), + fromAmino: (object: AppDescriptor) => ({ ...object }), + }, + + "/cosmos.base.reflection.v2alpha1.TxDescriptor": { + aminoType: "cosmos-sdk/TxDescriptor", + toAmino: (message: TxDescriptor) => ({ ...message }), + fromAmino: (object: TxDescriptor) => ({ ...object }), + }, + + "/cosmos.base.reflection.v2alpha1.AuthnDescriptor": { + aminoType: "cosmos-sdk/AuthnDescriptor", + toAmino: (message: AuthnDescriptor) => ({ ...message }), + fromAmino: (object: AuthnDescriptor) => ({ ...object }), + }, + + "/cosmos.base.reflection.v2alpha1.ChainDescriptor": { + aminoType: "cosmos-sdk/ChainDescriptor", + toAmino: (message: ChainDescriptor) => ({ ...message }), + fromAmino: (object: ChainDescriptor) => ({ ...object }), + }, + + "/cosmos.base.reflection.v2alpha1.CodecDescriptor": { + aminoType: "cosmos-sdk/CodecDescriptor", + toAmino: (message: CodecDescriptor) => ({ ...message }), + fromAmino: (object: CodecDescriptor) => ({ ...object }), + }, + + "/cosmos.base.reflection.v2alpha1.MsgDescriptor": { + aminoType: "cosmos-sdk/MsgDescriptor", + toAmino: (message: MsgDescriptor) => ({ ...message }), + fromAmino: (object: MsgDescriptor) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/index.ts new file mode 100644 index 000000000..2e267e7c5 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './snapshot'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts new file mode 100644 index 000000000..2bcafd71a --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts @@ -0,0 +1,690 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + Metadata as MetadataType, + SnapshotExtensionMeta as SnapshotExtensionMetaType, + SnapshotExtensionPayload as SnapshotExtensionPayloadType, + SnapshotIAVLItem as SnapshotIAVLItemType, + SnapshotItem as SnapshotItemType, + SnapshotStoreItem as SnapshotStoreItemType, + Snapshot as SnapshotType, +} from "../../../../../types/cosmos/base/snapshots/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface Snapshot extends SnapshotType {} +interface Metadata extends MetadataType {} +interface SnapshotItem extends SnapshotItemType {} +interface SnapshotStoreItem extends SnapshotStoreItemType {} +interface SnapshotIAVLItem extends SnapshotIAVLItemType {} +interface SnapshotExtensionMeta extends SnapshotExtensionMetaType {} +interface SnapshotExtensionPayload extends SnapshotExtensionPayloadType {} + +export const Snapshot: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.Snapshot" as const, + + encode(message: Snapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).uint64(message.height); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + if (message.chunks !== 0) { + writer.uint32(24).uint32(message.chunks); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.metadata !== undefined) { + Metadata.encode(message.metadata, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Snapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.format = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.chunks = reader.uint32(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.metadata = Metadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Snapshot { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + format: isSet(object.format) ? globalThis.Number(object.format) : 0, + chunks: isSet(object.chunks) ? globalThis.Number(object.chunks) : 0, + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + metadata: isSet(object.metadata) ? Metadata.fromJSON(object.metadata) : undefined, + }; + }, + + toJSON(message: Snapshot): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.format !== 0) { + obj.format = Math.round(message.format); + } + if (message.chunks !== 0) { + obj.chunks = Math.round(message.chunks); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.metadata !== undefined) { + obj.metadata = Metadata.toJSON(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): Snapshot { + return Snapshot.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Snapshot { + const message = createBaseSnapshot(); + message.height = object.height ?? 0; + message.format = object.format ?? 0; + message.chunks = object.chunks ?? 0; + message.hash = object.hash ?? new Uint8Array(0); + message.metadata = object.metadata !== undefined && object.metadata !== null ? Metadata.fromPartial(object.metadata) : undefined; + return message; + }, +}; + +export const Metadata: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.Metadata" as const, + + encode(message: Metadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.chunk_hashes) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Metadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chunk_hashes.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Metadata { + return { + chunk_hashes: globalThis.Array.isArray(object?.chunk_hashes) ? object.chunk_hashes.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: Metadata): unknown { + const obj: any = {}; + if (message.chunk_hashes?.length) { + obj.chunk_hashes = message.chunk_hashes.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): Metadata { + return Metadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Metadata { + const message = createBaseMetadata(); + message.chunk_hashes = object.chunk_hashes?.map((e) => e) || []; + return message; + }, +}; + +export const SnapshotItem: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.SnapshotItem" as const, + + encode(message: SnapshotItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.store !== undefined) { + SnapshotStoreItem.encode(message.store, writer.uint32(10).fork()).join(); + } + if (message.iavl !== undefined) { + SnapshotIAVLItem.encode(message.iavl, writer.uint32(18).fork()).join(); + } + if (message.extension !== undefined) { + SnapshotExtensionMeta.encode(message.extension, writer.uint32(26).fork()).join(); + } + if (message.extension_payload !== undefined) { + SnapshotExtensionPayload.encode(message.extension_payload, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SnapshotItem { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshotItem(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.store = SnapshotStoreItem.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.iavl = SnapshotIAVLItem.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.extension = SnapshotExtensionMeta.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.extension_payload = SnapshotExtensionPayload.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SnapshotItem { + return { + store: isSet(object.store) ? SnapshotStoreItem.fromJSON(object.store) : undefined, + iavl: isSet(object.iavl) ? SnapshotIAVLItem.fromJSON(object.iavl) : undefined, + extension: isSet(object.extension) ? SnapshotExtensionMeta.fromJSON(object.extension) : undefined, + extension_payload: isSet(object.extension_payload) ? SnapshotExtensionPayload.fromJSON(object.extension_payload) : undefined, + }; + }, + + toJSON(message: SnapshotItem): unknown { + const obj: any = {}; + if (message.store !== undefined) { + obj.store = SnapshotStoreItem.toJSON(message.store); + } + if (message.iavl !== undefined) { + obj.iavl = SnapshotIAVLItem.toJSON(message.iavl); + } + if (message.extension !== undefined) { + obj.extension = SnapshotExtensionMeta.toJSON(message.extension); + } + if (message.extension_payload !== undefined) { + obj.extension_payload = SnapshotExtensionPayload.toJSON(message.extension_payload); + } + return obj; + }, + + create, I>>(base?: I): SnapshotItem { + return SnapshotItem.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SnapshotItem { + const message = createBaseSnapshotItem(); + message.store = object.store !== undefined && object.store !== null ? SnapshotStoreItem.fromPartial(object.store) : undefined; + message.iavl = object.iavl !== undefined && object.iavl !== null ? SnapshotIAVLItem.fromPartial(object.iavl) : undefined; + message.extension = object.extension !== undefined && object.extension !== null ? SnapshotExtensionMeta.fromPartial(object.extension) : undefined; + message.extension_payload = + object.extension_payload !== undefined && object.extension_payload !== null ? SnapshotExtensionPayload.fromPartial(object.extension_payload) : undefined; + return message; + }, +}; + +export const SnapshotStoreItem: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.SnapshotStoreItem" as const, + + encode(message: SnapshotStoreItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SnapshotStoreItem { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshotStoreItem(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SnapshotStoreItem { + return { name: isSet(object.name) ? globalThis.String(object.name) : "" }; + }, + + toJSON(message: SnapshotStoreItem): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + return obj; + }, + + create, I>>(base?: I): SnapshotStoreItem { + return SnapshotStoreItem.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SnapshotStoreItem { + const message = createBaseSnapshotStoreItem(); + message.name = object.name ?? ""; + return message; + }, +}; + +export const SnapshotIAVLItem: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.SnapshotIAVLItem" as const, + + encode(message: SnapshotIAVLItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + if (message.version !== 0) { + writer.uint32(24).int64(message.version); + } + if (message.height !== 0) { + writer.uint32(32).int32(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SnapshotIAVLItem { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshotIAVLItem(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.version = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.height = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SnapshotIAVLItem { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + }; + }, + + toJSON(message: SnapshotIAVLItem): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): SnapshotIAVLItem { + return SnapshotIAVLItem.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SnapshotIAVLItem { + const message = createBaseSnapshotIAVLItem(); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + message.version = object.version ?? 0; + message.height = object.height ?? 0; + return message; + }, +}; + +export const SnapshotExtensionMeta: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta" as const, + + encode(message: SnapshotExtensionMeta, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SnapshotExtensionMeta { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshotExtensionMeta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.format = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SnapshotExtensionMeta { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + format: isSet(object.format) ? globalThis.Number(object.format) : 0, + }; + }, + + toJSON(message: SnapshotExtensionMeta): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.format !== 0) { + obj.format = Math.round(message.format); + } + return obj; + }, + + create, I>>(base?: I): SnapshotExtensionMeta { + return SnapshotExtensionMeta.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SnapshotExtensionMeta { + const message = createBaseSnapshotExtensionMeta(); + message.name = object.name ?? ""; + message.format = object.format ?? 0; + return message; + }, +}; + +export const SnapshotExtensionPayload: MessageFns = { + $type: "cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload" as const, + + encode(message: SnapshotExtensionPayload, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.payload.length !== 0) { + writer.uint32(10).bytes(message.payload); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SnapshotExtensionPayload { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshotExtensionPayload(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.payload = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SnapshotExtensionPayload { + return { payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0) }; + }, + + toJSON(message: SnapshotExtensionPayload): unknown { + const obj: any = {}; + if (message.payload.length !== 0) { + obj.payload = base64FromBytes(message.payload); + } + return obj; + }, + + create, I>>(base?: I): SnapshotExtensionPayload { + return SnapshotExtensionPayload.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SnapshotExtensionPayload { + const message = createBaseSnapshotExtensionPayload(); + message.payload = object.payload ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseSnapshot(): Snapshot { + return { height: 0, format: 0, chunks: 0, hash: new Uint8Array(0), metadata: undefined }; +} + +function createBaseMetadata(): Metadata { + return { chunk_hashes: [] }; +} + +function createBaseSnapshotItem(): SnapshotItem { + return { store: undefined, iavl: undefined, extension: undefined, extension_payload: undefined }; +} + +function createBaseSnapshotStoreItem(): SnapshotStoreItem { + return { name: "" }; +} + +function createBaseSnapshotIAVLItem(): SnapshotIAVLItem { + return { key: new Uint8Array(0), value: new Uint8Array(0), version: 0, height: 0 }; +} + +function createBaseSnapshotExtensionMeta(): SnapshotExtensionMeta { + return { name: "", format: 0 }; +} + +function createBaseSnapshotExtensionPayload(): SnapshotExtensionPayload { + return { payload: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.snapshots.v1beta1.Snapshot", Snapshot as never], + ["/cosmos.base.snapshots.v1beta1.Metadata", Metadata as never], + ["/cosmos.base.snapshots.v1beta1.SnapshotItem", SnapshotItem as never], + ["/cosmos.base.snapshots.v1beta1.SnapshotStoreItem", SnapshotStoreItem as never], + ["/cosmos.base.snapshots.v1beta1.SnapshotIAVLItem", SnapshotIAVLItem as never], +]; +export const aminoConverters = { + "/cosmos.base.snapshots.v1beta1.Snapshot": { + aminoType: "cosmos-sdk/Snapshot", + toAmino: (message: Snapshot) => ({ ...message }), + fromAmino: (object: Snapshot) => ({ ...object }), + }, + + "/cosmos.base.snapshots.v1beta1.Metadata": { + aminoType: "cosmos-sdk/Metadata", + toAmino: (message: Metadata) => ({ ...message }), + fromAmino: (object: Metadata) => ({ ...object }), + }, + + "/cosmos.base.snapshots.v1beta1.SnapshotItem": { + aminoType: "cosmos-sdk/SnapshotItem", + toAmino: (message: SnapshotItem) => ({ ...message }), + fromAmino: (object: SnapshotItem) => ({ ...object }), + }, + + "/cosmos.base.snapshots.v1beta1.SnapshotStoreItem": { + aminoType: "cosmos-sdk/SnapshotStoreItem", + toAmino: (message: SnapshotStoreItem) => ({ ...message }), + fromAmino: (object: SnapshotStoreItem) => ({ ...object }), + }, + + "/cosmos.base.snapshots.v1beta1.SnapshotIAVLItem": { + aminoType: "cosmos-sdk/SnapshotIAVLItem", + toAmino: (message: SnapshotIAVLItem) => ({ ...message }), + fromAmino: (object: SnapshotIAVLItem) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts new file mode 100644 index 000000000..2f2848fda --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts @@ -0,0 +1,303 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { CommitID as CommitIDType, CommitInfo as CommitInfoType, StoreInfo as StoreInfoType } from "../../../../../types/cosmos/base/store/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface CommitInfo extends CommitInfoType {} +interface StoreInfo extends StoreInfoType {} +interface CommitID extends CommitIDType {} + +export const CommitInfo: MessageFns = { + $type: "cosmos.base.store.v1beta1.CommitInfo" as const, + + encode(message: CommitInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== 0) { + writer.uint32(8).int64(message.version); + } + for (const v of message.store_infos) { + StoreInfo.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommitInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.version = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.store_infos.push(StoreInfo.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommitInfo { + return { + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + store_infos: globalThis.Array.isArray(object?.store_infos) ? object.store_infos.map((e: any) => StoreInfo.fromJSON(e)) : [], + }; + }, + + toJSON(message: CommitInfo): unknown { + const obj: any = {}; + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.store_infos?.length) { + obj.store_infos = message.store_infos.map((e) => StoreInfo.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CommitInfo { + return CommitInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommitInfo { + const message = createBaseCommitInfo(); + message.version = object.version ?? 0; + message.store_infos = object.store_infos?.map((e) => StoreInfo.fromPartial(e)) || []; + return message; + }, +}; + +export const StoreInfo: MessageFns = { + $type: "cosmos.base.store.v1beta1.StoreInfo" as const, + + encode(message: StoreInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.commit_id !== undefined) { + CommitID.encode(message.commit_id, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): StoreInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.commit_id = CommitID.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): StoreInfo { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + commit_id: isSet(object.commit_id) ? CommitID.fromJSON(object.commit_id) : undefined, + }; + }, + + toJSON(message: StoreInfo): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.commit_id !== undefined) { + obj.commit_id = CommitID.toJSON(message.commit_id); + } + return obj; + }, + + create, I>>(base?: I): StoreInfo { + return StoreInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StoreInfo { + const message = createBaseStoreInfo(); + message.name = object.name ?? ""; + message.commit_id = object.commit_id !== undefined && object.commit_id !== null ? CommitID.fromPartial(object.commit_id) : undefined; + return message; + }, +}; + +export const CommitID: MessageFns = { + $type: "cosmos.base.store.v1beta1.CommitID" as const, + + encode(message: CommitID, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== 0) { + writer.uint32(8).int64(message.version); + } + if (message.hash.length !== 0) { + writer.uint32(18).bytes(message.hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommitID { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitID(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.version = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommitID { + return { + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + }; + }, + + toJSON(message: CommitID): unknown { + const obj: any = {}; + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + return obj; + }, + + create, I>>(base?: I): CommitID { + return CommitID.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommitID { + const message = createBaseCommitID(); + message.version = object.version ?? 0; + message.hash = object.hash ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseCommitInfo(): CommitInfo { + return { version: 0, store_infos: [] }; +} + +function createBaseStoreInfo(): StoreInfo { + return { name: "", commit_id: undefined }; +} + +function createBaseCommitID(): CommitID { + return { version: 0, hash: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.store.v1beta1.CommitInfo", CommitInfo as never], + ["/cosmos.base.store.v1beta1.StoreInfo", StoreInfo as never], + ["/cosmos.base.store.v1beta1.CommitID", CommitID as never], +]; +export const aminoConverters = { + "/cosmos.base.store.v1beta1.CommitInfo": { + aminoType: "cosmos-sdk/CommitInfo", + toAmino: (message: CommitInfo) => ({ ...message }), + fromAmino: (object: CommitInfo) => ({ ...object }), + }, + + "/cosmos.base.store.v1beta1.StoreInfo": { + aminoType: "cosmos-sdk/StoreInfo", + toAmino: (message: StoreInfo) => ({ ...message }), + fromAmino: (object: StoreInfo) => ({ ...object }), + }, + + "/cosmos.base.store.v1beta1.CommitID": { + aminoType: "cosmos-sdk/CommitID", + toAmino: (message: CommitID) => ({ ...message }), + fromAmino: (object: CommitID) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/index.ts new file mode 100644 index 000000000..df916d0df --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './commit_info'; +export * from './listening'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts new file mode 100644 index 000000000..fd5ea1079 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts @@ -0,0 +1,152 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { StoreKVPair as StoreKVPairType } from "../../../../../types/cosmos/base/store/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface StoreKVPair extends StoreKVPairType {} + +export const StoreKVPair: MessageFns = { + $type: "cosmos.base.store.v1beta1.StoreKVPair" as const, + + encode(message: StoreKVPair, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.store_key !== "") { + writer.uint32(10).string(message.store_key); + } + if (message.delete !== false) { + writer.uint32(16).bool(message.delete); + } + if (message.key.length !== 0) { + writer.uint32(26).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(34).bytes(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): StoreKVPair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreKVPair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.store_key = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.delete = reader.bool(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.key = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): StoreKVPair { + return { + store_key: isSet(object.store_key) ? globalThis.String(object.store_key) : "", + delete: isSet(object.delete) ? globalThis.Boolean(object.delete) : false, + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: StoreKVPair): unknown { + const obj: any = {}; + if (message.store_key !== "") { + obj.store_key = message.store_key; + } + if (message.delete !== false) { + obj.delete = message.delete; + } + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create, I>>(base?: I): StoreKVPair { + return StoreKVPair.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StoreKVPair { + const message = createBaseStoreKVPair(); + message.store_key = object.store_key ?? ""; + message.delete = object.delete ?? false; + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseStoreKVPair(): StoreKVPair { + return { store_key: "", delete: false, key: new Uint8Array(0), value: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.base.store.v1beta1.StoreKVPair", StoreKVPair as never]]; +export const aminoConverters = { + "/cosmos.base.store.v1beta1.StoreKVPair": { + aminoType: "cosmos-sdk/StoreKVPair", + toAmino: (message: StoreKVPair) => ({ ...message }), + fromAmino: (object: StoreKVPair) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/index.ts new file mode 100644 index 000000000..cb67e4a38 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts new file mode 100644 index 000000000..90e7c78e8 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts @@ -0,0 +1,1281 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../../google/protobuf/any"; + +import { NodeInfo } from "../../../../tendermint/p2p/types"; + +import { Block } from "../../../../tendermint/types/block"; + +import { BlockID } from "../../../../tendermint/types/types"; + +import { PageRequest, PageResponse } from "../../query/v1beta1/pagination"; + +import type { + GetBlockByHeightRequest as GetBlockByHeightRequestType, + GetBlockByHeightResponse as GetBlockByHeightResponseType, + GetLatestBlockRequest as GetLatestBlockRequestType, + GetLatestBlockResponse as GetLatestBlockResponseType, + GetLatestValidatorSetRequest as GetLatestValidatorSetRequestType, + GetLatestValidatorSetResponse as GetLatestValidatorSetResponseType, + GetNodeInfoRequest as GetNodeInfoRequestType, + GetNodeInfoResponse as GetNodeInfoResponseType, + GetSyncingRequest as GetSyncingRequestType, + GetSyncingResponse as GetSyncingResponseType, + GetValidatorSetByHeightRequest as GetValidatorSetByHeightRequestType, + GetValidatorSetByHeightResponse as GetValidatorSetByHeightResponseType, + Module as ModuleType, + Validator as ValidatorType, + VersionInfo as VersionInfoType, +} from "../../../../../types/cosmos/base/tendermint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface GetValidatorSetByHeightRequest extends GetValidatorSetByHeightRequestType {} +interface GetValidatorSetByHeightResponse extends GetValidatorSetByHeightResponseType {} +interface GetLatestValidatorSetRequest extends GetLatestValidatorSetRequestType {} +interface GetLatestValidatorSetResponse extends GetLatestValidatorSetResponseType {} +interface Validator extends ValidatorType {} +interface GetBlockByHeightRequest extends GetBlockByHeightRequestType {} +interface GetBlockByHeightResponse extends GetBlockByHeightResponseType {} +interface GetLatestBlockRequest extends GetLatestBlockRequestType {} +interface GetLatestBlockResponse extends GetLatestBlockResponseType {} +interface GetSyncingRequest extends GetSyncingRequestType {} +interface GetSyncingResponse extends GetSyncingResponseType {} +interface GetNodeInfoRequest extends GetNodeInfoRequestType {} +interface GetNodeInfoResponse extends GetNodeInfoResponseType {} +interface VersionInfo extends VersionInfoType {} +interface Module extends ModuleType {} + +export const GetValidatorSetByHeightRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest" as const, + + encode(message: GetValidatorSetByHeightRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetValidatorSetByHeightRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetValidatorSetByHeightRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetValidatorSetByHeightRequest { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetValidatorSetByHeightRequest): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetValidatorSetByHeightRequest { + return GetValidatorSetByHeightRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetValidatorSetByHeightRequest { + const message = createBaseGetValidatorSetByHeightRequest(); + message.height = object.height ?? 0; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const GetValidatorSetByHeightResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse" as const, + + encode(message: GetValidatorSetByHeightResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_height !== 0) { + writer.uint32(8).int64(message.block_height); + } + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetValidatorSetByHeightResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetValidatorSetByHeightResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block_height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetValidatorSetByHeightResponse { + return { + block_height: isSet(object.block_height) ? globalThis.Number(object.block_height) : 0, + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetValidatorSetByHeightResponse): unknown { + const obj: any = {}; + if (message.block_height !== 0) { + obj.block_height = Math.round(message.block_height); + } + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetValidatorSetByHeightResponse { + return GetValidatorSetByHeightResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetValidatorSetByHeightResponse { + const message = createBaseGetValidatorSetByHeightResponse(); + message.block_height = object.block_height ?? 0; + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const GetLatestValidatorSetRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest" as const, + + encode(message: GetLatestValidatorSetRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetLatestValidatorSetRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetLatestValidatorSetRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetLatestValidatorSetRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: GetLatestValidatorSetRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetLatestValidatorSetRequest { + return GetLatestValidatorSetRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetLatestValidatorSetRequest { + const message = createBaseGetLatestValidatorSetRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const GetLatestValidatorSetResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse" as const, + + encode(message: GetLatestValidatorSetResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_height !== 0) { + writer.uint32(8).int64(message.block_height); + } + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetLatestValidatorSetResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetLatestValidatorSetResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block_height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetLatestValidatorSetResponse { + return { + block_height: isSet(object.block_height) ? globalThis.Number(object.block_height) : 0, + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetLatestValidatorSetResponse): unknown { + const obj: any = {}; + if (message.block_height !== 0) { + obj.block_height = Math.round(message.block_height); + } + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetLatestValidatorSetResponse { + return GetLatestValidatorSetResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetLatestValidatorSetResponse { + const message = createBaseGetLatestValidatorSetResponse(); + message.block_height = object.block_height ?? 0; + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const Validator: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.Validator" as const, + + encode(message: Validator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pub_key !== undefined) { + Any.encode(message.pub_key, writer.uint32(18).fork()).join(); + } + if (message.voting_power !== 0) { + writer.uint32(24).int64(message.voting_power); + } + if (message.proposer_priority !== 0) { + writer.uint32(32).int64(message.proposer_priority); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pub_key = Any.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.voting_power = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.proposer_priority = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Validator { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + pub_key: isSet(object.pub_key) ? Any.fromJSON(object.pub_key) : undefined, + voting_power: isSet(object.voting_power) ? globalThis.Number(object.voting_power) : 0, + proposer_priority: isSet(object.proposer_priority) ? globalThis.Number(object.proposer_priority) : 0, + }; + }, + + toJSON(message: Validator): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.pub_key !== undefined) { + obj.pub_key = Any.toJSON(message.pub_key); + } + if (message.voting_power !== 0) { + obj.voting_power = Math.round(message.voting_power); + } + if (message.proposer_priority !== 0) { + obj.proposer_priority = Math.round(message.proposer_priority); + } + return obj; + }, + + create, I>>(base?: I): Validator { + return Validator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Validator { + const message = createBaseValidator(); + message.address = object.address ?? ""; + message.pub_key = object.pub_key !== undefined && object.pub_key !== null ? Any.fromPartial(object.pub_key) : undefined; + message.voting_power = object.voting_power ?? 0; + message.proposer_priority = object.proposer_priority ?? 0; + return message; + }, +}; + +export const GetBlockByHeightRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest" as const, + + encode(message: GetBlockByHeightRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockByHeightRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockByHeightRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetBlockByHeightRequest { + return { height: isSet(object.height) ? globalThis.Number(object.height) : 0 }; + }, + + toJSON(message: GetBlockByHeightRequest): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): GetBlockByHeightRequest { + return GetBlockByHeightRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetBlockByHeightRequest { + const message = createBaseGetBlockByHeightRequest(); + message.height = object.height ?? 0; + return message; + }, +}; + +export const GetBlockByHeightResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse" as const, + + encode(message: GetBlockByHeightResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(10).fork()).join(); + } + if (message.block !== undefined) { + Block.encode(message.block, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockByHeightResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockByHeightResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.block = Block.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetBlockByHeightResponse { + return { + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + block: isSet(object.block) ? Block.fromJSON(object.block) : undefined, + }; + }, + + toJSON(message: GetBlockByHeightResponse): unknown { + const obj: any = {}; + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.block !== undefined) { + obj.block = Block.toJSON(message.block); + } + return obj; + }, + + create, I>>(base?: I): GetBlockByHeightResponse { + return GetBlockByHeightResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetBlockByHeightResponse { + const message = createBaseGetBlockByHeightResponse(); + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.block = object.block !== undefined && object.block !== null ? Block.fromPartial(object.block) : undefined; + return message; + }, +}; + +export const GetLatestBlockRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetLatestBlockRequest" as const, + + encode(_: GetLatestBlockRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetLatestBlockRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetLatestBlockRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetLatestBlockRequest { + return {}; + }, + + toJSON(_: GetLatestBlockRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetLatestBlockRequest { + return GetLatestBlockRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetLatestBlockRequest { + const message = createBaseGetLatestBlockRequest(); + return message; + }, +}; + +export const GetLatestBlockResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetLatestBlockResponse" as const, + + encode(message: GetLatestBlockResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(10).fork()).join(); + } + if (message.block !== undefined) { + Block.encode(message.block, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetLatestBlockResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetLatestBlockResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.block = Block.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetLatestBlockResponse { + return { + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + block: isSet(object.block) ? Block.fromJSON(object.block) : undefined, + }; + }, + + toJSON(message: GetLatestBlockResponse): unknown { + const obj: any = {}; + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.block !== undefined) { + obj.block = Block.toJSON(message.block); + } + return obj; + }, + + create, I>>(base?: I): GetLatestBlockResponse { + return GetLatestBlockResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetLatestBlockResponse { + const message = createBaseGetLatestBlockResponse(); + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.block = object.block !== undefined && object.block !== null ? Block.fromPartial(object.block) : undefined; + return message; + }, +}; + +export const GetSyncingRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetSyncingRequest" as const, + + encode(_: GetSyncingRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetSyncingRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetSyncingRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetSyncingRequest { + return {}; + }, + + toJSON(_: GetSyncingRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetSyncingRequest { + return GetSyncingRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetSyncingRequest { + const message = createBaseGetSyncingRequest(); + return message; + }, +}; + +export const GetSyncingResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetSyncingResponse" as const, + + encode(message: GetSyncingResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.syncing !== false) { + writer.uint32(8).bool(message.syncing); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetSyncingResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetSyncingResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.syncing = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetSyncingResponse { + return { syncing: isSet(object.syncing) ? globalThis.Boolean(object.syncing) : false }; + }, + + toJSON(message: GetSyncingResponse): unknown { + const obj: any = {}; + if (message.syncing !== false) { + obj.syncing = message.syncing; + } + return obj; + }, + + create, I>>(base?: I): GetSyncingResponse { + return GetSyncingResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetSyncingResponse { + const message = createBaseGetSyncingResponse(); + message.syncing = object.syncing ?? false; + return message; + }, +}; + +export const GetNodeInfoRequest: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetNodeInfoRequest" as const, + + encode(_: GetNodeInfoRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetNodeInfoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetNodeInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetNodeInfoRequest { + return {}; + }, + + toJSON(_: GetNodeInfoRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetNodeInfoRequest { + return GetNodeInfoRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetNodeInfoRequest { + const message = createBaseGetNodeInfoRequest(); + return message; + }, +}; + +export const GetNodeInfoResponse: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse" as const, + + encode(message: GetNodeInfoResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.default_node_info !== undefined) { + NodeInfo.encode(message.default_node_info, writer.uint32(10).fork()).join(); + } + if (message.application_version !== undefined) { + VersionInfo.encode(message.application_version, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetNodeInfoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetNodeInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.default_node_info = NodeInfo.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.application_version = VersionInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetNodeInfoResponse { + return { + default_node_info: isSet(object.default_node_info) ? NodeInfo.fromJSON(object.default_node_info) : undefined, + application_version: isSet(object.application_version) ? VersionInfo.fromJSON(object.application_version) : undefined, + }; + }, + + toJSON(message: GetNodeInfoResponse): unknown { + const obj: any = {}; + if (message.default_node_info !== undefined) { + obj.default_node_info = NodeInfo.toJSON(message.default_node_info); + } + if (message.application_version !== undefined) { + obj.application_version = VersionInfo.toJSON(message.application_version); + } + return obj; + }, + + create, I>>(base?: I): GetNodeInfoResponse { + return GetNodeInfoResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetNodeInfoResponse { + const message = createBaseGetNodeInfoResponse(); + message.default_node_info = + object.default_node_info !== undefined && object.default_node_info !== null ? NodeInfo.fromPartial(object.default_node_info) : undefined; + message.application_version = + object.application_version !== undefined && object.application_version !== null ? VersionInfo.fromPartial(object.application_version) : undefined; + return message; + }, +}; + +export const VersionInfo: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.VersionInfo" as const, + + encode(message: VersionInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.app_name !== "") { + writer.uint32(18).string(message.app_name); + } + if (message.version !== "") { + writer.uint32(26).string(message.version); + } + if (message.git_commit !== "") { + writer.uint32(34).string(message.git_commit); + } + if (message.build_tags !== "") { + writer.uint32(42).string(message.build_tags); + } + if (message.go_version !== "") { + writer.uint32(50).string(message.go_version); + } + for (const v of message.build_deps) { + Module.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.cosmos_sdk_version !== "") { + writer.uint32(66).string(message.cosmos_sdk_version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VersionInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersionInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.app_name = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.version = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.git_commit = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.build_tags = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.go_version = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.build_deps.push(Module.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.cosmos_sdk_version = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VersionInfo { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + app_name: isSet(object.app_name) ? globalThis.String(object.app_name) : "", + version: isSet(object.version) ? globalThis.String(object.version) : "", + git_commit: isSet(object.git_commit) ? globalThis.String(object.git_commit) : "", + build_tags: isSet(object.build_tags) ? globalThis.String(object.build_tags) : "", + go_version: isSet(object.go_version) ? globalThis.String(object.go_version) : "", + build_deps: globalThis.Array.isArray(object?.build_deps) ? object.build_deps.map((e: any) => Module.fromJSON(e)) : [], + cosmos_sdk_version: isSet(object.cosmos_sdk_version) ? globalThis.String(object.cosmos_sdk_version) : "", + }; + }, + + toJSON(message: VersionInfo): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.app_name !== "") { + obj.app_name = message.app_name; + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.git_commit !== "") { + obj.git_commit = message.git_commit; + } + if (message.build_tags !== "") { + obj.build_tags = message.build_tags; + } + if (message.go_version !== "") { + obj.go_version = message.go_version; + } + if (message.build_deps?.length) { + obj.build_deps = message.build_deps.map((e) => Module.toJSON(e)); + } + if (message.cosmos_sdk_version !== "") { + obj.cosmos_sdk_version = message.cosmos_sdk_version; + } + return obj; + }, + + create, I>>(base?: I): VersionInfo { + return VersionInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VersionInfo { + const message = createBaseVersionInfo(); + message.name = object.name ?? ""; + message.app_name = object.app_name ?? ""; + message.version = object.version ?? ""; + message.git_commit = object.git_commit ?? ""; + message.build_tags = object.build_tags ?? ""; + message.go_version = object.go_version ?? ""; + message.build_deps = object.build_deps?.map((e) => Module.fromPartial(e)) || []; + message.cosmos_sdk_version = object.cosmos_sdk_version ?? ""; + return message; + }, +}; + +export const Module: MessageFns = { + $type: "cosmos.base.tendermint.v1beta1.Module" as const, + + encode(message: Module, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.path !== "") { + writer.uint32(10).string(message.path); + } + if (message.version !== "") { + writer.uint32(18).string(message.version); + } + if (message.sum !== "") { + writer.uint32(26).string(message.sum); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Module { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.path = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.version = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.sum = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { + path: isSet(object.path) ? globalThis.String(object.path) : "", + version: isSet(object.version) ? globalThis.String(object.version) : "", + sum: isSet(object.sum) ? globalThis.String(object.sum) : "", + }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + if (message.path !== "") { + obj.path = message.path; + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.sum !== "") { + obj.sum = message.sum; + } + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.path = object.path ?? ""; + message.version = object.version ?? ""; + message.sum = object.sum ?? ""; + return message; + }, +}; + +function createBaseGetValidatorSetByHeightRequest(): GetValidatorSetByHeightRequest { + return { height: 0, pagination: undefined }; +} + +function createBaseGetValidatorSetByHeightResponse(): GetValidatorSetByHeightResponse { + return { block_height: 0, validators: [], pagination: undefined }; +} + +function createBaseGetLatestValidatorSetRequest(): GetLatestValidatorSetRequest { + return { pagination: undefined }; +} + +function createBaseGetLatestValidatorSetResponse(): GetLatestValidatorSetResponse { + return { block_height: 0, validators: [], pagination: undefined }; +} + +function createBaseValidator(): Validator { + return { address: "", pub_key: undefined, voting_power: 0, proposer_priority: 0 }; +} + +function createBaseGetBlockByHeightRequest(): GetBlockByHeightRequest { + return { height: 0 }; +} + +function createBaseGetBlockByHeightResponse(): GetBlockByHeightResponse { + return { block_id: undefined, block: undefined }; +} + +function createBaseGetLatestBlockRequest(): GetLatestBlockRequest { + return {}; +} + +function createBaseGetLatestBlockResponse(): GetLatestBlockResponse { + return { block_id: undefined, block: undefined }; +} + +function createBaseGetSyncingRequest(): GetSyncingRequest { + return {}; +} + +function createBaseGetSyncingResponse(): GetSyncingResponse { + return { syncing: false }; +} + +function createBaseGetNodeInfoRequest(): GetNodeInfoRequest { + return {}; +} + +function createBaseGetNodeInfoResponse(): GetNodeInfoResponse { + return { default_node_info: undefined, application_version: undefined }; +} + +function createBaseVersionInfo(): VersionInfo { + return { + name: "", + app_name: "", + version: "", + git_commit: "", + build_tags: "", + go_version: "", + build_deps: [], + cosmos_sdk_version: "", + }; +} + +function createBaseModule(): Module { + return { path: "", version: "", sum: "" }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.tendermint.v1beta1.Validator", Validator as never], + ["/cosmos.base.tendermint.v1beta1.GetSyncingRequest", GetSyncingRequest as never], + ["/cosmos.base.tendermint.v1beta1.GetSyncingResponse", GetSyncingResponse as never], + ["/cosmos.base.tendermint.v1beta1.GetNodeInfoRequest", GetNodeInfoRequest as never], + ["/cosmos.base.tendermint.v1beta1.VersionInfo", VersionInfo as never], + ["/cosmos.base.tendermint.v1beta1.Module", Module as never], +]; +export const aminoConverters = { + "/cosmos.base.tendermint.v1beta1.Validator": { + aminoType: "cosmos-sdk/Validator", + toAmino: (message: Validator) => ({ ...message }), + fromAmino: (object: Validator) => ({ ...object }), + }, + + "/cosmos.base.tendermint.v1beta1.GetSyncingRequest": { + aminoType: "cosmos-sdk/GetSyncingRequest", + toAmino: (message: GetSyncingRequest) => ({ ...message }), + fromAmino: (object: GetSyncingRequest) => ({ ...object }), + }, + + "/cosmos.base.tendermint.v1beta1.GetSyncingResponse": { + aminoType: "cosmos-sdk/GetSyncingResponse", + toAmino: (message: GetSyncingResponse) => ({ ...message }), + fromAmino: (object: GetSyncingResponse) => ({ ...object }), + }, + + "/cosmos.base.tendermint.v1beta1.GetNodeInfoRequest": { + aminoType: "cosmos-sdk/GetNodeInfoRequest", + toAmino: (message: GetNodeInfoRequest) => ({ ...message }), + fromAmino: (object: GetNodeInfoRequest) => ({ ...object }), + }, + + "/cosmos.base.tendermint.v1beta1.VersionInfo": { + aminoType: "cosmos-sdk/VersionInfo", + toAmino: (message: VersionInfo) => ({ ...message }), + fromAmino: (object: VersionInfo) => ({ ...object }), + }, + + "/cosmos.base.tendermint.v1beta1.Module": { + aminoType: "cosmos-sdk/Module", + toAmino: (message: Module) => ({ ...message }), + fromAmino: (object: Module) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts new file mode 100644 index 000000000..6ddd21e37 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts @@ -0,0 +1,317 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Coin as CoinType, DecCoin as DecCoinType, DecProto as DecProtoType, IntProto as IntProtoType } from "../../../../types/cosmos/base/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Coin extends CoinType {} +interface DecCoin extends DecCoinType {} +interface IntProto extends IntProtoType {} +interface DecProto extends DecProtoType {} + +export const Coin: MessageFns = { + $type: "cosmos.base.v1beta1.Coin" as const, + + encode(message: Coin, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.amount !== "") { + writer.uint32(18).string(message.amount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Coin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Coin { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + amount: isSet(object.amount) ? globalThis.String(object.amount) : "", + }; + }, + + toJSON(message: Coin): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.amount !== "") { + obj.amount = message.amount; + } + return obj; + }, + + create, I>>(base?: I): Coin { + return Coin.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Coin { + const message = createBaseCoin(); + message.denom = object.denom ?? ""; + message.amount = object.amount ?? ""; + return message; + }, +}; + +export const DecCoin: MessageFns = { + $type: "cosmos.base.v1beta1.DecCoin" as const, + + encode(message: DecCoin, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.amount !== "") { + writer.uint32(18).string(message.amount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DecCoin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecCoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DecCoin { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + amount: isSet(object.amount) ? globalThis.String(object.amount) : "", + }; + }, + + toJSON(message: DecCoin): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.amount !== "") { + obj.amount = message.amount; + } + return obj; + }, + + create, I>>(base?: I): DecCoin { + return DecCoin.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DecCoin { + const message = createBaseDecCoin(); + message.denom = object.denom ?? ""; + message.amount = object.amount ?? ""; + return message; + }, +}; + +export const IntProto: MessageFns = { + $type: "cosmos.base.v1beta1.IntProto" as const, + + encode(message: IntProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.int !== "") { + writer.uint32(10).string(message.int); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): IntProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIntProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.int = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): IntProto { + return { int: isSet(object.int) ? globalThis.String(object.int) : "" }; + }, + + toJSON(message: IntProto): unknown { + const obj: any = {}; + if (message.int !== "") { + obj.int = message.int; + } + return obj; + }, + + create, I>>(base?: I): IntProto { + return IntProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): IntProto { + const message = createBaseIntProto(); + message.int = object.int ?? ""; + return message; + }, +}; + +export const DecProto: MessageFns = { + $type: "cosmos.base.v1beta1.DecProto" as const, + + encode(message: DecProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.dec !== "") { + writer.uint32(10).string(message.dec); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DecProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dec = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DecProto { + return { dec: isSet(object.dec) ? globalThis.String(object.dec) : "" }; + }, + + toJSON(message: DecProto): unknown { + const obj: any = {}; + if (message.dec !== "") { + obj.dec = message.dec; + } + return obj; + }, + + create, I>>(base?: I): DecProto { + return DecProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DecProto { + const message = createBaseDecProto(); + message.dec = object.dec ?? ""; + return message; + }, +}; + +function createBaseCoin(): Coin { + return { denom: "", amount: "" }; +} + +function createBaseDecCoin(): DecCoin { + return { denom: "", amount: "" }; +} + +function createBaseIntProto(): IntProto { + return { int: "" }; +} + +function createBaseDecProto(): DecProto { + return { dec: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.base.v1beta1.Coin", Coin as never], + ["/cosmos.base.v1beta1.DecCoin", DecCoin as never], + ["/cosmos.base.v1beta1.IntProto", IntProto as never], + ["/cosmos.base.v1beta1.DecProto", DecProto as never], +]; +export const aminoConverters = { + "/cosmos.base.v1beta1.Coin": { + aminoType: "cosmos-sdk/Coin", + toAmino: (message: Coin) => ({ ...message }), + fromAmino: (object: Coin) => ({ ...object }), + }, + + "/cosmos.base.v1beta1.DecCoin": { + aminoType: "cosmos-sdk/DecCoin", + toAmino: (message: DecCoin) => ({ ...message }), + fromAmino: (object: DecCoin) => ({ ...object }), + }, + + "/cosmos.base.v1beta1.IntProto": { + aminoType: "cosmos-sdk/IntProto", + toAmino: (message: IntProto) => ({ ...message }), + fromAmino: (object: IntProto) => ({ ...object }), + }, + + "/cosmos.base.v1beta1.DecProto": { + aminoType: "cosmos-sdk/DecProto", + toAmino: (message: DecProto) => ({ ...message }), + fromAmino: (object: DecProto) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/base/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/index.ts new file mode 100644 index 000000000..c2ab970af --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './coin'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts new file mode 100644 index 000000000..21eebe6bd --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts @@ -0,0 +1,244 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { CapabilityOwners as CapabilityOwnersType, Capability as CapabilityType, Owner as OwnerType } from "../../../../types/cosmos/capability/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Capability extends CapabilityType {} +interface Owner extends OwnerType {} +interface CapabilityOwners extends CapabilityOwnersType {} + +export const Capability: MessageFns = { + $type: "cosmos.capability.v1beta1.Capability" as const, + + encode(message: Capability, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint64(message.index); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Capability { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCapability(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Capability { + return { index: isSet(object.index) ? globalThis.Number(object.index) : 0 }; + }, + + toJSON(message: Capability): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + return obj; + }, + + create, I>>(base?: I): Capability { + return Capability.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Capability { + const message = createBaseCapability(); + message.index = object.index ?? 0; + return message; + }, +}; + +export const Owner: MessageFns = { + $type: "cosmos.capability.v1beta1.Owner" as const, + + encode(message: Owner, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.module !== "") { + writer.uint32(10).string(message.module); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Owner { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOwner(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.module = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Owner { + return { + module: isSet(object.module) ? globalThis.String(object.module) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", + }; + }, + + toJSON(message: Owner): unknown { + const obj: any = {}; + if (message.module !== "") { + obj.module = message.module; + } + if (message.name !== "") { + obj.name = message.name; + } + return obj; + }, + + create, I>>(base?: I): Owner { + return Owner.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Owner { + const message = createBaseOwner(); + message.module = object.module ?? ""; + message.name = object.name ?? ""; + return message; + }, +}; + +export const CapabilityOwners: MessageFns = { + $type: "cosmos.capability.v1beta1.CapabilityOwners" as const, + + encode(message: CapabilityOwners, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.owners) { + Owner.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CapabilityOwners { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCapabilityOwners(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.owners.push(Owner.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CapabilityOwners { + return { owners: globalThis.Array.isArray(object?.owners) ? object.owners.map((e: any) => Owner.fromJSON(e)) : [] }; + }, + + toJSON(message: CapabilityOwners): unknown { + const obj: any = {}; + if (message.owners?.length) { + obj.owners = message.owners.map((e) => Owner.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CapabilityOwners { + return CapabilityOwners.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CapabilityOwners { + const message = createBaseCapabilityOwners(); + message.owners = object.owners?.map((e) => Owner.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCapability(): Capability { + return { index: 0 }; +} + +function createBaseOwner(): Owner { + return { module: "", name: "" }; +} + +function createBaseCapabilityOwners(): CapabilityOwners { + return { owners: [] }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.capability.v1beta1.Capability", Capability as never], + ["/cosmos.capability.v1beta1.Owner", Owner as never], + ["/cosmos.capability.v1beta1.CapabilityOwners", CapabilityOwners as never], +]; +export const aminoConverters = { + "/cosmos.capability.v1beta1.Capability": { + aminoType: "cosmos-sdk/Capability", + toAmino: (message: Capability) => ({ ...message }), + fromAmino: (object: Capability) => ({ ...object }), + }, + + "/cosmos.capability.v1beta1.Owner": { + aminoType: "cosmos-sdk/Owner", + toAmino: (message: Owner) => ({ ...message }), + fromAmino: (object: Owner) => ({ ...object }), + }, + + "/cosmos.capability.v1beta1.CapabilityOwners": { + aminoType: "cosmos-sdk/CapabilityOwners", + toAmino: (message: CapabilityOwners) => ({ ...message }), + fromAmino: (object: CapabilityOwners) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts new file mode 100644 index 000000000..619de555a --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts @@ -0,0 +1,196 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { CapabilityOwners } from "./capability"; + +import type { GenesisOwners as GenesisOwnersType, GenesisState as GenesisStateType } from "../../../../types/cosmos/capability/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisOwners extends GenesisOwnersType {} +interface GenesisState extends GenesisStateType {} + +export const GenesisOwners: MessageFns = { + $type: "cosmos.capability.v1beta1.GenesisOwners" as const, + + encode(message: GenesisOwners, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint64(message.index); + } + if (message.index_owners !== undefined) { + CapabilityOwners.encode(message.index_owners, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisOwners { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisOwners(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.index_owners = CapabilityOwners.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisOwners { + return { + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + index_owners: isSet(object.index_owners) ? CapabilityOwners.fromJSON(object.index_owners) : undefined, + }; + }, + + toJSON(message: GenesisOwners): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.index_owners !== undefined) { + obj.index_owners = CapabilityOwners.toJSON(message.index_owners); + } + return obj; + }, + + create, I>>(base?: I): GenesisOwners { + return GenesisOwners.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisOwners { + const message = createBaseGenesisOwners(); + message.index = object.index ?? 0; + message.index_owners = object.index_owners !== undefined && object.index_owners !== null ? CapabilityOwners.fromPartial(object.index_owners) : undefined; + return message; + }, +}; + +export const GenesisState: MessageFns = { + $type: "cosmos.capability.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint64(message.index); + } + for (const v of message.owners) { + GenesisOwners.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.owners.push(GenesisOwners.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + owners: globalThis.Array.isArray(object?.owners) ? object.owners.map((e: any) => GenesisOwners.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.owners?.length) { + obj.owners = message.owners.map((e) => GenesisOwners.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.index = object.index ?? 0; + message.owners = object.owners?.map((e) => GenesisOwners.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisOwners(): GenesisOwners { + return { index: 0, index_owners: undefined }; +} + +function createBaseGenesisState(): GenesisState { + return { index: 0, owners: [] }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.capability.v1beta1.GenesisOwners", GenesisOwners as never], + ["/cosmos.capability.v1beta1.GenesisState", GenesisState as never], +]; +export const aminoConverters = { + "/cosmos.capability.v1beta1.GenesisOwners": { + aminoType: "cosmos-sdk/GenesisOwners", + toAmino: (message: GenesisOwners) => ({ ...message }), + fromAmino: (object: GenesisOwners) => ({ ...object }), + }, + + "/cosmos.capability.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/index.ts new file mode 100644 index 000000000..5ce4a1ada --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './capability'; +export * from './genesis'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts new file mode 100644 index 000000000..f31b25888 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts @@ -0,0 +1,82 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/crisis/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.crisis.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.constant_fee !== undefined) { + Coin.encode(message.constant_fee, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 26) { + break; + } + + message.constant_fee = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { constant_fee: isSet(object.constant_fee) ? Coin.fromJSON(object.constant_fee) : undefined }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.constant_fee !== undefined) { + obj.constant_fee = Coin.toJSON(message.constant_fee); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.constant_fee = object.constant_fee !== undefined && object.constant_fee !== null ? Coin.fromPartial(object.constant_fee) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { constant_fee: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.crisis.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.crisis.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/index.ts new file mode 100644 index 000000000..ae9f532a8 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './genesis'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts new file mode 100644 index 000000000..f2c3cea6c --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts @@ -0,0 +1,161 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + MsgVerifyInvariantResponse as MsgVerifyInvariantResponseType, + MsgVerifyInvariant as MsgVerifyInvariantType, +} from "../../../../types/cosmos/crisis/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgVerifyInvariant extends MsgVerifyInvariantType {} +interface MsgVerifyInvariantResponse extends MsgVerifyInvariantResponseType {} + +export const MsgVerifyInvariant: MessageFns = { + $type: "cosmos.crisis.v1beta1.MsgVerifyInvariant" as const, + + encode(message: MsgVerifyInvariant, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.invariant_module_name !== "") { + writer.uint32(18).string(message.invariant_module_name); + } + if (message.invariant_route !== "") { + writer.uint32(26).string(message.invariant_route); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVerifyInvariant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVerifyInvariant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.invariant_module_name = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.invariant_route = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgVerifyInvariant { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + invariant_module_name: isSet(object.invariant_module_name) ? globalThis.String(object.invariant_module_name) : "", + invariant_route: isSet(object.invariant_route) ? globalThis.String(object.invariant_route) : "", + }; + }, + + toJSON(message: MsgVerifyInvariant): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.invariant_module_name !== "") { + obj.invariant_module_name = message.invariant_module_name; + } + if (message.invariant_route !== "") { + obj.invariant_route = message.invariant_route; + } + return obj; + }, + + create, I>>(base?: I): MsgVerifyInvariant { + return MsgVerifyInvariant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgVerifyInvariant { + const message = createBaseMsgVerifyInvariant(); + message.sender = object.sender ?? ""; + message.invariant_module_name = object.invariant_module_name ?? ""; + message.invariant_route = object.invariant_route ?? ""; + return message; + }, +}; + +export const MsgVerifyInvariantResponse: MessageFns = { + $type: "cosmos.crisis.v1beta1.MsgVerifyInvariantResponse" as const, + + encode(_: MsgVerifyInvariantResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVerifyInvariantResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVerifyInvariantResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgVerifyInvariantResponse { + return {}; + }, + + toJSON(_: MsgVerifyInvariantResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgVerifyInvariantResponse { + return MsgVerifyInvariantResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgVerifyInvariantResponse { + const message = createBaseMsgVerifyInvariantResponse(); + return message; + }, +}; + +function createBaseMsgVerifyInvariant(): MsgVerifyInvariant { + return { sender: "", invariant_module_name: "", invariant_route: "" }; +} + +function createBaseMsgVerifyInvariantResponse(): MsgVerifyInvariantResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.crisis.v1beta1.MsgVerifyInvariant", MsgVerifyInvariant as never]]; +export const aminoConverters = { + "/cosmos.crisis.v1beta1.MsgVerifyInvariant": { + aminoType: "cosmos-sdk/MsgVerifyInvariant", + toAmino: (message: MsgVerifyInvariant) => ({ ...message }), + fromAmino: (object: MsgVerifyInvariant) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts new file mode 100644 index 000000000..01cce2630 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts @@ -0,0 +1,174 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/ed25519"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface PubKey extends PubKeyType {} +interface PrivKey extends PrivKeyType {} + +export const PubKey: MessageFns = { + $type: "cosmos.crypto.ed25519.PubKey" as const, + + encode(message: PubKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PubKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PubKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PubKey { + return PubKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +export const PrivKey: MessageFns = { + $type: "cosmos.crypto.ed25519.PrivKey" as const, + + encode(message: PrivKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PrivKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrivKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PrivKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PrivKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PrivKey { + return PrivKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PrivKey { + const message = createBasePrivKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +function createBasePubKey(): PubKey { + return { key: new Uint8Array(0) }; +} + +function createBasePrivKey(): PrivKey { + return { key: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.crypto.ed25519.PubKey", PubKey as never], + ["/cosmos.crypto.ed25519.PrivKey", PrivKey as never], +]; +export const aminoConverters = { + "/cosmos.crypto.ed25519.PubKey": { + aminoType: "cosmos-sdk/PubKey", + toAmino: (message: PubKey) => ({ ...message }), + fromAmino: (object: PubKey) => ({ ...object }), + }, + + "/cosmos.crypto.ed25519.PrivKey": { + aminoType: "cosmos-sdk/PrivKey", + toAmino: (message: PrivKey) => ({ ...message }), + fromAmino: (object: PrivKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts new file mode 100644 index 000000000..12bc09986 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts @@ -0,0 +1,99 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import type { LegacyAminoPubKey as LegacyAminoPubKeyType } from "../../../../types/cosmos/crypto/multisig"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface LegacyAminoPubKey extends LegacyAminoPubKeyType {} + +export const LegacyAminoPubKey: MessageFns = { + $type: "cosmos.crypto.multisig.LegacyAminoPubKey" as const, + + encode(message: LegacyAminoPubKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.threshold !== 0) { + writer.uint32(8).uint32(message.threshold); + } + for (const v of message.public_keys) { + Any.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LegacyAminoPubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyAminoPubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.threshold = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.public_keys.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LegacyAminoPubKey { + return { + threshold: isSet(object.threshold) ? globalThis.Number(object.threshold) : 0, + public_keys: globalThis.Array.isArray(object?.public_keys) ? object.public_keys.map((e: any) => Any.fromJSON(e)) : [], + }; + }, + + toJSON(message: LegacyAminoPubKey): unknown { + const obj: any = {}; + if (message.threshold !== 0) { + obj.threshold = Math.round(message.threshold); + } + if (message.public_keys?.length) { + obj.public_keys = message.public_keys.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): LegacyAminoPubKey { + return LegacyAminoPubKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LegacyAminoPubKey { + const message = createBaseLegacyAminoPubKey(); + message.threshold = object.threshold ?? 0; + message.public_keys = object.public_keys?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseLegacyAminoPubKey(): LegacyAminoPubKey { + return { threshold: 0, public_keys: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.crypto.multisig.LegacyAminoPubKey", LegacyAminoPubKey as never]]; +export const aminoConverters = { + "/cosmos.crypto.multisig.LegacyAminoPubKey": { + aminoType: "cosmos-sdk/LegacyAminoPubKey", + toAmino: (message: LegacyAminoPubKey) => ({ ...message }), + fromAmino: (object: LegacyAminoPubKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/index.ts new file mode 100644 index 000000000..ae181b1c7 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './multisig'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts new file mode 100644 index 000000000..f6dfa43db --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts @@ -0,0 +1,193 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { CompactBitArray as CompactBitArrayType, MultiSignature as MultiSignatureType } from "../../../../../types/cosmos/crypto/multisig/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface MultiSignature extends MultiSignatureType {} +interface CompactBitArray extends CompactBitArrayType {} + +export const MultiSignature: MessageFns = { + $type: "cosmos.crypto.multisig.v1beta1.MultiSignature" as const, + + encode(message: MultiSignature, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.signatures) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MultiSignature { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiSignature(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.signatures.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MultiSignature { + return { + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: MultiSignature): unknown { + const obj: any = {}; + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): MultiSignature { + return MultiSignature.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MultiSignature { + const message = createBaseMultiSignature(); + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, +}; + +export const CompactBitArray: MessageFns = { + $type: "cosmos.crypto.multisig.v1beta1.CompactBitArray" as const, + + encode(message: CompactBitArray, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.extra_bits_stored !== 0) { + writer.uint32(8).uint32(message.extra_bits_stored); + } + if (message.elems.length !== 0) { + writer.uint32(18).bytes(message.elems); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CompactBitArray { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompactBitArray(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.extra_bits_stored = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.elems = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CompactBitArray { + return { + extra_bits_stored: isSet(object.extra_bits_stored) ? globalThis.Number(object.extra_bits_stored) : 0, + elems: isSet(object.elems) ? bytesFromBase64(object.elems) : new Uint8Array(0), + }; + }, + + toJSON(message: CompactBitArray): unknown { + const obj: any = {}; + if (message.extra_bits_stored !== 0) { + obj.extra_bits_stored = Math.round(message.extra_bits_stored); + } + if (message.elems.length !== 0) { + obj.elems = base64FromBytes(message.elems); + } + return obj; + }, + + create, I>>(base?: I): CompactBitArray { + return CompactBitArray.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CompactBitArray { + const message = createBaseCompactBitArray(); + message.extra_bits_stored = object.extra_bits_stored ?? 0; + message.elems = object.elems ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMultiSignature(): MultiSignature { + return { signatures: [] }; +} + +function createBaseCompactBitArray(): CompactBitArray { + return { extra_bits_stored: 0, elems: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.crypto.multisig.v1beta1.MultiSignature", MultiSignature as never], + ["/cosmos.crypto.multisig.v1beta1.CompactBitArray", CompactBitArray as never], +]; +export const aminoConverters = { + "/cosmos.crypto.multisig.v1beta1.MultiSignature": { + aminoType: "cosmos-sdk/MultiSignature", + toAmino: (message: MultiSignature) => ({ ...message }), + fromAmino: (object: MultiSignature) => ({ ...object }), + }, + + "/cosmos.crypto.multisig.v1beta1.CompactBitArray": { + aminoType: "cosmos-sdk/CompactBitArray", + toAmino: (message: CompactBitArray) => ({ ...message }), + fromAmino: (object: CompactBitArray) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts new file mode 100644 index 000000000..8ab0fc644 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts @@ -0,0 +1,174 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/secp256k1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface PubKey extends PubKeyType {} +interface PrivKey extends PrivKeyType {} + +export const PubKey: MessageFns = { + $type: "cosmos.crypto.secp256k1.PubKey" as const, + + encode(message: PubKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PubKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PubKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PubKey { + return PubKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +export const PrivKey: MessageFns = { + $type: "cosmos.crypto.secp256k1.PrivKey" as const, + + encode(message: PrivKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PrivKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrivKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PrivKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PrivKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PrivKey { + return PrivKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PrivKey { + const message = createBasePrivKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +function createBasePubKey(): PubKey { + return { key: new Uint8Array(0) }; +} + +function createBasePrivKey(): PrivKey { + return { key: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.crypto.secp256k1.PubKey", PubKey as never], + ["/cosmos.crypto.secp256k1.PrivKey", PrivKey as never], +]; +export const aminoConverters = { + "/cosmos.crypto.secp256k1.PubKey": { + aminoType: "cosmos-sdk/PubKey", + toAmino: (message: PubKey) => ({ ...message }), + fromAmino: (object: PubKey) => ({ ...object }), + }, + + "/cosmos.crypto.secp256k1.PrivKey": { + aminoType: "cosmos-sdk/PrivKey", + toAmino: (message: PrivKey) => ({ ...message }), + fromAmino: (object: PrivKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts new file mode 100644 index 000000000..64710b2d1 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts @@ -0,0 +1,174 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/secp256r1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface PubKey extends PubKeyType {} +interface PrivKey extends PrivKeyType {} + +export const PubKey: MessageFns = { + $type: "cosmos.crypto.secp256r1.PubKey" as const, + + encode(message: PubKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PubKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PubKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PubKey { + return PubKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +export const PrivKey: MessageFns = { + $type: "cosmos.crypto.secp256r1.PrivKey" as const, + + encode(message: PrivKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.secret.length !== 0) { + writer.uint32(10).bytes(message.secret); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PrivKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrivKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.secret = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PrivKey { + return { secret: isSet(object.secret) ? bytesFromBase64(object.secret) : new Uint8Array(0) }; + }, + + toJSON(message: PrivKey): unknown { + const obj: any = {}; + if (message.secret.length !== 0) { + obj.secret = base64FromBytes(message.secret); + } + return obj; + }, + + create, I>>(base?: I): PrivKey { + return PrivKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PrivKey { + const message = createBasePrivKey(); + message.secret = object.secret ?? new Uint8Array(0); + return message; + }, +}; + +function createBasePubKey(): PubKey { + return { key: new Uint8Array(0) }; +} + +function createBasePrivKey(): PrivKey { + return { secret: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.crypto.secp256r1.PubKey", PubKey as never], + ["/cosmos.crypto.secp256r1.PrivKey", PrivKey as never], +]; +export const aminoConverters = { + "/cosmos.crypto.secp256r1.PubKey": { + aminoType: "cosmos-sdk/PubKey", + toAmino: (message: PubKey) => ({ ...message }), + fromAmino: (object: PubKey) => ({ ...object }), + }, + + "/cosmos.crypto.secp256r1.PrivKey": { + aminoType: "cosmos-sdk/PrivKey", + toAmino: (message: PrivKey) => ({ ...message }), + fromAmino: (object: PrivKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/index.ts b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts new file mode 100644 index 000000000..b279ce297 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts @@ -0,0 +1,105 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PubKey as PubKeyType } from "../../../../types/cosmos/crypto/sr25519"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface PubKey extends PubKeyType {} + +export const PubKey: MessageFns = { + $type: "cosmos.crypto.sr25519.PubKey" as const, + + encode(message: PubKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PubKey { + return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0) }; + }, + + toJSON(message: PubKey): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + return obj; + }, + + create, I>>(base?: I): PubKey { + return PubKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(0); + return message; + }, +}; + +function createBasePubKey(): PubKey { + return { key: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.crypto.sr25519.PubKey", PubKey as never]]; +export const aminoConverters = { + "/cosmos.crypto.sr25519.PubKey": { + aminoType: "cosmos-sdk/PubKey", + toAmino: (message: PubKey) => ({ ...message }), + fromAmino: (object: PubKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts new file mode 100644 index 000000000..96f376a45 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts @@ -0,0 +1,1053 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin, DecCoin } from "../../base/v1beta1/coin"; + +import type { + CommunityPoolSpendProposal as CommunityPoolSpendProposalType, + CommunityPoolSpendProposalWithDeposit as CommunityPoolSpendProposalWithDepositType, + DelegationDelegatorReward as DelegationDelegatorRewardType, + DelegatorStartingInfo as DelegatorStartingInfoType, + FeePool as FeePoolType, + Params as ParamsType, + ValidatorAccumulatedCommission as ValidatorAccumulatedCommissionType, + ValidatorCurrentRewards as ValidatorCurrentRewardsType, + ValidatorHistoricalRewards as ValidatorHistoricalRewardsType, + ValidatorOutstandingRewards as ValidatorOutstandingRewardsType, + ValidatorSlashEvent as ValidatorSlashEventType, + ValidatorSlashEvents as ValidatorSlashEventsType, +} from "../../../../types/cosmos/distribution/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Params extends ParamsType {} +interface ValidatorHistoricalRewards extends ValidatorHistoricalRewardsType {} +interface ValidatorCurrentRewards extends ValidatorCurrentRewardsType {} +interface ValidatorAccumulatedCommission extends ValidatorAccumulatedCommissionType {} +interface ValidatorOutstandingRewards extends ValidatorOutstandingRewardsType {} +interface ValidatorSlashEvent extends ValidatorSlashEventType {} +interface ValidatorSlashEvents extends ValidatorSlashEventsType {} +interface FeePool extends FeePoolType {} +interface CommunityPoolSpendProposal extends CommunityPoolSpendProposalType {} +interface DelegatorStartingInfo extends DelegatorStartingInfoType {} +interface DelegationDelegatorReward extends DelegationDelegatorRewardType {} +interface CommunityPoolSpendProposalWithDeposit extends CommunityPoolSpendProposalWithDepositType {} + +export const Params: MessageFns = { + $type: "cosmos.distribution.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.community_tax !== "") { + writer.uint32(10).string(message.community_tax); + } + if (message.base_proposer_reward !== "") { + writer.uint32(18).string(message.base_proposer_reward); + } + if (message.bonus_proposer_reward !== "") { + writer.uint32(26).string(message.bonus_proposer_reward); + } + if (message.withdraw_addr_enabled !== false) { + writer.uint32(32).bool(message.withdraw_addr_enabled); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.community_tax = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.base_proposer_reward = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.bonus_proposer_reward = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.withdraw_addr_enabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + community_tax: isSet(object.community_tax) ? globalThis.String(object.community_tax) : "", + base_proposer_reward: isSet(object.base_proposer_reward) ? globalThis.String(object.base_proposer_reward) : "", + bonus_proposer_reward: isSet(object.bonus_proposer_reward) ? globalThis.String(object.bonus_proposer_reward) : "", + withdraw_addr_enabled: isSet(object.withdraw_addr_enabled) ? globalThis.Boolean(object.withdraw_addr_enabled) : false, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.community_tax !== "") { + obj.community_tax = message.community_tax; + } + if (message.base_proposer_reward !== "") { + obj.base_proposer_reward = message.base_proposer_reward; + } + if (message.bonus_proposer_reward !== "") { + obj.bonus_proposer_reward = message.bonus_proposer_reward; + } + if (message.withdraw_addr_enabled !== false) { + obj.withdraw_addr_enabled = message.withdraw_addr_enabled; + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.community_tax = object.community_tax ?? ""; + message.base_proposer_reward = object.base_proposer_reward ?? ""; + message.bonus_proposer_reward = object.bonus_proposer_reward ?? ""; + message.withdraw_addr_enabled = object.withdraw_addr_enabled ?? false; + return message; + }, +}; + +export const ValidatorHistoricalRewards: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorHistoricalRewards" as const, + + encode(message: ValidatorHistoricalRewards, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.cumulative_reward_ratio) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.reference_count !== 0) { + writer.uint32(16).uint32(message.reference_count); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorHistoricalRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorHistoricalRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cumulative_reward_ratio.push(DecCoin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.reference_count = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorHistoricalRewards { + return { + cumulative_reward_ratio: globalThis.Array.isArray(object?.cumulative_reward_ratio) + ? object.cumulative_reward_ratio.map((e: any) => DecCoin.fromJSON(e)) + : [], + reference_count: isSet(object.reference_count) ? globalThis.Number(object.reference_count) : 0, + }; + }, + + toJSON(message: ValidatorHistoricalRewards): unknown { + const obj: any = {}; + if (message.cumulative_reward_ratio?.length) { + obj.cumulative_reward_ratio = message.cumulative_reward_ratio.map((e) => DecCoin.toJSON(e)); + } + if (message.reference_count !== 0) { + obj.reference_count = Math.round(message.reference_count); + } + return obj; + }, + + create, I>>(base?: I): ValidatorHistoricalRewards { + return ValidatorHistoricalRewards.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorHistoricalRewards { + const message = createBaseValidatorHistoricalRewards(); + message.cumulative_reward_ratio = object.cumulative_reward_ratio?.map((e) => DecCoin.fromPartial(e)) || []; + message.reference_count = object.reference_count ?? 0; + return message; + }, +}; + +export const ValidatorCurrentRewards: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorCurrentRewards" as const, + + encode(message: ValidatorCurrentRewards, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.rewards) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.period !== 0) { + writer.uint32(16).uint64(message.period); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorCurrentRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorCurrentRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rewards.push(DecCoin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.period = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorCurrentRewards { + return { + rewards: globalThis.Array.isArray(object?.rewards) ? object.rewards.map((e: any) => DecCoin.fromJSON(e)) : [], + period: isSet(object.period) ? globalThis.Number(object.period) : 0, + }; + }, + + toJSON(message: ValidatorCurrentRewards): unknown { + const obj: any = {}; + if (message.rewards?.length) { + obj.rewards = message.rewards.map((e) => DecCoin.toJSON(e)); + } + if (message.period !== 0) { + obj.period = Math.round(message.period); + } + return obj; + }, + + create, I>>(base?: I): ValidatorCurrentRewards { + return ValidatorCurrentRewards.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorCurrentRewards { + const message = createBaseValidatorCurrentRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromPartial(e)) || []; + message.period = object.period ?? 0; + return message; + }, +}; + +export const ValidatorAccumulatedCommission: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorAccumulatedCommission" as const, + + encode(message: ValidatorAccumulatedCommission, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.commission) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorAccumulatedCommission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorAccumulatedCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.commission.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorAccumulatedCommission { + return { + commission: globalThis.Array.isArray(object?.commission) ? object.commission.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: ValidatorAccumulatedCommission): unknown { + const obj: any = {}; + if (message.commission?.length) { + obj.commission = message.commission.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorAccumulatedCommission { + return ValidatorAccumulatedCommission.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorAccumulatedCommission { + const message = createBaseValidatorAccumulatedCommission(); + message.commission = object.commission?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const ValidatorOutstandingRewards: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorOutstandingRewards" as const, + + encode(message: ValidatorOutstandingRewards, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.rewards) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorOutstandingRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorOutstandingRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rewards.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorOutstandingRewards { + return { + rewards: globalThis.Array.isArray(object?.rewards) ? object.rewards.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: ValidatorOutstandingRewards): unknown { + const obj: any = {}; + if (message.rewards?.length) { + obj.rewards = message.rewards.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorOutstandingRewards { + return ValidatorOutstandingRewards.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorOutstandingRewards { + const message = createBaseValidatorOutstandingRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const ValidatorSlashEvent: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorSlashEvent" as const, + + encode(message: ValidatorSlashEvent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_period !== 0) { + writer.uint32(8).uint64(message.validator_period); + } + if (message.fraction !== "") { + writer.uint32(18).string(message.fraction); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSlashEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.validator_period = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.fraction = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSlashEvent { + return { + validator_period: isSet(object.validator_period) ? globalThis.Number(object.validator_period) : 0, + fraction: isSet(object.fraction) ? globalThis.String(object.fraction) : "", + }; + }, + + toJSON(message: ValidatorSlashEvent): unknown { + const obj: any = {}; + if (message.validator_period !== 0) { + obj.validator_period = Math.round(message.validator_period); + } + if (message.fraction !== "") { + obj.fraction = message.fraction; + } + return obj; + }, + + create, I>>(base?: I): ValidatorSlashEvent { + return ValidatorSlashEvent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSlashEvent { + const message = createBaseValidatorSlashEvent(); + message.validator_period = object.validator_period ?? 0; + message.fraction = object.fraction ?? ""; + return message; + }, +}; + +export const ValidatorSlashEvents: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorSlashEvents" as const, + + encode(message: ValidatorSlashEvents, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.validator_slash_events) { + ValidatorSlashEvent.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvents { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSlashEvents(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_slash_events.push(ValidatorSlashEvent.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSlashEvents { + return { + validator_slash_events: globalThis.Array.isArray(object?.validator_slash_events) + ? object.validator_slash_events.map((e: any) => ValidatorSlashEvent.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ValidatorSlashEvents): unknown { + const obj: any = {}; + if (message.validator_slash_events?.length) { + obj.validator_slash_events = message.validator_slash_events.map((e) => ValidatorSlashEvent.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorSlashEvents { + return ValidatorSlashEvents.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSlashEvents { + const message = createBaseValidatorSlashEvents(); + message.validator_slash_events = object.validator_slash_events?.map((e) => ValidatorSlashEvent.fromPartial(e)) || []; + return message; + }, +}; + +export const FeePool: MessageFns = { + $type: "cosmos.distribution.v1beta1.FeePool" as const, + + encode(message: FeePool, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.community_pool) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeePool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeePool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.community_pool.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeePool { + return { + community_pool: globalThis.Array.isArray(object?.community_pool) ? object.community_pool.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: FeePool): unknown { + const obj: any = {}; + if (message.community_pool?.length) { + obj.community_pool = message.community_pool.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FeePool { + return FeePool.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeePool { + const message = createBaseFeePool(); + message.community_pool = object.community_pool?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const CommunityPoolSpendProposal: MessageFns = { + $type: "cosmos.distribution.v1beta1.CommunityPoolSpendProposal" as const, + + encode(message: CommunityPoolSpendProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.recipient !== "") { + writer.uint32(26).string(message.recipient); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommunityPoolSpendProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.recipient = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommunityPoolSpendProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + recipient: isSet(object.recipient) ? globalThis.String(object.recipient) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: CommunityPoolSpendProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.recipient !== "") { + obj.recipient = message.recipient; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CommunityPoolSpendProposal { + return CommunityPoolSpendProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommunityPoolSpendProposal { + const message = createBaseCommunityPoolSpendProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.recipient = object.recipient ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const DelegatorStartingInfo: MessageFns = { + $type: "cosmos.distribution.v1beta1.DelegatorStartingInfo" as const, + + encode(message: DelegatorStartingInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.previous_period !== 0) { + writer.uint32(8).uint64(message.previous_period); + } + if (message.stake !== "") { + writer.uint32(18).string(message.stake); + } + if (message.height !== 0) { + writer.uint32(24).uint64(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelegatorStartingInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegatorStartingInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.previous_period = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.stake = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelegatorStartingInfo { + return { + previous_period: isSet(object.previous_period) ? globalThis.Number(object.previous_period) : 0, + stake: isSet(object.stake) ? globalThis.String(object.stake) : "", + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + }; + }, + + toJSON(message: DelegatorStartingInfo): unknown { + const obj: any = {}; + if (message.previous_period !== 0) { + obj.previous_period = Math.round(message.previous_period); + } + if (message.stake !== "") { + obj.stake = message.stake; + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): DelegatorStartingInfo { + return DelegatorStartingInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelegatorStartingInfo { + const message = createBaseDelegatorStartingInfo(); + message.previous_period = object.previous_period ?? 0; + message.stake = object.stake ?? ""; + message.height = object.height ?? 0; + return message; + }, +}; + +export const DelegationDelegatorReward: MessageFns = { + $type: "cosmos.distribution.v1beta1.DelegationDelegatorReward" as const, + + encode(message: DelegationDelegatorReward, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + for (const v of message.reward) { + DecCoin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelegationDelegatorReward { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegationDelegatorReward(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.reward.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelegationDelegatorReward { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + reward: globalThis.Array.isArray(object?.reward) ? object.reward.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: DelegationDelegatorReward): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.reward?.length) { + obj.reward = message.reward.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): DelegationDelegatorReward { + return DelegationDelegatorReward.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelegationDelegatorReward { + const message = createBaseDelegationDelegatorReward(); + message.validator_address = object.validator_address ?? ""; + message.reward = object.reward?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const CommunityPoolSpendProposalWithDeposit: MessageFns< + CommunityPoolSpendProposalWithDeposit, + "cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit" +> = { + $type: "cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit" as const, + + encode(message: CommunityPoolSpendProposalWithDeposit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.recipient !== "") { + writer.uint32(26).string(message.recipient); + } + if (message.amount !== "") { + writer.uint32(34).string(message.amount); + } + if (message.deposit !== "") { + writer.uint32(42).string(message.deposit); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposalWithDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommunityPoolSpendProposalWithDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.recipient = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.amount = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.deposit = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommunityPoolSpendProposalWithDeposit { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + recipient: isSet(object.recipient) ? globalThis.String(object.recipient) : "", + amount: isSet(object.amount) ? globalThis.String(object.amount) : "", + deposit: isSet(object.deposit) ? globalThis.String(object.deposit) : "", + }; + }, + + toJSON(message: CommunityPoolSpendProposalWithDeposit): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.recipient !== "") { + obj.recipient = message.recipient; + } + if (message.amount !== "") { + obj.amount = message.amount; + } + if (message.deposit !== "") { + obj.deposit = message.deposit; + } + return obj; + }, + + create, I>>(base?: I): CommunityPoolSpendProposalWithDeposit { + return CommunityPoolSpendProposalWithDeposit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommunityPoolSpendProposalWithDeposit { + const message = createBaseCommunityPoolSpendProposalWithDeposit(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.recipient = object.recipient ?? ""; + message.amount = object.amount ?? ""; + message.deposit = object.deposit ?? ""; + return message; + }, +}; + +function createBaseParams(): Params { + return { community_tax: "", base_proposer_reward: "", bonus_proposer_reward: "", withdraw_addr_enabled: false }; +} + +function createBaseValidatorHistoricalRewards(): ValidatorHistoricalRewards { + return { cumulative_reward_ratio: [], reference_count: 0 }; +} + +function createBaseValidatorCurrentRewards(): ValidatorCurrentRewards { + return { rewards: [], period: 0 }; +} + +function createBaseValidatorAccumulatedCommission(): ValidatorAccumulatedCommission { + return { commission: [] }; +} + +function createBaseValidatorOutstandingRewards(): ValidatorOutstandingRewards { + return { rewards: [] }; +} + +function createBaseValidatorSlashEvent(): ValidatorSlashEvent { + return { validator_period: 0, fraction: "" }; +} + +function createBaseValidatorSlashEvents(): ValidatorSlashEvents { + return { validator_slash_events: [] }; +} + +function createBaseFeePool(): FeePool { + return { community_pool: [] }; +} + +function createBaseCommunityPoolSpendProposal(): CommunityPoolSpendProposal { + return { title: "", description: "", recipient: "", amount: [] }; +} + +function createBaseDelegatorStartingInfo(): DelegatorStartingInfo { + return { previous_period: 0, stake: "", height: 0 }; +} + +function createBaseDelegationDelegatorReward(): DelegationDelegatorReward { + return { validator_address: "", reward: [] }; +} + +function createBaseCommunityPoolSpendProposalWithDeposit(): CommunityPoolSpendProposalWithDeposit { + return { title: "", description: "", recipient: "", amount: "", deposit: "" }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.distribution.v1beta1.Params", Params as never], + ["/cosmos.distribution.v1beta1.ValidatorSlashEvent", ValidatorSlashEvent as never], + ["/cosmos.distribution.v1beta1.FeePool", FeePool as never], +]; +export const aminoConverters = { + "/cosmos.distribution.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/cosmos.distribution.v1beta1.ValidatorSlashEvent": { + aminoType: "cosmos-sdk/ValidatorSlashEvent", + toAmino: (message: ValidatorSlashEvent) => ({ ...message }), + fromAmino: (object: ValidatorSlashEvent) => ({ ...object }), + }, + + "/cosmos.distribution.v1beta1.FeePool": { + aminoType: "cosmos-sdk/FeePool", + toAmino: (message: FeePool) => ({ ...message }), + fromAmino: (object: FeePool) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts new file mode 100644 index 000000000..37d31d330 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts @@ -0,0 +1,882 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { DecCoin } from "../../base/v1beta1/coin"; + +import { + DelegatorStartingInfo, + FeePool, + Params, + ValidatorAccumulatedCommission, + ValidatorCurrentRewards, + ValidatorHistoricalRewards, + ValidatorSlashEvent, +} from "./distribution"; + +import type { + DelegatorStartingInfoRecord as DelegatorStartingInfoRecordType, + DelegatorWithdrawInfo as DelegatorWithdrawInfoType, + GenesisState as GenesisStateType, + ValidatorAccumulatedCommissionRecord as ValidatorAccumulatedCommissionRecordType, + ValidatorCurrentRewardsRecord as ValidatorCurrentRewardsRecordType, + ValidatorHistoricalRewardsRecord as ValidatorHistoricalRewardsRecordType, + ValidatorOutstandingRewardsRecord as ValidatorOutstandingRewardsRecordType, + ValidatorSlashEventRecord as ValidatorSlashEventRecordType, +} from "../../../../types/cosmos/distribution/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface DelegatorWithdrawInfo extends DelegatorWithdrawInfoType {} +interface ValidatorOutstandingRewardsRecord extends ValidatorOutstandingRewardsRecordType {} +interface ValidatorAccumulatedCommissionRecord extends ValidatorAccumulatedCommissionRecordType {} +interface ValidatorHistoricalRewardsRecord extends ValidatorHistoricalRewardsRecordType {} +interface ValidatorCurrentRewardsRecord extends ValidatorCurrentRewardsRecordType {} +interface DelegatorStartingInfoRecord extends DelegatorStartingInfoRecordType {} +interface ValidatorSlashEventRecord extends ValidatorSlashEventRecordType {} +interface GenesisState extends GenesisStateType {} + +export const DelegatorWithdrawInfo: MessageFns = { + $type: "cosmos.distribution.v1beta1.DelegatorWithdrawInfo" as const, + + encode(message: DelegatorWithdrawInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.withdraw_address !== "") { + writer.uint32(18).string(message.withdraw_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelegatorWithdrawInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegatorWithdrawInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.withdraw_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelegatorWithdrawInfo { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + withdraw_address: isSet(object.withdraw_address) ? globalThis.String(object.withdraw_address) : "", + }; + }, + + toJSON(message: DelegatorWithdrawInfo): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.withdraw_address !== "") { + obj.withdraw_address = message.withdraw_address; + } + return obj; + }, + + create, I>>(base?: I): DelegatorWithdrawInfo { + return DelegatorWithdrawInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelegatorWithdrawInfo { + const message = createBaseDelegatorWithdrawInfo(); + message.delegator_address = object.delegator_address ?? ""; + message.withdraw_address = object.withdraw_address ?? ""; + return message; + }, +}; + +export const ValidatorOutstandingRewardsRecord: MessageFns = + { + $type: "cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord" as const, + + encode(message: ValidatorOutstandingRewardsRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + for (const v of message.outstanding_rewards) { + DecCoin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorOutstandingRewardsRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorOutstandingRewardsRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.outstanding_rewards.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorOutstandingRewardsRecord { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + outstanding_rewards: globalThis.Array.isArray(object?.outstanding_rewards) ? object.outstanding_rewards.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: ValidatorOutstandingRewardsRecord): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.outstanding_rewards?.length) { + obj.outstanding_rewards = message.outstanding_rewards.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorOutstandingRewardsRecord { + return ValidatorOutstandingRewardsRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorOutstandingRewardsRecord { + const message = createBaseValidatorOutstandingRewardsRecord(); + message.validator_address = object.validator_address ?? ""; + message.outstanding_rewards = object.outstanding_rewards?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, + }; + +export const ValidatorAccumulatedCommissionRecord: MessageFns< + ValidatorAccumulatedCommissionRecord, + "cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord" +> = { + $type: "cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord" as const, + + encode(message: ValidatorAccumulatedCommissionRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.accumulated !== undefined) { + ValidatorAccumulatedCommission.encode(message.accumulated, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorAccumulatedCommissionRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorAccumulatedCommissionRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.accumulated = ValidatorAccumulatedCommission.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorAccumulatedCommissionRecord { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + accumulated: isSet(object.accumulated) ? ValidatorAccumulatedCommission.fromJSON(object.accumulated) : undefined, + }; + }, + + toJSON(message: ValidatorAccumulatedCommissionRecord): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.accumulated !== undefined) { + obj.accumulated = ValidatorAccumulatedCommission.toJSON(message.accumulated); + } + return obj; + }, + + create, I>>(base?: I): ValidatorAccumulatedCommissionRecord { + return ValidatorAccumulatedCommissionRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorAccumulatedCommissionRecord { + const message = createBaseValidatorAccumulatedCommissionRecord(); + message.validator_address = object.validator_address ?? ""; + message.accumulated = + object.accumulated !== undefined && object.accumulated !== null ? ValidatorAccumulatedCommission.fromPartial(object.accumulated) : undefined; + return message; + }, +}; + +export const ValidatorHistoricalRewardsRecord: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord" as const, + + encode(message: ValidatorHistoricalRewardsRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.period !== 0) { + writer.uint32(16).uint64(message.period); + } + if (message.rewards !== undefined) { + ValidatorHistoricalRewards.encode(message.rewards, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorHistoricalRewardsRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorHistoricalRewardsRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.period = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.rewards = ValidatorHistoricalRewards.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorHistoricalRewardsRecord { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + period: isSet(object.period) ? globalThis.Number(object.period) : 0, + rewards: isSet(object.rewards) ? ValidatorHistoricalRewards.fromJSON(object.rewards) : undefined, + }; + }, + + toJSON(message: ValidatorHistoricalRewardsRecord): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.period !== 0) { + obj.period = Math.round(message.period); + } + if (message.rewards !== undefined) { + obj.rewards = ValidatorHistoricalRewards.toJSON(message.rewards); + } + return obj; + }, + + create, I>>(base?: I): ValidatorHistoricalRewardsRecord { + return ValidatorHistoricalRewardsRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorHistoricalRewardsRecord { + const message = createBaseValidatorHistoricalRewardsRecord(); + message.validator_address = object.validator_address ?? ""; + message.period = object.period ?? 0; + message.rewards = object.rewards !== undefined && object.rewards !== null ? ValidatorHistoricalRewards.fromPartial(object.rewards) : undefined; + return message; + }, +}; + +export const ValidatorCurrentRewardsRecord: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord" as const, + + encode(message: ValidatorCurrentRewardsRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.rewards !== undefined) { + ValidatorCurrentRewards.encode(message.rewards, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorCurrentRewardsRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorCurrentRewardsRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.rewards = ValidatorCurrentRewards.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorCurrentRewardsRecord { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + rewards: isSet(object.rewards) ? ValidatorCurrentRewards.fromJSON(object.rewards) : undefined, + }; + }, + + toJSON(message: ValidatorCurrentRewardsRecord): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.rewards !== undefined) { + obj.rewards = ValidatorCurrentRewards.toJSON(message.rewards); + } + return obj; + }, + + create, I>>(base?: I): ValidatorCurrentRewardsRecord { + return ValidatorCurrentRewardsRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorCurrentRewardsRecord { + const message = createBaseValidatorCurrentRewardsRecord(); + message.validator_address = object.validator_address ?? ""; + message.rewards = object.rewards !== undefined && object.rewards !== null ? ValidatorCurrentRewards.fromPartial(object.rewards) : undefined; + return message; + }, +}; + +export const DelegatorStartingInfoRecord: MessageFns = { + $type: "cosmos.distribution.v1beta1.DelegatorStartingInfoRecord" as const, + + encode(message: DelegatorStartingInfoRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + if (message.starting_info !== undefined) { + DelegatorStartingInfo.encode(message.starting_info, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelegatorStartingInfoRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegatorStartingInfoRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.starting_info = DelegatorStartingInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelegatorStartingInfoRecord { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + starting_info: isSet(object.starting_info) ? DelegatorStartingInfo.fromJSON(object.starting_info) : undefined, + }; + }, + + toJSON(message: DelegatorStartingInfoRecord): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.starting_info !== undefined) { + obj.starting_info = DelegatorStartingInfo.toJSON(message.starting_info); + } + return obj; + }, + + create, I>>(base?: I): DelegatorStartingInfoRecord { + return DelegatorStartingInfoRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelegatorStartingInfoRecord { + const message = createBaseDelegatorStartingInfoRecord(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.starting_info = + object.starting_info !== undefined && object.starting_info !== null ? DelegatorStartingInfo.fromPartial(object.starting_info) : undefined; + return message; + }, +}; + +export const ValidatorSlashEventRecord: MessageFns = { + $type: "cosmos.distribution.v1beta1.ValidatorSlashEventRecord" as const, + + encode(message: ValidatorSlashEventRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.height !== 0) { + writer.uint32(16).uint64(message.height); + } + if (message.period !== 0) { + writer.uint32(24).uint64(message.period); + } + if (message.validator_slash_event !== undefined) { + ValidatorSlashEvent.encode(message.validator_slash_event, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEventRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSlashEventRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.height = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.period = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validator_slash_event = ValidatorSlashEvent.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSlashEventRecord { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + period: isSet(object.period) ? globalThis.Number(object.period) : 0, + validator_slash_event: isSet(object.validator_slash_event) ? ValidatorSlashEvent.fromJSON(object.validator_slash_event) : undefined, + }; + }, + + toJSON(message: ValidatorSlashEventRecord): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.period !== 0) { + obj.period = Math.round(message.period); + } + if (message.validator_slash_event !== undefined) { + obj.validator_slash_event = ValidatorSlashEvent.toJSON(message.validator_slash_event); + } + return obj; + }, + + create, I>>(base?: I): ValidatorSlashEventRecord { + return ValidatorSlashEventRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSlashEventRecord { + const message = createBaseValidatorSlashEventRecord(); + message.validator_address = object.validator_address ?? ""; + message.height = object.height ?? 0; + message.period = object.period ?? 0; + message.validator_slash_event = + object.validator_slash_event !== undefined && object.validator_slash_event !== null + ? ValidatorSlashEvent.fromPartial(object.validator_slash_event) + : undefined; + return message; + }, +}; + +export const GenesisState: MessageFns = { + $type: "cosmos.distribution.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + if (message.fee_pool !== undefined) { + FeePool.encode(message.fee_pool, writer.uint32(18).fork()).join(); + } + for (const v of message.delegator_withdraw_infos) { + DelegatorWithdrawInfo.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.previous_proposer !== "") { + writer.uint32(34).string(message.previous_proposer); + } + for (const v of message.outstanding_rewards) { + ValidatorOutstandingRewardsRecord.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.validator_accumulated_commissions) { + ValidatorAccumulatedCommissionRecord.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.validator_historical_rewards) { + ValidatorHistoricalRewardsRecord.encode(v!, writer.uint32(58).fork()).join(); + } + for (const v of message.validator_current_rewards) { + ValidatorCurrentRewardsRecord.encode(v!, writer.uint32(66).fork()).join(); + } + for (const v of message.delegator_starting_infos) { + DelegatorStartingInfoRecord.encode(v!, writer.uint32(74).fork()).join(); + } + for (const v of message.validator_slash_events) { + ValidatorSlashEventRecord.encode(v!, writer.uint32(82).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.fee_pool = FeePool.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.delegator_withdraw_infos.push(DelegatorWithdrawInfo.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.previous_proposer = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.outstanding_rewards.push(ValidatorOutstandingRewardsRecord.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.validator_accumulated_commissions.push(ValidatorAccumulatedCommissionRecord.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.validator_historical_rewards.push(ValidatorHistoricalRewardsRecord.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.validator_current_rewards.push(ValidatorCurrentRewardsRecord.decode(reader, reader.uint32())); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.delegator_starting_infos.push(DelegatorStartingInfoRecord.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.validator_slash_events.push(ValidatorSlashEventRecord.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + fee_pool: isSet(object.fee_pool) ? FeePool.fromJSON(object.fee_pool) : undefined, + delegator_withdraw_infos: globalThis.Array.isArray(object?.delegator_withdraw_infos) + ? object.delegator_withdraw_infos.map((e: any) => DelegatorWithdrawInfo.fromJSON(e)) + : [], + previous_proposer: isSet(object.previous_proposer) ? globalThis.String(object.previous_proposer) : "", + outstanding_rewards: globalThis.Array.isArray(object?.outstanding_rewards) + ? object.outstanding_rewards.map((e: any) => ValidatorOutstandingRewardsRecord.fromJSON(e)) + : [], + validator_accumulated_commissions: globalThis.Array.isArray(object?.validator_accumulated_commissions) + ? object.validator_accumulated_commissions.map((e: any) => ValidatorAccumulatedCommissionRecord.fromJSON(e)) + : [], + validator_historical_rewards: globalThis.Array.isArray(object?.validator_historical_rewards) + ? object.validator_historical_rewards.map((e: any) => ValidatorHistoricalRewardsRecord.fromJSON(e)) + : [], + validator_current_rewards: globalThis.Array.isArray(object?.validator_current_rewards) + ? object.validator_current_rewards.map((e: any) => ValidatorCurrentRewardsRecord.fromJSON(e)) + : [], + delegator_starting_infos: globalThis.Array.isArray(object?.delegator_starting_infos) + ? object.delegator_starting_infos.map((e: any) => DelegatorStartingInfoRecord.fromJSON(e)) + : [], + validator_slash_events: globalThis.Array.isArray(object?.validator_slash_events) + ? object.validator_slash_events.map((e: any) => ValidatorSlashEventRecord.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.fee_pool !== undefined) { + obj.fee_pool = FeePool.toJSON(message.fee_pool); + } + if (message.delegator_withdraw_infos?.length) { + obj.delegator_withdraw_infos = message.delegator_withdraw_infos.map((e) => DelegatorWithdrawInfo.toJSON(e)); + } + if (message.previous_proposer !== "") { + obj.previous_proposer = message.previous_proposer; + } + if (message.outstanding_rewards?.length) { + obj.outstanding_rewards = message.outstanding_rewards.map((e) => ValidatorOutstandingRewardsRecord.toJSON(e)); + } + if (message.validator_accumulated_commissions?.length) { + obj.validator_accumulated_commissions = message.validator_accumulated_commissions.map((e) => ValidatorAccumulatedCommissionRecord.toJSON(e)); + } + if (message.validator_historical_rewards?.length) { + obj.validator_historical_rewards = message.validator_historical_rewards.map((e) => ValidatorHistoricalRewardsRecord.toJSON(e)); + } + if (message.validator_current_rewards?.length) { + obj.validator_current_rewards = message.validator_current_rewards.map((e) => ValidatorCurrentRewardsRecord.toJSON(e)); + } + if (message.delegator_starting_infos?.length) { + obj.delegator_starting_infos = message.delegator_starting_infos.map((e) => DelegatorStartingInfoRecord.toJSON(e)); + } + if (message.validator_slash_events?.length) { + obj.validator_slash_events = message.validator_slash_events.map((e) => ValidatorSlashEventRecord.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.fee_pool = object.fee_pool !== undefined && object.fee_pool !== null ? FeePool.fromPartial(object.fee_pool) : undefined; + message.delegator_withdraw_infos = object.delegator_withdraw_infos?.map((e) => DelegatorWithdrawInfo.fromPartial(e)) || []; + message.previous_proposer = object.previous_proposer ?? ""; + message.outstanding_rewards = object.outstanding_rewards?.map((e) => ValidatorOutstandingRewardsRecord.fromPartial(e)) || []; + message.validator_accumulated_commissions = object.validator_accumulated_commissions?.map((e) => ValidatorAccumulatedCommissionRecord.fromPartial(e)) || []; + message.validator_historical_rewards = object.validator_historical_rewards?.map((e) => ValidatorHistoricalRewardsRecord.fromPartial(e)) || []; + message.validator_current_rewards = object.validator_current_rewards?.map((e) => ValidatorCurrentRewardsRecord.fromPartial(e)) || []; + message.delegator_starting_infos = object.delegator_starting_infos?.map((e) => DelegatorStartingInfoRecord.fromPartial(e)) || []; + message.validator_slash_events = object.validator_slash_events?.map((e) => ValidatorSlashEventRecord.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseDelegatorWithdrawInfo(): DelegatorWithdrawInfo { + return { delegator_address: "", withdraw_address: "" }; +} + +function createBaseValidatorOutstandingRewardsRecord(): ValidatorOutstandingRewardsRecord { + return { validator_address: "", outstanding_rewards: [] }; +} + +function createBaseValidatorAccumulatedCommissionRecord(): ValidatorAccumulatedCommissionRecord { + return { validator_address: "", accumulated: undefined }; +} + +function createBaseValidatorHistoricalRewardsRecord(): ValidatorHistoricalRewardsRecord { + return { validator_address: "", period: 0, rewards: undefined }; +} + +function createBaseValidatorCurrentRewardsRecord(): ValidatorCurrentRewardsRecord { + return { validator_address: "", rewards: undefined }; +} + +function createBaseDelegatorStartingInfoRecord(): DelegatorStartingInfoRecord { + return { delegator_address: "", validator_address: "", starting_info: undefined }; +} + +function createBaseValidatorSlashEventRecord(): ValidatorSlashEventRecord { + return { validator_address: "", height: 0, period: 0, validator_slash_event: undefined }; +} + +function createBaseGenesisState(): GenesisState { + return { + params: undefined, + fee_pool: undefined, + delegator_withdraw_infos: [], + previous_proposer: "", + outstanding_rewards: [], + validator_accumulated_commissions: [], + validator_historical_rewards: [], + validator_current_rewards: [], + delegator_starting_infos: [], + validator_slash_events: [], + }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.distribution.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.distribution.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/index.ts new file mode 100644 index 000000000..69eea1866 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './distribution'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts new file mode 100644 index 000000000..a0fb43844 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts @@ -0,0 +1,1240 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { DecCoin } from "../../base/v1beta1/coin"; + +import { DelegationDelegatorReward, Params, ValidatorAccumulatedCommission, ValidatorOutstandingRewards, ValidatorSlashEvent } from "./distribution"; + +import type { + QueryCommunityPoolRequest as QueryCommunityPoolRequestType, + QueryCommunityPoolResponse as QueryCommunityPoolResponseType, + QueryDelegationRewardsRequest as QueryDelegationRewardsRequestType, + QueryDelegationRewardsResponse as QueryDelegationRewardsResponseType, + QueryDelegationTotalRewardsRequest as QueryDelegationTotalRewardsRequestType, + QueryDelegationTotalRewardsResponse as QueryDelegationTotalRewardsResponseType, + QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequestType, + QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponseType, + QueryDelegatorWithdrawAddressRequest as QueryDelegatorWithdrawAddressRequestType, + QueryDelegatorWithdrawAddressResponse as QueryDelegatorWithdrawAddressResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QueryValidatorCommissionRequest as QueryValidatorCommissionRequestType, + QueryValidatorCommissionResponse as QueryValidatorCommissionResponseType, + QueryValidatorOutstandingRewardsRequest as QueryValidatorOutstandingRewardsRequestType, + QueryValidatorOutstandingRewardsResponse as QueryValidatorOutstandingRewardsResponseType, + QueryValidatorSlashesRequest as QueryValidatorSlashesRequestType, + QueryValidatorSlashesResponse as QueryValidatorSlashesResponseType, +} from "../../../../types/cosmos/distribution/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryValidatorOutstandingRewardsRequest extends QueryValidatorOutstandingRewardsRequestType {} +interface QueryValidatorOutstandingRewardsResponse extends QueryValidatorOutstandingRewardsResponseType {} +interface QueryValidatorCommissionRequest extends QueryValidatorCommissionRequestType {} +interface QueryValidatorCommissionResponse extends QueryValidatorCommissionResponseType {} +interface QueryValidatorSlashesRequest extends QueryValidatorSlashesRequestType {} +interface QueryValidatorSlashesResponse extends QueryValidatorSlashesResponseType {} +interface QueryDelegationRewardsRequest extends QueryDelegationRewardsRequestType {} +interface QueryDelegationRewardsResponse extends QueryDelegationRewardsResponseType {} +interface QueryDelegationTotalRewardsRequest extends QueryDelegationTotalRewardsRequestType {} +interface QueryDelegationTotalRewardsResponse extends QueryDelegationTotalRewardsResponseType {} +interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequestType {} +interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponseType {} +interface QueryDelegatorWithdrawAddressRequest extends QueryDelegatorWithdrawAddressRequestType {} +interface QueryDelegatorWithdrawAddressResponse extends QueryDelegatorWithdrawAddressResponseType {} +interface QueryCommunityPoolRequest extends QueryCommunityPoolRequestType {} +interface QueryCommunityPoolResponse extends QueryCommunityPoolResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryValidatorOutstandingRewardsRequest: MessageFns< + QueryValidatorOutstandingRewardsRequest, + "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest" +> = { + $type: "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest" as const, + + encode(message: QueryValidatorOutstandingRewardsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorOutstandingRewardsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorOutstandingRewardsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorOutstandingRewardsRequest { + return { validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "" }; + }, + + toJSON(message: QueryValidatorOutstandingRewardsRequest): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorOutstandingRewardsRequest { + return QueryValidatorOutstandingRewardsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorOutstandingRewardsRequest { + const message = createBaseQueryValidatorOutstandingRewardsRequest(); + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const QueryValidatorOutstandingRewardsResponse: MessageFns< + QueryValidatorOutstandingRewardsResponse, + "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse" +> = { + $type: "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse" as const, + + encode(message: QueryValidatorOutstandingRewardsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.rewards !== undefined) { + ValidatorOutstandingRewards.encode(message.rewards, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorOutstandingRewardsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorOutstandingRewardsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rewards = ValidatorOutstandingRewards.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorOutstandingRewardsResponse { + return { rewards: isSet(object.rewards) ? ValidatorOutstandingRewards.fromJSON(object.rewards) : undefined }; + }, + + toJSON(message: QueryValidatorOutstandingRewardsResponse): unknown { + const obj: any = {}; + if (message.rewards !== undefined) { + obj.rewards = ValidatorOutstandingRewards.toJSON(message.rewards); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorOutstandingRewardsResponse { + return QueryValidatorOutstandingRewardsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorOutstandingRewardsResponse { + const message = createBaseQueryValidatorOutstandingRewardsResponse(); + message.rewards = object.rewards !== undefined && object.rewards !== null ? ValidatorOutstandingRewards.fromPartial(object.rewards) : undefined; + return message; + }, +}; + +export const QueryValidatorCommissionRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryValidatorCommissionRequest" as const, + + encode(message: QueryValidatorCommissionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorCommissionRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorCommissionRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorCommissionRequest { + return { validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "" }; + }, + + toJSON(message: QueryValidatorCommissionRequest): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorCommissionRequest { + return QueryValidatorCommissionRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorCommissionRequest { + const message = createBaseQueryValidatorCommissionRequest(); + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const QueryValidatorCommissionResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryValidatorCommissionResponse" as const, + + encode(message: QueryValidatorCommissionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.commission !== undefined) { + ValidatorAccumulatedCommission.encode(message.commission, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorCommissionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorCommissionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.commission = ValidatorAccumulatedCommission.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorCommissionResponse { + return { + commission: isSet(object.commission) ? ValidatorAccumulatedCommission.fromJSON(object.commission) : undefined, + }; + }, + + toJSON(message: QueryValidatorCommissionResponse): unknown { + const obj: any = {}; + if (message.commission !== undefined) { + obj.commission = ValidatorAccumulatedCommission.toJSON(message.commission); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorCommissionResponse { + return QueryValidatorCommissionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorCommissionResponse { + const message = createBaseQueryValidatorCommissionResponse(); + message.commission = + object.commission !== undefined && object.commission !== null ? ValidatorAccumulatedCommission.fromPartial(object.commission) : undefined; + return message; + }, +}; + +export const QueryValidatorSlashesRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryValidatorSlashesRequest" as const, + + encode(message: QueryValidatorSlashesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.starting_height !== 0) { + writer.uint32(16).uint64(message.starting_height); + } + if (message.ending_height !== 0) { + writer.uint32(24).uint64(message.ending_height); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorSlashesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorSlashesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.starting_height = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.ending_height = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorSlashesRequest { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + starting_height: isSet(object.starting_height) ? globalThis.Number(object.starting_height) : 0, + ending_height: isSet(object.ending_height) ? globalThis.Number(object.ending_height) : 0, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorSlashesRequest): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.starting_height !== 0) { + obj.starting_height = Math.round(message.starting_height); + } + if (message.ending_height !== 0) { + obj.ending_height = Math.round(message.ending_height); + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorSlashesRequest { + return QueryValidatorSlashesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorSlashesRequest { + const message = createBaseQueryValidatorSlashesRequest(); + message.validator_address = object.validator_address ?? ""; + message.starting_height = object.starting_height ?? 0; + message.ending_height = object.ending_height ?? 0; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorSlashesResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryValidatorSlashesResponse" as const, + + encode(message: QueryValidatorSlashesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.slashes) { + ValidatorSlashEvent.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorSlashesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorSlashesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.slashes.push(ValidatorSlashEvent.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorSlashesResponse { + return { + slashes: globalThis.Array.isArray(object?.slashes) ? object.slashes.map((e: any) => ValidatorSlashEvent.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorSlashesResponse): unknown { + const obj: any = {}; + if (message.slashes?.length) { + obj.slashes = message.slashes.map((e) => ValidatorSlashEvent.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorSlashesResponse { + return QueryValidatorSlashesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorSlashesResponse { + const message = createBaseQueryValidatorSlashesResponse(); + message.slashes = object.slashes?.map((e) => ValidatorSlashEvent.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegationRewardsRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryDelegationRewardsRequest" as const, + + encode(message: QueryDelegationRewardsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationRewardsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationRewardsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationRewardsRequest { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + }; + }, + + toJSON(message: QueryDelegationRewardsRequest): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationRewardsRequest { + return QueryDelegationRewardsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationRewardsRequest { + const message = createBaseQueryDelegationRewardsRequest(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const QueryDelegationRewardsResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryDelegationRewardsResponse" as const, + + encode(message: QueryDelegationRewardsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.rewards) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationRewardsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationRewardsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rewards.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationRewardsResponse { + return { + rewards: globalThis.Array.isArray(object?.rewards) ? object.rewards.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryDelegationRewardsResponse): unknown { + const obj: any = {}; + if (message.rewards?.length) { + obj.rewards = message.rewards.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationRewardsResponse { + return QueryDelegationRewardsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationRewardsResponse { + const message = createBaseQueryDelegationRewardsResponse(); + message.rewards = object.rewards?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryDelegationTotalRewardsRequest: MessageFns< + QueryDelegationTotalRewardsRequest, + "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest" +> = { + $type: "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest" as const, + + encode(message: QueryDelegationTotalRewardsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationTotalRewardsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationTotalRewardsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationTotalRewardsRequest { + return { delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "" }; + }, + + toJSON(message: QueryDelegationTotalRewardsRequest): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationTotalRewardsRequest { + return QueryDelegationTotalRewardsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationTotalRewardsRequest { + const message = createBaseQueryDelegationTotalRewardsRequest(); + message.delegator_address = object.delegator_address ?? ""; + return message; + }, +}; + +export const QueryDelegationTotalRewardsResponse: MessageFns< + QueryDelegationTotalRewardsResponse, + "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse" +> = { + $type: "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse" as const, + + encode(message: QueryDelegationTotalRewardsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.rewards) { + DelegationDelegatorReward.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.total) { + DecCoin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationTotalRewardsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationTotalRewardsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rewards.push(DelegationDelegatorReward.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.total.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationTotalRewardsResponse { + return { + rewards: globalThis.Array.isArray(object?.rewards) ? object.rewards.map((e: any) => DelegationDelegatorReward.fromJSON(e)) : [], + total: globalThis.Array.isArray(object?.total) ? object.total.map((e: any) => DecCoin.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryDelegationTotalRewardsResponse): unknown { + const obj: any = {}; + if (message.rewards?.length) { + obj.rewards = message.rewards.map((e) => DelegationDelegatorReward.toJSON(e)); + } + if (message.total?.length) { + obj.total = message.total.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationTotalRewardsResponse { + return QueryDelegationTotalRewardsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationTotalRewardsResponse { + const message = createBaseQueryDelegationTotalRewardsResponse(); + message.rewards = object.rewards?.map((e) => DelegationDelegatorReward.fromPartial(e)) || []; + message.total = object.total?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryDelegatorValidatorsRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest" as const, + + encode(message: QueryDelegatorValidatorsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorsRequest { + return { delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "" }; + }, + + toJSON(message: QueryDelegatorValidatorsRequest): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorsRequest { + return QueryDelegatorValidatorsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorsRequest { + const message = createBaseQueryDelegatorValidatorsRequest(); + message.delegator_address = object.delegator_address ?? ""; + return message; + }, +}; + +export const QueryDelegatorValidatorsResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse" as const, + + encode(message: QueryDelegatorValidatorsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.validators) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validators.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorsResponse { + return { + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: QueryDelegatorValidatorsResponse): unknown { + const obj: any = {}; + if (message.validators?.length) { + obj.validators = message.validators; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorsResponse { + return QueryDelegatorValidatorsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorsResponse { + const message = createBaseQueryDelegatorValidatorsResponse(); + message.validators = object.validators?.map((e) => e) || []; + return message; + }, +}; + +export const QueryDelegatorWithdrawAddressRequest: MessageFns< + QueryDelegatorWithdrawAddressRequest, + "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest" +> = { + $type: "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest" as const, + + encode(message: QueryDelegatorWithdrawAddressRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorWithdrawAddressRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorWithdrawAddressRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorWithdrawAddressRequest { + return { delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "" }; + }, + + toJSON(message: QueryDelegatorWithdrawAddressRequest): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorWithdrawAddressRequest { + return QueryDelegatorWithdrawAddressRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorWithdrawAddressRequest { + const message = createBaseQueryDelegatorWithdrawAddressRequest(); + message.delegator_address = object.delegator_address ?? ""; + return message; + }, +}; + +export const QueryDelegatorWithdrawAddressResponse: MessageFns< + QueryDelegatorWithdrawAddressResponse, + "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse" +> = { + $type: "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse" as const, + + encode(message: QueryDelegatorWithdrawAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.withdraw_address !== "") { + writer.uint32(10).string(message.withdraw_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorWithdrawAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorWithdrawAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.withdraw_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorWithdrawAddressResponse { + return { withdraw_address: isSet(object.withdraw_address) ? globalThis.String(object.withdraw_address) : "" }; + }, + + toJSON(message: QueryDelegatorWithdrawAddressResponse): unknown { + const obj: any = {}; + if (message.withdraw_address !== "") { + obj.withdraw_address = message.withdraw_address; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorWithdrawAddressResponse { + return QueryDelegatorWithdrawAddressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorWithdrawAddressResponse { + const message = createBaseQueryDelegatorWithdrawAddressResponse(); + message.withdraw_address = object.withdraw_address ?? ""; + return message; + }, +}; + +export const QueryCommunityPoolRequest: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryCommunityPoolRequest" as const, + + encode(_: QueryCommunityPoolRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryCommunityPoolRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCommunityPoolRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryCommunityPoolRequest { + return {}; + }, + + toJSON(_: QueryCommunityPoolRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryCommunityPoolRequest { + return QueryCommunityPoolRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryCommunityPoolRequest { + const message = createBaseQueryCommunityPoolRequest(); + return message; + }, +}; + +export const QueryCommunityPoolResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.QueryCommunityPoolResponse" as const, + + encode(message: QueryCommunityPoolResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.pool) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryCommunityPoolResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCommunityPoolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pool.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCommunityPoolResponse { + return { pool: globalThis.Array.isArray(object?.pool) ? object.pool.map((e: any) => DecCoin.fromJSON(e)) : [] }; + }, + + toJSON(message: QueryCommunityPoolResponse): unknown { + const obj: any = {}; + if (message.pool?.length) { + obj.pool = message.pool.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryCommunityPoolResponse { + return QueryCommunityPoolResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryCommunityPoolResponse { + const message = createBaseQueryCommunityPoolResponse(); + message.pool = object.pool?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryValidatorOutstandingRewardsRequest(): QueryValidatorOutstandingRewardsRequest { + return { validator_address: "" }; +} + +function createBaseQueryValidatorOutstandingRewardsResponse(): QueryValidatorOutstandingRewardsResponse { + return { rewards: undefined }; +} + +function createBaseQueryValidatorCommissionRequest(): QueryValidatorCommissionRequest { + return { validator_address: "" }; +} + +function createBaseQueryValidatorCommissionResponse(): QueryValidatorCommissionResponse { + return { commission: undefined }; +} + +function createBaseQueryValidatorSlashesRequest(): QueryValidatorSlashesRequest { + return { validator_address: "", starting_height: 0, ending_height: 0, pagination: undefined }; +} + +function createBaseQueryValidatorSlashesResponse(): QueryValidatorSlashesResponse { + return { slashes: [], pagination: undefined }; +} + +function createBaseQueryDelegationRewardsRequest(): QueryDelegationRewardsRequest { + return { delegator_address: "", validator_address: "" }; +} + +function createBaseQueryDelegationRewardsResponse(): QueryDelegationRewardsResponse { + return { rewards: [] }; +} + +function createBaseQueryDelegationTotalRewardsRequest(): QueryDelegationTotalRewardsRequest { + return { delegator_address: "" }; +} + +function createBaseQueryDelegationTotalRewardsResponse(): QueryDelegationTotalRewardsResponse { + return { rewards: [], total: [] }; +} + +function createBaseQueryDelegatorValidatorsRequest(): QueryDelegatorValidatorsRequest { + return { delegator_address: "" }; +} + +function createBaseQueryDelegatorValidatorsResponse(): QueryDelegatorValidatorsResponse { + return { validators: [] }; +} + +function createBaseQueryDelegatorWithdrawAddressRequest(): QueryDelegatorWithdrawAddressRequest { + return { delegator_address: "" }; +} + +function createBaseQueryDelegatorWithdrawAddressResponse(): QueryDelegatorWithdrawAddressResponse { + return { withdraw_address: "" }; +} + +function createBaseQueryCommunityPoolRequest(): QueryCommunityPoolRequest { + return {}; +} + +function createBaseQueryCommunityPoolResponse(): QueryCommunityPoolResponse { + return { pool: [] }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.distribution.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.distribution.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.distribution.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.distribution.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts new file mode 100644 index 000000000..da0e7de62 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts @@ -0,0 +1,502 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + MsgFundCommunityPoolResponse as MsgFundCommunityPoolResponseType, + MsgFundCommunityPool as MsgFundCommunityPoolType, + MsgSetWithdrawAddressResponse as MsgSetWithdrawAddressResponseType, + MsgSetWithdrawAddress as MsgSetWithdrawAddressType, + MsgWithdrawDelegatorRewardResponse as MsgWithdrawDelegatorRewardResponseType, + MsgWithdrawDelegatorReward as MsgWithdrawDelegatorRewardType, + MsgWithdrawValidatorCommissionResponse as MsgWithdrawValidatorCommissionResponseType, + MsgWithdrawValidatorCommission as MsgWithdrawValidatorCommissionType, +} from "../../../../types/cosmos/distribution/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgSetWithdrawAddress extends MsgSetWithdrawAddressType {} +interface MsgSetWithdrawAddressResponse extends MsgSetWithdrawAddressResponseType {} +interface MsgWithdrawDelegatorReward extends MsgWithdrawDelegatorRewardType {} +interface MsgWithdrawDelegatorRewardResponse extends MsgWithdrawDelegatorRewardResponseType {} +interface MsgWithdrawValidatorCommission extends MsgWithdrawValidatorCommissionType {} +interface MsgWithdrawValidatorCommissionResponse extends MsgWithdrawValidatorCommissionResponseType {} +interface MsgFundCommunityPool extends MsgFundCommunityPoolType {} +interface MsgFundCommunityPoolResponse extends MsgFundCommunityPoolResponseType {} + +export const MsgSetWithdrawAddress: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgSetWithdrawAddress" as const, + + encode(message: MsgSetWithdrawAddress, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.withdraw_address !== "") { + writer.uint32(18).string(message.withdraw_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetWithdrawAddress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetWithdrawAddress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.withdraw_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSetWithdrawAddress { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + withdraw_address: isSet(object.withdraw_address) ? globalThis.String(object.withdraw_address) : "", + }; + }, + + toJSON(message: MsgSetWithdrawAddress): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.withdraw_address !== "") { + obj.withdraw_address = message.withdraw_address; + } + return obj; + }, + + create, I>>(base?: I): MsgSetWithdrawAddress { + return MsgSetWithdrawAddress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSetWithdrawAddress { + const message = createBaseMsgSetWithdrawAddress(); + message.delegator_address = object.delegator_address ?? ""; + message.withdraw_address = object.withdraw_address ?? ""; + return message; + }, +}; + +export const MsgSetWithdrawAddressResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse" as const, + + encode(_: MsgSetWithdrawAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetWithdrawAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetWithdrawAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgSetWithdrawAddressResponse { + return {}; + }, + + toJSON(_: MsgSetWithdrawAddressResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgSetWithdrawAddressResponse { + return MsgSetWithdrawAddressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgSetWithdrawAddressResponse { + const message = createBaseMsgSetWithdrawAddressResponse(); + return message; + }, +}; + +export const MsgWithdrawDelegatorReward: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" as const, + + encode(message: MsgWithdrawDelegatorReward, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawDelegatorReward { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawDelegatorReward(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgWithdrawDelegatorReward { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + }; + }, + + toJSON(message: MsgWithdrawDelegatorReward): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): MsgWithdrawDelegatorReward { + return MsgWithdrawDelegatorReward.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgWithdrawDelegatorReward { + const message = createBaseMsgWithdrawDelegatorReward(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const MsgWithdrawDelegatorRewardResponse: MessageFns< + MsgWithdrawDelegatorRewardResponse, + "cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse" +> = { + $type: "cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse" as const, + + encode(_: MsgWithdrawDelegatorRewardResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawDelegatorRewardResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawDelegatorRewardResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgWithdrawDelegatorRewardResponse { + return {}; + }, + + toJSON(_: MsgWithdrawDelegatorRewardResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgWithdrawDelegatorRewardResponse { + return MsgWithdrawDelegatorRewardResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgWithdrawDelegatorRewardResponse { + const message = createBaseMsgWithdrawDelegatorRewardResponse(); + return message; + }, +}; + +export const MsgWithdrawValidatorCommission: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" as const, + + encode(message: MsgWithdrawValidatorCommission, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawValidatorCommission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawValidatorCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgWithdrawValidatorCommission { + return { validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "" }; + }, + + toJSON(message: MsgWithdrawValidatorCommission): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): MsgWithdrawValidatorCommission { + return MsgWithdrawValidatorCommission.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgWithdrawValidatorCommission { + const message = createBaseMsgWithdrawValidatorCommission(); + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const MsgWithdrawValidatorCommissionResponse: MessageFns< + MsgWithdrawValidatorCommissionResponse, + "cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse" +> = { + $type: "cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse" as const, + + encode(_: MsgWithdrawValidatorCommissionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawValidatorCommissionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawValidatorCommissionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgWithdrawValidatorCommissionResponse { + return {}; + }, + + toJSON(_: MsgWithdrawValidatorCommissionResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgWithdrawValidatorCommissionResponse { + return MsgWithdrawValidatorCommissionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgWithdrawValidatorCommissionResponse { + const message = createBaseMsgWithdrawValidatorCommissionResponse(); + return message; + }, +}; + +export const MsgFundCommunityPool: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgFundCommunityPool" as const, + + encode(message: MsgFundCommunityPool, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgFundCommunityPool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgFundCommunityPool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.depositor = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgFundCommunityPool { + return { + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + depositor: isSet(object.depositor) ? globalThis.String(object.depositor) : "", + }; + }, + + toJSON(message: MsgFundCommunityPool): unknown { + const obj: any = {}; + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + if (message.depositor !== "") { + obj.depositor = message.depositor; + } + return obj; + }, + + create, I>>(base?: I): MsgFundCommunityPool { + return MsgFundCommunityPool.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgFundCommunityPool { + const message = createBaseMsgFundCommunityPool(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.depositor = object.depositor ?? ""; + return message; + }, +}; + +export const MsgFundCommunityPoolResponse: MessageFns = { + $type: "cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse" as const, + + encode(_: MsgFundCommunityPoolResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgFundCommunityPoolResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgFundCommunityPoolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgFundCommunityPoolResponse { + return {}; + }, + + toJSON(_: MsgFundCommunityPoolResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgFundCommunityPoolResponse { + return MsgFundCommunityPoolResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgFundCommunityPoolResponse { + const message = createBaseMsgFundCommunityPoolResponse(); + return message; + }, +}; + +function createBaseMsgSetWithdrawAddress(): MsgSetWithdrawAddress { + return { delegator_address: "", withdraw_address: "" }; +} + +function createBaseMsgSetWithdrawAddressResponse(): MsgSetWithdrawAddressResponse { + return {}; +} + +function createBaseMsgWithdrawDelegatorReward(): MsgWithdrawDelegatorReward { + return { delegator_address: "", validator_address: "" }; +} + +function createBaseMsgWithdrawDelegatorRewardResponse(): MsgWithdrawDelegatorRewardResponse { + return {}; +} + +function createBaseMsgWithdrawValidatorCommission(): MsgWithdrawValidatorCommission { + return { validator_address: "" }; +} + +function createBaseMsgWithdrawValidatorCommissionResponse(): MsgWithdrawValidatorCommissionResponse { + return {}; +} + +function createBaseMsgFundCommunityPool(): MsgFundCommunityPool { + return { amount: [], depositor: "" }; +} + +function createBaseMsgFundCommunityPoolResponse(): MsgFundCommunityPoolResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts new file mode 100644 index 000000000..8ba3c8267 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts @@ -0,0 +1,162 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import type { Equivocation as EquivocationType } from "../../../../types/cosmos/evidence/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Equivocation extends EquivocationType {} + +export const Equivocation: MessageFns = { + $type: "cosmos.evidence.v1beta1.Equivocation" as const, + + encode(message: Equivocation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(18).fork()).join(); + } + if (message.power !== 0) { + writer.uint32(24).int64(message.power); + } + if (message.consensus_address !== "") { + writer.uint32(34).string(message.consensus_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Equivocation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEquivocation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.power = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.consensus_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Equivocation { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + power: isSet(object.power) ? globalThis.Number(object.power) : 0, + consensus_address: isSet(object.consensus_address) ? globalThis.String(object.consensus_address) : "", + }; + }, + + toJSON(message: Equivocation): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.power !== 0) { + obj.power = Math.round(message.power); + } + if (message.consensus_address !== "") { + obj.consensus_address = message.consensus_address; + } + return obj; + }, + + create, I>>(base?: I): Equivocation { + return Equivocation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Equivocation { + const message = createBaseEquivocation(); + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.power = object.power ?? 0; + message.consensus_address = object.consensus_address ?? ""; + return message; + }, +}; + +function createBaseEquivocation(): Equivocation { + return { height: 0, time: undefined, power: 0, consensus_address: "" }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.evidence.v1beta1.Equivocation", Equivocation as never]]; +export const aminoConverters = { + "/cosmos.evidence.v1beta1.Equivocation": { + aminoType: "cosmos-sdk/Equivocation", + toAmino: (message: Equivocation) => ({ ...message }), + fromAmino: (object: Equivocation) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts new file mode 100644 index 000000000..01a9bd5c7 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts @@ -0,0 +1,80 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/evidence/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.evidence.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.evidence) { + Any.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evidence.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + evidence: globalThis.Array.isArray(object?.evidence) ? object.evidence.map((e: any) => Any.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.evidence?.length) { + obj.evidence = message.evidence.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.evidence = object.evidence?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { evidence: [] }; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.evidence.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.evidence.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/index.ts new file mode 100644 index 000000000..e715d13bc --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './evidence'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts new file mode 100644 index 000000000..44b6f5bcb --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts @@ -0,0 +1,320 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { + QueryAllEvidenceRequest as QueryAllEvidenceRequestType, + QueryAllEvidenceResponse as QueryAllEvidenceResponseType, + QueryEvidenceRequest as QueryEvidenceRequestType, + QueryEvidenceResponse as QueryEvidenceResponseType, +} from "../../../../types/cosmos/evidence/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryEvidenceRequest extends QueryEvidenceRequestType {} +interface QueryEvidenceResponse extends QueryEvidenceResponseType {} +interface QueryAllEvidenceRequest extends QueryAllEvidenceRequestType {} +interface QueryAllEvidenceResponse extends QueryAllEvidenceResponseType {} + +export const QueryEvidenceRequest: MessageFns = { + $type: "cosmos.evidence.v1beta1.QueryEvidenceRequest" as const, + + encode(message: QueryEvidenceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.evidence_hash.length !== 0) { + writer.uint32(10).bytes(message.evidence_hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEvidenceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEvidenceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evidence_hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryEvidenceRequest { + return { evidence_hash: isSet(object.evidence_hash) ? bytesFromBase64(object.evidence_hash) : new Uint8Array(0) }; + }, + + toJSON(message: QueryEvidenceRequest): unknown { + const obj: any = {}; + if (message.evidence_hash.length !== 0) { + obj.evidence_hash = base64FromBytes(message.evidence_hash); + } + return obj; + }, + + create, I>>(base?: I): QueryEvidenceRequest { + return QueryEvidenceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryEvidenceRequest { + const message = createBaseQueryEvidenceRequest(); + message.evidence_hash = object.evidence_hash ?? new Uint8Array(0); + return message; + }, +}; + +export const QueryEvidenceResponse: MessageFns = { + $type: "cosmos.evidence.v1beta1.QueryEvidenceResponse" as const, + + encode(message: QueryEvidenceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.evidence !== undefined) { + Any.encode(message.evidence, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEvidenceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEvidenceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evidence = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryEvidenceResponse { + return { evidence: isSet(object.evidence) ? Any.fromJSON(object.evidence) : undefined }; + }, + + toJSON(message: QueryEvidenceResponse): unknown { + const obj: any = {}; + if (message.evidence !== undefined) { + obj.evidence = Any.toJSON(message.evidence); + } + return obj; + }, + + create, I>>(base?: I): QueryEvidenceResponse { + return QueryEvidenceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryEvidenceResponse { + const message = createBaseQueryEvidenceResponse(); + message.evidence = object.evidence !== undefined && object.evidence !== null ? Any.fromPartial(object.evidence) : undefined; + return message; + }, +}; + +export const QueryAllEvidenceRequest: MessageFns = { + $type: "cosmos.evidence.v1beta1.QueryAllEvidenceRequest" as const, + + encode(message: QueryAllEvidenceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllEvidenceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllEvidenceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllEvidenceRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryAllEvidenceRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllEvidenceRequest { + return QueryAllEvidenceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllEvidenceRequest { + const message = createBaseQueryAllEvidenceRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAllEvidenceResponse: MessageFns = { + $type: "cosmos.evidence.v1beta1.QueryAllEvidenceResponse" as const, + + encode(message: QueryAllEvidenceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.evidence) { + Any.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllEvidenceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllEvidenceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evidence.push(Any.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllEvidenceResponse { + return { + evidence: globalThis.Array.isArray(object?.evidence) ? object.evidence.map((e: any) => Any.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllEvidenceResponse): unknown { + const obj: any = {}; + if (message.evidence?.length) { + obj.evidence = message.evidence.map((e) => Any.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllEvidenceResponse { + return QueryAllEvidenceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllEvidenceResponse { + const message = createBaseQueryAllEvidenceResponse(); + message.evidence = object.evidence?.map((e) => Any.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +function createBaseQueryEvidenceRequest(): QueryEvidenceRequest { + return { evidence_hash: new Uint8Array(0) }; +} + +function createBaseQueryEvidenceResponse(): QueryEvidenceResponse { + return { evidence: undefined }; +} + +function createBaseQueryAllEvidenceRequest(): QueryAllEvidenceRequest { + return { pagination: undefined }; +} + +function createBaseQueryAllEvidenceResponse(): QueryAllEvidenceResponse { + return { evidence: [], pagination: undefined }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.evidence.v1beta1.QueryEvidenceRequest", QueryEvidenceRequest as never], + ["/cosmos.evidence.v1beta1.QueryEvidenceResponse", QueryEvidenceResponse as never], +]; +export const aminoConverters = { + "/cosmos.evidence.v1beta1.QueryEvidenceRequest": { + aminoType: "cosmos-sdk/QueryEvidenceRequest", + toAmino: (message: QueryEvidenceRequest) => ({ ...message }), + fromAmino: (object: QueryEvidenceRequest) => ({ ...object }), + }, + + "/cosmos.evidence.v1beta1.QueryEvidenceResponse": { + aminoType: "cosmos-sdk/QueryEvidenceResponse", + toAmino: (message: QueryEvidenceResponse) => ({ ...message }), + fromAmino: (object: QueryEvidenceResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts new file mode 100644 index 000000000..7735d9f3f --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts @@ -0,0 +1,187 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import type { + MsgSubmitEvidenceResponse as MsgSubmitEvidenceResponseType, + MsgSubmitEvidence as MsgSubmitEvidenceType, +} from "../../../../types/cosmos/evidence/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgSubmitEvidence extends MsgSubmitEvidenceType {} +interface MsgSubmitEvidenceResponse extends MsgSubmitEvidenceResponseType {} + +export const MsgSubmitEvidence: MessageFns = { + $type: "cosmos.evidence.v1beta1.MsgSubmitEvidence" as const, + + encode(message: MsgSubmitEvidence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.submitter !== "") { + writer.uint32(10).string(message.submitter); + } + if (message.evidence !== undefined) { + Any.encode(message.evidence, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitEvidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.submitter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.evidence = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSubmitEvidence { + return { + submitter: isSet(object.submitter) ? globalThis.String(object.submitter) : "", + evidence: isSet(object.evidence) ? Any.fromJSON(object.evidence) : undefined, + }; + }, + + toJSON(message: MsgSubmitEvidence): unknown { + const obj: any = {}; + if (message.submitter !== "") { + obj.submitter = message.submitter; + } + if (message.evidence !== undefined) { + obj.evidence = Any.toJSON(message.evidence); + } + return obj; + }, + + create, I>>(base?: I): MsgSubmitEvidence { + return MsgSubmitEvidence.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSubmitEvidence { + const message = createBaseMsgSubmitEvidence(); + message.submitter = object.submitter ?? ""; + message.evidence = object.evidence !== undefined && object.evidence !== null ? Any.fromPartial(object.evidence) : undefined; + return message; + }, +}; + +export const MsgSubmitEvidenceResponse: MessageFns = { + $type: "cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse" as const, + + encode(message: MsgSubmitEvidenceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitEvidenceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitEvidenceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSubmitEvidenceResponse { + return { hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0) }; + }, + + toJSON(message: MsgSubmitEvidenceResponse): unknown { + const obj: any = {}; + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + return obj; + }, + + create, I>>(base?: I): MsgSubmitEvidenceResponse { + return MsgSubmitEvidenceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSubmitEvidenceResponse { + const message = createBaseMsgSubmitEvidenceResponse(); + message.hash = object.hash ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgSubmitEvidence(): MsgSubmitEvidence { + return { submitter: "", evidence: undefined }; +} + +function createBaseMsgSubmitEvidenceResponse(): MsgSubmitEvidenceResponse { + return { hash: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.evidence.v1beta1.MsgSubmitEvidence", MsgSubmitEvidence as never]]; +export const aminoConverters = { + "/cosmos.evidence.v1beta1.MsgSubmitEvidence": { + aminoType: "cosmos-sdk/MsgSubmitEvidence", + toAmino: (message: MsgSubmitEvidence) => ({ ...message }), + fromAmino: (object: MsgSubmitEvidence) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts new file mode 100644 index 000000000..fdbb7989e --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts @@ -0,0 +1,446 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Duration } from "../../../google/protobuf/duration"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + AllowedMsgAllowance as AllowedMsgAllowanceType, + BasicAllowance as BasicAllowanceType, + Grant as GrantType, + PeriodicAllowance as PeriodicAllowanceType, +} from "../../../../types/cosmos/feegrant/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface BasicAllowance extends BasicAllowanceType {} +interface PeriodicAllowance extends PeriodicAllowanceType {} +interface AllowedMsgAllowance extends AllowedMsgAllowanceType {} +interface Grant extends GrantType {} + +export const BasicAllowance: MessageFns = { + $type: "cosmos.feegrant.v1beta1.BasicAllowance" as const, + + encode(message: BasicAllowance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.spend_limit) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.expiration !== undefined) { + Timestamp.encode(toTimestamp(message.expiration), writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BasicAllowance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBasicAllowance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.spend_limit.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BasicAllowance { + return { + spend_limit: globalThis.Array.isArray(object?.spend_limit) ? object.spend_limit.map((e: any) => Coin.fromJSON(e)) : [], + expiration: isSet(object.expiration) ? fromJsonTimestamp(object.expiration) : undefined, + }; + }, + + toJSON(message: BasicAllowance): unknown { + const obj: any = {}; + if (message.spend_limit?.length) { + obj.spend_limit = message.spend_limit.map((e) => Coin.toJSON(e)); + } + if (message.expiration !== undefined) { + obj.expiration = message.expiration.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): BasicAllowance { + return BasicAllowance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BasicAllowance { + const message = createBaseBasicAllowance(); + message.spend_limit = object.spend_limit?.map((e) => Coin.fromPartial(e)) || []; + message.expiration = object.expiration ?? undefined; + return message; + }, +}; + +export const PeriodicAllowance: MessageFns = { + $type: "cosmos.feegrant.v1beta1.PeriodicAllowance" as const, + + encode(message: PeriodicAllowance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.basic !== undefined) { + BasicAllowance.encode(message.basic, writer.uint32(10).fork()).join(); + } + if (message.period !== undefined) { + Duration.encode(message.period, writer.uint32(18).fork()).join(); + } + for (const v of message.period_spend_limit) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.period_can_spend) { + Coin.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.period_reset !== undefined) { + Timestamp.encode(toTimestamp(message.period_reset), writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PeriodicAllowance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeriodicAllowance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.basic = BasicAllowance.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.period = Duration.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.period_spend_limit.push(Coin.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.period_can_spend.push(Coin.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.period_reset = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeriodicAllowance { + return { + basic: isSet(object.basic) ? BasicAllowance.fromJSON(object.basic) : undefined, + period: isSet(object.period) ? Duration.fromJSON(object.period) : undefined, + period_spend_limit: globalThis.Array.isArray(object?.period_spend_limit) ? object.period_spend_limit.map((e: any) => Coin.fromJSON(e)) : [], + period_can_spend: globalThis.Array.isArray(object?.period_can_spend) ? object.period_can_spend.map((e: any) => Coin.fromJSON(e)) : [], + period_reset: isSet(object.period_reset) ? fromJsonTimestamp(object.period_reset) : undefined, + }; + }, + + toJSON(message: PeriodicAllowance): unknown { + const obj: any = {}; + if (message.basic !== undefined) { + obj.basic = BasicAllowance.toJSON(message.basic); + } + if (message.period !== undefined) { + obj.period = Duration.toJSON(message.period); + } + if (message.period_spend_limit?.length) { + obj.period_spend_limit = message.period_spend_limit.map((e) => Coin.toJSON(e)); + } + if (message.period_can_spend?.length) { + obj.period_can_spend = message.period_can_spend.map((e) => Coin.toJSON(e)); + } + if (message.period_reset !== undefined) { + obj.period_reset = message.period_reset.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): PeriodicAllowance { + return PeriodicAllowance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeriodicAllowance { + const message = createBasePeriodicAllowance(); + message.basic = object.basic !== undefined && object.basic !== null ? BasicAllowance.fromPartial(object.basic) : undefined; + message.period = object.period !== undefined && object.period !== null ? Duration.fromPartial(object.period) : undefined; + message.period_spend_limit = object.period_spend_limit?.map((e) => Coin.fromPartial(e)) || []; + message.period_can_spend = object.period_can_spend?.map((e) => Coin.fromPartial(e)) || []; + message.period_reset = object.period_reset ?? undefined; + return message; + }, +}; + +export const AllowedMsgAllowance: MessageFns = { + $type: "cosmos.feegrant.v1beta1.AllowedMsgAllowance" as const, + + encode(message: AllowedMsgAllowance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.allowance !== undefined) { + Any.encode(message.allowance, writer.uint32(10).fork()).join(); + } + for (const v of message.allowed_messages) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AllowedMsgAllowance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllowedMsgAllowance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allowance = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.allowed_messages.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AllowedMsgAllowance { + return { + allowance: isSet(object.allowance) ? Any.fromJSON(object.allowance) : undefined, + allowed_messages: globalThis.Array.isArray(object?.allowed_messages) ? object.allowed_messages.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: AllowedMsgAllowance): unknown { + const obj: any = {}; + if (message.allowance !== undefined) { + obj.allowance = Any.toJSON(message.allowance); + } + if (message.allowed_messages?.length) { + obj.allowed_messages = message.allowed_messages; + } + return obj; + }, + + create, I>>(base?: I): AllowedMsgAllowance { + return AllowedMsgAllowance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AllowedMsgAllowance { + const message = createBaseAllowedMsgAllowance(); + message.allowance = object.allowance !== undefined && object.allowance !== null ? Any.fromPartial(object.allowance) : undefined; + message.allowed_messages = object.allowed_messages?.map((e) => e) || []; + return message; + }, +}; + +export const Grant: MessageFns = { + $type: "cosmos.feegrant.v1beta1.Grant" as const, + + encode(message: Grant, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.allowance !== undefined) { + Any.encode(message.allowance, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Grant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.allowance = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Grant { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + allowance: isSet(object.allowance) ? Any.fromJSON(object.allowance) : undefined, + }; + }, + + toJSON(message: Grant): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.allowance !== undefined) { + obj.allowance = Any.toJSON(message.allowance); + } + return obj; + }, + + create, I>>(base?: I): Grant { + return Grant.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Grant { + const message = createBaseGrant(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.allowance = object.allowance !== undefined && object.allowance !== null ? Any.fromPartial(object.allowance) : undefined; + return message; + }, +}; + +function createBaseBasicAllowance(): BasicAllowance { + return { spend_limit: [], expiration: undefined }; +} + +function createBasePeriodicAllowance(): PeriodicAllowance { + return { basic: undefined, period: undefined, period_spend_limit: [], period_can_spend: [], period_reset: undefined }; +} + +function createBaseAllowedMsgAllowance(): AllowedMsgAllowance { + return { allowance: undefined, allowed_messages: [] }; +} + +function createBaseGrant(): Grant { + return { granter: "", grantee: "", allowance: undefined }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.feegrant.v1beta1.BasicAllowance", BasicAllowance as never], + ["/cosmos.feegrant.v1beta1.PeriodicAllowance", PeriodicAllowance as never], + ["/cosmos.feegrant.v1beta1.AllowedMsgAllowance", AllowedMsgAllowance as never], + ["/cosmos.feegrant.v1beta1.Grant", Grant as never], +]; +export const aminoConverters = { + "/cosmos.feegrant.v1beta1.BasicAllowance": { + aminoType: "cosmos-sdk/BasicAllowance", + toAmino: (message: BasicAllowance) => ({ ...message }), + fromAmino: (object: BasicAllowance) => ({ ...object }), + }, + + "/cosmos.feegrant.v1beta1.PeriodicAllowance": { + aminoType: "cosmos-sdk/PeriodicAllowance", + toAmino: (message: PeriodicAllowance) => ({ ...message }), + fromAmino: (object: PeriodicAllowance) => ({ ...object }), + }, + + "/cosmos.feegrant.v1beta1.AllowedMsgAllowance": { + aminoType: "cosmos-sdk/AllowedMsgAllowance", + toAmino: (message: AllowedMsgAllowance) => ({ ...message }), + fromAmino: (object: AllowedMsgAllowance) => ({ ...object }), + }, + + "/cosmos.feegrant.v1beta1.Grant": { + aminoType: "cosmos-sdk/Grant", + toAmino: (message: Grant) => ({ ...message }), + fromAmino: (object: Grant) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts new file mode 100644 index 000000000..58e40051b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts @@ -0,0 +1,80 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Grant } from "./feegrant"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/feegrant/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.feegrant.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.allowances) { + Grant.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allowances.push(Grant.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + allowances: globalThis.Array.isArray(object?.allowances) ? object.allowances.map((e: any) => Grant.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.allowances?.length) { + obj.allowances = message.allowances.map((e) => Grant.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.allowances = object.allowances?.map((e) => Grant.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { allowances: [] }; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.feegrant.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.feegrant.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/index.ts new file mode 100644 index 000000000..c8c4c5858 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './feegrant'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts new file mode 100644 index 000000000..be3980b1e --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts @@ -0,0 +1,476 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Grant } from "./feegrant"; + +import type { + QueryAllowanceRequest as QueryAllowanceRequestType, + QueryAllowanceResponse as QueryAllowanceResponseType, + QueryAllowancesByGranterRequest as QueryAllowancesByGranterRequestType, + QueryAllowancesByGranterResponse as QueryAllowancesByGranterResponseType, + QueryAllowancesRequest as QueryAllowancesRequestType, + QueryAllowancesResponse as QueryAllowancesResponseType, +} from "../../../../types/cosmos/feegrant/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryAllowanceRequest extends QueryAllowanceRequestType {} +interface QueryAllowanceResponse extends QueryAllowanceResponseType {} +interface QueryAllowancesRequest extends QueryAllowancesRequestType {} +interface QueryAllowancesResponse extends QueryAllowancesResponseType {} +interface QueryAllowancesByGranterRequest extends QueryAllowancesByGranterRequestType {} +interface QueryAllowancesByGranterResponse extends QueryAllowancesByGranterResponseType {} + +export const QueryAllowanceRequest: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowanceRequest" as const, + + encode(message: QueryAllowanceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowanceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowanceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowanceRequest { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + }; + }, + + toJSON(message: QueryAllowanceRequest): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + return obj; + }, + + create, I>>(base?: I): QueryAllowanceRequest { + return QueryAllowanceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowanceRequest { + const message = createBaseQueryAllowanceRequest(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + return message; + }, +}; + +export const QueryAllowanceResponse: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowanceResponse" as const, + + encode(message: QueryAllowanceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.allowance !== undefined) { + Grant.encode(message.allowance, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowanceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowanceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allowance = Grant.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowanceResponse { + return { allowance: isSet(object.allowance) ? Grant.fromJSON(object.allowance) : undefined }; + }, + + toJSON(message: QueryAllowanceResponse): unknown { + const obj: any = {}; + if (message.allowance !== undefined) { + obj.allowance = Grant.toJSON(message.allowance); + } + return obj; + }, + + create, I>>(base?: I): QueryAllowanceResponse { + return QueryAllowanceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowanceResponse { + const message = createBaseQueryAllowanceResponse(); + message.allowance = object.allowance !== undefined && object.allowance !== null ? Grant.fromPartial(object.allowance) : undefined; + return message; + }, +}; + +export const QueryAllowancesRequest: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowancesRequest" as const, + + encode(message: QueryAllowancesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.grantee !== "") { + writer.uint32(10).string(message.grantee); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowancesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grantee = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowancesRequest { + return { + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllowancesRequest): unknown { + const obj: any = {}; + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllowancesRequest { + return QueryAllowancesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowancesRequest { + const message = createBaseQueryAllowancesRequest(); + message.grantee = object.grantee ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAllowancesResponse: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowancesResponse" as const, + + encode(message: QueryAllowancesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.allowances) { + Grant.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowancesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allowances.push(Grant.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowancesResponse { + return { + allowances: globalThis.Array.isArray(object?.allowances) ? object.allowances.map((e: any) => Grant.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllowancesResponse): unknown { + const obj: any = {}; + if (message.allowances?.length) { + obj.allowances = message.allowances.map((e) => Grant.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllowancesResponse { + return QueryAllowancesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowancesResponse { + const message = createBaseQueryAllowancesResponse(); + message.allowances = object.allowances?.map((e) => Grant.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAllowancesByGranterRequest: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest" as const, + + encode(message: QueryAllowancesByGranterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesByGranterRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowancesByGranterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowancesByGranterRequest { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllowancesByGranterRequest): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllowancesByGranterRequest { + return QueryAllowancesByGranterRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowancesByGranterRequest { + const message = createBaseQueryAllowancesByGranterRequest(); + message.granter = object.granter ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryAllowancesByGranterResponse: MessageFns = { + $type: "cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse" as const, + + encode(message: QueryAllowancesByGranterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.allowances) { + Grant.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesByGranterResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowancesByGranterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allowances.push(Grant.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowancesByGranterResponse { + return { + allowances: globalThis.Array.isArray(object?.allowances) ? object.allowances.map((e: any) => Grant.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllowancesByGranterResponse): unknown { + const obj: any = {}; + if (message.allowances?.length) { + obj.allowances = message.allowances.map((e) => Grant.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryAllowancesByGranterResponse { + return QueryAllowancesByGranterResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAllowancesByGranterResponse { + const message = createBaseQueryAllowancesByGranterResponse(); + message.allowances = object.allowances?.map((e) => Grant.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +function createBaseQueryAllowanceRequest(): QueryAllowanceRequest { + return { granter: "", grantee: "" }; +} + +function createBaseQueryAllowanceResponse(): QueryAllowanceResponse { + return { allowance: undefined }; +} + +function createBaseQueryAllowancesRequest(): QueryAllowancesRequest { + return { grantee: "", pagination: undefined }; +} + +function createBaseQueryAllowancesResponse(): QueryAllowancesResponse { + return { allowances: [], pagination: undefined }; +} + +function createBaseQueryAllowancesByGranterRequest(): QueryAllowancesByGranterRequest { + return { granter: "", pagination: undefined }; +} + +function createBaseQueryAllowancesByGranterResponse(): QueryAllowancesByGranterResponse { + return { allowances: [], pagination: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.feegrant.v1beta1.QueryAllowanceRequest", QueryAllowanceRequest as never]]; +export const aminoConverters = { + "/cosmos.feegrant.v1beta1.QueryAllowanceRequest": { + aminoType: "cosmos-sdk/QueryAllowanceRequest", + toAmino: (message: QueryAllowanceRequest) => ({ ...message }), + fromAmino: (object: QueryAllowanceRequest) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts new file mode 100644 index 000000000..6897bbb11 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts @@ -0,0 +1,297 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import type { + MsgGrantAllowanceResponse as MsgGrantAllowanceResponseType, + MsgGrantAllowance as MsgGrantAllowanceType, + MsgRevokeAllowanceResponse as MsgRevokeAllowanceResponseType, + MsgRevokeAllowance as MsgRevokeAllowanceType, +} from "../../../../types/cosmos/feegrant/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgGrantAllowance extends MsgGrantAllowanceType {} +interface MsgGrantAllowanceResponse extends MsgGrantAllowanceResponseType {} +interface MsgRevokeAllowance extends MsgRevokeAllowanceType {} +interface MsgRevokeAllowanceResponse extends MsgRevokeAllowanceResponseType {} + +export const MsgGrantAllowance: MessageFns = { + $type: "cosmos.feegrant.v1beta1.MsgGrantAllowance" as const, + + encode(message: MsgGrantAllowance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + if (message.allowance !== undefined) { + Any.encode(message.allowance, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrantAllowance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrantAllowance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.allowance = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgGrantAllowance { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + allowance: isSet(object.allowance) ? Any.fromJSON(object.allowance) : undefined, + }; + }, + + toJSON(message: MsgGrantAllowance): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + if (message.allowance !== undefined) { + obj.allowance = Any.toJSON(message.allowance); + } + return obj; + }, + + create, I>>(base?: I): MsgGrantAllowance { + return MsgGrantAllowance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgGrantAllowance { + const message = createBaseMsgGrantAllowance(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + message.allowance = object.allowance !== undefined && object.allowance !== null ? Any.fromPartial(object.allowance) : undefined; + return message; + }, +}; + +export const MsgGrantAllowanceResponse: MessageFns = { + $type: "cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse" as const, + + encode(_: MsgGrantAllowanceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrantAllowanceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrantAllowanceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgGrantAllowanceResponse { + return {}; + }, + + toJSON(_: MsgGrantAllowanceResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgGrantAllowanceResponse { + return MsgGrantAllowanceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgGrantAllowanceResponse { + const message = createBaseMsgGrantAllowanceResponse(); + return message; + }, +}; + +export const MsgRevokeAllowance: MessageFns = { + $type: "cosmos.feegrant.v1beta1.MsgRevokeAllowance" as const, + + encode(message: MsgRevokeAllowance, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.granter !== "") { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== "") { + writer.uint32(18).string(message.grantee); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeAllowance { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevokeAllowance(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.granter = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.grantee = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRevokeAllowance { + return { + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + grantee: isSet(object.grantee) ? globalThis.String(object.grantee) : "", + }; + }, + + toJSON(message: MsgRevokeAllowance): unknown { + const obj: any = {}; + if (message.granter !== "") { + obj.granter = message.granter; + } + if (message.grantee !== "") { + obj.grantee = message.grantee; + } + return obj; + }, + + create, I>>(base?: I): MsgRevokeAllowance { + return MsgRevokeAllowance.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgRevokeAllowance { + const message = createBaseMsgRevokeAllowance(); + message.granter = object.granter ?? ""; + message.grantee = object.grantee ?? ""; + return message; + }, +}; + +export const MsgRevokeAllowanceResponse: MessageFns = { + $type: "cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse" as const, + + encode(_: MsgRevokeAllowanceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeAllowanceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevokeAllowanceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRevokeAllowanceResponse { + return {}; + }, + + toJSON(_: MsgRevokeAllowanceResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgRevokeAllowanceResponse { + return MsgRevokeAllowanceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgRevokeAllowanceResponse { + const message = createBaseMsgRevokeAllowanceResponse(); + return message; + }, +}; + +function createBaseMsgGrantAllowance(): MsgGrantAllowance { + return { granter: "", grantee: "", allowance: undefined }; +} + +function createBaseMsgGrantAllowanceResponse(): MsgGrantAllowanceResponse { + return {}; +} + +function createBaseMsgRevokeAllowance(): MsgRevokeAllowance { + return { granter: "", grantee: "" }; +} + +function createBaseMsgRevokeAllowanceResponse(): MsgRevokeAllowanceResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.feegrant.v1beta1.MsgGrantAllowance", MsgGrantAllowance as never], + ["/cosmos.feegrant.v1beta1.MsgRevokeAllowance", MsgRevokeAllowance as never], +]; +export const aminoConverters = { + "/cosmos.feegrant.v1beta1.MsgGrantAllowance": { + aminoType: "cosmos-sdk/MsgGrantAllowance", + toAmino: (message: MsgGrantAllowance) => ({ ...message }), + fromAmino: (object: MsgGrantAllowance) => ({ ...object }), + }, + + "/cosmos.feegrant.v1beta1.MsgRevokeAllowance": { + aminoType: "cosmos-sdk/MsgRevokeAllowance", + toAmino: (message: MsgRevokeAllowance) => ({ ...message }), + fromAmino: (object: MsgRevokeAllowance) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts new file mode 100644 index 000000000..a636b8d1b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts @@ -0,0 +1,103 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/genutil/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.genutil.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.gen_txs) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.gen_txs.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + gen_txs: globalThis.Array.isArray(object?.gen_txs) ? object.gen_txs.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.gen_txs?.length) { + obj.gen_txs = message.gen_txs.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.gen_txs = object.gen_txs?.map((e) => e) || []; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { gen_txs: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.genutil.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.genutil.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/index.ts new file mode 100644 index 000000000..7b5d608da --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './genesis'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts new file mode 100644 index 000000000..0e75f19d5 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts @@ -0,0 +1,194 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Deposit, DepositParams, Proposal, TallyParams, Vote, VotingParams } from "./gov"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/gov/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.gov.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.starting_proposal_id !== 0) { + writer.uint32(8).uint64(message.starting_proposal_id); + } + for (const v of message.deposits) { + Deposit.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.votes) { + Vote.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.proposals) { + Proposal.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.deposit_params !== undefined) { + DepositParams.encode(message.deposit_params, writer.uint32(42).fork()).join(); + } + if (message.voting_params !== undefined) { + VotingParams.encode(message.voting_params, writer.uint32(50).fork()).join(); + } + if (message.tally_params !== undefined) { + TallyParams.encode(message.tally_params, writer.uint32(58).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.starting_proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.deposits.push(Deposit.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.votes.push(Vote.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.proposals.push(Proposal.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.deposit_params = DepositParams.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.voting_params = VotingParams.decode(reader, reader.uint32()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.tally_params = TallyParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + starting_proposal_id: isSet(object.starting_proposal_id) ? globalThis.Number(object.starting_proposal_id) : 0, + deposits: globalThis.Array.isArray(object?.deposits) ? object.deposits.map((e: any) => Deposit.fromJSON(e)) : [], + votes: globalThis.Array.isArray(object?.votes) ? object.votes.map((e: any) => Vote.fromJSON(e)) : [], + proposals: globalThis.Array.isArray(object?.proposals) ? object.proposals.map((e: any) => Proposal.fromJSON(e)) : [], + deposit_params: isSet(object.deposit_params) ? DepositParams.fromJSON(object.deposit_params) : undefined, + voting_params: isSet(object.voting_params) ? VotingParams.fromJSON(object.voting_params) : undefined, + tally_params: isSet(object.tally_params) ? TallyParams.fromJSON(object.tally_params) : undefined, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.starting_proposal_id !== 0) { + obj.starting_proposal_id = Math.round(message.starting_proposal_id); + } + if (message.deposits?.length) { + obj.deposits = message.deposits.map((e) => Deposit.toJSON(e)); + } + if (message.votes?.length) { + obj.votes = message.votes.map((e) => Vote.toJSON(e)); + } + if (message.proposals?.length) { + obj.proposals = message.proposals.map((e) => Proposal.toJSON(e)); + } + if (message.deposit_params !== undefined) { + obj.deposit_params = DepositParams.toJSON(message.deposit_params); + } + if (message.voting_params !== undefined) { + obj.voting_params = VotingParams.toJSON(message.voting_params); + } + if (message.tally_params !== undefined) { + obj.tally_params = TallyParams.toJSON(message.tally_params); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.starting_proposal_id = object.starting_proposal_id ?? 0; + message.deposits = object.deposits?.map((e) => Deposit.fromPartial(e)) || []; + message.votes = object.votes?.map((e) => Vote.fromPartial(e)) || []; + message.proposals = object.proposals?.map((e) => Proposal.fromPartial(e)) || []; + message.deposit_params = + object.deposit_params !== undefined && object.deposit_params !== null ? DepositParams.fromPartial(object.deposit_params) : undefined; + message.voting_params = object.voting_params !== undefined && object.voting_params !== null ? VotingParams.fromPartial(object.voting_params) : undefined; + message.tally_params = object.tally_params !== undefined && object.tally_params !== null ? TallyParams.fromPartial(object.tally_params) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { + starting_proposal_id: 0, + deposits: [], + votes: [], + proposals: [], + deposit_params: undefined, + voting_params: undefined, + tally_params: undefined, + }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.gov.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.gov.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts new file mode 100644 index 000000000..cb07389c0 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts @@ -0,0 +1,1230 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Duration } from "../../../google/protobuf/duration"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + DepositParams as DepositParamsType, + Deposit as DepositType, + Proposal as ProposalType, + TallyParams as TallyParamsType, + TallyResult as TallyResultType, + TextProposal as TextProposalType, + Vote as VoteType, + VotingParams as VotingParamsType, + WeightedVoteOption as WeightedVoteOptionType, +} from "../../../../types/cosmos/gov/v1beta1"; + +import { ProposalStatus, VoteOption } from "../../../../types/cosmos/gov/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface WeightedVoteOption extends WeightedVoteOptionType {} +interface TextProposal extends TextProposalType {} +interface Deposit extends DepositType {} +interface Proposal extends ProposalType {} +interface TallyResult extends TallyResultType {} +interface Vote extends VoteType {} +interface DepositParams extends DepositParamsType {} +interface VotingParams extends VotingParamsType {} +interface TallyParams extends TallyParamsType {} + +export const WeightedVoteOption: MessageFns = { + $type: "cosmos.gov.v1beta1.WeightedVoteOption" as const, + + encode(message: WeightedVoteOption, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.option !== 0) { + writer.uint32(8).int32(message.option); + } + if (message.weight !== "") { + writer.uint32(18).string(message.weight); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WeightedVoteOption { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeightedVoteOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.option = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.weight = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WeightedVoteOption { + return { + option: isSet(object.option) ? voteOptionFromJSON(object.option) : 0, + weight: isSet(object.weight) ? globalThis.String(object.weight) : "", + }; + }, + + toJSON(message: WeightedVoteOption): unknown { + const obj: any = {}; + if (message.option !== 0) { + obj.option = voteOptionToJSON(message.option); + } + if (message.weight !== "") { + obj.weight = message.weight; + } + return obj; + }, + + create, I>>(base?: I): WeightedVoteOption { + return WeightedVoteOption.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + message.option = object.option ?? 0; + message.weight = object.weight ?? ""; + return message; + }, +}; + +export const TextProposal: MessageFns = { + $type: "cosmos.gov.v1beta1.TextProposal" as const, + + encode(message: TextProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.is_expedited !== false) { + writer.uint32(24).bool(message.is_expedited); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TextProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTextProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.is_expedited = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TextProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + is_expedited: isSet(object.is_expedited) ? globalThis.Boolean(object.is_expedited) : false, + }; + }, + + toJSON(message: TextProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.is_expedited !== false) { + obj.is_expedited = message.is_expedited; + } + return obj; + }, + + create, I>>(base?: I): TextProposal { + return TextProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TextProposal { + const message = createBaseTextProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.is_expedited = object.is_expedited ?? false; + return message; + }, +}; + +export const Deposit: MessageFns = { + $type: "cosmos.gov.v1beta1.Deposit" as const, + + encode(message: Deposit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Deposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.depositor = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Deposit { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + depositor: isSet(object.depositor) ? globalThis.String(object.depositor) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: Deposit): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.depositor !== "") { + obj.depositor = message.depositor; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Deposit { + return Deposit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Deposit { + const message = createBaseDeposit(); + message.proposal_id = object.proposal_id ?? 0; + message.depositor = object.depositor ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const Proposal: MessageFns = { + $type: "cosmos.gov.v1beta1.Proposal" as const, + + encode(message: Proposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.content !== undefined) { + Any.encode(message.content, writer.uint32(18).fork()).join(); + } + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + if (message.final_tally_result !== undefined) { + TallyResult.encode(message.final_tally_result, writer.uint32(34).fork()).join(); + } + if (message.submit_time !== undefined) { + Timestamp.encode(toTimestamp(message.submit_time), writer.uint32(42).fork()).join(); + } + if (message.deposit_end_time !== undefined) { + Timestamp.encode(toTimestamp(message.deposit_end_time), writer.uint32(50).fork()).join(); + } + for (const v of message.total_deposit) { + Coin.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.voting_start_time !== undefined) { + Timestamp.encode(toTimestamp(message.voting_start_time), writer.uint32(66).fork()).join(); + } + if (message.voting_end_time !== undefined) { + Timestamp.encode(toTimestamp(message.voting_end_time), writer.uint32(74).fork()).join(); + } + if (message.is_expedited !== false) { + writer.uint32(80).bool(message.is_expedited); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.content = Any.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.status = reader.int32() as any; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.final_tally_result = TallyResult.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.submit_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.deposit_end_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.total_deposit.push(Coin.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.voting_start_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.voting_end_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.is_expedited = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Proposal { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + content: isSet(object.content) ? Any.fromJSON(object.content) : undefined, + status: isSet(object.status) ? proposalStatusFromJSON(object.status) : 0, + final_tally_result: isSet(object.final_tally_result) ? TallyResult.fromJSON(object.final_tally_result) : undefined, + submit_time: isSet(object.submit_time) ? fromJsonTimestamp(object.submit_time) : undefined, + deposit_end_time: isSet(object.deposit_end_time) ? fromJsonTimestamp(object.deposit_end_time) : undefined, + total_deposit: globalThis.Array.isArray(object?.total_deposit) ? object.total_deposit.map((e: any) => Coin.fromJSON(e)) : [], + voting_start_time: isSet(object.voting_start_time) ? fromJsonTimestamp(object.voting_start_time) : undefined, + voting_end_time: isSet(object.voting_end_time) ? fromJsonTimestamp(object.voting_end_time) : undefined, + is_expedited: isSet(object.is_expedited) ? globalThis.Boolean(object.is_expedited) : false, + }; + }, + + toJSON(message: Proposal): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.content !== undefined) { + obj.content = Any.toJSON(message.content); + } + if (message.status !== 0) { + obj.status = proposalStatusToJSON(message.status); + } + if (message.final_tally_result !== undefined) { + obj.final_tally_result = TallyResult.toJSON(message.final_tally_result); + } + if (message.submit_time !== undefined) { + obj.submit_time = message.submit_time.toISOString(); + } + if (message.deposit_end_time !== undefined) { + obj.deposit_end_time = message.deposit_end_time.toISOString(); + } + if (message.total_deposit?.length) { + obj.total_deposit = message.total_deposit.map((e) => Coin.toJSON(e)); + } + if (message.voting_start_time !== undefined) { + obj.voting_start_time = message.voting_start_time.toISOString(); + } + if (message.voting_end_time !== undefined) { + obj.voting_end_time = message.voting_end_time.toISOString(); + } + if (message.is_expedited !== false) { + obj.is_expedited = message.is_expedited; + } + return obj; + }, + + create, I>>(base?: I): Proposal { + return Proposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Proposal { + const message = createBaseProposal(); + message.proposal_id = object.proposal_id ?? 0; + message.content = object.content !== undefined && object.content !== null ? Any.fromPartial(object.content) : undefined; + message.status = object.status ?? 0; + message.final_tally_result = + object.final_tally_result !== undefined && object.final_tally_result !== null ? TallyResult.fromPartial(object.final_tally_result) : undefined; + message.submit_time = object.submit_time ?? undefined; + message.deposit_end_time = object.deposit_end_time ?? undefined; + message.total_deposit = object.total_deposit?.map((e) => Coin.fromPartial(e)) || []; + message.voting_start_time = object.voting_start_time ?? undefined; + message.voting_end_time = object.voting_end_time ?? undefined; + message.is_expedited = object.is_expedited ?? false; + return message; + }, +}; + +export const TallyResult: MessageFns = { + $type: "cosmos.gov.v1beta1.TallyResult" as const, + + encode(message: TallyResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.yes !== "") { + writer.uint32(10).string(message.yes); + } + if (message.abstain !== "") { + writer.uint32(18).string(message.abstain); + } + if (message.no !== "") { + writer.uint32(26).string(message.no); + } + if (message.no_with_veto !== "") { + writer.uint32(34).string(message.no_with_veto); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TallyResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.yes = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.abstain = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.no = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.no_with_veto = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TallyResult { + return { + yes: isSet(object.yes) ? globalThis.String(object.yes) : "", + abstain: isSet(object.abstain) ? globalThis.String(object.abstain) : "", + no: isSet(object.no) ? globalThis.String(object.no) : "", + no_with_veto: isSet(object.no_with_veto) ? globalThis.String(object.no_with_veto) : "", + }; + }, + + toJSON(message: TallyResult): unknown { + const obj: any = {}; + if (message.yes !== "") { + obj.yes = message.yes; + } + if (message.abstain !== "") { + obj.abstain = message.abstain; + } + if (message.no !== "") { + obj.no = message.no; + } + if (message.no_with_veto !== "") { + obj.no_with_veto = message.no_with_veto; + } + return obj; + }, + + create, I>>(base?: I): TallyResult { + return TallyResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TallyResult { + const message = createBaseTallyResult(); + message.yes = object.yes ?? ""; + message.abstain = object.abstain ?? ""; + message.no = object.no ?? ""; + message.no_with_veto = object.no_with_veto ?? ""; + return message; + }, +}; + +export const Vote: MessageFns = { + $type: "cosmos.gov.v1beta1.Vote" as const, + + encode(message: Vote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.option = reader.int32() as any; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Vote { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + option: isSet(object.option) ? voteOptionFromJSON(object.option) : 0, + options: globalThis.Array.isArray(object?.options) ? object.options.map((e: any) => WeightedVoteOption.fromJSON(e)) : [], + }; + }, + + toJSON(message: Vote): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + if (message.option !== 0) { + obj.option = voteOptionToJSON(message.option); + } + if (message.options?.length) { + obj.options = message.options.map((e) => WeightedVoteOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Vote { + return Vote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Vote { + const message = createBaseVote(); + message.proposal_id = object.proposal_id ?? 0; + message.voter = object.voter ?? ""; + message.option = object.option ?? 0; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + return message; + }, +}; + +export const DepositParams: MessageFns = { + $type: "cosmos.gov.v1beta1.DepositParams" as const, + + encode(message: DepositParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.min_deposit) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.max_deposit_period !== undefined) { + Duration.encode(message.max_deposit_period, writer.uint32(18).fork()).join(); + } + for (const v of message.min_expedited_deposit) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DepositParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.min_deposit.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.max_deposit_period = Duration.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.min_expedited_deposit.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DepositParams { + return { + min_deposit: globalThis.Array.isArray(object?.min_deposit) ? object.min_deposit.map((e: any) => Coin.fromJSON(e)) : [], + max_deposit_period: isSet(object.max_deposit_period) ? Duration.fromJSON(object.max_deposit_period) : undefined, + min_expedited_deposit: globalThis.Array.isArray(object?.min_expedited_deposit) ? object.min_expedited_deposit.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: DepositParams): unknown { + const obj: any = {}; + if (message.min_deposit?.length) { + obj.min_deposit = message.min_deposit.map((e) => Coin.toJSON(e)); + } + if (message.max_deposit_period !== undefined) { + obj.max_deposit_period = Duration.toJSON(message.max_deposit_period); + } + if (message.min_expedited_deposit?.length) { + obj.min_expedited_deposit = message.min_expedited_deposit.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): DepositParams { + return DepositParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DepositParams { + const message = createBaseDepositParams(); + message.min_deposit = object.min_deposit?.map((e) => Coin.fromPartial(e)) || []; + message.max_deposit_period = + object.max_deposit_period !== undefined && object.max_deposit_period !== null ? Duration.fromPartial(object.max_deposit_period) : undefined; + message.min_expedited_deposit = object.min_expedited_deposit?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const VotingParams: MessageFns = { + $type: "cosmos.gov.v1beta1.VotingParams" as const, + + encode(message: VotingParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.voting_period !== undefined) { + Duration.encode(message.voting_period, writer.uint32(10).fork()).join(); + } + if (message.expedited_voting_period !== undefined) { + Duration.encode(message.expedited_voting_period, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VotingParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotingParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.voting_period = Duration.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.expedited_voting_period = Duration.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VotingParams { + return { + voting_period: isSet(object.voting_period) ? Duration.fromJSON(object.voting_period) : undefined, + expedited_voting_period: isSet(object.expedited_voting_period) ? Duration.fromJSON(object.expedited_voting_period) : undefined, + }; + }, + + toJSON(message: VotingParams): unknown { + const obj: any = {}; + if (message.voting_period !== undefined) { + obj.voting_period = Duration.toJSON(message.voting_period); + } + if (message.expedited_voting_period !== undefined) { + obj.expedited_voting_period = Duration.toJSON(message.expedited_voting_period); + } + return obj; + }, + + create, I>>(base?: I): VotingParams { + return VotingParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VotingParams { + const message = createBaseVotingParams(); + message.voting_period = object.voting_period !== undefined && object.voting_period !== null ? Duration.fromPartial(object.voting_period) : undefined; + message.expedited_voting_period = + object.expedited_voting_period !== undefined && object.expedited_voting_period !== null + ? Duration.fromPartial(object.expedited_voting_period) + : undefined; + return message; + }, +}; + +export const TallyParams: MessageFns = { + $type: "cosmos.gov.v1beta1.TallyParams" as const, + + encode(message: TallyParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.quorum.length !== 0) { + writer.uint32(10).bytes(message.quorum); + } + if (message.threshold.length !== 0) { + writer.uint32(18).bytes(message.threshold); + } + if (message.veto_threshold.length !== 0) { + writer.uint32(26).bytes(message.veto_threshold); + } + if (message.expedited_quorum.length !== 0) { + writer.uint32(34).bytes(message.expedited_quorum); + } + if (message.expedited_threshold.length !== 0) { + writer.uint32(42).bytes(message.expedited_threshold); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TallyParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.quorum = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.threshold = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.veto_threshold = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.expedited_quorum = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.expedited_threshold = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TallyParams { + return { + quorum: isSet(object.quorum) ? bytesFromBase64(object.quorum) : new Uint8Array(0), + threshold: isSet(object.threshold) ? bytesFromBase64(object.threshold) : new Uint8Array(0), + veto_threshold: isSet(object.veto_threshold) ? bytesFromBase64(object.veto_threshold) : new Uint8Array(0), + expedited_quorum: isSet(object.expedited_quorum) ? bytesFromBase64(object.expedited_quorum) : new Uint8Array(0), + expedited_threshold: isSet(object.expedited_threshold) ? bytesFromBase64(object.expedited_threshold) : new Uint8Array(0), + }; + }, + + toJSON(message: TallyParams): unknown { + const obj: any = {}; + if (message.quorum.length !== 0) { + obj.quorum = base64FromBytes(message.quorum); + } + if (message.threshold.length !== 0) { + obj.threshold = base64FromBytes(message.threshold); + } + if (message.veto_threshold.length !== 0) { + obj.veto_threshold = base64FromBytes(message.veto_threshold); + } + if (message.expedited_quorum.length !== 0) { + obj.expedited_quorum = base64FromBytes(message.expedited_quorum); + } + if (message.expedited_threshold.length !== 0) { + obj.expedited_threshold = base64FromBytes(message.expedited_threshold); + } + return obj; + }, + + create, I>>(base?: I): TallyParams { + return TallyParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TallyParams { + const message = createBaseTallyParams(); + message.quorum = object.quorum ?? new Uint8Array(0); + message.threshold = object.threshold ?? new Uint8Array(0); + message.veto_threshold = object.veto_threshold ?? new Uint8Array(0); + message.expedited_quorum = object.expedited_quorum ?? new Uint8Array(0); + message.expedited_threshold = object.expedited_threshold ?? new Uint8Array(0); + return message; + }, +}; + +export function voteOptionFromJSON(object: any): VoteOption { + switch (object) { + case 0: + case "VOTE_OPTION_UNSPECIFIED": + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case "VOTE_OPTION_YES": + return VoteOption.VOTE_OPTION_YES; + case 2: + case "VOTE_OPTION_ABSTAIN": + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case "VOTE_OPTION_NO": + return VoteOption.VOTE_OPTION_NO; + case 4: + case "VOTE_OPTION_NO_WITH_VETO": + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case "UNRECOGNIZED": + default: + return VoteOption.UNRECOGNIZED; + } +} + +export function voteOptionToJSON(object: VoteOption): string { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return "VOTE_OPTION_UNSPECIFIED"; + case VoteOption.VOTE_OPTION_YES: + return "VOTE_OPTION_YES"; + case VoteOption.VOTE_OPTION_ABSTAIN: + return "VOTE_OPTION_ABSTAIN"; + case VoteOption.VOTE_OPTION_NO: + return "VOTE_OPTION_NO"; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return "VOTE_OPTION_NO_WITH_VETO"; + case VoteOption.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function proposalStatusFromJSON(object: any): ProposalStatus { + switch (object) { + case 0: + case "PROPOSAL_STATUS_UNSPECIFIED": + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case "PROPOSAL_STATUS_DEPOSIT_PERIOD": + return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD; + case 2: + case "PROPOSAL_STATUS_VOTING_PERIOD": + return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD; + case 3: + case "PROPOSAL_STATUS_PASSED": + return ProposalStatus.PROPOSAL_STATUS_PASSED; + case 4: + case "PROPOSAL_STATUS_REJECTED": + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 5: + case "PROPOSAL_STATUS_FAILED": + return ProposalStatus.PROPOSAL_STATUS_FAILED; + case -1: + case "UNRECOGNIZED": + default: + return ProposalStatus.UNRECOGNIZED; + } +} + +export function proposalStatusToJSON(object: ProposalStatus): string { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return "PROPOSAL_STATUS_UNSPECIFIED"; + case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + return "PROPOSAL_STATUS_DEPOSIT_PERIOD"; + case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD: + return "PROPOSAL_STATUS_VOTING_PERIOD"; + case ProposalStatus.PROPOSAL_STATUS_PASSED: + return "PROPOSAL_STATUS_PASSED"; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return "PROPOSAL_STATUS_REJECTED"; + case ProposalStatus.PROPOSAL_STATUS_FAILED: + return "PROPOSAL_STATUS_FAILED"; + case ProposalStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseWeightedVoteOption(): WeightedVoteOption { + return { option: 0, weight: "" }; +} + +function createBaseTextProposal(): TextProposal { + return { title: "", description: "", is_expedited: false }; +} + +function createBaseDeposit(): Deposit { + return { proposal_id: 0, depositor: "", amount: [] }; +} + +function createBaseProposal(): Proposal { + return { + proposal_id: 0, + content: undefined, + status: 0, + final_tally_result: undefined, + submit_time: undefined, + deposit_end_time: undefined, + total_deposit: [], + voting_start_time: undefined, + voting_end_time: undefined, + is_expedited: false, + }; +} + +function createBaseTallyResult(): TallyResult { + return { yes: "", abstain: "", no: "", no_with_veto: "" }; +} + +function createBaseVote(): Vote { + return { proposal_id: 0, voter: "", option: 0, options: [] }; +} + +function createBaseDepositParams(): DepositParams { + return { min_deposit: [], max_deposit_period: undefined, min_expedited_deposit: [] }; +} + +function createBaseVotingParams(): VotingParams { + return { voting_period: undefined, expedited_voting_period: undefined }; +} + +function createBaseTallyParams(): TallyParams { + return { + quorum: new Uint8Array(0), + threshold: new Uint8Array(0), + veto_threshold: new Uint8Array(0), + expedited_quorum: new Uint8Array(0), + expedited_threshold: new Uint8Array(0), + }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.gov.v1beta1.WeightedVoteOption", WeightedVoteOption as never], + ["/cosmos.gov.v1beta1.TextProposal", TextProposal as never], + ["/cosmos.gov.v1beta1.Deposit", Deposit as never], + ["/cosmos.gov.v1beta1.Proposal", Proposal as never], + ["/cosmos.gov.v1beta1.TallyResult", TallyResult as never], + ["/cosmos.gov.v1beta1.Vote", Vote as never], + ["/cosmos.gov.v1beta1.DepositParams", DepositParams as never], + ["/cosmos.gov.v1beta1.VotingParams", VotingParams as never], + ["/cosmos.gov.v1beta1.TallyParams", TallyParams as never], +]; +export const aminoConverters = { + "/cosmos.gov.v1beta1.WeightedVoteOption": { + aminoType: "cosmos-sdk/WeightedVoteOption", + toAmino: (message: WeightedVoteOption) => ({ ...message }), + fromAmino: (object: WeightedVoteOption) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.TextProposal": { + aminoType: "cosmos-sdk/TextProposal", + toAmino: (message: TextProposal) => ({ ...message }), + fromAmino: (object: TextProposal) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.Deposit": { + aminoType: "cosmos-sdk/Deposit", + toAmino: (message: Deposit) => ({ ...message }), + fromAmino: (object: Deposit) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.Proposal": { + aminoType: "cosmos-sdk/Proposal", + toAmino: (message: Proposal) => ({ ...message }), + fromAmino: (object: Proposal) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.TallyResult": { + aminoType: "cosmos-sdk/TallyResult", + toAmino: (message: TallyResult) => ({ ...message }), + fromAmino: (object: TallyResult) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.Vote": { + aminoType: "cosmos-sdk/Vote", + toAmino: (message: Vote) => ({ ...message }), + fromAmino: (object: Vote) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.DepositParams": { + aminoType: "cosmos-sdk/DepositParams", + toAmino: (message: DepositParams) => ({ ...message }), + fromAmino: (object: DepositParams) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.VotingParams": { + aminoType: "cosmos-sdk/VotingParams", + toAmino: (message: VotingParams) => ({ ...message }), + fromAmino: (object: VotingParams) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.TallyParams": { + aminoType: "cosmos-sdk/TallyParams", + toAmino: (message: TallyParams) => ({ ...message }), + fromAmino: (object: TallyParams) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/index.ts new file mode 100644 index 000000000..00479ae19 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts new file mode 100644 index 000000000..986597e82 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts @@ -0,0 +1,1304 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Deposit, DepositParams, Proposal, TallyParams, TallyResult, Vote, VotingParams, proposalStatusFromJSON, proposalStatusToJSON } from "./gov"; + +import type { + QueryDepositRequest as QueryDepositRequestType, + QueryDepositResponse as QueryDepositResponseType, + QueryDepositsRequest as QueryDepositsRequestType, + QueryDepositsResponse as QueryDepositsResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QueryProposalRequest as QueryProposalRequestType, + QueryProposalResponse as QueryProposalResponseType, + QueryProposalsRequest as QueryProposalsRequestType, + QueryProposalsResponse as QueryProposalsResponseType, + QueryTallyResultRequest as QueryTallyResultRequestType, + QueryTallyResultResponse as QueryTallyResultResponseType, + QueryVoteRequest as QueryVoteRequestType, + QueryVoteResponse as QueryVoteResponseType, + QueryVotesRequest as QueryVotesRequestType, + QueryVotesResponse as QueryVotesResponseType, +} from "../../../../types/cosmos/gov/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryProposalRequest extends QueryProposalRequestType {} +interface QueryProposalResponse extends QueryProposalResponseType {} +interface QueryProposalsRequest extends QueryProposalsRequestType {} +interface QueryProposalsResponse extends QueryProposalsResponseType {} +interface QueryVoteRequest extends QueryVoteRequestType {} +interface QueryVoteResponse extends QueryVoteResponseType {} +interface QueryVotesRequest extends QueryVotesRequestType {} +interface QueryVotesResponse extends QueryVotesResponseType {} +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryDepositRequest extends QueryDepositRequestType {} +interface QueryDepositResponse extends QueryDepositResponseType {} +interface QueryDepositsRequest extends QueryDepositsRequestType {} +interface QueryDepositsResponse extends QueryDepositsResponseType {} +interface QueryTallyResultRequest extends QueryTallyResultRequestType {} +interface QueryTallyResultResponse extends QueryTallyResultResponseType {} + +export const QueryProposalRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryProposalRequest" as const, + + encode(message: QueryProposalRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryProposalRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryProposalRequest { + return { proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0 }; + }, + + toJSON(message: QueryProposalRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + return obj; + }, + + create, I>>(base?: I): QueryProposalRequest { + return QueryProposalRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryProposalRequest { + const message = createBaseQueryProposalRequest(); + message.proposal_id = object.proposal_id ?? 0; + return message; + }, +}; + +export const QueryProposalResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryProposalResponse" as const, + + encode(message: QueryProposalResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal !== undefined) { + Proposal.encode(message.proposal, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryProposalResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.proposal = Proposal.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryProposalResponse { + return { proposal: isSet(object.proposal) ? Proposal.fromJSON(object.proposal) : undefined }; + }, + + toJSON(message: QueryProposalResponse): unknown { + const obj: any = {}; + if (message.proposal !== undefined) { + obj.proposal = Proposal.toJSON(message.proposal); + } + return obj; + }, + + create, I>>(base?: I): QueryProposalResponse { + return QueryProposalResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryProposalResponse { + const message = createBaseQueryProposalResponse(); + message.proposal = object.proposal !== undefined && object.proposal !== null ? Proposal.fromPartial(object.proposal) : undefined; + return message; + }, +}; + +export const QueryProposalsRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryProposalsRequest" as const, + + encode(message: QueryProposalsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_status !== 0) { + writer.uint32(8).int32(message.proposal_status); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.depositor !== "") { + writer.uint32(26).string(message.depositor); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryProposalsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_status = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.depositor = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryProposalsRequest { + return { + proposal_status: isSet(object.proposal_status) ? proposalStatusFromJSON(object.proposal_status) : 0, + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + depositor: isSet(object.depositor) ? globalThis.String(object.depositor) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryProposalsRequest): unknown { + const obj: any = {}; + if (message.proposal_status !== 0) { + obj.proposal_status = proposalStatusToJSON(message.proposal_status); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + if (message.depositor !== "") { + obj.depositor = message.depositor; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryProposalsRequest { + return QueryProposalsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryProposalsRequest { + const message = createBaseQueryProposalsRequest(); + message.proposal_status = object.proposal_status ?? 0; + message.voter = object.voter ?? ""; + message.depositor = object.depositor ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryProposalsResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryProposalsResponse" as const, + + encode(message: QueryProposalsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.proposals) { + Proposal.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryProposalsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.proposals.push(Proposal.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryProposalsResponse { + return { + proposals: globalThis.Array.isArray(object?.proposals) ? object.proposals.map((e: any) => Proposal.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryProposalsResponse): unknown { + const obj: any = {}; + if (message.proposals?.length) { + obj.proposals = message.proposals.map((e) => Proposal.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryProposalsResponse { + return QueryProposalsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryProposalsResponse { + const message = createBaseQueryProposalsResponse(); + message.proposals = object.proposals?.map((e) => Proposal.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryVoteRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryVoteRequest" as const, + + encode(message: QueryVoteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVoteRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVoteRequest { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + }; + }, + + toJSON(message: QueryVoteRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + return obj; + }, + + create, I>>(base?: I): QueryVoteRequest { + return QueryVoteRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVoteRequest { + const message = createBaseQueryVoteRequest(); + message.proposal_id = object.proposal_id ?? 0; + message.voter = object.voter ?? ""; + return message; + }, +}; + +export const QueryVoteResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryVoteResponse" as const, + + encode(message: QueryVoteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote !== undefined) { + Vote.encode(message.vote, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVoteResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.vote = Vote.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVoteResponse { + return { vote: isSet(object.vote) ? Vote.fromJSON(object.vote) : undefined }; + }, + + toJSON(message: QueryVoteResponse): unknown { + const obj: any = {}; + if (message.vote !== undefined) { + obj.vote = Vote.toJSON(message.vote); + } + return obj; + }, + + create, I>>(base?: I): QueryVoteResponse { + return QueryVoteResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVoteResponse { + const message = createBaseQueryVoteResponse(); + message.vote = object.vote !== undefined && object.vote !== null ? Vote.fromPartial(object.vote) : undefined; + return message; + }, +}; + +export const QueryVotesRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryVotesRequest" as const, + + encode(message: QueryVotesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVotesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVotesRequest { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryVotesRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryVotesRequest { + return QueryVotesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVotesRequest { + const message = createBaseQueryVotesRequest(); + message.proposal_id = object.proposal_id ?? 0; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryVotesResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryVotesResponse" as const, + + encode(message: QueryVotesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.votes) { + Vote.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVotesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.votes.push(Vote.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVotesResponse { + return { + votes: globalThis.Array.isArray(object?.votes) ? object.votes.map((e: any) => Vote.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryVotesResponse): unknown { + const obj: any = {}; + if (message.votes?.length) { + obj.votes = message.votes.map((e) => Vote.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryVotesResponse { + return QueryVotesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVotesResponse { + const message = createBaseQueryVotesResponse(); + message.votes = object.votes?.map((e) => Vote.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryParamsRequest" as const, + + encode(message: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params_type !== "") { + writer.uint32(10).string(message.params_type); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params_type = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsRequest { + return { params_type: isSet(object.params_type) ? globalThis.String(object.params_type) : "" }; + }, + + toJSON(message: QueryParamsRequest): unknown { + const obj: any = {}; + if (message.params_type !== "") { + obj.params_type = message.params_type; + } + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + message.params_type = object.params_type ?? ""; + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.voting_params !== undefined) { + VotingParams.encode(message.voting_params, writer.uint32(10).fork()).join(); + } + if (message.deposit_params !== undefined) { + DepositParams.encode(message.deposit_params, writer.uint32(18).fork()).join(); + } + if (message.tally_params !== undefined) { + TallyParams.encode(message.tally_params, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.voting_params = VotingParams.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.deposit_params = DepositParams.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tally_params = TallyParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { + voting_params: isSet(object.voting_params) ? VotingParams.fromJSON(object.voting_params) : undefined, + deposit_params: isSet(object.deposit_params) ? DepositParams.fromJSON(object.deposit_params) : undefined, + tally_params: isSet(object.tally_params) ? TallyParams.fromJSON(object.tally_params) : undefined, + }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.voting_params !== undefined) { + obj.voting_params = VotingParams.toJSON(message.voting_params); + } + if (message.deposit_params !== undefined) { + obj.deposit_params = DepositParams.toJSON(message.deposit_params); + } + if (message.tally_params !== undefined) { + obj.tally_params = TallyParams.toJSON(message.tally_params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.voting_params = object.voting_params !== undefined && object.voting_params !== null ? VotingParams.fromPartial(object.voting_params) : undefined; + message.deposit_params = + object.deposit_params !== undefined && object.deposit_params !== null ? DepositParams.fromPartial(object.deposit_params) : undefined; + message.tally_params = object.tally_params !== undefined && object.tally_params !== null ? TallyParams.fromPartial(object.tally_params) : undefined; + return message; + }, +}; + +export const QueryDepositRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryDepositRequest" as const, + + encode(message: QueryDepositRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDepositRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.depositor = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDepositRequest { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + depositor: isSet(object.depositor) ? globalThis.String(object.depositor) : "", + }; + }, + + toJSON(message: QueryDepositRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.depositor !== "") { + obj.depositor = message.depositor; + } + return obj; + }, + + create, I>>(base?: I): QueryDepositRequest { + return QueryDepositRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDepositRequest { + const message = createBaseQueryDepositRequest(); + message.proposal_id = object.proposal_id ?? 0; + message.depositor = object.depositor ?? ""; + return message; + }, +}; + +export const QueryDepositResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryDepositResponse" as const, + + encode(message: QueryDepositResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.deposit !== undefined) { + Deposit.encode(message.deposit, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDepositResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.deposit = Deposit.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDepositResponse { + return { deposit: isSet(object.deposit) ? Deposit.fromJSON(object.deposit) : undefined }; + }, + + toJSON(message: QueryDepositResponse): unknown { + const obj: any = {}; + if (message.deposit !== undefined) { + obj.deposit = Deposit.toJSON(message.deposit); + } + return obj; + }, + + create, I>>(base?: I): QueryDepositResponse { + return QueryDepositResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDepositResponse { + const message = createBaseQueryDepositResponse(); + message.deposit = object.deposit !== undefined && object.deposit !== null ? Deposit.fromPartial(object.deposit) : undefined; + return message; + }, +}; + +export const QueryDepositsRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryDepositsRequest" as const, + + encode(message: QueryDepositsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDepositsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDepositsRequest { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDepositsRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDepositsRequest { + return QueryDepositsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDepositsRequest { + const message = createBaseQueryDepositsRequest(); + message.proposal_id = object.proposal_id ?? 0; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDepositsResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryDepositsResponse" as const, + + encode(message: QueryDepositsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.deposits) { + Deposit.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDepositsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.deposits.push(Deposit.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDepositsResponse { + return { + deposits: globalThis.Array.isArray(object?.deposits) ? object.deposits.map((e: any) => Deposit.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDepositsResponse): unknown { + const obj: any = {}; + if (message.deposits?.length) { + obj.deposits = message.deposits.map((e) => Deposit.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDepositsResponse { + return QueryDepositsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDepositsResponse { + const message = createBaseQueryDepositsResponse(); + message.deposits = object.deposits?.map((e) => Deposit.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryTallyResultRequest: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryTallyResultRequest" as const, + + encode(message: QueryTallyResultRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTallyResultRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTallyResultRequest { + return { proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0 }; + }, + + toJSON(message: QueryTallyResultRequest): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + return obj; + }, + + create, I>>(base?: I): QueryTallyResultRequest { + return QueryTallyResultRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTallyResultRequest { + const message = createBaseQueryTallyResultRequest(); + message.proposal_id = object.proposal_id ?? 0; + return message; + }, +}; + +export const QueryTallyResultResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.QueryTallyResultResponse" as const, + + encode(message: QueryTallyResultResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tally !== undefined) { + TallyResult.encode(message.tally, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTallyResultResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tally = TallyResult.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTallyResultResponse { + return { tally: isSet(object.tally) ? TallyResult.fromJSON(object.tally) : undefined }; + }, + + toJSON(message: QueryTallyResultResponse): unknown { + const obj: any = {}; + if (message.tally !== undefined) { + obj.tally = TallyResult.toJSON(message.tally); + } + return obj; + }, + + create, I>>(base?: I): QueryTallyResultResponse { + return QueryTallyResultResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTallyResultResponse { + const message = createBaseQueryTallyResultResponse(); + message.tally = object.tally !== undefined && object.tally !== null ? TallyResult.fromPartial(object.tally) : undefined; + return message; + }, +}; + +function createBaseQueryProposalRequest(): QueryProposalRequest { + return { proposal_id: 0 }; +} + +function createBaseQueryProposalResponse(): QueryProposalResponse { + return { proposal: undefined }; +} + +function createBaseQueryProposalsRequest(): QueryProposalsRequest { + return { proposal_status: 0, voter: "", depositor: "", pagination: undefined }; +} + +function createBaseQueryProposalsResponse(): QueryProposalsResponse { + return { proposals: [], pagination: undefined }; +} + +function createBaseQueryVoteRequest(): QueryVoteRequest { + return { proposal_id: 0, voter: "" }; +} + +function createBaseQueryVoteResponse(): QueryVoteResponse { + return { vote: undefined }; +} + +function createBaseQueryVotesRequest(): QueryVotesRequest { + return { proposal_id: 0, pagination: undefined }; +} + +function createBaseQueryVotesResponse(): QueryVotesResponse { + return { votes: [], pagination: undefined }; +} + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return { params_type: "" }; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { voting_params: undefined, deposit_params: undefined, tally_params: undefined }; +} + +function createBaseQueryDepositRequest(): QueryDepositRequest { + return { proposal_id: 0, depositor: "" }; +} + +function createBaseQueryDepositResponse(): QueryDepositResponse { + return { deposit: undefined }; +} + +function createBaseQueryDepositsRequest(): QueryDepositsRequest { + return { proposal_id: 0, pagination: undefined }; +} + +function createBaseQueryDepositsResponse(): QueryDepositsResponse { + return { deposits: [], pagination: undefined }; +} + +function createBaseQueryTallyResultRequest(): QueryTallyResultRequest { + return { proposal_id: 0 }; +} + +function createBaseQueryTallyResultResponse(): QueryTallyResultResponse { + return { tally: undefined }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.gov.v1beta1.QueryProposalRequest", QueryProposalRequest as never], + ["/cosmos.gov.v1beta1.QueryProposalResponse", QueryProposalResponse as never], + ["/cosmos.gov.v1beta1.QueryProposalsRequest", QueryProposalsRequest as never], + ["/cosmos.gov.v1beta1.QueryProposalsResponse", QueryProposalsResponse as never], + ["/cosmos.gov.v1beta1.QueryVoteRequest", QueryVoteRequest as never], + ["/cosmos.gov.v1beta1.QueryVoteResponse", QueryVoteResponse as never], + ["/cosmos.gov.v1beta1.QueryVotesRequest", QueryVotesRequest as never], + ["/cosmos.gov.v1beta1.QueryVotesResponse", QueryVotesResponse as never], + ["/cosmos.gov.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.gov.v1beta1.QueryParamsResponse", QueryParamsResponse as never], + ["/cosmos.gov.v1beta1.QueryDepositRequest", QueryDepositRequest as never], + ["/cosmos.gov.v1beta1.QueryDepositResponse", QueryDepositResponse as never], + ["/cosmos.gov.v1beta1.QueryDepositsRequest", QueryDepositsRequest as never], + ["/cosmos.gov.v1beta1.QueryDepositsResponse", QueryDepositsResponse as never], +]; +export const aminoConverters = { + "/cosmos.gov.v1beta1.QueryProposalRequest": { + aminoType: "cosmos-sdk/QueryProposalRequest", + toAmino: (message: QueryProposalRequest) => ({ ...message }), + fromAmino: (object: QueryProposalRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryProposalResponse": { + aminoType: "cosmos-sdk/QueryProposalResponse", + toAmino: (message: QueryProposalResponse) => ({ ...message }), + fromAmino: (object: QueryProposalResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryProposalsRequest": { + aminoType: "cosmos-sdk/QueryProposalsRequest", + toAmino: (message: QueryProposalsRequest) => ({ ...message }), + fromAmino: (object: QueryProposalsRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryProposalsResponse": { + aminoType: "cosmos-sdk/QueryProposalsResponse", + toAmino: (message: QueryProposalsResponse) => ({ ...message }), + fromAmino: (object: QueryProposalsResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryVoteRequest": { + aminoType: "cosmos-sdk/QueryVoteRequest", + toAmino: (message: QueryVoteRequest) => ({ ...message }), + fromAmino: (object: QueryVoteRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryVoteResponse": { + aminoType: "cosmos-sdk/QueryVoteResponse", + toAmino: (message: QueryVoteResponse) => ({ ...message }), + fromAmino: (object: QueryVoteResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryVotesRequest": { + aminoType: "cosmos-sdk/QueryVotesRequest", + toAmino: (message: QueryVotesRequest) => ({ ...message }), + fromAmino: (object: QueryVotesRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryVotesResponse": { + aminoType: "cosmos-sdk/QueryVotesResponse", + toAmino: (message: QueryVotesResponse) => ({ ...message }), + fromAmino: (object: QueryVotesResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryDepositRequest": { + aminoType: "cosmos-sdk/QueryDepositRequest", + toAmino: (message: QueryDepositRequest) => ({ ...message }), + fromAmino: (object: QueryDepositRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryDepositResponse": { + aminoType: "cosmos-sdk/QueryDepositResponse", + toAmino: (message: QueryDepositResponse) => ({ ...message }), + fromAmino: (object: QueryDepositResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryDepositsRequest": { + aminoType: "cosmos-sdk/QueryDepositsRequest", + toAmino: (message: QueryDepositsRequest) => ({ ...message }), + fromAmino: (object: QueryDepositsRequest) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.QueryDepositsResponse": { + aminoType: "cosmos-sdk/QueryDepositsResponse", + toAmino: (message: QueryDepositsResponse) => ({ ...message }), + fromAmino: (object: QueryDepositsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts new file mode 100644 index 000000000..2b8b19ea4 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts @@ -0,0 +1,664 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { WeightedVoteOption, voteOptionFromJSON, voteOptionToJSON } from "./gov"; + +import type { + MsgDepositResponse as MsgDepositResponseType, + MsgDeposit as MsgDepositType, + MsgSubmitProposalResponse as MsgSubmitProposalResponseType, + MsgSubmitProposal as MsgSubmitProposalType, + MsgVoteResponse as MsgVoteResponseType, + MsgVote as MsgVoteType, + MsgVoteWeightedResponse as MsgVoteWeightedResponseType, + MsgVoteWeighted as MsgVoteWeightedType, +} from "../../../../types/cosmos/gov/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgSubmitProposal extends MsgSubmitProposalType {} +interface MsgSubmitProposalResponse extends MsgSubmitProposalResponseType {} +interface MsgVote extends MsgVoteType {} +interface MsgVoteResponse extends MsgVoteResponseType {} +interface MsgVoteWeighted extends MsgVoteWeightedType {} +interface MsgVoteWeightedResponse extends MsgVoteWeightedResponseType {} +interface MsgDeposit extends MsgDepositType {} +interface MsgDepositResponse extends MsgDepositResponseType {} + +export const MsgSubmitProposal: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgSubmitProposal" as const, + + encode(message: MsgSubmitProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.content !== undefined) { + Any.encode(message.content, writer.uint32(10).fork()).join(); + } + for (const v of message.initial_deposit) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.proposer !== "") { + writer.uint32(26).string(message.proposer); + } + if (message.is_expedited !== false) { + writer.uint32(32).bool(message.is_expedited); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.content = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.initial_deposit.push(Coin.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proposer = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.is_expedited = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSubmitProposal { + return { + content: isSet(object.content) ? Any.fromJSON(object.content) : undefined, + initial_deposit: globalThis.Array.isArray(object?.initial_deposit) ? object.initial_deposit.map((e: any) => Coin.fromJSON(e)) : [], + proposer: isSet(object.proposer) ? globalThis.String(object.proposer) : "", + is_expedited: isSet(object.is_expedited) ? globalThis.Boolean(object.is_expedited) : false, + }; + }, + + toJSON(message: MsgSubmitProposal): unknown { + const obj: any = {}; + if (message.content !== undefined) { + obj.content = Any.toJSON(message.content); + } + if (message.initial_deposit?.length) { + obj.initial_deposit = message.initial_deposit.map((e) => Coin.toJSON(e)); + } + if (message.proposer !== "") { + obj.proposer = message.proposer; + } + if (message.is_expedited !== false) { + obj.is_expedited = message.is_expedited; + } + return obj; + }, + + create, I>>(base?: I): MsgSubmitProposal { + return MsgSubmitProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSubmitProposal { + const message = createBaseMsgSubmitProposal(); + message.content = object.content !== undefined && object.content !== null ? Any.fromPartial(object.content) : undefined; + message.initial_deposit = object.initial_deposit?.map((e) => Coin.fromPartial(e)) || []; + message.proposer = object.proposer ?? ""; + message.is_expedited = object.is_expedited ?? false; + return message; + }, +}; + +export const MsgSubmitProposalResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgSubmitProposalResponse" as const, + + encode(message: MsgSubmitProposalResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitProposalResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSubmitProposalResponse { + return { proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0 }; + }, + + toJSON(message: MsgSubmitProposalResponse): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + return obj; + }, + + create, I>>(base?: I): MsgSubmitProposalResponse { + return MsgSubmitProposalResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSubmitProposalResponse { + const message = createBaseMsgSubmitProposalResponse(); + message.proposal_id = object.proposal_id ?? 0; + return message; + }, +}; + +export const MsgVote: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgVote" as const, + + encode(message: MsgVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.option = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgVote { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + option: isSet(object.option) ? voteOptionFromJSON(object.option) : 0, + }; + }, + + toJSON(message: MsgVote): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + if (message.option !== 0) { + obj.option = voteOptionToJSON(message.option); + } + return obj; + }, + + create, I>>(base?: I): MsgVote { + return MsgVote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgVote { + const message = createBaseMsgVote(); + message.proposal_id = object.proposal_id ?? 0; + message.voter = object.voter ?? ""; + message.option = object.option ?? 0; + return message; + }, +}; + +export const MsgVoteResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgVoteResponse" as const, + + encode(_: MsgVoteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgVoteResponse { + return {}; + }, + + toJSON(_: MsgVoteResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgVoteResponse { + return MsgVoteResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgVoteResponse { + const message = createBaseMsgVoteResponse(); + return message; + }, +}; + +export const MsgVoteWeighted: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgVoteWeighted" as const, + + encode(message: MsgVoteWeighted, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeighted { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeighted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgVoteWeighted { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + options: globalThis.Array.isArray(object?.options) ? object.options.map((e: any) => WeightedVoteOption.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgVoteWeighted): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + if (message.options?.length) { + obj.options = message.options.map((e) => WeightedVoteOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgVoteWeighted { + return MsgVoteWeighted.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgVoteWeighted { + const message = createBaseMsgVoteWeighted(); + message.proposal_id = object.proposal_id ?? 0; + message.voter = object.voter ?? ""; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgVoteWeightedResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgVoteWeightedResponse" as const, + + encode(_: MsgVoteWeightedResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeightedResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeightedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgVoteWeightedResponse { + return {}; + }, + + toJSON(_: MsgVoteWeightedResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgVoteWeightedResponse { + return MsgVoteWeightedResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgVoteWeightedResponse { + const message = createBaseMsgVoteWeightedResponse(); + return message; + }, +}; + +export const MsgDeposit: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgDeposit" as const, + + encode(message: MsgDeposit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proposal_id !== 0) { + writer.uint32(8).uint64(message.proposal_id); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.proposal_id = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.depositor = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgDeposit { + return { + proposal_id: isSet(object.proposal_id) ? globalThis.Number(object.proposal_id) : 0, + depositor: isSet(object.depositor) ? globalThis.String(object.depositor) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgDeposit): unknown { + const obj: any = {}; + if (message.proposal_id !== 0) { + obj.proposal_id = Math.round(message.proposal_id); + } + if (message.depositor !== "") { + obj.depositor = message.depositor; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgDeposit { + return MsgDeposit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgDeposit { + const message = createBaseMsgDeposit(); + message.proposal_id = object.proposal_id ?? 0; + message.depositor = object.depositor ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgDepositResponse: MessageFns = { + $type: "cosmos.gov.v1beta1.MsgDepositResponse" as const, + + encode(_: MsgDepositResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgDepositResponse { + return {}; + }, + + toJSON(_: MsgDepositResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgDepositResponse { + return MsgDepositResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, +}; + +function createBaseMsgSubmitProposal(): MsgSubmitProposal { + return { content: undefined, initial_deposit: [], proposer: "", is_expedited: false }; +} + +function createBaseMsgSubmitProposalResponse(): MsgSubmitProposalResponse { + return { proposal_id: 0 }; +} + +function createBaseMsgVote(): MsgVote { + return { proposal_id: 0, voter: "", option: 0 }; +} + +function createBaseMsgVoteResponse(): MsgVoteResponse { + return {}; +} + +function createBaseMsgVoteWeighted(): MsgVoteWeighted { + return { proposal_id: 0, voter: "", options: [] }; +} + +function createBaseMsgVoteWeightedResponse(): MsgVoteWeightedResponse { + return {}; +} + +function createBaseMsgDeposit(): MsgDeposit { + return { proposal_id: 0, depositor: "", amount: [] }; +} + +function createBaseMsgDepositResponse(): MsgDepositResponse { + return {}; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.gov.v1beta1.MsgSubmitProposal", MsgSubmitProposal as never], + ["/cosmos.gov.v1beta1.MsgVote", MsgVote as never], + ["/cosmos.gov.v1beta1.MsgVoteResponse", MsgVoteResponse as never], + ["/cosmos.gov.v1beta1.MsgVoteWeighted", MsgVoteWeighted as never], + ["/cosmos.gov.v1beta1.MsgDeposit", MsgDeposit as never], + ["/cosmos.gov.v1beta1.MsgDepositResponse", MsgDepositResponse as never], +]; +export const aminoConverters = { + "/cosmos.gov.v1beta1.MsgSubmitProposal": { + aminoType: "cosmos-sdk/MsgSubmitProposal", + toAmino: (message: MsgSubmitProposal) => ({ ...message }), + fromAmino: (object: MsgSubmitProposal) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.MsgVote": { + aminoType: "cosmos-sdk/MsgVote", + toAmino: (message: MsgVote) => ({ ...message }), + fromAmino: (object: MsgVote) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.MsgVoteResponse": { + aminoType: "cosmos-sdk/MsgVoteResponse", + toAmino: (message: MsgVoteResponse) => ({ ...message }), + fromAmino: (object: MsgVoteResponse) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.MsgVoteWeighted": { + aminoType: "cosmos-sdk/MsgVoteWeighted", + toAmino: (message: MsgVoteWeighted) => ({ ...message }), + fromAmino: (object: MsgVoteWeighted) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.MsgDeposit": { + aminoType: "cosmos-sdk/MsgDeposit", + toAmino: (message: MsgDeposit) => ({ ...message }), + fromAmino: (object: MsgDeposit) => ({ ...object }), + }, + + "/cosmos.gov.v1beta1.MsgDepositResponse": { + aminoType: "cosmos-sdk/MsgDepositResponse", + toAmino: (message: MsgDepositResponse) => ({ ...message }), + fromAmino: (object: MsgDepositResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts new file mode 100644 index 000000000..8c501e466 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts @@ -0,0 +1,99 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Minter, Params } from "./mint"; + +import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.mint.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.minter !== undefined) { + Minter.encode(message.minter, writer.uint32(10).fork()).join(); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.minter = Minter.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + minter: isSet(object.minter) ? Minter.fromJSON(object.minter) : undefined, + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.minter !== undefined) { + obj.minter = Minter.toJSON(message.minter); + } + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.minter = object.minter !== undefined && object.minter !== null ? Minter.fromPartial(object.minter) : undefined; + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { minter: undefined, params: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.mint.v1beta1.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/cosmos.mint.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/index.ts new file mode 100644 index 000000000..7cf6b274a --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/index.ts @@ -0,0 +1,3 @@ +export * from './genesis'; +export * from './mint'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts new file mode 100644 index 000000000..1c0f30d4a --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts @@ -0,0 +1,261 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Minter as MinterType, Params as ParamsType } from "../../../../types/cosmos/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Minter extends MinterType {} +interface Params extends ParamsType {} + +export const Minter: MessageFns = { + $type: "cosmos.mint.v1beta1.Minter" as const, + + encode(message: Minter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.inflation !== "") { + writer.uint32(10).string(message.inflation); + } + if (message.annual_provisions !== "") { + writer.uint32(18).string(message.annual_provisions); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Minter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMinter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.inflation = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.annual_provisions = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Minter { + return { + inflation: isSet(object.inflation) ? globalThis.String(object.inflation) : "", + annual_provisions: isSet(object.annual_provisions) ? globalThis.String(object.annual_provisions) : "", + }; + }, + + toJSON(message: Minter): unknown { + const obj: any = {}; + if (message.inflation !== "") { + obj.inflation = message.inflation; + } + if (message.annual_provisions !== "") { + obj.annual_provisions = message.annual_provisions; + } + return obj; + }, + + create, I>>(base?: I): Minter { + return Minter.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Minter { + const message = createBaseMinter(); + message.inflation = object.inflation ?? ""; + message.annual_provisions = object.annual_provisions ?? ""; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "cosmos.mint.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mint_denom !== "") { + writer.uint32(10).string(message.mint_denom); + } + if (message.inflation_rate_change !== "") { + writer.uint32(18).string(message.inflation_rate_change); + } + if (message.inflation_max !== "") { + writer.uint32(26).string(message.inflation_max); + } + if (message.inflation_min !== "") { + writer.uint32(34).string(message.inflation_min); + } + if (message.goal_bonded !== "") { + writer.uint32(42).string(message.goal_bonded); + } + if (message.blocks_per_year !== 0) { + writer.uint32(48).uint64(message.blocks_per_year); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.mint_denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.inflation_rate_change = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.inflation_max = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.inflation_min = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.goal_bonded = reader.string(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.blocks_per_year = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + mint_denom: isSet(object.mint_denom) ? globalThis.String(object.mint_denom) : "", + inflation_rate_change: isSet(object.inflation_rate_change) ? globalThis.String(object.inflation_rate_change) : "", + inflation_max: isSet(object.inflation_max) ? globalThis.String(object.inflation_max) : "", + inflation_min: isSet(object.inflation_min) ? globalThis.String(object.inflation_min) : "", + goal_bonded: isSet(object.goal_bonded) ? globalThis.String(object.goal_bonded) : "", + blocks_per_year: isSet(object.blocks_per_year) ? globalThis.Number(object.blocks_per_year) : 0, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.mint_denom !== "") { + obj.mint_denom = message.mint_denom; + } + if (message.inflation_rate_change !== "") { + obj.inflation_rate_change = message.inflation_rate_change; + } + if (message.inflation_max !== "") { + obj.inflation_max = message.inflation_max; + } + if (message.inflation_min !== "") { + obj.inflation_min = message.inflation_min; + } + if (message.goal_bonded !== "") { + obj.goal_bonded = message.goal_bonded; + } + if (message.blocks_per_year !== 0) { + obj.blocks_per_year = Math.round(message.blocks_per_year); + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.mint_denom = object.mint_denom ?? ""; + message.inflation_rate_change = object.inflation_rate_change ?? ""; + message.inflation_max = object.inflation_max ?? ""; + message.inflation_min = object.inflation_min ?? ""; + message.goal_bonded = object.goal_bonded ?? ""; + message.blocks_per_year = object.blocks_per_year ?? 0; + return message; + }, +}; + +function createBaseMinter(): Minter { + return { inflation: "", annual_provisions: "" }; +} + +function createBaseParams(): Params { + return { + mint_denom: "", + inflation_rate_change: "", + inflation_max: "", + inflation_min: "", + goal_bonded: "", + blocks_per_year: 0, + }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.mint.v1beta1.Minter", Minter as never], + ["/cosmos.mint.v1beta1.Params", Params as never], +]; +export const aminoConverters = { + "/cosmos.mint.v1beta1.Minter": { + aminoType: "cosmos-sdk/Minter", + toAmino: (message: Minter) => ({ ...message }), + fromAmino: (object: Minter) => ({ ...object }), + }, + + "/cosmos.mint.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts new file mode 100644 index 000000000..be8bdfe6b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts @@ -0,0 +1,397 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Params } from "./mint"; + +import type { + QueryAnnualProvisionsRequest as QueryAnnualProvisionsRequestType, + QueryAnnualProvisionsResponse as QueryAnnualProvisionsResponseType, + QueryInflationRequest as QueryInflationRequestType, + QueryInflationResponse as QueryInflationResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, +} from "../../../../types/cosmos/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryInflationRequest extends QueryInflationRequestType {} +interface QueryInflationResponse extends QueryInflationResponseType {} +interface QueryAnnualProvisionsRequest extends QueryAnnualProvisionsRequestType {} +interface QueryAnnualProvisionsResponse extends QueryAnnualProvisionsResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryInflationRequest: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryInflationRequest" as const, + + encode(_: QueryInflationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryInflationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryInflationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryInflationRequest { + return {}; + }, + + toJSON(_: QueryInflationRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryInflationRequest { + return QueryInflationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryInflationRequest { + const message = createBaseQueryInflationRequest(); + return message; + }, +}; + +export const QueryInflationResponse: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryInflationResponse" as const, + + encode(message: QueryInflationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.inflation.length !== 0) { + writer.uint32(10).bytes(message.inflation); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryInflationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryInflationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.inflation = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryInflationResponse { + return { inflation: isSet(object.inflation) ? bytesFromBase64(object.inflation) : new Uint8Array(0) }; + }, + + toJSON(message: QueryInflationResponse): unknown { + const obj: any = {}; + if (message.inflation.length !== 0) { + obj.inflation = base64FromBytes(message.inflation); + } + return obj; + }, + + create, I>>(base?: I): QueryInflationResponse { + return QueryInflationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryInflationResponse { + const message = createBaseQueryInflationResponse(); + message.inflation = object.inflation ?? new Uint8Array(0); + return message; + }, +}; + +export const QueryAnnualProvisionsRequest: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryAnnualProvisionsRequest" as const, + + encode(_: QueryAnnualProvisionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAnnualProvisionsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAnnualProvisionsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryAnnualProvisionsRequest { + return {}; + }, + + toJSON(_: QueryAnnualProvisionsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryAnnualProvisionsRequest { + return QueryAnnualProvisionsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryAnnualProvisionsRequest { + const message = createBaseQueryAnnualProvisionsRequest(); + return message; + }, +}; + +export const QueryAnnualProvisionsResponse: MessageFns = { + $type: "cosmos.mint.v1beta1.QueryAnnualProvisionsResponse" as const, + + encode(message: QueryAnnualProvisionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.annual_provisions.length !== 0) { + writer.uint32(10).bytes(message.annual_provisions); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAnnualProvisionsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAnnualProvisionsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.annual_provisions = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAnnualProvisionsResponse { + return { + annual_provisions: isSet(object.annual_provisions) ? bytesFromBase64(object.annual_provisions) : new Uint8Array(0), + }; + }, + + toJSON(message: QueryAnnualProvisionsResponse): unknown { + const obj: any = {}; + if (message.annual_provisions.length !== 0) { + obj.annual_provisions = base64FromBytes(message.annual_provisions); + } + return obj; + }, + + create, I>>(base?: I): QueryAnnualProvisionsResponse { + return QueryAnnualProvisionsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAnnualProvisionsResponse { + const message = createBaseQueryAnnualProvisionsResponse(); + message.annual_provisions = object.annual_provisions ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryInflationRequest(): QueryInflationRequest { + return {}; +} + +function createBaseQueryInflationResponse(): QueryInflationResponse { + return { inflation: new Uint8Array(0) }; +} + +function createBaseQueryAnnualProvisionsRequest(): QueryAnnualProvisionsRequest { + return {}; +} + +function createBaseQueryAnnualProvisionsResponse(): QueryAnnualProvisionsResponse { + return { annual_provisions: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.mint.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.mint.v1beta1.QueryParamsResponse", QueryParamsResponse as never], + ["/cosmos.mint.v1beta1.QueryInflationRequest", QueryInflationRequest as never], + ["/cosmos.mint.v1beta1.QueryInflationResponse", QueryInflationResponse as never], +]; +export const aminoConverters = { + "/cosmos.mint.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.mint.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, + + "/cosmos.mint.v1beta1.QueryInflationRequest": { + aminoType: "cosmos-sdk/QueryInflationRequest", + toAmino: (message: QueryInflationRequest) => ({ ...message }), + fromAmino: (object: QueryInflationRequest) => ({ ...object }), + }, + + "/cosmos.mint.v1beta1.QueryInflationResponse": { + aminoType: "cosmos-sdk/QueryInflationResponse", + toAmino: (message: QueryInflationResponse) => ({ ...message }), + fromAmino: (object: QueryInflationResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/params/types/index.ts b/packages/cosmos/generated/encoding/cosmos/params/types/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/params/types/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/params/types/types.ts b/packages/cosmos/generated/encoding/cosmos/params/types/types.ts new file mode 100644 index 000000000..231d46b86 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/params/types/types.ts @@ -0,0 +1,272 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { DecCoin } from "../../base/v1beta1/coin"; + +import type { + CosmosGasParams as CosmosGasParamsType, + FeesParams as FeesParamsType, + GenesisState as GenesisStateType, +} from "../../../../types/cosmos/params/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface FeesParams extends FeesParamsType {} +interface CosmosGasParams extends CosmosGasParamsType {} +interface GenesisState extends GenesisStateType {} + +export const FeesParams: MessageFns = { + $type: "cosmos.params.v1beta1.FeesParams" as const, + + encode(message: FeesParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.global_minimum_gas_prices) { + DecCoin.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeesParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeesParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.global_minimum_gas_prices.push(DecCoin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeesParams { + return { + global_minimum_gas_prices: globalThis.Array.isArray(object?.global_minimum_gas_prices) + ? object.global_minimum_gas_prices.map((e: any) => DecCoin.fromJSON(e)) + : [], + }; + }, + + toJSON(message: FeesParams): unknown { + const obj: any = {}; + if (message.global_minimum_gas_prices?.length) { + obj.global_minimum_gas_prices = message.global_minimum_gas_prices.map((e) => DecCoin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FeesParams { + return FeesParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeesParams { + const message = createBaseFeesParams(); + message.global_minimum_gas_prices = object.global_minimum_gas_prices?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, +}; + +export const CosmosGasParams: MessageFns = { + $type: "cosmos.params.v1beta1.CosmosGasParams" as const, + + encode(message: CosmosGasParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.cosmos_gas_multiplier_numerator !== 0) { + writer.uint32(8).uint64(message.cosmos_gas_multiplier_numerator); + } + if (message.cosmos_gas_multiplier_denominator !== 0) { + writer.uint32(16).uint64(message.cosmos_gas_multiplier_denominator); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CosmosGasParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCosmosGasParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.cosmos_gas_multiplier_numerator = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.cosmos_gas_multiplier_denominator = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CosmosGasParams { + return { + cosmos_gas_multiplier_numerator: isSet(object.cosmos_gas_multiplier_numerator) ? globalThis.Number(object.cosmos_gas_multiplier_numerator) : 0, + cosmos_gas_multiplier_denominator: isSet(object.cosmos_gas_multiplier_denominator) ? globalThis.Number(object.cosmos_gas_multiplier_denominator) : 0, + }; + }, + + toJSON(message: CosmosGasParams): unknown { + const obj: any = {}; + if (message.cosmos_gas_multiplier_numerator !== 0) { + obj.cosmos_gas_multiplier_numerator = Math.round(message.cosmos_gas_multiplier_numerator); + } + if (message.cosmos_gas_multiplier_denominator !== 0) { + obj.cosmos_gas_multiplier_denominator = Math.round(message.cosmos_gas_multiplier_denominator); + } + return obj; + }, + + create, I>>(base?: I): CosmosGasParams { + return CosmosGasParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CosmosGasParams { + const message = createBaseCosmosGasParams(); + message.cosmos_gas_multiplier_numerator = object.cosmos_gas_multiplier_numerator ?? 0; + message.cosmos_gas_multiplier_denominator = object.cosmos_gas_multiplier_denominator ?? 0; + return message; + }, +}; + +export const GenesisState: MessageFns = { + $type: "cosmos.params.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.fees_params !== undefined) { + FeesParams.encode(message.fees_params, writer.uint32(10).fork()).join(); + } + if (message.cosmos_gas_params !== undefined) { + CosmosGasParams.encode(message.cosmos_gas_params, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.fees_params = FeesParams.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.cosmos_gas_params = CosmosGasParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + fees_params: isSet(object.fees_params) ? FeesParams.fromJSON(object.fees_params) : undefined, + cosmos_gas_params: isSet(object.cosmos_gas_params) ? CosmosGasParams.fromJSON(object.cosmos_gas_params) : undefined, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.fees_params !== undefined) { + obj.fees_params = FeesParams.toJSON(message.fees_params); + } + if (message.cosmos_gas_params !== undefined) { + obj.cosmos_gas_params = CosmosGasParams.toJSON(message.cosmos_gas_params); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.fees_params = object.fees_params !== undefined && object.fees_params !== null ? FeesParams.fromPartial(object.fees_params) : undefined; + message.cosmos_gas_params = + object.cosmos_gas_params !== undefined && object.cosmos_gas_params !== null ? CosmosGasParams.fromPartial(object.cosmos_gas_params) : undefined; + return message; + }, +}; + +function createBaseFeesParams(): FeesParams { + return { global_minimum_gas_prices: [] }; +} + +function createBaseCosmosGasParams(): CosmosGasParams { + return { cosmos_gas_multiplier_numerator: 0, cosmos_gas_multiplier_denominator: 0 }; +} + +function createBaseGenesisState(): GenesisState { + return { fees_params: undefined, cosmos_gas_params: undefined }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.params.v1beta1.FeesParams", FeesParams as never], + ["/cosmos.params.v1beta1.CosmosGasParams", CosmosGasParams as never], + ["/cosmos.params.v1beta1.GenesisState", GenesisState as never], +]; +export const aminoConverters = { + "/cosmos.params.v1beta1.FeesParams": { + aminoType: "cosmos-sdk/FeesParams", + toAmino: (message: FeesParams) => ({ ...message }), + fromAmino: (object: FeesParams) => ({ ...object }), + }, + + "/cosmos.params.v1beta1.CosmosGasParams": { + aminoType: "cosmos-sdk/CosmosGasParams", + toAmino: (message: CosmosGasParams) => ({ ...message }), + fromAmino: (object: CosmosGasParams) => ({ ...object }), + }, + + "/cosmos.params.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/index.ts new file mode 100644 index 000000000..133539426 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './params'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts new file mode 100644 index 000000000..06af2120f --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts @@ -0,0 +1,219 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { ParamChange as ParamChangeType, ParameterChangeProposal as ParameterChangeProposalType } from "../../../../types/cosmos/params/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface ParameterChangeProposal extends ParameterChangeProposalType {} +interface ParamChange extends ParamChangeType {} + +export const ParameterChangeProposal: MessageFns = { + $type: "cosmos.params.v1beta1.ParameterChangeProposal" as const, + + encode(message: ParameterChangeProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + for (const v of message.changes) { + ParamChange.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.is_expedited !== false) { + writer.uint32(32).bool(message.is_expedited); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ParameterChangeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParameterChangeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.changes.push(ParamChange.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.is_expedited = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ParameterChangeProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + changes: globalThis.Array.isArray(object?.changes) ? object.changes.map((e: any) => ParamChange.fromJSON(e)) : [], + is_expedited: isSet(object.is_expedited) ? globalThis.Boolean(object.is_expedited) : false, + }; + }, + + toJSON(message: ParameterChangeProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.changes?.length) { + obj.changes = message.changes.map((e) => ParamChange.toJSON(e)); + } + if (message.is_expedited !== false) { + obj.is_expedited = message.is_expedited; + } + return obj; + }, + + create, I>>(base?: I): ParameterChangeProposal { + return ParameterChangeProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ParameterChangeProposal { + const message = createBaseParameterChangeProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.changes = object.changes?.map((e) => ParamChange.fromPartial(e)) || []; + message.is_expedited = object.is_expedited ?? false; + return message; + }, +}; + +export const ParamChange: MessageFns = { + $type: "cosmos.params.v1beta1.ParamChange" as const, + + encode(message: ParamChange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.subspace !== "") { + writer.uint32(10).string(message.subspace); + } + if (message.key !== "") { + writer.uint32(18).string(message.key); + } + if (message.value !== "") { + writer.uint32(26).string(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ParamChange { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParamChange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.subspace = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.key = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ParamChange { + return { + subspace: isSet(object.subspace) ? globalThis.String(object.subspace) : "", + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: ParamChange): unknown { + const obj: any = {}; + if (message.subspace !== "") { + obj.subspace = message.subspace; + } + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create, I>>(base?: I): ParamChange { + return ParamChange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ParamChange { + const message = createBaseParamChange(); + message.subspace = object.subspace ?? ""; + message.key = object.key ?? ""; + message.value = object.value ?? ""; + return message; + }, +}; + +function createBaseParameterChangeProposal(): ParameterChangeProposal { + return { title: "", description: "", changes: [], is_expedited: false }; +} + +function createBaseParamChange(): ParamChange { + return { subspace: "", key: "", value: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.params.v1beta1.ParamChange", ParamChange as never]]; +export const aminoConverters = { + "/cosmos.params.v1beta1.ParamChange": { + aminoType: "cosmos-sdk/ParamChange", + toAmino: (message: ParamChange) => ({ ...message }), + fromAmino: (object: ParamChange) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts new file mode 100644 index 000000000..80adbce9b --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts @@ -0,0 +1,168 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { ParamChange } from "./params"; + +import type { QueryParamsRequest as QueryParamsRequestType, QueryParamsResponse as QueryParamsResponseType } from "../../../../types/cosmos/params/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.params.v1beta1.QueryParamsRequest" as const, + + encode(message: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.subspace !== "") { + writer.uint32(10).string(message.subspace); + } + if (message.key !== "") { + writer.uint32(18).string(message.key); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.subspace = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.key = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsRequest { + return { + subspace: isSet(object.subspace) ? globalThis.String(object.subspace) : "", + key: isSet(object.key) ? globalThis.String(object.key) : "", + }; + }, + + toJSON(message: QueryParamsRequest): unknown { + const obj: any = {}; + if (message.subspace !== "") { + obj.subspace = message.subspace; + } + if (message.key !== "") { + obj.key = message.key; + } + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + message.subspace = object.subspace ?? ""; + message.key = object.key ?? ""; + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.params.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.param !== undefined) { + ParamChange.encode(message.param, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.param = ParamChange.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { param: isSet(object.param) ? ParamChange.fromJSON(object.param) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.param !== undefined) { + obj.param = ParamChange.toJSON(message.param); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.param = object.param !== undefined && object.param !== null ? ParamChange.fromPartial(object.param) : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return { subspace: "", key: "" }; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { param: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.params.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.params.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.params.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.params.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts new file mode 100644 index 000000000..35a751bd9 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts @@ -0,0 +1,671 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { + Params, + ValidatorMissedBlockArray, + ValidatorMissedBlockArrayLegacyMissedHeights, + ValidatorSigningInfo, + ValidatorSigningInfoLegacyMissedHeights, +} from "./slashing"; + +import type { + GenesisStateLegacyMissingHeights as GenesisStateLegacyMissingHeightsType, + GenesisStateLegacyV43 as GenesisStateLegacyV43Type, + GenesisState as GenesisStateType, + MissedBlock as MissedBlockType, + SigningInfoLegacyMissedHeights as SigningInfoLegacyMissedHeightsType, + SigningInfo as SigningInfoType, + ValidatorMissedBlocks as ValidatorMissedBlocksType, +} from "../../../../types/cosmos/slashing/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface GenesisStateLegacyMissingHeights extends GenesisStateLegacyMissingHeightsType {} +interface GenesisStateLegacyV43 extends GenesisStateLegacyV43Type {} +interface SigningInfo extends SigningInfoType {} +interface SigningInfoLegacyMissedHeights extends SigningInfoLegacyMissedHeightsType {} +interface ValidatorMissedBlocks extends ValidatorMissedBlocksType {} +interface MissedBlock extends MissedBlockType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.slashing.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.signing_infos) { + SigningInfo.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.missed_blocks) { + ValidatorMissedBlockArray.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signing_infos.push(SigningInfo.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.missed_blocks.push(ValidatorMissedBlockArray.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + signing_infos: globalThis.Array.isArray(object?.signing_infos) ? object.signing_infos.map((e: any) => SigningInfo.fromJSON(e)) : [], + missed_blocks: globalThis.Array.isArray(object?.missed_blocks) ? object.missed_blocks.map((e: any) => ValidatorMissedBlockArray.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.signing_infos?.length) { + obj.signing_infos = message.signing_infos.map((e) => SigningInfo.toJSON(e)); + } + if (message.missed_blocks?.length) { + obj.missed_blocks = message.missed_blocks.map((e) => ValidatorMissedBlockArray.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.signing_infos = object.signing_infos?.map((e) => SigningInfo.fromPartial(e)) || []; + message.missed_blocks = object.missed_blocks?.map((e) => ValidatorMissedBlockArray.fromPartial(e)) || []; + return message; + }, +}; + +export const GenesisStateLegacyMissingHeights: MessageFns = { + $type: "cosmos.slashing.v1beta1.GenesisStateLegacyMissingHeights" as const, + + encode(message: GenesisStateLegacyMissingHeights, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.signing_infos) { + SigningInfo.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.missed_blocks) { + ValidatorMissedBlockArrayLegacyMissedHeights.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisStateLegacyMissingHeights { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisStateLegacyMissingHeights(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signing_infos.push(SigningInfo.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.missed_blocks.push(ValidatorMissedBlockArrayLegacyMissedHeights.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisStateLegacyMissingHeights { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + signing_infos: globalThis.Array.isArray(object?.signing_infos) ? object.signing_infos.map((e: any) => SigningInfo.fromJSON(e)) : [], + missed_blocks: globalThis.Array.isArray(object?.missed_blocks) + ? object.missed_blocks.map((e: any) => ValidatorMissedBlockArrayLegacyMissedHeights.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GenesisStateLegacyMissingHeights): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.signing_infos?.length) { + obj.signing_infos = message.signing_infos.map((e) => SigningInfo.toJSON(e)); + } + if (message.missed_blocks?.length) { + obj.missed_blocks = message.missed_blocks.map((e) => ValidatorMissedBlockArrayLegacyMissedHeights.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisStateLegacyMissingHeights { + return GenesisStateLegacyMissingHeights.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisStateLegacyMissingHeights { + const message = createBaseGenesisStateLegacyMissingHeights(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.signing_infos = object.signing_infos?.map((e) => SigningInfo.fromPartial(e)) || []; + message.missed_blocks = object.missed_blocks?.map((e) => ValidatorMissedBlockArrayLegacyMissedHeights.fromPartial(e)) || []; + return message; + }, +}; + +export const GenesisStateLegacyV43: MessageFns = { + $type: "cosmos.slashing.v1beta1.GenesisStateLegacyV43" as const, + + encode(message: GenesisStateLegacyV43, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.signing_infos) { + SigningInfo.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.missed_blocks) { + ValidatorMissedBlocks.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisStateLegacyV43 { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisStateLegacyV43(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signing_infos.push(SigningInfo.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.missed_blocks.push(ValidatorMissedBlocks.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisStateLegacyV43 { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + signing_infos: globalThis.Array.isArray(object?.signing_infos) ? object.signing_infos.map((e: any) => SigningInfo.fromJSON(e)) : [], + missed_blocks: globalThis.Array.isArray(object?.missed_blocks) ? object.missed_blocks.map((e: any) => ValidatorMissedBlocks.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisStateLegacyV43): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.signing_infos?.length) { + obj.signing_infos = message.signing_infos.map((e) => SigningInfo.toJSON(e)); + } + if (message.missed_blocks?.length) { + obj.missed_blocks = message.missed_blocks.map((e) => ValidatorMissedBlocks.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisStateLegacyV43 { + return GenesisStateLegacyV43.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisStateLegacyV43 { + const message = createBaseGenesisStateLegacyV43(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.signing_infos = object.signing_infos?.map((e) => SigningInfo.fromPartial(e)) || []; + message.missed_blocks = object.missed_blocks?.map((e) => ValidatorMissedBlocks.fromPartial(e)) || []; + return message; + }, +}; + +export const SigningInfo: MessageFns = { + $type: "cosmos.slashing.v1beta1.SigningInfo" as const, + + encode(message: SigningInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.validator_signing_info !== undefined) { + ValidatorSigningInfo.encode(message.validator_signing_info, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SigningInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSigningInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_signing_info = ValidatorSigningInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SigningInfo { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + validator_signing_info: isSet(object.validator_signing_info) ? ValidatorSigningInfo.fromJSON(object.validator_signing_info) : undefined, + }; + }, + + toJSON(message: SigningInfo): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.validator_signing_info !== undefined) { + obj.validator_signing_info = ValidatorSigningInfo.toJSON(message.validator_signing_info); + } + return obj; + }, + + create, I>>(base?: I): SigningInfo { + return SigningInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SigningInfo { + const message = createBaseSigningInfo(); + message.address = object.address ?? ""; + message.validator_signing_info = + object.validator_signing_info !== undefined && object.validator_signing_info !== null + ? ValidatorSigningInfo.fromPartial(object.validator_signing_info) + : undefined; + return message; + }, +}; + +export const SigningInfoLegacyMissedHeights: MessageFns = { + $type: "cosmos.slashing.v1beta1.SigningInfoLegacyMissedHeights" as const, + + encode(message: SigningInfoLegacyMissedHeights, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.validator_signing_info !== undefined) { + ValidatorSigningInfoLegacyMissedHeights.encode(message.validator_signing_info, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SigningInfoLegacyMissedHeights { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSigningInfoLegacyMissedHeights(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_signing_info = ValidatorSigningInfoLegacyMissedHeights.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SigningInfoLegacyMissedHeights { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + validator_signing_info: isSet(object.validator_signing_info) + ? ValidatorSigningInfoLegacyMissedHeights.fromJSON(object.validator_signing_info) + : undefined, + }; + }, + + toJSON(message: SigningInfoLegacyMissedHeights): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.validator_signing_info !== undefined) { + obj.validator_signing_info = ValidatorSigningInfoLegacyMissedHeights.toJSON(message.validator_signing_info); + } + return obj; + }, + + create, I>>(base?: I): SigningInfoLegacyMissedHeights { + return SigningInfoLegacyMissedHeights.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SigningInfoLegacyMissedHeights { + const message = createBaseSigningInfoLegacyMissedHeights(); + message.address = object.address ?? ""; + message.validator_signing_info = + object.validator_signing_info !== undefined && object.validator_signing_info !== null + ? ValidatorSigningInfoLegacyMissedHeights.fromPartial(object.validator_signing_info) + : undefined; + return message; + }, +}; + +export const ValidatorMissedBlocks: MessageFns = { + $type: "cosmos.slashing.v1beta1.ValidatorMissedBlocks" as const, + + encode(message: ValidatorMissedBlocks, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.missed_blocks) { + MissedBlock.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorMissedBlocks { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorMissedBlocks(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.missed_blocks.push(MissedBlock.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorMissedBlocks { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + missed_blocks: globalThis.Array.isArray(object?.missed_blocks) ? object.missed_blocks.map((e: any) => MissedBlock.fromJSON(e)) : [], + }; + }, + + toJSON(message: ValidatorMissedBlocks): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.missed_blocks?.length) { + obj.missed_blocks = message.missed_blocks.map((e) => MissedBlock.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorMissedBlocks { + return ValidatorMissedBlocks.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorMissedBlocks { + const message = createBaseValidatorMissedBlocks(); + message.address = object.address ?? ""; + message.missed_blocks = object.missed_blocks?.map((e) => MissedBlock.fromPartial(e)) || []; + return message; + }, +}; + +export const MissedBlock: MessageFns = { + $type: "cosmos.slashing.v1beta1.MissedBlock" as const, + + encode(message: MissedBlock, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).int64(message.index); + } + if (message.missed !== false) { + writer.uint32(16).bool(message.missed); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MissedBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMissedBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.missed = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MissedBlock { + return { + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + missed: isSet(object.missed) ? globalThis.Boolean(object.missed) : false, + }; + }, + + toJSON(message: MissedBlock): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.missed !== false) { + obj.missed = message.missed; + } + return obj; + }, + + create, I>>(base?: I): MissedBlock { + return MissedBlock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MissedBlock { + const message = createBaseMissedBlock(); + message.index = object.index ?? 0; + message.missed = object.missed ?? false; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, signing_infos: [], missed_blocks: [] }; +} + +function createBaseGenesisStateLegacyMissingHeights(): GenesisStateLegacyMissingHeights { + return { params: undefined, signing_infos: [], missed_blocks: [] }; +} + +function createBaseGenesisStateLegacyV43(): GenesisStateLegacyV43 { + return { params: undefined, signing_infos: [], missed_blocks: [] }; +} + +function createBaseSigningInfo(): SigningInfo { + return { address: "", validator_signing_info: undefined }; +} + +function createBaseSigningInfoLegacyMissedHeights(): SigningInfoLegacyMissedHeights { + return { address: "", validator_signing_info: undefined }; +} + +function createBaseValidatorMissedBlocks(): ValidatorMissedBlocks { + return { address: "", missed_blocks: [] }; +} + +function createBaseMissedBlock(): MissedBlock { + return { index: 0, missed: false }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.slashing.v1beta1.GenesisState", GenesisState as never], + ["/cosmos.slashing.v1beta1.GenesisStateLegacyV43", GenesisStateLegacyV43 as never], + ["/cosmos.slashing.v1beta1.SigningInfo", SigningInfo as never], + ["/cosmos.slashing.v1beta1.ValidatorMissedBlocks", ValidatorMissedBlocks as never], + ["/cosmos.slashing.v1beta1.MissedBlock", MissedBlock as never], +]; +export const aminoConverters = { + "/cosmos.slashing.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.GenesisStateLegacyV43": { + aminoType: "cosmos-sdk/GenesisStateLegacyV43", + toAmino: (message: GenesisStateLegacyV43) => ({ ...message }), + fromAmino: (object: GenesisStateLegacyV43) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.SigningInfo": { + aminoType: "cosmos-sdk/SigningInfo", + toAmino: (message: SigningInfo) => ({ ...message }), + fromAmino: (object: SigningInfo) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.ValidatorMissedBlocks": { + aminoType: "cosmos-sdk/ValidatorMissedBlocks", + toAmino: (message: ValidatorMissedBlocks) => ({ ...message }), + fromAmino: (object: ValidatorMissedBlocks) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.MissedBlock": { + aminoType: "cosmos-sdk/MissedBlock", + toAmino: (message: MissedBlock) => ({ ...message }), + fromAmino: (object: MissedBlock) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/index.ts new file mode 100644 index 000000000..4e8ed925c --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './query'; +export * from './slashing'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts new file mode 100644 index 000000000..c0a0b7d03 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts @@ -0,0 +1,406 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Params, ValidatorSigningInfo } from "./slashing"; + +import type { + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QuerySigningInfoRequest as QuerySigningInfoRequestType, + QuerySigningInfoResponse as QuerySigningInfoResponseType, + QuerySigningInfosRequest as QuerySigningInfosRequestType, + QuerySigningInfosResponse as QuerySigningInfosResponseType, +} from "../../../../types/cosmos/slashing/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QuerySigningInfoRequest extends QuerySigningInfoRequestType {} +interface QuerySigningInfoResponse extends QuerySigningInfoResponseType {} +interface QuerySigningInfosRequest extends QuerySigningInfosRequestType {} +interface QuerySigningInfosResponse extends QuerySigningInfosResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.slashing.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.slashing.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QuerySigningInfoRequest: MessageFns = { + $type: "cosmos.slashing.v1beta1.QuerySigningInfoRequest" as const, + + encode(message: QuerySigningInfoRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.cons_address !== "") { + writer.uint32(10).string(message.cons_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySigningInfoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySigningInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.cons_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySigningInfoRequest { + return { cons_address: isSet(object.cons_address) ? globalThis.String(object.cons_address) : "" }; + }, + + toJSON(message: QuerySigningInfoRequest): unknown { + const obj: any = {}; + if (message.cons_address !== "") { + obj.cons_address = message.cons_address; + } + return obj; + }, + + create, I>>(base?: I): QuerySigningInfoRequest { + return QuerySigningInfoRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySigningInfoRequest { + const message = createBaseQuerySigningInfoRequest(); + message.cons_address = object.cons_address ?? ""; + return message; + }, +}; + +export const QuerySigningInfoResponse: MessageFns = { + $type: "cosmos.slashing.v1beta1.QuerySigningInfoResponse" as const, + + encode(message: QuerySigningInfoResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.val_signing_info !== undefined) { + ValidatorSigningInfo.encode(message.val_signing_info, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySigningInfoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySigningInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.val_signing_info = ValidatorSigningInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySigningInfoResponse { + return { + val_signing_info: isSet(object.val_signing_info) ? ValidatorSigningInfo.fromJSON(object.val_signing_info) : undefined, + }; + }, + + toJSON(message: QuerySigningInfoResponse): unknown { + const obj: any = {}; + if (message.val_signing_info !== undefined) { + obj.val_signing_info = ValidatorSigningInfo.toJSON(message.val_signing_info); + } + return obj; + }, + + create, I>>(base?: I): QuerySigningInfoResponse { + return QuerySigningInfoResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySigningInfoResponse { + const message = createBaseQuerySigningInfoResponse(); + message.val_signing_info = + object.val_signing_info !== undefined && object.val_signing_info !== null ? ValidatorSigningInfo.fromPartial(object.val_signing_info) : undefined; + return message; + }, +}; + +export const QuerySigningInfosRequest: MessageFns = { + $type: "cosmos.slashing.v1beta1.QuerySigningInfosRequest" as const, + + encode(message: QuerySigningInfosRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySigningInfosRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySigningInfosRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySigningInfosRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QuerySigningInfosRequest): unknown { + const obj: any = {}; + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QuerySigningInfosRequest { + return QuerySigningInfosRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySigningInfosRequest { + const message = createBaseQuerySigningInfosRequest(); + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QuerySigningInfosResponse: MessageFns = { + $type: "cosmos.slashing.v1beta1.QuerySigningInfosResponse" as const, + + encode(message: QuerySigningInfosResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.info) { + ValidatorSigningInfo.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySigningInfosResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySigningInfosResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.info.push(ValidatorSigningInfo.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySigningInfosResponse { + return { + info: globalThis.Array.isArray(object?.info) ? object.info.map((e: any) => ValidatorSigningInfo.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QuerySigningInfosResponse): unknown { + const obj: any = {}; + if (message.info?.length) { + obj.info = message.info.map((e) => ValidatorSigningInfo.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QuerySigningInfosResponse { + return QuerySigningInfosResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySigningInfosResponse { + const message = createBaseQuerySigningInfosResponse(); + message.info = object.info?.map((e) => ValidatorSigningInfo.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQuerySigningInfoRequest(): QuerySigningInfoRequest { + return { cons_address: "" }; +} + +function createBaseQuerySigningInfoResponse(): QuerySigningInfoResponse { + return { val_signing_info: undefined }; +} + +function createBaseQuerySigningInfosRequest(): QuerySigningInfosRequest { + return { pagination: undefined }; +} + +function createBaseQuerySigningInfosResponse(): QuerySigningInfosResponse { + return { info: [], pagination: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.slashing.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.slashing.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.slashing.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts new file mode 100644 index 000000000..46c5b6a4f --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts @@ -0,0 +1,691 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Duration } from "../../../google/protobuf/duration"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import type { + Params as ParamsType, + ValidatorMissedBlockArrayLegacyMissedHeights as ValidatorMissedBlockArrayLegacyMissedHeightsType, + ValidatorMissedBlockArray as ValidatorMissedBlockArrayType, + ValidatorSigningInfoLegacyMissedHeights as ValidatorSigningInfoLegacyMissedHeightsType, + ValidatorSigningInfo as ValidatorSigningInfoType, +} from "../../../../types/cosmos/slashing/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface ValidatorSigningInfoLegacyMissedHeights extends ValidatorSigningInfoLegacyMissedHeightsType {} +interface ValidatorSigningInfo extends ValidatorSigningInfoType {} +interface ValidatorMissedBlockArrayLegacyMissedHeights extends ValidatorMissedBlockArrayLegacyMissedHeightsType {} +interface ValidatorMissedBlockArray extends ValidatorMissedBlockArrayType {} +interface Params extends ParamsType {} + +export const ValidatorSigningInfoLegacyMissedHeights: MessageFns< + ValidatorSigningInfoLegacyMissedHeights, + "cosmos.slashing.v1beta1.ValidatorSigningInfoLegacyMissedHeights" +> = { + $type: "cosmos.slashing.v1beta1.ValidatorSigningInfoLegacyMissedHeights" as const, + + encode(message: ValidatorSigningInfoLegacyMissedHeights, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.start_height !== 0) { + writer.uint32(16).int64(message.start_height); + } + if (message.jailed_until !== undefined) { + Timestamp.encode(toTimestamp(message.jailed_until), writer.uint32(26).fork()).join(); + } + if (message.tombstoned !== false) { + writer.uint32(32).bool(message.tombstoned); + } + if (message.missed_blocks_counter !== 0) { + writer.uint32(40).int64(message.missed_blocks_counter); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSigningInfoLegacyMissedHeights { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSigningInfoLegacyMissedHeights(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.start_height = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.jailed_until = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.tombstoned = reader.bool(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.missed_blocks_counter = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSigningInfoLegacyMissedHeights { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + start_height: isSet(object.start_height) ? globalThis.Number(object.start_height) : 0, + jailed_until: isSet(object.jailed_until) ? fromJsonTimestamp(object.jailed_until) : undefined, + tombstoned: isSet(object.tombstoned) ? globalThis.Boolean(object.tombstoned) : false, + missed_blocks_counter: isSet(object.missed_blocks_counter) ? globalThis.Number(object.missed_blocks_counter) : 0, + }; + }, + + toJSON(message: ValidatorSigningInfoLegacyMissedHeights): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.start_height !== 0) { + obj.start_height = Math.round(message.start_height); + } + if (message.jailed_until !== undefined) { + obj.jailed_until = message.jailed_until.toISOString(); + } + if (message.tombstoned !== false) { + obj.tombstoned = message.tombstoned; + } + if (message.missed_blocks_counter !== 0) { + obj.missed_blocks_counter = Math.round(message.missed_blocks_counter); + } + return obj; + }, + + create, I>>(base?: I): ValidatorSigningInfoLegacyMissedHeights { + return ValidatorSigningInfoLegacyMissedHeights.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSigningInfoLegacyMissedHeights { + const message = createBaseValidatorSigningInfoLegacyMissedHeights(); + message.address = object.address ?? ""; + message.start_height = object.start_height ?? 0; + message.jailed_until = object.jailed_until ?? undefined; + message.tombstoned = object.tombstoned ?? false; + message.missed_blocks_counter = object.missed_blocks_counter ?? 0; + return message; + }, +}; + +export const ValidatorSigningInfo: MessageFns = { + $type: "cosmos.slashing.v1beta1.ValidatorSigningInfo" as const, + + encode(message: ValidatorSigningInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.start_height !== 0) { + writer.uint32(16).int64(message.start_height); + } + if (message.index_offset !== 0) { + writer.uint32(24).int64(message.index_offset); + } + if (message.jailed_until !== undefined) { + Timestamp.encode(toTimestamp(message.jailed_until), writer.uint32(34).fork()).join(); + } + if (message.tombstoned !== false) { + writer.uint32(40).bool(message.tombstoned); + } + if (message.missed_blocks_counter !== 0) { + writer.uint32(48).int64(message.missed_blocks_counter); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSigningInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSigningInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.start_height = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.index_offset = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.jailed_until = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.tombstoned = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.missed_blocks_counter = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSigningInfo { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + start_height: isSet(object.start_height) ? globalThis.Number(object.start_height) : 0, + index_offset: isSet(object.index_offset) ? globalThis.Number(object.index_offset) : 0, + jailed_until: isSet(object.jailed_until) ? fromJsonTimestamp(object.jailed_until) : undefined, + tombstoned: isSet(object.tombstoned) ? globalThis.Boolean(object.tombstoned) : false, + missed_blocks_counter: isSet(object.missed_blocks_counter) ? globalThis.Number(object.missed_blocks_counter) : 0, + }; + }, + + toJSON(message: ValidatorSigningInfo): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.start_height !== 0) { + obj.start_height = Math.round(message.start_height); + } + if (message.index_offset !== 0) { + obj.index_offset = Math.round(message.index_offset); + } + if (message.jailed_until !== undefined) { + obj.jailed_until = message.jailed_until.toISOString(); + } + if (message.tombstoned !== false) { + obj.tombstoned = message.tombstoned; + } + if (message.missed_blocks_counter !== 0) { + obj.missed_blocks_counter = Math.round(message.missed_blocks_counter); + } + return obj; + }, + + create, I>>(base?: I): ValidatorSigningInfo { + return ValidatorSigningInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSigningInfo { + const message = createBaseValidatorSigningInfo(); + message.address = object.address ?? ""; + message.start_height = object.start_height ?? 0; + message.index_offset = object.index_offset ?? 0; + message.jailed_until = object.jailed_until ?? undefined; + message.tombstoned = object.tombstoned ?? false; + message.missed_blocks_counter = object.missed_blocks_counter ?? 0; + return message; + }, +}; + +export const ValidatorMissedBlockArrayLegacyMissedHeights: MessageFns< + ValidatorMissedBlockArrayLegacyMissedHeights, + "cosmos.slashing.v1beta1.ValidatorMissedBlockArrayLegacyMissedHeights" +> = { + $type: "cosmos.slashing.v1beta1.ValidatorMissedBlockArrayLegacyMissedHeights" as const, + + encode(message: ValidatorMissedBlockArrayLegacyMissedHeights, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + writer.uint32(18).fork(); + for (const v of message.missed_heights) { + writer.int64(v); + } + writer.join(); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorMissedBlockArrayLegacyMissedHeights { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorMissedBlockArrayLegacyMissedHeights(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag === 16) { + message.missed_heights.push(longToNumber(reader.int64())); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.missed_heights.push(longToNumber(reader.int64())); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorMissedBlockArrayLegacyMissedHeights { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + missed_heights: globalThis.Array.isArray(object?.missed_heights) ? object.missed_heights.map((e: any) => globalThis.Number(e)) : [], + }; + }, + + toJSON(message: ValidatorMissedBlockArrayLegacyMissedHeights): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.missed_heights?.length) { + obj.missed_heights = message.missed_heights.map((e) => Math.round(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorMissedBlockArrayLegacyMissedHeights { + return ValidatorMissedBlockArrayLegacyMissedHeights.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorMissedBlockArrayLegacyMissedHeights { + const message = createBaseValidatorMissedBlockArrayLegacyMissedHeights(); + message.address = object.address ?? ""; + message.missed_heights = object.missed_heights?.map((e) => e) || []; + return message; + }, +}; + +export const ValidatorMissedBlockArray: MessageFns = { + $type: "cosmos.slashing.v1beta1.ValidatorMissedBlockArray" as const, + + encode(message: ValidatorMissedBlockArray, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.window_size !== 0) { + writer.uint32(16).int64(message.window_size); + } + writer.uint32(26).fork(); + for (const v of message.missed_blocks) { + writer.uint64(v); + } + writer.join(); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorMissedBlockArray { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorMissedBlockArray(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.window_size = longToNumber(reader.int64()); + continue; + case 3: + if (tag === 24) { + message.missed_blocks.push(longToNumber(reader.uint64())); + + continue; + } + + if (tag === 26) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.missed_blocks.push(longToNumber(reader.uint64())); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorMissedBlockArray { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + window_size: isSet(object.window_size) ? globalThis.Number(object.window_size) : 0, + missed_blocks: globalThis.Array.isArray(object?.missed_blocks) ? object.missed_blocks.map((e: any) => globalThis.Number(e)) : [], + }; + }, + + toJSON(message: ValidatorMissedBlockArray): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.window_size !== 0) { + obj.window_size = Math.round(message.window_size); + } + if (message.missed_blocks?.length) { + obj.missed_blocks = message.missed_blocks.map((e) => Math.round(e)); + } + return obj; + }, + + create, I>>(base?: I): ValidatorMissedBlockArray { + return ValidatorMissedBlockArray.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorMissedBlockArray { + const message = createBaseValidatorMissedBlockArray(); + message.address = object.address ?? ""; + message.window_size = object.window_size ?? 0; + message.missed_blocks = object.missed_blocks?.map((e) => e) || []; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "cosmos.slashing.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.signed_blocks_window !== 0) { + writer.uint32(8).int64(message.signed_blocks_window); + } + if (message.min_signed_per_window.length !== 0) { + writer.uint32(18).bytes(message.min_signed_per_window); + } + if (message.downtime_jail_duration !== undefined) { + Duration.encode(message.downtime_jail_duration, writer.uint32(26).fork()).join(); + } + if (message.slash_fraction_double_sign.length !== 0) { + writer.uint32(34).bytes(message.slash_fraction_double_sign); + } + if (message.slash_fraction_downtime.length !== 0) { + writer.uint32(42).bytes(message.slash_fraction_downtime); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.signed_blocks_window = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.min_signed_per_window = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.downtime_jail_duration = Duration.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.slash_fraction_double_sign = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.slash_fraction_downtime = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + signed_blocks_window: isSet(object.signed_blocks_window) ? globalThis.Number(object.signed_blocks_window) : 0, + min_signed_per_window: isSet(object.min_signed_per_window) ? bytesFromBase64(object.min_signed_per_window) : new Uint8Array(0), + downtime_jail_duration: isSet(object.downtime_jail_duration) ? Duration.fromJSON(object.downtime_jail_duration) : undefined, + slash_fraction_double_sign: isSet(object.slash_fraction_double_sign) ? bytesFromBase64(object.slash_fraction_double_sign) : new Uint8Array(0), + slash_fraction_downtime: isSet(object.slash_fraction_downtime) ? bytesFromBase64(object.slash_fraction_downtime) : new Uint8Array(0), + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.signed_blocks_window !== 0) { + obj.signed_blocks_window = Math.round(message.signed_blocks_window); + } + if (message.min_signed_per_window.length !== 0) { + obj.min_signed_per_window = base64FromBytes(message.min_signed_per_window); + } + if (message.downtime_jail_duration !== undefined) { + obj.downtime_jail_duration = Duration.toJSON(message.downtime_jail_duration); + } + if (message.slash_fraction_double_sign.length !== 0) { + obj.slash_fraction_double_sign = base64FromBytes(message.slash_fraction_double_sign); + } + if (message.slash_fraction_downtime.length !== 0) { + obj.slash_fraction_downtime = base64FromBytes(message.slash_fraction_downtime); + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.signed_blocks_window = object.signed_blocks_window ?? 0; + message.min_signed_per_window = object.min_signed_per_window ?? new Uint8Array(0); + message.downtime_jail_duration = + object.downtime_jail_duration !== undefined && object.downtime_jail_duration !== null ? Duration.fromPartial(object.downtime_jail_duration) : undefined; + message.slash_fraction_double_sign = object.slash_fraction_double_sign ?? new Uint8Array(0); + message.slash_fraction_downtime = object.slash_fraction_downtime ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseValidatorSigningInfoLegacyMissedHeights(): ValidatorSigningInfoLegacyMissedHeights { + return { address: "", start_height: 0, jailed_until: undefined, tombstoned: false, missed_blocks_counter: 0 }; +} + +function createBaseValidatorSigningInfo(): ValidatorSigningInfo { + return { + address: "", + start_height: 0, + index_offset: 0, + jailed_until: undefined, + tombstoned: false, + missed_blocks_counter: 0, + }; +} + +function createBaseValidatorMissedBlockArrayLegacyMissedHeights(): ValidatorMissedBlockArrayLegacyMissedHeights { + return { address: "", missed_heights: [] }; +} + +function createBaseValidatorMissedBlockArray(): ValidatorMissedBlockArray { + return { address: "", window_size: 0, missed_blocks: [] }; +} + +function createBaseParams(): Params { + return { + signed_blocks_window: 0, + min_signed_per_window: new Uint8Array(0), + downtime_jail_duration: undefined, + slash_fraction_double_sign: new Uint8Array(0), + slash_fraction_downtime: new Uint8Array(0), + }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.slashing.v1beta1.ValidatorSigningInfo", ValidatorSigningInfo as never], + ["/cosmos.slashing.v1beta1.Params", Params as never], +]; +export const aminoConverters = { + "/cosmos.slashing.v1beta1.ValidatorSigningInfo": { + aminoType: "cosmos-sdk/ValidatorSigningInfo", + toAmino: (message: ValidatorSigningInfo) => ({ ...message }), + fromAmino: (object: ValidatorSigningInfo) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts new file mode 100644 index 000000000..4a701b250 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts @@ -0,0 +1,135 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { MsgUnjailResponse as MsgUnjailResponseType, MsgUnjail as MsgUnjailType } from "../../../../types/cosmos/slashing/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgUnjail extends MsgUnjailType {} +interface MsgUnjailResponse extends MsgUnjailResponseType {} + +export const MsgUnjail: MessageFns = { + $type: "cosmos.slashing.v1beta1.MsgUnjail" as const, + + encode(message: MsgUnjail, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUnjail { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnjail(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUnjail { + return { validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "" }; + }, + + toJSON(message: MsgUnjail): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): MsgUnjail { + return MsgUnjail.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUnjail { + const message = createBaseMsgUnjail(); + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const MsgUnjailResponse: MessageFns = { + $type: "cosmos.slashing.v1beta1.MsgUnjailResponse" as const, + + encode(_: MsgUnjailResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUnjailResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnjailResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUnjailResponse { + return {}; + }, + + toJSON(_: MsgUnjailResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUnjailResponse { + return MsgUnjailResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgUnjailResponse { + const message = createBaseMsgUnjailResponse(); + return message; + }, +}; + +function createBaseMsgUnjail(): MsgUnjail { + return { validator_addr: "" }; +} + +function createBaseMsgUnjailResponse(): MsgUnjailResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.slashing.v1beta1.MsgUnjail", MsgUnjail as never], + ["/cosmos.slashing.v1beta1.MsgUnjailResponse", MsgUnjailResponse as never], +]; +export const aminoConverters = { + "/cosmos.slashing.v1beta1.MsgUnjail": { + aminoType: "cosmos-sdk/MsgUnjail", + toAmino: (message: MsgUnjail) => ({ ...message }), + fromAmino: (object: MsgUnjail) => ({ ...object }), + }, + + "/cosmos.slashing.v1beta1.MsgUnjailResponse": { + aminoType: "cosmos-sdk/MsgUnjailResponse", + toAmino: (message: MsgUnjailResponse) => ({ ...message }), + fromAmino: (object: MsgUnjailResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts new file mode 100644 index 000000000..da06353ba --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts @@ -0,0 +1,234 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + StakeAuthorization as StakeAuthorizationType, + StakeAuthorizationValidators as StakeAuthorizationValidatorsType, +} from "../../../../types/cosmos/staking/v1beta1"; + +import { AuthorizationType } from "../../../../types/cosmos/staking/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface StakeAuthorization extends StakeAuthorizationType {} +interface StakeAuthorizationValidators extends StakeAuthorizationValidatorsType {} + +export const StakeAuthorization: MessageFns = { + $type: "cosmos.staking.v1beta1.StakeAuthorization" as const, + + encode(message: StakeAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.max_tokens !== undefined) { + Coin.encode(message.max_tokens, writer.uint32(10).fork()).join(); + } + if (message.allow_list !== undefined) { + StakeAuthorizationValidators.encode(message.allow_list, writer.uint32(18).fork()).join(); + } + if (message.deny_list !== undefined) { + StakeAuthorizationValidators.encode(message.deny_list, writer.uint32(26).fork()).join(); + } + if (message.authorization_type !== 0) { + writer.uint32(32).int32(message.authorization_type); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): StakeAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStakeAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.max_tokens = Coin.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.allow_list = StakeAuthorizationValidators.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.deny_list = StakeAuthorizationValidators.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.authorization_type = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): StakeAuthorization { + return { + max_tokens: isSet(object.max_tokens) ? Coin.fromJSON(object.max_tokens) : undefined, + allow_list: isSet(object.allow_list) ? StakeAuthorizationValidators.fromJSON(object.allow_list) : undefined, + deny_list: isSet(object.deny_list) ? StakeAuthorizationValidators.fromJSON(object.deny_list) : undefined, + authorization_type: isSet(object.authorization_type) ? authorizationTypeFromJSON(object.authorization_type) : 0, + }; + }, + + toJSON(message: StakeAuthorization): unknown { + const obj: any = {}; + if (message.max_tokens !== undefined) { + obj.max_tokens = Coin.toJSON(message.max_tokens); + } + if (message.allow_list !== undefined) { + obj.allow_list = StakeAuthorizationValidators.toJSON(message.allow_list); + } + if (message.deny_list !== undefined) { + obj.deny_list = StakeAuthorizationValidators.toJSON(message.deny_list); + } + if (message.authorization_type !== 0) { + obj.authorization_type = authorizationTypeToJSON(message.authorization_type); + } + return obj; + }, + + create, I>>(base?: I): StakeAuthorization { + return StakeAuthorization.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StakeAuthorization { + const message = createBaseStakeAuthorization(); + message.max_tokens = object.max_tokens !== undefined && object.max_tokens !== null ? Coin.fromPartial(object.max_tokens) : undefined; + message.allow_list = + object.allow_list !== undefined && object.allow_list !== null ? StakeAuthorizationValidators.fromPartial(object.allow_list) : undefined; + message.deny_list = object.deny_list !== undefined && object.deny_list !== null ? StakeAuthorizationValidators.fromPartial(object.deny_list) : undefined; + message.authorization_type = object.authorization_type ?? 0; + return message; + }, +}; + +export const StakeAuthorizationValidators: MessageFns = { + $type: "cosmos.staking.v1beta1.StakeAuthorization.Validators" as const, + + encode(message: StakeAuthorizationValidators, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.address) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): StakeAuthorizationValidators { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStakeAuthorizationValidators(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): StakeAuthorizationValidators { + return { + address: globalThis.Array.isArray(object?.address) ? object.address.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: StakeAuthorizationValidators): unknown { + const obj: any = {}; + if (message.address?.length) { + obj.address = message.address; + } + return obj; + }, + + create, I>>(base?: I): StakeAuthorizationValidators { + return StakeAuthorizationValidators.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): StakeAuthorizationValidators { + const message = createBaseStakeAuthorizationValidators(); + message.address = object.address?.map((e) => e) || []; + return message; + }, +}; + +export function authorizationTypeFromJSON(object: any): AuthorizationType { + switch (object) { + case 0: + case "AUTHORIZATION_TYPE_UNSPECIFIED": + return AuthorizationType.AUTHORIZATION_TYPE_UNSPECIFIED; + case 1: + case "AUTHORIZATION_TYPE_DELEGATE": + return AuthorizationType.AUTHORIZATION_TYPE_DELEGATE; + case 2: + case "AUTHORIZATION_TYPE_UNDELEGATE": + return AuthorizationType.AUTHORIZATION_TYPE_UNDELEGATE; + case 3: + case "AUTHORIZATION_TYPE_REDELEGATE": + return AuthorizationType.AUTHORIZATION_TYPE_REDELEGATE; + case -1: + case "UNRECOGNIZED": + default: + return AuthorizationType.UNRECOGNIZED; + } +} + +export function authorizationTypeToJSON(object: AuthorizationType): string { + switch (object) { + case AuthorizationType.AUTHORIZATION_TYPE_UNSPECIFIED: + return "AUTHORIZATION_TYPE_UNSPECIFIED"; + case AuthorizationType.AUTHORIZATION_TYPE_DELEGATE: + return "AUTHORIZATION_TYPE_DELEGATE"; + case AuthorizationType.AUTHORIZATION_TYPE_UNDELEGATE: + return "AUTHORIZATION_TYPE_UNDELEGATE"; + case AuthorizationType.AUTHORIZATION_TYPE_REDELEGATE: + return "AUTHORIZATION_TYPE_REDELEGATE"; + case AuthorizationType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseStakeAuthorization(): StakeAuthorization { + return { max_tokens: undefined, allow_list: undefined, deny_list: undefined, authorization_type: 0 }; +} + +function createBaseStakeAuthorizationValidators(): StakeAuthorizationValidators { + return { address: [] }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/cosmos.staking.v1beta1.StakeAuthorization", StakeAuthorization as never]]; +export const aminoConverters = { + "/cosmos.staking.v1beta1.StakeAuthorization": { + aminoType: "cosmos-sdk/StakeAuthorization", + toAmino: (message: StakeAuthorization) => ({ ...message }), + fromAmino: (object: StakeAuthorization) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts new file mode 100644 index 000000000..6f00dd001 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts @@ -0,0 +1,324 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Delegation, Params, Redelegation, UnbondingDelegation, Validator } from "./staking"; + +import type { GenesisState as GenesisStateType, LastValidatorPower as LastValidatorPowerType } from "../../../../types/cosmos/staking/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface LastValidatorPower extends LastValidatorPowerType {} + +export const GenesisState: MessageFns = { + $type: "cosmos.staking.v1beta1.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + if (message.last_total_power.length !== 0) { + writer.uint32(18).bytes(message.last_total_power); + } + for (const v of message.last_validator_powers) { + LastValidatorPower.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.delegations) { + Delegation.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.unbonding_delegations) { + UnbondingDelegation.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.redelegations) { + Redelegation.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.exported !== false) { + writer.uint32(64).bool(message.exported); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.last_total_power = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.last_validator_powers.push(LastValidatorPower.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.delegations.push(Delegation.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.unbonding_delegations.push(UnbondingDelegation.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.redelegations.push(Redelegation.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.exported = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + last_total_power: isSet(object.last_total_power) ? bytesFromBase64(object.last_total_power) : new Uint8Array(0), + last_validator_powers: globalThis.Array.isArray(object?.last_validator_powers) + ? object.last_validator_powers.map((e: any) => LastValidatorPower.fromJSON(e)) + : [], + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + delegations: globalThis.Array.isArray(object?.delegations) ? object.delegations.map((e: any) => Delegation.fromJSON(e)) : [], + unbonding_delegations: globalThis.Array.isArray(object?.unbonding_delegations) + ? object.unbonding_delegations.map((e: any) => UnbondingDelegation.fromJSON(e)) + : [], + redelegations: globalThis.Array.isArray(object?.redelegations) ? object.redelegations.map((e: any) => Redelegation.fromJSON(e)) : [], + exported: isSet(object.exported) ? globalThis.Boolean(object.exported) : false, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.last_total_power.length !== 0) { + obj.last_total_power = base64FromBytes(message.last_total_power); + } + if (message.last_validator_powers?.length) { + obj.last_validator_powers = message.last_validator_powers.map((e) => LastValidatorPower.toJSON(e)); + } + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.delegations?.length) { + obj.delegations = message.delegations.map((e) => Delegation.toJSON(e)); + } + if (message.unbonding_delegations?.length) { + obj.unbonding_delegations = message.unbonding_delegations.map((e) => UnbondingDelegation.toJSON(e)); + } + if (message.redelegations?.length) { + obj.redelegations = message.redelegations.map((e) => Redelegation.toJSON(e)); + } + if (message.exported !== false) { + obj.exported = message.exported; + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.last_total_power = object.last_total_power ?? new Uint8Array(0); + message.last_validator_powers = object.last_validator_powers?.map((e) => LastValidatorPower.fromPartial(e)) || []; + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.delegations = object.delegations?.map((e) => Delegation.fromPartial(e)) || []; + message.unbonding_delegations = object.unbonding_delegations?.map((e) => UnbondingDelegation.fromPartial(e)) || []; + message.redelegations = object.redelegations?.map((e) => Redelegation.fromPartial(e)) || []; + message.exported = object.exported ?? false; + return message; + }, +}; + +export const LastValidatorPower: MessageFns = { + $type: "cosmos.staking.v1beta1.LastValidatorPower" as const, + + encode(message: LastValidatorPower, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.power !== 0) { + writer.uint32(16).int64(message.power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LastValidatorPower { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLastValidatorPower(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LastValidatorPower { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + power: isSet(object.power) ? globalThis.Number(object.power) : 0, + }; + }, + + toJSON(message: LastValidatorPower): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.power !== 0) { + obj.power = Math.round(message.power); + } + return obj; + }, + + create, I>>(base?: I): LastValidatorPower { + return LastValidatorPower.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LastValidatorPower { + const message = createBaseLastValidatorPower(); + message.address = object.address ?? ""; + message.power = object.power ?? 0; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { + params: undefined, + last_total_power: new Uint8Array(0), + last_validator_powers: [], + validators: [], + delegations: [], + unbonding_delegations: [], + redelegations: [], + exported: false, + }; +} + +function createBaseLastValidatorPower(): LastValidatorPower { + return { address: "", power: 0 }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.staking.v1beta1.GenesisState", GenesisState as never], + ["/cosmos.staking.v1beta1.LastValidatorPower", LastValidatorPower as never], +]; +export const aminoConverters = { + "/cosmos.staking.v1beta1.GenesisState": { + aminoType: "cosmos-sdk/GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.LastValidatorPower": { + aminoType: "cosmos-sdk/LastValidatorPower", + toAmino: (message: LastValidatorPower) => ({ ...message }), + fromAmino: (object: LastValidatorPower) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/index.ts new file mode 100644 index 000000000..ea2ee85c5 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './genesis'; +export * from './query'; +export * from './staking'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts new file mode 100644 index 000000000..ece6ff6d9 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts @@ -0,0 +1,2090 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { DelegationResponse, HistoricalInfo, Params, Pool, RedelegationResponse, UnbondingDelegation, Validator } from "./staking"; + +import type { + QueryDelegationRequest as QueryDelegationRequestType, + QueryDelegationResponse as QueryDelegationResponseType, + QueryDelegatorDelegationsRequest as QueryDelegatorDelegationsRequestType, + QueryDelegatorDelegationsResponse as QueryDelegatorDelegationsResponseType, + QueryDelegatorUnbondingDelegationsRequest as QueryDelegatorUnbondingDelegationsRequestType, + QueryDelegatorUnbondingDelegationsResponse as QueryDelegatorUnbondingDelegationsResponseType, + QueryDelegatorValidatorRequest as QueryDelegatorValidatorRequestType, + QueryDelegatorValidatorResponse as QueryDelegatorValidatorResponseType, + QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequestType, + QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponseType, + QueryHistoricalInfoRequest as QueryHistoricalInfoRequestType, + QueryHistoricalInfoResponse as QueryHistoricalInfoResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QueryPoolRequest as QueryPoolRequestType, + QueryPoolResponse as QueryPoolResponseType, + QueryRedelegationsRequest as QueryRedelegationsRequestType, + QueryRedelegationsResponse as QueryRedelegationsResponseType, + QueryUnbondingDelegationRequest as QueryUnbondingDelegationRequestType, + QueryUnbondingDelegationResponse as QueryUnbondingDelegationResponseType, + QueryValidatorDelegationsRequest as QueryValidatorDelegationsRequestType, + QueryValidatorDelegationsResponse as QueryValidatorDelegationsResponseType, + QueryValidatorRequest as QueryValidatorRequestType, + QueryValidatorResponse as QueryValidatorResponseType, + QueryValidatorUnbondingDelegationsRequest as QueryValidatorUnbondingDelegationsRequestType, + QueryValidatorUnbondingDelegationsResponse as QueryValidatorUnbondingDelegationsResponseType, + QueryValidatorsRequest as QueryValidatorsRequestType, + QueryValidatorsResponse as QueryValidatorsResponseType, +} from "../../../../types/cosmos/staking/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryValidatorsRequest extends QueryValidatorsRequestType {} +interface QueryValidatorsResponse extends QueryValidatorsResponseType {} +interface QueryValidatorRequest extends QueryValidatorRequestType {} +interface QueryValidatorResponse extends QueryValidatorResponseType {} +interface QueryValidatorDelegationsRequest extends QueryValidatorDelegationsRequestType {} +interface QueryValidatorDelegationsResponse extends QueryValidatorDelegationsResponseType {} +interface QueryValidatorUnbondingDelegationsRequest extends QueryValidatorUnbondingDelegationsRequestType {} +interface QueryValidatorUnbondingDelegationsResponse extends QueryValidatorUnbondingDelegationsResponseType {} +interface QueryDelegationRequest extends QueryDelegationRequestType {} +interface QueryDelegationResponse extends QueryDelegationResponseType {} +interface QueryUnbondingDelegationRequest extends QueryUnbondingDelegationRequestType {} +interface QueryUnbondingDelegationResponse extends QueryUnbondingDelegationResponseType {} +interface QueryDelegatorDelegationsRequest extends QueryDelegatorDelegationsRequestType {} +interface QueryDelegatorDelegationsResponse extends QueryDelegatorDelegationsResponseType {} +interface QueryDelegatorUnbondingDelegationsRequest extends QueryDelegatorUnbondingDelegationsRequestType {} +interface QueryDelegatorUnbondingDelegationsResponse extends QueryDelegatorUnbondingDelegationsResponseType {} +interface QueryRedelegationsRequest extends QueryRedelegationsRequestType {} +interface QueryRedelegationsResponse extends QueryRedelegationsResponseType {} +interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequestType {} +interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponseType {} +interface QueryDelegatorValidatorRequest extends QueryDelegatorValidatorRequestType {} +interface QueryDelegatorValidatorResponse extends QueryDelegatorValidatorResponseType {} +interface QueryHistoricalInfoRequest extends QueryHistoricalInfoRequestType {} +interface QueryHistoricalInfoResponse extends QueryHistoricalInfoResponseType {} +interface QueryPoolRequest extends QueryPoolRequestType {} +interface QueryPoolResponse extends QueryPoolResponseType {} +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} + +export const QueryValidatorsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorsRequest" as const, + + encode(message: QueryValidatorsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.status !== "") { + writer.uint32(10).string(message.status); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.status = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorsRequest { + return { + status: isSet(object.status) ? globalThis.String(object.status) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorsRequest): unknown { + const obj: any = {}; + if (message.status !== "") { + obj.status = message.status; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorsRequest { + return QueryValidatorsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorsRequest { + const message = createBaseQueryValidatorsRequest(); + message.status = object.status ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorsResponse" as const, + + encode(message: QueryValidatorsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorsResponse { + return { + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorsResponse): unknown { + const obj: any = {}; + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorsResponse { + return QueryValidatorsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorsResponse { + const message = createBaseQueryValidatorsResponse(); + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorRequest" as const, + + encode(message: QueryValidatorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorRequest { + return { validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "" }; + }, + + toJSON(message: QueryValidatorRequest): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorRequest { + return QueryValidatorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorRequest { + const message = createBaseQueryValidatorRequest(); + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryValidatorResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorResponse" as const, + + encode(message: QueryValidatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator = Validator.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorResponse { + return { validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined }; + }, + + toJSON(message: QueryValidatorResponse): unknown { + const obj: any = {}; + if (message.validator !== undefined) { + obj.validator = Validator.toJSON(message.validator); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorResponse { + return QueryValidatorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorResponse { + const message = createBaseQueryValidatorResponse(); + message.validator = object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + return message; + }, +}; + +export const QueryValidatorDelegationsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorDelegationsRequest" as const, + + encode(message: QueryValidatorDelegationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorDelegationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorDelegationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorDelegationsRequest { + return { + validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorDelegationsRequest): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorDelegationsRequest { + return QueryValidatorDelegationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorDelegationsRequest { + const message = createBaseQueryValidatorDelegationsRequest(); + message.validator_addr = object.validator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorDelegationsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryValidatorDelegationsResponse" as const, + + encode(message: QueryValidatorDelegationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.delegation_responses) { + DelegationResponse.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorDelegationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorDelegationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegation_responses.push(DelegationResponse.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorDelegationsResponse { + return { + delegation_responses: globalThis.Array.isArray(object?.delegation_responses) + ? object.delegation_responses.map((e: any) => DelegationResponse.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorDelegationsResponse): unknown { + const obj: any = {}; + if (message.delegation_responses?.length) { + obj.delegation_responses = message.delegation_responses.map((e) => DelegationResponse.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorDelegationsResponse { + return QueryValidatorDelegationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorDelegationsResponse { + const message = createBaseQueryValidatorDelegationsResponse(); + message.delegation_responses = object.delegation_responses?.map((e) => DelegationResponse.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorUnbondingDelegationsRequest: MessageFns< + QueryValidatorUnbondingDelegationsRequest, + "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest" +> = { + $type: "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest" as const, + + encode(message: QueryValidatorUnbondingDelegationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorUnbondingDelegationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorUnbondingDelegationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorUnbondingDelegationsRequest { + return { + validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorUnbondingDelegationsRequest): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorUnbondingDelegationsRequest { + return QueryValidatorUnbondingDelegationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorUnbondingDelegationsRequest { + const message = createBaseQueryValidatorUnbondingDelegationsRequest(); + message.validator_addr = object.validator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryValidatorUnbondingDelegationsResponse: MessageFns< + QueryValidatorUnbondingDelegationsResponse, + "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse" +> = { + $type: "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse" as const, + + encode(message: QueryValidatorUnbondingDelegationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.unbonding_responses) { + UnbondingDelegation.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryValidatorUnbondingDelegationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryValidatorUnbondingDelegationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.unbonding_responses.push(UnbondingDelegation.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryValidatorUnbondingDelegationsResponse { + return { + unbonding_responses: globalThis.Array.isArray(object?.unbonding_responses) + ? object.unbonding_responses.map((e: any) => UnbondingDelegation.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryValidatorUnbondingDelegationsResponse): unknown { + const obj: any = {}; + if (message.unbonding_responses?.length) { + obj.unbonding_responses = message.unbonding_responses.map((e) => UnbondingDelegation.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryValidatorUnbondingDelegationsResponse { + return QueryValidatorUnbondingDelegationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryValidatorUnbondingDelegationsResponse { + const message = createBaseQueryValidatorUnbondingDelegationsResponse(); + message.unbonding_responses = object.unbonding_responses?.map((e) => UnbondingDelegation.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegationRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegationRequest" as const, + + encode(message: QueryDelegationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.validator_addr !== "") { + writer.uint32(18).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "", + }; + }, + + toJSON(message: QueryDelegationRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationRequest { + return QueryDelegationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationRequest { + const message = createBaseQueryDelegationRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryDelegationResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegationResponse" as const, + + encode(message: QueryDelegationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegation_response !== undefined) { + DelegationResponse.encode(message.delegation_response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegation_response = DelegationResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegationResponse { + return { + delegation_response: isSet(object.delegation_response) ? DelegationResponse.fromJSON(object.delegation_response) : undefined, + }; + }, + + toJSON(message: QueryDelegationResponse): unknown { + const obj: any = {}; + if (message.delegation_response !== undefined) { + obj.delegation_response = DelegationResponse.toJSON(message.delegation_response); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegationResponse { + return QueryDelegationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegationResponse { + const message = createBaseQueryDelegationResponse(); + message.delegation_response = + object.delegation_response !== undefined && object.delegation_response !== null ? DelegationResponse.fromPartial(object.delegation_response) : undefined; + return message; + }, +}; + +export const QueryUnbondingDelegationRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryUnbondingDelegationRequest" as const, + + encode(message: QueryUnbondingDelegationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.validator_addr !== "") { + writer.uint32(18).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryUnbondingDelegationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryUnbondingDelegationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryUnbondingDelegationRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "", + }; + }, + + toJSON(message: QueryUnbondingDelegationRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryUnbondingDelegationRequest { + return QueryUnbondingDelegationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryUnbondingDelegationRequest { + const message = createBaseQueryUnbondingDelegationRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryUnbondingDelegationResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryUnbondingDelegationResponse" as const, + + encode(message: QueryUnbondingDelegationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.unbond !== undefined) { + UnbondingDelegation.encode(message.unbond, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryUnbondingDelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryUnbondingDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.unbond = UnbondingDelegation.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryUnbondingDelegationResponse { + return { unbond: isSet(object.unbond) ? UnbondingDelegation.fromJSON(object.unbond) : undefined }; + }, + + toJSON(message: QueryUnbondingDelegationResponse): unknown { + const obj: any = {}; + if (message.unbond !== undefined) { + obj.unbond = UnbondingDelegation.toJSON(message.unbond); + } + return obj; + }, + + create, I>>(base?: I): QueryUnbondingDelegationResponse { + return QueryUnbondingDelegationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryUnbondingDelegationResponse { + const message = createBaseQueryUnbondingDelegationResponse(); + message.unbond = object.unbond !== undefined && object.unbond !== null ? UnbondingDelegation.fromPartial(object.unbond) : undefined; + return message; + }, +}; + +export const QueryDelegatorDelegationsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest" as const, + + encode(message: QueryDelegatorDelegationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorDelegationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorDelegationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorDelegationsRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorDelegationsRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorDelegationsRequest { + return QueryDelegatorDelegationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorDelegationsRequest { + const message = createBaseQueryDelegatorDelegationsRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorDelegationsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse" as const, + + encode(message: QueryDelegatorDelegationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.delegation_responses) { + DelegationResponse.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorDelegationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorDelegationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegation_responses.push(DelegationResponse.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorDelegationsResponse { + return { + delegation_responses: globalThis.Array.isArray(object?.delegation_responses) + ? object.delegation_responses.map((e: any) => DelegationResponse.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorDelegationsResponse): unknown { + const obj: any = {}; + if (message.delegation_responses?.length) { + obj.delegation_responses = message.delegation_responses.map((e) => DelegationResponse.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorDelegationsResponse { + return QueryDelegatorDelegationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorDelegationsResponse { + const message = createBaseQueryDelegatorDelegationsResponse(); + message.delegation_responses = object.delegation_responses?.map((e) => DelegationResponse.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorUnbondingDelegationsRequest: MessageFns< + QueryDelegatorUnbondingDelegationsRequest, + "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest" +> = { + $type: "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest" as const, + + encode(message: QueryDelegatorUnbondingDelegationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorUnbondingDelegationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorUnbondingDelegationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorUnbondingDelegationsRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorUnbondingDelegationsRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorUnbondingDelegationsRequest { + return QueryDelegatorUnbondingDelegationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorUnbondingDelegationsRequest { + const message = createBaseQueryDelegatorUnbondingDelegationsRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorUnbondingDelegationsResponse: MessageFns< + QueryDelegatorUnbondingDelegationsResponse, + "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse" +> = { + $type: "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse" as const, + + encode(message: QueryDelegatorUnbondingDelegationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.unbonding_responses) { + UnbondingDelegation.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorUnbondingDelegationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorUnbondingDelegationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.unbonding_responses.push(UnbondingDelegation.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorUnbondingDelegationsResponse { + return { + unbonding_responses: globalThis.Array.isArray(object?.unbonding_responses) + ? object.unbonding_responses.map((e: any) => UnbondingDelegation.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorUnbondingDelegationsResponse): unknown { + const obj: any = {}; + if (message.unbonding_responses?.length) { + obj.unbonding_responses = message.unbonding_responses.map((e) => UnbondingDelegation.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorUnbondingDelegationsResponse { + return QueryDelegatorUnbondingDelegationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorUnbondingDelegationsResponse { + const message = createBaseQueryDelegatorUnbondingDelegationsResponse(); + message.unbonding_responses = object.unbonding_responses?.map((e) => UnbondingDelegation.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryRedelegationsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryRedelegationsRequest" as const, + + encode(message: QueryRedelegationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.src_validator_addr !== "") { + writer.uint32(18).string(message.src_validator_addr); + } + if (message.dst_validator_addr !== "") { + writer.uint32(26).string(message.dst_validator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryRedelegationsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryRedelegationsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.src_validator_addr = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.dst_validator_addr = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryRedelegationsRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + src_validator_addr: isSet(object.src_validator_addr) ? globalThis.String(object.src_validator_addr) : "", + dst_validator_addr: isSet(object.dst_validator_addr) ? globalThis.String(object.dst_validator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryRedelegationsRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.src_validator_addr !== "") { + obj.src_validator_addr = message.src_validator_addr; + } + if (message.dst_validator_addr !== "") { + obj.dst_validator_addr = message.dst_validator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryRedelegationsRequest { + return QueryRedelegationsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryRedelegationsRequest { + const message = createBaseQueryRedelegationsRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.src_validator_addr = object.src_validator_addr ?? ""; + message.dst_validator_addr = object.dst_validator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryRedelegationsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryRedelegationsResponse" as const, + + encode(message: QueryRedelegationsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.redelegation_responses) { + RedelegationResponse.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryRedelegationsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryRedelegationsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.redelegation_responses.push(RedelegationResponse.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryRedelegationsResponse { + return { + redelegation_responses: globalThis.Array.isArray(object?.redelegation_responses) + ? object.redelegation_responses.map((e: any) => RedelegationResponse.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryRedelegationsResponse): unknown { + const obj: any = {}; + if (message.redelegation_responses?.length) { + obj.redelegation_responses = message.redelegation_responses.map((e) => RedelegationResponse.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryRedelegationsResponse { + return QueryRedelegationsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryRedelegationsResponse { + const message = createBaseQueryRedelegationsResponse(); + message.redelegation_responses = object.redelegation_responses?.map((e) => RedelegationResponse.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorValidatorsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest" as const, + + encode(message: QueryDelegatorValidatorsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorsRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorValidatorsRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorsRequest { + return QueryDelegatorValidatorsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorsRequest { + const message = createBaseQueryDelegatorValidatorsRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorValidatorsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse" as const, + + encode(message: QueryDelegatorValidatorsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorsResponse { + return { + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryDelegatorValidatorsResponse): unknown { + const obj: any = {}; + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorsResponse { + return QueryDelegatorValidatorsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorsResponse { + const message = createBaseQueryDelegatorValidatorsResponse(); + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const QueryDelegatorValidatorRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorValidatorRequest" as const, + + encode(message: QueryDelegatorValidatorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_addr !== "") { + writer.uint32(10).string(message.delegator_addr); + } + if (message.validator_addr !== "") { + writer.uint32(18).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_addr = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorRequest { + return { + delegator_addr: isSet(object.delegator_addr) ? globalThis.String(object.delegator_addr) : "", + validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "", + }; + }, + + toJSON(message: QueryDelegatorValidatorRequest): unknown { + const obj: any = {}; + if (message.delegator_addr !== "") { + obj.delegator_addr = message.delegator_addr; + } + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorRequest { + return QueryDelegatorValidatorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorRequest { + const message = createBaseQueryDelegatorValidatorRequest(); + message.delegator_addr = object.delegator_addr ?? ""; + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryDelegatorValidatorResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryDelegatorValidatorResponse" as const, + + encode(message: QueryDelegatorValidatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDelegatorValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDelegatorValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator = Validator.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDelegatorValidatorResponse { + return { validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined }; + }, + + toJSON(message: QueryDelegatorValidatorResponse): unknown { + const obj: any = {}; + if (message.validator !== undefined) { + obj.validator = Validator.toJSON(message.validator); + } + return obj; + }, + + create, I>>(base?: I): QueryDelegatorValidatorResponse { + return QueryDelegatorValidatorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDelegatorValidatorResponse { + const message = createBaseQueryDelegatorValidatorResponse(); + message.validator = object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + return message; + }, +}; + +export const QueryHistoricalInfoRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryHistoricalInfoRequest" as const, + + encode(message: QueryHistoricalInfoRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryHistoricalInfoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryHistoricalInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryHistoricalInfoRequest { + return { height: isSet(object.height) ? globalThis.Number(object.height) : 0 }; + }, + + toJSON(message: QueryHistoricalInfoRequest): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): QueryHistoricalInfoRequest { + return QueryHistoricalInfoRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryHistoricalInfoRequest { + const message = createBaseQueryHistoricalInfoRequest(); + message.height = object.height ?? 0; + return message; + }, +}; + +export const QueryHistoricalInfoResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryHistoricalInfoResponse" as const, + + encode(message: QueryHistoricalInfoResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hist !== undefined) { + HistoricalInfo.encode(message.hist, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryHistoricalInfoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryHistoricalInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hist = HistoricalInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryHistoricalInfoResponse { + return { hist: isSet(object.hist) ? HistoricalInfo.fromJSON(object.hist) : undefined }; + }, + + toJSON(message: QueryHistoricalInfoResponse): unknown { + const obj: any = {}; + if (message.hist !== undefined) { + obj.hist = HistoricalInfo.toJSON(message.hist); + } + return obj; + }, + + create, I>>(base?: I): QueryHistoricalInfoResponse { + return QueryHistoricalInfoResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryHistoricalInfoResponse { + const message = createBaseQueryHistoricalInfoResponse(); + message.hist = object.hist !== undefined && object.hist !== null ? HistoricalInfo.fromPartial(object.hist) : undefined; + return message; + }, +}; + +export const QueryPoolRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryPoolRequest" as const, + + encode(_: QueryPoolRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPoolRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPoolRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryPoolRequest { + return {}; + }, + + toJSON(_: QueryPoolRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryPoolRequest { + return QueryPoolRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryPoolRequest { + const message = createBaseQueryPoolRequest(); + return message; + }, +}; + +export const QueryPoolResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryPoolResponse" as const, + + encode(message: QueryPoolResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pool !== undefined) { + Pool.encode(message.pool, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPoolResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPoolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pool = Pool.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPoolResponse { + return { pool: isSet(object.pool) ? Pool.fromJSON(object.pool) : undefined }; + }, + + toJSON(message: QueryPoolResponse): unknown { + const obj: any = {}; + if (message.pool !== undefined) { + obj.pool = Pool.toJSON(message.pool); + } + return obj; + }, + + create, I>>(base?: I): QueryPoolResponse { + return QueryPoolResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPoolResponse { + const message = createBaseQueryPoolResponse(); + message.pool = object.pool !== undefined && object.pool !== null ? Pool.fromPartial(object.pool) : undefined; + return message; + }, +}; + +export const QueryParamsRequest: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +function createBaseQueryValidatorsRequest(): QueryValidatorsRequest { + return { status: "", pagination: undefined }; +} + +function createBaseQueryValidatorsResponse(): QueryValidatorsResponse { + return { validators: [], pagination: undefined }; +} + +function createBaseQueryValidatorRequest(): QueryValidatorRequest { + return { validator_addr: "" }; +} + +function createBaseQueryValidatorResponse(): QueryValidatorResponse { + return { validator: undefined }; +} + +function createBaseQueryValidatorDelegationsRequest(): QueryValidatorDelegationsRequest { + return { validator_addr: "", pagination: undefined }; +} + +function createBaseQueryValidatorDelegationsResponse(): QueryValidatorDelegationsResponse { + return { delegation_responses: [], pagination: undefined }; +} + +function createBaseQueryValidatorUnbondingDelegationsRequest(): QueryValidatorUnbondingDelegationsRequest { + return { validator_addr: "", pagination: undefined }; +} + +function createBaseQueryValidatorUnbondingDelegationsResponse(): QueryValidatorUnbondingDelegationsResponse { + return { unbonding_responses: [], pagination: undefined }; +} + +function createBaseQueryDelegationRequest(): QueryDelegationRequest { + return { delegator_addr: "", validator_addr: "" }; +} + +function createBaseQueryDelegationResponse(): QueryDelegationResponse { + return { delegation_response: undefined }; +} + +function createBaseQueryUnbondingDelegationRequest(): QueryUnbondingDelegationRequest { + return { delegator_addr: "", validator_addr: "" }; +} + +function createBaseQueryUnbondingDelegationResponse(): QueryUnbondingDelegationResponse { + return { unbond: undefined }; +} + +function createBaseQueryDelegatorDelegationsRequest(): QueryDelegatorDelegationsRequest { + return { delegator_addr: "", pagination: undefined }; +} + +function createBaseQueryDelegatorDelegationsResponse(): QueryDelegatorDelegationsResponse { + return { delegation_responses: [], pagination: undefined }; +} + +function createBaseQueryDelegatorUnbondingDelegationsRequest(): QueryDelegatorUnbondingDelegationsRequest { + return { delegator_addr: "", pagination: undefined }; +} + +function createBaseQueryDelegatorUnbondingDelegationsResponse(): QueryDelegatorUnbondingDelegationsResponse { + return { unbonding_responses: [], pagination: undefined }; +} + +function createBaseQueryRedelegationsRequest(): QueryRedelegationsRequest { + return { delegator_addr: "", src_validator_addr: "", dst_validator_addr: "", pagination: undefined }; +} + +function createBaseQueryRedelegationsResponse(): QueryRedelegationsResponse { + return { redelegation_responses: [], pagination: undefined }; +} + +function createBaseQueryDelegatorValidatorsRequest(): QueryDelegatorValidatorsRequest { + return { delegator_addr: "", pagination: undefined }; +} + +function createBaseQueryDelegatorValidatorsResponse(): QueryDelegatorValidatorsResponse { + return { validators: [], pagination: undefined }; +} + +function createBaseQueryDelegatorValidatorRequest(): QueryDelegatorValidatorRequest { + return { delegator_addr: "", validator_addr: "" }; +} + +function createBaseQueryDelegatorValidatorResponse(): QueryDelegatorValidatorResponse { + return { validator: undefined }; +} + +function createBaseQueryHistoricalInfoRequest(): QueryHistoricalInfoRequest { + return { height: 0 }; +} + +function createBaseQueryHistoricalInfoResponse(): QueryHistoricalInfoResponse { + return { hist: undefined }; +} + +function createBaseQueryPoolRequest(): QueryPoolRequest { + return {}; +} + +function createBaseQueryPoolResponse(): QueryPoolResponse { + return { pool: undefined }; +} + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.staking.v1beta1.QueryValidatorRequest", QueryValidatorRequest as never], + ["/cosmos.staking.v1beta1.QueryPoolRequest", QueryPoolRequest as never], + ["/cosmos.staking.v1beta1.QueryPoolResponse", QueryPoolResponse as never], + ["/cosmos.staking.v1beta1.QueryParamsRequest", QueryParamsRequest as never], + ["/cosmos.staking.v1beta1.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/cosmos.staking.v1beta1.QueryValidatorRequest": { + aminoType: "cosmos-sdk/QueryValidatorRequest", + toAmino: (message: QueryValidatorRequest) => ({ ...message }), + fromAmino: (object: QueryValidatorRequest) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.QueryPoolRequest": { + aminoType: "cosmos-sdk/QueryPoolRequest", + toAmino: (message: QueryPoolRequest) => ({ ...message }), + fromAmino: (object: QueryPoolRequest) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.QueryPoolResponse": { + aminoType: "cosmos-sdk/QueryPoolResponse", + toAmino: (message: QueryPoolResponse) => ({ ...message }), + fromAmino: (object: QueryPoolResponse) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.QueryParamsRequest": { + aminoType: "cosmos-sdk/QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.QueryParamsResponse": { + aminoType: "cosmos-sdk/QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts new file mode 100644 index 000000000..70c3d1725 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts @@ -0,0 +1,2182 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Duration } from "../../../google/protobuf/duration"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import { Header } from "../../../tendermint/types/types"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + CommissionRates as CommissionRatesType, + Commission as CommissionType, + DVPair as DVPairType, + DVPairs as DVPairsType, + DVVTriplet as DVVTripletType, + DVVTriplets as DVVTripletsType, + DelegationResponse as DelegationResponseType, + Delegation as DelegationType, + Description as DescriptionType, + HistoricalInfo as HistoricalInfoType, + Params as ParamsType, + Pool as PoolType, + RedelegationEntryResponse as RedelegationEntryResponseType, + RedelegationEntry as RedelegationEntryType, + RedelegationResponse as RedelegationResponseType, + Redelegation as RedelegationType, + UnbondingDelegationEntry as UnbondingDelegationEntryType, + UnbondingDelegation as UnbondingDelegationType, + ValAddresses as ValAddressesType, + Validator as ValidatorType, +} from "../../../../types/cosmos/staking/v1beta1"; + +import { BondStatus } from "../../../../types/cosmos/staking/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface HistoricalInfo extends HistoricalInfoType {} +interface CommissionRates extends CommissionRatesType {} +interface Commission extends CommissionType {} +interface Description extends DescriptionType {} +interface Validator extends ValidatorType {} +interface ValAddresses extends ValAddressesType {} +interface DVPair extends DVPairType {} +interface DVPairs extends DVPairsType {} +interface DVVTriplet extends DVVTripletType {} +interface DVVTriplets extends DVVTripletsType {} +interface Delegation extends DelegationType {} +interface UnbondingDelegation extends UnbondingDelegationType {} +interface UnbondingDelegationEntry extends UnbondingDelegationEntryType {} +interface RedelegationEntry extends RedelegationEntryType {} +interface Redelegation extends RedelegationType {} +interface Params extends ParamsType {} +interface DelegationResponse extends DelegationResponseType {} +interface RedelegationEntryResponse extends RedelegationEntryResponseType {} +interface RedelegationResponse extends RedelegationResponseType {} +interface Pool extends PoolType {} + +export const HistoricalInfo: MessageFns = { + $type: "cosmos.staking.v1beta1.HistoricalInfo" as const, + + encode(message: HistoricalInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).join(); + } + for (const v of message.valset) { + Validator.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): HistoricalInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHistoricalInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.header = Header.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.valset.push(Validator.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): HistoricalInfo { + return { + header: isSet(object.header) ? Header.fromJSON(object.header) : undefined, + valset: globalThis.Array.isArray(object?.valset) ? object.valset.map((e: any) => Validator.fromJSON(e)) : [], + }; + }, + + toJSON(message: HistoricalInfo): unknown { + const obj: any = {}; + if (message.header !== undefined) { + obj.header = Header.toJSON(message.header); + } + if (message.valset?.length) { + obj.valset = message.valset.map((e) => Validator.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): HistoricalInfo { + return HistoricalInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): HistoricalInfo { + const message = createBaseHistoricalInfo(); + message.header = object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.valset = object.valset?.map((e) => Validator.fromPartial(e)) || []; + return message; + }, +}; + +export const CommissionRates: MessageFns = { + $type: "cosmos.staking.v1beta1.CommissionRates" as const, + + encode(message: CommissionRates, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.rate !== "") { + writer.uint32(10).string(message.rate); + } + if (message.max_rate !== "") { + writer.uint32(18).string(message.max_rate); + } + if (message.max_change_rate !== "") { + writer.uint32(26).string(message.max_change_rate); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommissionRates { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommissionRates(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rate = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.max_rate = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.max_change_rate = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommissionRates { + return { + rate: isSet(object.rate) ? globalThis.String(object.rate) : "", + max_rate: isSet(object.max_rate) ? globalThis.String(object.max_rate) : "", + max_change_rate: isSet(object.max_change_rate) ? globalThis.String(object.max_change_rate) : "", + }; + }, + + toJSON(message: CommissionRates): unknown { + const obj: any = {}; + if (message.rate !== "") { + obj.rate = message.rate; + } + if (message.max_rate !== "") { + obj.max_rate = message.max_rate; + } + if (message.max_change_rate !== "") { + obj.max_change_rate = message.max_change_rate; + } + return obj; + }, + + create, I>>(base?: I): CommissionRates { + return CommissionRates.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommissionRates { + const message = createBaseCommissionRates(); + message.rate = object.rate ?? ""; + message.max_rate = object.max_rate ?? ""; + message.max_change_rate = object.max_change_rate ?? ""; + return message; + }, +}; + +export const Commission: MessageFns = { + $type: "cosmos.staking.v1beta1.Commission" as const, + + encode(message: Commission, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.commission_rates !== undefined) { + CommissionRates.encode(message.commission_rates, writer.uint32(10).fork()).join(); + } + if (message.update_time !== undefined) { + Timestamp.encode(toTimestamp(message.update_time), writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Commission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.commission_rates = CommissionRates.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.update_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Commission { + return { + commission_rates: isSet(object.commission_rates) ? CommissionRates.fromJSON(object.commission_rates) : undefined, + update_time: isSet(object.update_time) ? fromJsonTimestamp(object.update_time) : undefined, + }; + }, + + toJSON(message: Commission): unknown { + const obj: any = {}; + if (message.commission_rates !== undefined) { + obj.commission_rates = CommissionRates.toJSON(message.commission_rates); + } + if (message.update_time !== undefined) { + obj.update_time = message.update_time.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): Commission { + return Commission.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Commission { + const message = createBaseCommission(); + message.commission_rates = + object.commission_rates !== undefined && object.commission_rates !== null ? CommissionRates.fromPartial(object.commission_rates) : undefined; + message.update_time = object.update_time ?? undefined; + return message; + }, +}; + +export const Description: MessageFns = { + $type: "cosmos.staking.v1beta1.Description" as const, + + encode(message: Description, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.moniker !== "") { + writer.uint32(10).string(message.moniker); + } + if (message.identity !== "") { + writer.uint32(18).string(message.identity); + } + if (message.website !== "") { + writer.uint32(26).string(message.website); + } + if (message.security_contact !== "") { + writer.uint32(34).string(message.security_contact); + } + if (message.details !== "") { + writer.uint32(42).string(message.details); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Description { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescription(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.moniker = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.identity = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.website = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.security_contact = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.details = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Description { + return { + moniker: isSet(object.moniker) ? globalThis.String(object.moniker) : "", + identity: isSet(object.identity) ? globalThis.String(object.identity) : "", + website: isSet(object.website) ? globalThis.String(object.website) : "", + security_contact: isSet(object.security_contact) ? globalThis.String(object.security_contact) : "", + details: isSet(object.details) ? globalThis.String(object.details) : "", + }; + }, + + toJSON(message: Description): unknown { + const obj: any = {}; + if (message.moniker !== "") { + obj.moniker = message.moniker; + } + if (message.identity !== "") { + obj.identity = message.identity; + } + if (message.website !== "") { + obj.website = message.website; + } + if (message.security_contact !== "") { + obj.security_contact = message.security_contact; + } + if (message.details !== "") { + obj.details = message.details; + } + return obj; + }, + + create, I>>(base?: I): Description { + return Description.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Description { + const message = createBaseDescription(); + message.moniker = object.moniker ?? ""; + message.identity = object.identity ?? ""; + message.website = object.website ?? ""; + message.security_contact = object.security_contact ?? ""; + message.details = object.details ?? ""; + return message; + }, +}; + +export const Validator: MessageFns = { + $type: "cosmos.staking.v1beta1.Validator" as const, + + encode(message: Validator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.operator_address !== "") { + writer.uint32(10).string(message.operator_address); + } + if (message.consensus_pubkey !== undefined) { + Any.encode(message.consensus_pubkey, writer.uint32(18).fork()).join(); + } + if (message.jailed !== false) { + writer.uint32(24).bool(message.jailed); + } + if (message.status !== 0) { + writer.uint32(32).int32(message.status); + } + if (message.tokens !== "") { + writer.uint32(42).string(message.tokens); + } + if (message.delegator_shares !== "") { + writer.uint32(50).string(message.delegator_shares); + } + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(58).fork()).join(); + } + if (message.unbonding_height !== 0) { + writer.uint32(64).int64(message.unbonding_height); + } + if (message.unbonding_time !== undefined) { + Timestamp.encode(toTimestamp(message.unbonding_time), writer.uint32(74).fork()).join(); + } + if (message.commission !== undefined) { + Commission.encode(message.commission, writer.uint32(82).fork()).join(); + } + if (message.min_self_delegation !== "") { + writer.uint32(90).string(message.min_self_delegation); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.operator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.consensus_pubkey = Any.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.jailed = reader.bool(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.status = reader.int32() as any; + continue; + case 5: + if (tag !== 42) { + break; + } + + message.tokens = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.delegator_shares = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.description = Description.decode(reader, reader.uint32()); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.unbonding_height = longToNumber(reader.int64()); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.unbonding_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.commission = Commission.decode(reader, reader.uint32()); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.min_self_delegation = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Validator { + return { + operator_address: isSet(object.operator_address) ? globalThis.String(object.operator_address) : "", + consensus_pubkey: isSet(object.consensus_pubkey) ? Any.fromJSON(object.consensus_pubkey) : undefined, + jailed: isSet(object.jailed) ? globalThis.Boolean(object.jailed) : false, + status: isSet(object.status) ? bondStatusFromJSON(object.status) : 0, + tokens: isSet(object.tokens) ? globalThis.String(object.tokens) : "", + delegator_shares: isSet(object.delegator_shares) ? globalThis.String(object.delegator_shares) : "", + description: isSet(object.description) ? Description.fromJSON(object.description) : undefined, + unbonding_height: isSet(object.unbonding_height) ? globalThis.Number(object.unbonding_height) : 0, + unbonding_time: isSet(object.unbonding_time) ? fromJsonTimestamp(object.unbonding_time) : undefined, + commission: isSet(object.commission) ? Commission.fromJSON(object.commission) : undefined, + min_self_delegation: isSet(object.min_self_delegation) ? globalThis.String(object.min_self_delegation) : "", + }; + }, + + toJSON(message: Validator): unknown { + const obj: any = {}; + if (message.operator_address !== "") { + obj.operator_address = message.operator_address; + } + if (message.consensus_pubkey !== undefined) { + obj.consensus_pubkey = Any.toJSON(message.consensus_pubkey); + } + if (message.jailed !== false) { + obj.jailed = message.jailed; + } + if (message.status !== 0) { + obj.status = bondStatusToJSON(message.status); + } + if (message.tokens !== "") { + obj.tokens = message.tokens; + } + if (message.delegator_shares !== "") { + obj.delegator_shares = message.delegator_shares; + } + if (message.description !== undefined) { + obj.description = Description.toJSON(message.description); + } + if (message.unbonding_height !== 0) { + obj.unbonding_height = Math.round(message.unbonding_height); + } + if (message.unbonding_time !== undefined) { + obj.unbonding_time = message.unbonding_time.toISOString(); + } + if (message.commission !== undefined) { + obj.commission = Commission.toJSON(message.commission); + } + if (message.min_self_delegation !== "") { + obj.min_self_delegation = message.min_self_delegation; + } + return obj; + }, + + create, I>>(base?: I): Validator { + return Validator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Validator { + const message = createBaseValidator(); + message.operator_address = object.operator_address ?? ""; + message.consensus_pubkey = object.consensus_pubkey !== undefined && object.consensus_pubkey !== null ? Any.fromPartial(object.consensus_pubkey) : undefined; + message.jailed = object.jailed ?? false; + message.status = object.status ?? 0; + message.tokens = object.tokens ?? ""; + message.delegator_shares = object.delegator_shares ?? ""; + message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; + message.unbonding_height = object.unbonding_height ?? 0; + message.unbonding_time = object.unbonding_time ?? undefined; + message.commission = object.commission !== undefined && object.commission !== null ? Commission.fromPartial(object.commission) : undefined; + message.min_self_delegation = object.min_self_delegation ?? ""; + return message; + }, +}; + +export const ValAddresses: MessageFns = { + $type: "cosmos.staking.v1beta1.ValAddresses" as const, + + encode(message: ValAddresses, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.addresses) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValAddresses { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.addresses.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValAddresses { + return { + addresses: globalThis.Array.isArray(object?.addresses) ? object.addresses.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: ValAddresses): unknown { + const obj: any = {}; + if (message.addresses?.length) { + obj.addresses = message.addresses; + } + return obj; + }, + + create, I>>(base?: I): ValAddresses { + return ValAddresses.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValAddresses { + const message = createBaseValAddresses(); + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, +}; + +export const DVPair: MessageFns = { + $type: "cosmos.staking.v1beta1.DVPair" as const, + + encode(message: DVPair, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DVPair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVPair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DVPair { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + }; + }, + + toJSON(message: DVPair): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): DVPair { + return DVPair.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DVPair { + const message = createBaseDVPair(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const DVPairs: MessageFns = { + $type: "cosmos.staking.v1beta1.DVPairs" as const, + + encode(message: DVPairs, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.pairs) { + DVPair.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DVPairs { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVPairs(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pairs.push(DVPair.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DVPairs { + return { pairs: globalThis.Array.isArray(object?.pairs) ? object.pairs.map((e: any) => DVPair.fromJSON(e)) : [] }; + }, + + toJSON(message: DVPairs): unknown { + const obj: any = {}; + if (message.pairs?.length) { + obj.pairs = message.pairs.map((e) => DVPair.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): DVPairs { + return DVPairs.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DVPairs { + const message = createBaseDVPairs(); + message.pairs = object.pairs?.map((e) => DVPair.fromPartial(e)) || []; + return message; + }, +}; + +export const DVVTriplet: MessageFns = { + $type: "cosmos.staking.v1beta1.DVVTriplet" as const, + + encode(message: DVVTriplet, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_src_address !== "") { + writer.uint32(18).string(message.validator_src_address); + } + if (message.validator_dst_address !== "") { + writer.uint32(26).string(message.validator_dst_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DVVTriplet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVVTriplet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_src_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.validator_dst_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DVVTriplet { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_src_address: isSet(object.validator_src_address) ? globalThis.String(object.validator_src_address) : "", + validator_dst_address: isSet(object.validator_dst_address) ? globalThis.String(object.validator_dst_address) : "", + }; + }, + + toJSON(message: DVVTriplet): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_src_address !== "") { + obj.validator_src_address = message.validator_src_address; + } + if (message.validator_dst_address !== "") { + obj.validator_dst_address = message.validator_dst_address; + } + return obj; + }, + + create, I>>(base?: I): DVVTriplet { + return DVVTriplet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DVVTriplet { + const message = createBaseDVVTriplet(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_src_address = object.validator_src_address ?? ""; + message.validator_dst_address = object.validator_dst_address ?? ""; + return message; + }, +}; + +export const DVVTriplets: MessageFns = { + $type: "cosmos.staking.v1beta1.DVVTriplets" as const, + + encode(message: DVVTriplets, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.triplets) { + DVVTriplet.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DVVTriplets { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVVTriplets(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.triplets.push(DVVTriplet.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DVVTriplets { + return { + triplets: globalThis.Array.isArray(object?.triplets) ? object.triplets.map((e: any) => DVVTriplet.fromJSON(e)) : [], + }; + }, + + toJSON(message: DVVTriplets): unknown { + const obj: any = {}; + if (message.triplets?.length) { + obj.triplets = message.triplets.map((e) => DVVTriplet.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): DVVTriplets { + return DVVTriplets.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DVVTriplets { + const message = createBaseDVVTriplets(); + message.triplets = object.triplets?.map((e) => DVVTriplet.fromPartial(e)) || []; + return message; + }, +}; + +export const Delegation: MessageFns = { + $type: "cosmos.staking.v1beta1.Delegation" as const, + + encode(message: Delegation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + if (message.shares !== "") { + writer.uint32(26).string(message.shares); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Delegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.shares = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Delegation { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + shares: isSet(object.shares) ? globalThis.String(object.shares) : "", + }; + }, + + toJSON(message: Delegation): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.shares !== "") { + obj.shares = message.shares; + } + return obj; + }, + + create, I>>(base?: I): Delegation { + return Delegation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Delegation { + const message = createBaseDelegation(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.shares = object.shares ?? ""; + return message; + }, +}; + +export const UnbondingDelegation: MessageFns = { + $type: "cosmos.staking.v1beta1.UnbondingDelegation" as const, + + encode(message: UnbondingDelegation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + for (const v of message.entries) { + UnbondingDelegationEntry.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UnbondingDelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnbondingDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.entries.push(UnbondingDelegationEntry.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UnbondingDelegation { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + entries: globalThis.Array.isArray(object?.entries) ? object.entries.map((e: any) => UnbondingDelegationEntry.fromJSON(e)) : [], + }; + }, + + toJSON(message: UnbondingDelegation): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.entries?.length) { + obj.entries = message.entries.map((e) => UnbondingDelegationEntry.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): UnbondingDelegation { + return UnbondingDelegation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UnbondingDelegation { + const message = createBaseUnbondingDelegation(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.entries = object.entries?.map((e) => UnbondingDelegationEntry.fromPartial(e)) || []; + return message; + }, +}; + +export const UnbondingDelegationEntry: MessageFns = { + $type: "cosmos.staking.v1beta1.UnbondingDelegationEntry" as const, + + encode(message: UnbondingDelegationEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.creation_height !== 0) { + writer.uint32(8).int64(message.creation_height); + } + if (message.completion_time !== undefined) { + Timestamp.encode(toTimestamp(message.completion_time), writer.uint32(18).fork()).join(); + } + if (message.initial_balance !== "") { + writer.uint32(26).string(message.initial_balance); + } + if (message.balance !== "") { + writer.uint32(34).string(message.balance); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UnbondingDelegationEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnbondingDelegationEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.creation_height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.initial_balance = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.balance = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UnbondingDelegationEntry { + return { + creation_height: isSet(object.creation_height) ? globalThis.Number(object.creation_height) : 0, + completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined, + initial_balance: isSet(object.initial_balance) ? globalThis.String(object.initial_balance) : "", + balance: isSet(object.balance) ? globalThis.String(object.balance) : "", + }; + }, + + toJSON(message: UnbondingDelegationEntry): unknown { + const obj: any = {}; + if (message.creation_height !== 0) { + obj.creation_height = Math.round(message.creation_height); + } + if (message.completion_time !== undefined) { + obj.completion_time = message.completion_time.toISOString(); + } + if (message.initial_balance !== "") { + obj.initial_balance = message.initial_balance; + } + if (message.balance !== "") { + obj.balance = message.balance; + } + return obj; + }, + + create, I>>(base?: I): UnbondingDelegationEntry { + return UnbondingDelegationEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UnbondingDelegationEntry { + const message = createBaseUnbondingDelegationEntry(); + message.creation_height = object.creation_height ?? 0; + message.completion_time = object.completion_time ?? undefined; + message.initial_balance = object.initial_balance ?? ""; + message.balance = object.balance ?? ""; + return message; + }, +}; + +export const RedelegationEntry: MessageFns = { + $type: "cosmos.staking.v1beta1.RedelegationEntry" as const, + + encode(message: RedelegationEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.creation_height !== 0) { + writer.uint32(8).int64(message.creation_height); + } + if (message.completion_time !== undefined) { + Timestamp.encode(toTimestamp(message.completion_time), writer.uint32(18).fork()).join(); + } + if (message.initial_balance !== "") { + writer.uint32(26).string(message.initial_balance); + } + if (message.shares_dst !== "") { + writer.uint32(34).string(message.shares_dst); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.creation_height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.initial_balance = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.shares_dst = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RedelegationEntry { + return { + creation_height: isSet(object.creation_height) ? globalThis.Number(object.creation_height) : 0, + completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined, + initial_balance: isSet(object.initial_balance) ? globalThis.String(object.initial_balance) : "", + shares_dst: isSet(object.shares_dst) ? globalThis.String(object.shares_dst) : "", + }; + }, + + toJSON(message: RedelegationEntry): unknown { + const obj: any = {}; + if (message.creation_height !== 0) { + obj.creation_height = Math.round(message.creation_height); + } + if (message.completion_time !== undefined) { + obj.completion_time = message.completion_time.toISOString(); + } + if (message.initial_balance !== "") { + obj.initial_balance = message.initial_balance; + } + if (message.shares_dst !== "") { + obj.shares_dst = message.shares_dst; + } + return obj; + }, + + create, I>>(base?: I): RedelegationEntry { + return RedelegationEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RedelegationEntry { + const message = createBaseRedelegationEntry(); + message.creation_height = object.creation_height ?? 0; + message.completion_time = object.completion_time ?? undefined; + message.initial_balance = object.initial_balance ?? ""; + message.shares_dst = object.shares_dst ?? ""; + return message; + }, +}; + +export const Redelegation: MessageFns = { + $type: "cosmos.staking.v1beta1.Redelegation" as const, + + encode(message: Redelegation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_src_address !== "") { + writer.uint32(18).string(message.validator_src_address); + } + if (message.validator_dst_address !== "") { + writer.uint32(26).string(message.validator_dst_address); + } + for (const v of message.entries) { + RedelegationEntry.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Redelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_src_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.validator_dst_address = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.entries.push(RedelegationEntry.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Redelegation { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_src_address: isSet(object.validator_src_address) ? globalThis.String(object.validator_src_address) : "", + validator_dst_address: isSet(object.validator_dst_address) ? globalThis.String(object.validator_dst_address) : "", + entries: globalThis.Array.isArray(object?.entries) ? object.entries.map((e: any) => RedelegationEntry.fromJSON(e)) : [], + }; + }, + + toJSON(message: Redelegation): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_src_address !== "") { + obj.validator_src_address = message.validator_src_address; + } + if (message.validator_dst_address !== "") { + obj.validator_dst_address = message.validator_dst_address; + } + if (message.entries?.length) { + obj.entries = message.entries.map((e) => RedelegationEntry.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Redelegation { + return Redelegation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Redelegation { + const message = createBaseRedelegation(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_src_address = object.validator_src_address ?? ""; + message.validator_dst_address = object.validator_dst_address ?? ""; + message.entries = object.entries?.map((e) => RedelegationEntry.fromPartial(e)) || []; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "cosmos.staking.v1beta1.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.unbonding_time !== undefined) { + Duration.encode(message.unbonding_time, writer.uint32(10).fork()).join(); + } + if (message.max_validators !== 0) { + writer.uint32(16).uint32(message.max_validators); + } + if (message.max_entries !== 0) { + writer.uint32(24).uint32(message.max_entries); + } + if (message.historical_entries !== 0) { + writer.uint32(32).uint32(message.historical_entries); + } + if (message.bond_denom !== "") { + writer.uint32(42).string(message.bond_denom); + } + if (message.min_commission_rate !== "") { + writer.uint32(50).string(message.min_commission_rate); + } + if (message.max_voting_power_ratio !== "") { + writer.uint32(58).string(message.max_voting_power_ratio); + } + if (message.max_voting_power_enforcement_threshold !== "") { + writer.uint32(66).string(message.max_voting_power_enforcement_threshold); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.unbonding_time = Duration.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.max_validators = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.max_entries = reader.uint32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.historical_entries = reader.uint32(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.bond_denom = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.min_commission_rate = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.max_voting_power_ratio = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.max_voting_power_enforcement_threshold = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + unbonding_time: isSet(object.unbonding_time) ? Duration.fromJSON(object.unbonding_time) : undefined, + max_validators: isSet(object.max_validators) ? globalThis.Number(object.max_validators) : 0, + max_entries: isSet(object.max_entries) ? globalThis.Number(object.max_entries) : 0, + historical_entries: isSet(object.historical_entries) ? globalThis.Number(object.historical_entries) : 0, + bond_denom: isSet(object.bond_denom) ? globalThis.String(object.bond_denom) : "", + min_commission_rate: isSet(object.min_commission_rate) ? globalThis.String(object.min_commission_rate) : "", + max_voting_power_ratio: isSet(object.max_voting_power_ratio) ? globalThis.String(object.max_voting_power_ratio) : "", + max_voting_power_enforcement_threshold: isSet(object.max_voting_power_enforcement_threshold) + ? globalThis.String(object.max_voting_power_enforcement_threshold) + : "", + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.unbonding_time !== undefined) { + obj.unbonding_time = Duration.toJSON(message.unbonding_time); + } + if (message.max_validators !== 0) { + obj.max_validators = Math.round(message.max_validators); + } + if (message.max_entries !== 0) { + obj.max_entries = Math.round(message.max_entries); + } + if (message.historical_entries !== 0) { + obj.historical_entries = Math.round(message.historical_entries); + } + if (message.bond_denom !== "") { + obj.bond_denom = message.bond_denom; + } + if (message.min_commission_rate !== "") { + obj.min_commission_rate = message.min_commission_rate; + } + if (message.max_voting_power_ratio !== "") { + obj.max_voting_power_ratio = message.max_voting_power_ratio; + } + if (message.max_voting_power_enforcement_threshold !== "") { + obj.max_voting_power_enforcement_threshold = message.max_voting_power_enforcement_threshold; + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.unbonding_time = object.unbonding_time !== undefined && object.unbonding_time !== null ? Duration.fromPartial(object.unbonding_time) : undefined; + message.max_validators = object.max_validators ?? 0; + message.max_entries = object.max_entries ?? 0; + message.historical_entries = object.historical_entries ?? 0; + message.bond_denom = object.bond_denom ?? ""; + message.min_commission_rate = object.min_commission_rate ?? ""; + message.max_voting_power_ratio = object.max_voting_power_ratio ?? ""; + message.max_voting_power_enforcement_threshold = object.max_voting_power_enforcement_threshold ?? ""; + return message; + }, +}; + +export const DelegationResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.DelegationResponse" as const, + + encode(message: DelegationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegation !== undefined) { + Delegation.encode(message.delegation, writer.uint32(10).fork()).join(); + } + if (message.balance !== undefined) { + Coin.encode(message.balance, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegation = Delegation.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.balance = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelegationResponse { + return { + delegation: isSet(object.delegation) ? Delegation.fromJSON(object.delegation) : undefined, + balance: isSet(object.balance) ? Coin.fromJSON(object.balance) : undefined, + }; + }, + + toJSON(message: DelegationResponse): unknown { + const obj: any = {}; + if (message.delegation !== undefined) { + obj.delegation = Delegation.toJSON(message.delegation); + } + if (message.balance !== undefined) { + obj.balance = Coin.toJSON(message.balance); + } + return obj; + }, + + create, I>>(base?: I): DelegationResponse { + return DelegationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelegationResponse { + const message = createBaseDelegationResponse(); + message.delegation = object.delegation !== undefined && object.delegation !== null ? Delegation.fromPartial(object.delegation) : undefined; + message.balance = object.balance !== undefined && object.balance !== null ? Coin.fromPartial(object.balance) : undefined; + return message; + }, +}; + +export const RedelegationEntryResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.RedelegationEntryResponse" as const, + + encode(message: RedelegationEntryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.redelegation_entry !== undefined) { + RedelegationEntry.encode(message.redelegation_entry, writer.uint32(10).fork()).join(); + } + if (message.balance !== "") { + writer.uint32(34).string(message.balance); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationEntryResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationEntryResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.redelegation_entry = RedelegationEntry.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.balance = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RedelegationEntryResponse { + return { + redelegation_entry: isSet(object.redelegation_entry) ? RedelegationEntry.fromJSON(object.redelegation_entry) : undefined, + balance: isSet(object.balance) ? globalThis.String(object.balance) : "", + }; + }, + + toJSON(message: RedelegationEntryResponse): unknown { + const obj: any = {}; + if (message.redelegation_entry !== undefined) { + obj.redelegation_entry = RedelegationEntry.toJSON(message.redelegation_entry); + } + if (message.balance !== "") { + obj.balance = message.balance; + } + return obj; + }, + + create, I>>(base?: I): RedelegationEntryResponse { + return RedelegationEntryResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RedelegationEntryResponse { + const message = createBaseRedelegationEntryResponse(); + message.redelegation_entry = + object.redelegation_entry !== undefined && object.redelegation_entry !== null ? RedelegationEntry.fromPartial(object.redelegation_entry) : undefined; + message.balance = object.balance ?? ""; + return message; + }, +}; + +export const RedelegationResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.RedelegationResponse" as const, + + encode(message: RedelegationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.redelegation !== undefined) { + Redelegation.encode(message.redelegation, writer.uint32(10).fork()).join(); + } + for (const v of message.entries) { + RedelegationEntryResponse.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.redelegation = Redelegation.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.entries.push(RedelegationEntryResponse.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RedelegationResponse { + return { + redelegation: isSet(object.redelegation) ? Redelegation.fromJSON(object.redelegation) : undefined, + entries: globalThis.Array.isArray(object?.entries) ? object.entries.map((e: any) => RedelegationEntryResponse.fromJSON(e)) : [], + }; + }, + + toJSON(message: RedelegationResponse): unknown { + const obj: any = {}; + if (message.redelegation !== undefined) { + obj.redelegation = Redelegation.toJSON(message.redelegation); + } + if (message.entries?.length) { + obj.entries = message.entries.map((e) => RedelegationEntryResponse.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): RedelegationResponse { + return RedelegationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RedelegationResponse { + const message = createBaseRedelegationResponse(); + message.redelegation = object.redelegation !== undefined && object.redelegation !== null ? Redelegation.fromPartial(object.redelegation) : undefined; + message.entries = object.entries?.map((e) => RedelegationEntryResponse.fromPartial(e)) || []; + return message; + }, +}; + +export const Pool: MessageFns = { + $type: "cosmos.staking.v1beta1.Pool" as const, + + encode(message: Pool, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.not_bonded_tokens !== "") { + writer.uint32(10).string(message.not_bonded_tokens); + } + if (message.bonded_tokens !== "") { + writer.uint32(18).string(message.bonded_tokens); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Pool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.not_bonded_tokens = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.bonded_tokens = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Pool { + return { + not_bonded_tokens: isSet(object.not_bonded_tokens) ? globalThis.String(object.not_bonded_tokens) : "", + bonded_tokens: isSet(object.bonded_tokens) ? globalThis.String(object.bonded_tokens) : "", + }; + }, + + toJSON(message: Pool): unknown { + const obj: any = {}; + if (message.not_bonded_tokens !== "") { + obj.not_bonded_tokens = message.not_bonded_tokens; + } + if (message.bonded_tokens !== "") { + obj.bonded_tokens = message.bonded_tokens; + } + return obj; + }, + + create, I>>(base?: I): Pool { + return Pool.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Pool { + const message = createBasePool(); + message.not_bonded_tokens = object.not_bonded_tokens ?? ""; + message.bonded_tokens = object.bonded_tokens ?? ""; + return message; + }, +}; + +export function bondStatusFromJSON(object: any): BondStatus { + switch (object) { + case 0: + case "BOND_STATUS_UNSPECIFIED": + return BondStatus.BOND_STATUS_UNSPECIFIED; + case 1: + case "BOND_STATUS_UNBONDED": + return BondStatus.BOND_STATUS_UNBONDED; + case 2: + case "BOND_STATUS_UNBONDING": + return BondStatus.BOND_STATUS_UNBONDING; + case 3: + case "BOND_STATUS_BONDED": + return BondStatus.BOND_STATUS_BONDED; + case -1: + case "UNRECOGNIZED": + default: + return BondStatus.UNRECOGNIZED; + } +} + +export function bondStatusToJSON(object: BondStatus): string { + switch (object) { + case BondStatus.BOND_STATUS_UNSPECIFIED: + return "BOND_STATUS_UNSPECIFIED"; + case BondStatus.BOND_STATUS_UNBONDED: + return "BOND_STATUS_UNBONDED"; + case BondStatus.BOND_STATUS_UNBONDING: + return "BOND_STATUS_UNBONDING"; + case BondStatus.BOND_STATUS_BONDED: + return "BOND_STATUS_BONDED"; + case BondStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseHistoricalInfo(): HistoricalInfo { + return { header: undefined, valset: [] }; +} + +function createBaseCommissionRates(): CommissionRates { + return { rate: "", max_rate: "", max_change_rate: "" }; +} + +function createBaseCommission(): Commission { + return { commission_rates: undefined, update_time: undefined }; +} + +function createBaseDescription(): Description { + return { moniker: "", identity: "", website: "", security_contact: "", details: "" }; +} + +function createBaseValidator(): Validator { + return { + operator_address: "", + consensus_pubkey: undefined, + jailed: false, + status: 0, + tokens: "", + delegator_shares: "", + description: undefined, + unbonding_height: 0, + unbonding_time: undefined, + commission: undefined, + min_self_delegation: "", + }; +} + +function createBaseValAddresses(): ValAddresses { + return { addresses: [] }; +} + +function createBaseDVPair(): DVPair { + return { delegator_address: "", validator_address: "" }; +} + +function createBaseDVPairs(): DVPairs { + return { pairs: [] }; +} + +function createBaseDVVTriplet(): DVVTriplet { + return { delegator_address: "", validator_src_address: "", validator_dst_address: "" }; +} + +function createBaseDVVTriplets(): DVVTriplets { + return { triplets: [] }; +} + +function createBaseDelegation(): Delegation { + return { delegator_address: "", validator_address: "", shares: "" }; +} + +function createBaseUnbondingDelegation(): UnbondingDelegation { + return { delegator_address: "", validator_address: "", entries: [] }; +} + +function createBaseUnbondingDelegationEntry(): UnbondingDelegationEntry { + return { creation_height: 0, completion_time: undefined, initial_balance: "", balance: "" }; +} + +function createBaseRedelegationEntry(): RedelegationEntry { + return { creation_height: 0, completion_time: undefined, initial_balance: "", shares_dst: "" }; +} + +function createBaseRedelegation(): Redelegation { + return { delegator_address: "", validator_src_address: "", validator_dst_address: "", entries: [] }; +} + +function createBaseParams(): Params { + return { + unbonding_time: undefined, + max_validators: 0, + max_entries: 0, + historical_entries: 0, + bond_denom: "", + min_commission_rate: "", + max_voting_power_ratio: "", + max_voting_power_enforcement_threshold: "", + }; +} + +function createBaseDelegationResponse(): DelegationResponse { + return { delegation: undefined, balance: undefined }; +} + +function createBaseRedelegationEntryResponse(): RedelegationEntryResponse { + return { redelegation_entry: undefined, balance: "" }; +} + +function createBaseRedelegationResponse(): RedelegationResponse { + return { redelegation: undefined, entries: [] }; +} + +function createBasePool(): Pool { + return { not_bonded_tokens: "", bonded_tokens: "" }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.staking.v1beta1.HistoricalInfo", HistoricalInfo as never], + ["/cosmos.staking.v1beta1.CommissionRates", CommissionRates as never], + ["/cosmos.staking.v1beta1.Commission", Commission as never], + ["/cosmos.staking.v1beta1.Description", Description as never], + ["/cosmos.staking.v1beta1.Validator", Validator as never], + ["/cosmos.staking.v1beta1.ValAddresses", ValAddresses as never], + ["/cosmos.staking.v1beta1.DVPair", DVPair as never], + ["/cosmos.staking.v1beta1.DVPairs", DVPairs as never], + ["/cosmos.staking.v1beta1.DVVTriplet", DVVTriplet as never], + ["/cosmos.staking.v1beta1.DVVTriplets", DVVTriplets as never], + ["/cosmos.staking.v1beta1.Delegation", Delegation as never], + ["/cosmos.staking.v1beta1.UnbondingDelegation", UnbondingDelegation as never], + ["/cosmos.staking.v1beta1.RedelegationEntry", RedelegationEntry as never], + ["/cosmos.staking.v1beta1.Redelegation", Redelegation as never], + ["/cosmos.staking.v1beta1.Params", Params as never], + ["/cosmos.staking.v1beta1.DelegationResponse", DelegationResponse as never], + ["/cosmos.staking.v1beta1.RedelegationResponse", RedelegationResponse as never], + ["/cosmos.staking.v1beta1.Pool", Pool as never], +]; +export const aminoConverters = { + "/cosmos.staking.v1beta1.HistoricalInfo": { + aminoType: "cosmos-sdk/HistoricalInfo", + toAmino: (message: HistoricalInfo) => ({ ...message }), + fromAmino: (object: HistoricalInfo) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.CommissionRates": { + aminoType: "cosmos-sdk/CommissionRates", + toAmino: (message: CommissionRates) => ({ ...message }), + fromAmino: (object: CommissionRates) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Commission": { + aminoType: "cosmos-sdk/Commission", + toAmino: (message: Commission) => ({ ...message }), + fromAmino: (object: Commission) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Description": { + aminoType: "cosmos-sdk/Description", + toAmino: (message: Description) => ({ ...message }), + fromAmino: (object: Description) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Validator": { + aminoType: "cosmos-sdk/Validator", + toAmino: (message: Validator) => ({ ...message }), + fromAmino: (object: Validator) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.ValAddresses": { + aminoType: "cosmos-sdk/ValAddresses", + toAmino: (message: ValAddresses) => ({ ...message }), + fromAmino: (object: ValAddresses) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.DVPair": { + aminoType: "cosmos-sdk/DVPair", + toAmino: (message: DVPair) => ({ ...message }), + fromAmino: (object: DVPair) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.DVPairs": { + aminoType: "cosmos-sdk/DVPairs", + toAmino: (message: DVPairs) => ({ ...message }), + fromAmino: (object: DVPairs) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.DVVTriplet": { + aminoType: "cosmos-sdk/DVVTriplet", + toAmino: (message: DVVTriplet) => ({ ...message }), + fromAmino: (object: DVVTriplet) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.DVVTriplets": { + aminoType: "cosmos-sdk/DVVTriplets", + toAmino: (message: DVVTriplets) => ({ ...message }), + fromAmino: (object: DVVTriplets) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Delegation": { + aminoType: "cosmos-sdk/Delegation", + toAmino: (message: Delegation) => ({ ...message }), + fromAmino: (object: Delegation) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.UnbondingDelegation": { + aminoType: "cosmos-sdk/UnbondingDelegation", + toAmino: (message: UnbondingDelegation) => ({ ...message }), + fromAmino: (object: UnbondingDelegation) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.RedelegationEntry": { + aminoType: "cosmos-sdk/RedelegationEntry", + toAmino: (message: RedelegationEntry) => ({ ...message }), + fromAmino: (object: RedelegationEntry) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Redelegation": { + aminoType: "cosmos-sdk/Redelegation", + toAmino: (message: Redelegation) => ({ ...message }), + fromAmino: (object: Redelegation) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Params": { + aminoType: "cosmos-sdk/Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.DelegationResponse": { + aminoType: "cosmos-sdk/DelegationResponse", + toAmino: (message: DelegationResponse) => ({ ...message }), + fromAmino: (object: DelegationResponse) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.RedelegationResponse": { + aminoType: "cosmos-sdk/RedelegationResponse", + toAmino: (message: RedelegationResponse) => ({ ...message }), + fromAmino: (object: RedelegationResponse) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.Pool": { + aminoType: "cosmos-sdk/Pool", + toAmino: (message: Pool) => ({ ...message }), + fromAmino: (object: Pool) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts new file mode 100644 index 000000000..dcaeafbcc --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts @@ -0,0 +1,921 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { CommissionRates, Description } from "./staking"; + +import type { + MsgBeginRedelegateResponse as MsgBeginRedelegateResponseType, + MsgBeginRedelegate as MsgBeginRedelegateType, + MsgCreateValidatorResponse as MsgCreateValidatorResponseType, + MsgCreateValidator as MsgCreateValidatorType, + MsgDelegateResponse as MsgDelegateResponseType, + MsgDelegate as MsgDelegateType, + MsgEditValidatorResponse as MsgEditValidatorResponseType, + MsgEditValidator as MsgEditValidatorType, + MsgUndelegateResponse as MsgUndelegateResponseType, + MsgUndelegate as MsgUndelegateType, +} from "../../../../types/cosmos/staking/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgCreateValidator extends MsgCreateValidatorType {} +interface MsgCreateValidatorResponse extends MsgCreateValidatorResponseType {} +interface MsgEditValidator extends MsgEditValidatorType {} +interface MsgEditValidatorResponse extends MsgEditValidatorResponseType {} +interface MsgDelegate extends MsgDelegateType {} +interface MsgDelegateResponse extends MsgDelegateResponseType {} +interface MsgBeginRedelegate extends MsgBeginRedelegateType {} +interface MsgBeginRedelegateResponse extends MsgBeginRedelegateResponseType {} +interface MsgUndelegate extends MsgUndelegateType {} +interface MsgUndelegateResponse extends MsgUndelegateResponseType {} + +export const MsgCreateValidator: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgCreateValidator" as const, + + encode(message: MsgCreateValidator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(10).fork()).join(); + } + if (message.commission !== undefined) { + CommissionRates.encode(message.commission, writer.uint32(18).fork()).join(); + } + if (message.min_self_delegation !== "") { + writer.uint32(26).string(message.min_self_delegation); + } + if (message.delegator_address !== "") { + writer.uint32(34).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(42).string(message.validator_address); + } + if (message.pubkey !== undefined) { + Any.encode(message.pubkey, writer.uint32(50).fork()).join(); + } + if (message.value !== undefined) { + Coin.encode(message.value, writer.uint32(58).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.description = Description.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.commission = CommissionRates.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.min_self_delegation = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.validator_address = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.pubkey = Any.decode(reader, reader.uint32()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.value = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgCreateValidator { + return { + description: isSet(object.description) ? Description.fromJSON(object.description) : undefined, + commission: isSet(object.commission) ? CommissionRates.fromJSON(object.commission) : undefined, + min_self_delegation: isSet(object.min_self_delegation) ? globalThis.String(object.min_self_delegation) : "", + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + pubkey: isSet(object.pubkey) ? Any.fromJSON(object.pubkey) : undefined, + value: isSet(object.value) ? Coin.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: MsgCreateValidator): unknown { + const obj: any = {}; + if (message.description !== undefined) { + obj.description = Description.toJSON(message.description); + } + if (message.commission !== undefined) { + obj.commission = CommissionRates.toJSON(message.commission); + } + if (message.min_self_delegation !== "") { + obj.min_self_delegation = message.min_self_delegation; + } + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.pubkey !== undefined) { + obj.pubkey = Any.toJSON(message.pubkey); + } + if (message.value !== undefined) { + obj.value = Coin.toJSON(message.value); + } + return obj; + }, + + create, I>>(base?: I): MsgCreateValidator { + return MsgCreateValidator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgCreateValidator { + const message = createBaseMsgCreateValidator(); + message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; + message.commission = object.commission !== undefined && object.commission !== null ? CommissionRates.fromPartial(object.commission) : undefined; + message.min_self_delegation = object.min_self_delegation ?? ""; + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.pubkey = object.pubkey !== undefined && object.pubkey !== null ? Any.fromPartial(object.pubkey) : undefined; + message.value = object.value !== undefined && object.value !== null ? Coin.fromPartial(object.value) : undefined; + return message; + }, +}; + +export const MsgCreateValidatorResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgCreateValidatorResponse" as const, + + encode(_: MsgCreateValidatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgCreateValidatorResponse { + return {}; + }, + + toJSON(_: MsgCreateValidatorResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgCreateValidatorResponse { + return MsgCreateValidatorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgCreateValidatorResponse { + const message = createBaseMsgCreateValidatorResponse(); + return message; + }, +}; + +export const MsgEditValidator: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgEditValidator" as const, + + encode(message: MsgEditValidator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(10).fork()).join(); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + if (message.commission_rate !== "") { + writer.uint32(26).string(message.commission_rate); + } + if (message.min_self_delegation !== "") { + writer.uint32(34).string(message.min_self_delegation); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgEditValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.description = Description.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.commission_rate = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.min_self_delegation = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgEditValidator { + return { + description: isSet(object.description) ? Description.fromJSON(object.description) : undefined, + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + commission_rate: isSet(object.commission_rate) ? globalThis.String(object.commission_rate) : "", + min_self_delegation: isSet(object.min_self_delegation) ? globalThis.String(object.min_self_delegation) : "", + }; + }, + + toJSON(message: MsgEditValidator): unknown { + const obj: any = {}; + if (message.description !== undefined) { + obj.description = Description.toJSON(message.description); + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.commission_rate !== "") { + obj.commission_rate = message.commission_rate; + } + if (message.min_self_delegation !== "") { + obj.min_self_delegation = message.min_self_delegation; + } + return obj; + }, + + create, I>>(base?: I): MsgEditValidator { + return MsgEditValidator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgEditValidator { + const message = createBaseMsgEditValidator(); + message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; + message.validator_address = object.validator_address ?? ""; + message.commission_rate = object.commission_rate ?? ""; + message.min_self_delegation = object.min_self_delegation ?? ""; + return message; + }, +}; + +export const MsgEditValidatorResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgEditValidatorResponse" as const, + + encode(_: MsgEditValidatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgEditValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgEditValidatorResponse { + return {}; + }, + + toJSON(_: MsgEditValidatorResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgEditValidatorResponse { + return MsgEditValidatorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgEditValidatorResponse { + const message = createBaseMsgEditValidatorResponse(); + return message; + }, +}; + +export const MsgDelegate: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgDelegate" as const, + + encode(message: MsgDelegate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgDelegate { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined, + }; + }, + + toJSON(message: MsgDelegate): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): MsgDelegate { + return MsgDelegate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgDelegate { + const message = createBaseMsgDelegate(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const MsgDelegateResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgDelegateResponse" as const, + + encode(_: MsgDelegateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgDelegateResponse { + return {}; + }, + + toJSON(_: MsgDelegateResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgDelegateResponse { + return MsgDelegateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgDelegateResponse { + const message = createBaseMsgDelegateResponse(); + return message; + }, +}; + +export const MsgBeginRedelegate: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgBeginRedelegate" as const, + + encode(message: MsgBeginRedelegate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_src_address !== "") { + writer.uint32(18).string(message.validator_src_address); + } + if (message.validator_dst_address !== "") { + writer.uint32(26).string(message.validator_dst_address); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgBeginRedelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBeginRedelegate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_src_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.validator_dst_address = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgBeginRedelegate { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_src_address: isSet(object.validator_src_address) ? globalThis.String(object.validator_src_address) : "", + validator_dst_address: isSet(object.validator_dst_address) ? globalThis.String(object.validator_dst_address) : "", + amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined, + }; + }, + + toJSON(message: MsgBeginRedelegate): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_src_address !== "") { + obj.validator_src_address = message.validator_src_address; + } + if (message.validator_dst_address !== "") { + obj.validator_dst_address = message.validator_dst_address; + } + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): MsgBeginRedelegate { + return MsgBeginRedelegate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgBeginRedelegate { + const message = createBaseMsgBeginRedelegate(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_src_address = object.validator_src_address ?? ""; + message.validator_dst_address = object.validator_dst_address ?? ""; + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const MsgBeginRedelegateResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgBeginRedelegateResponse" as const, + + encode(message: MsgBeginRedelegateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.completion_time !== undefined) { + Timestamp.encode(toTimestamp(message.completion_time), writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgBeginRedelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBeginRedelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgBeginRedelegateResponse { + return { completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined }; + }, + + toJSON(message: MsgBeginRedelegateResponse): unknown { + const obj: any = {}; + if (message.completion_time !== undefined) { + obj.completion_time = message.completion_time.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): MsgBeginRedelegateResponse { + return MsgBeginRedelegateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgBeginRedelegateResponse { + const message = createBaseMsgBeginRedelegateResponse(); + message.completion_time = object.completion_time ?? undefined; + return message; + }, +}; + +export const MsgUndelegate: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgUndelegate" as const, + + encode(message: MsgUndelegate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.delegator_address !== "") { + writer.uint32(10).string(message.delegator_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUndelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUndelegate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.delegator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUndelegate { + return { + delegator_address: isSet(object.delegator_address) ? globalThis.String(object.delegator_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined, + }; + }, + + toJSON(message: MsgUndelegate): unknown { + const obj: any = {}; + if (message.delegator_address !== "") { + obj.delegator_address = message.delegator_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): MsgUndelegate { + return MsgUndelegate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUndelegate { + const message = createBaseMsgUndelegate(); + message.delegator_address = object.delegator_address ?? ""; + message.validator_address = object.validator_address ?? ""; + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const MsgUndelegateResponse: MessageFns = { + $type: "cosmos.staking.v1beta1.MsgUndelegateResponse" as const, + + encode(message: MsgUndelegateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.completion_time !== undefined) { + Timestamp.encode(toTimestamp(message.completion_time), writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUndelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUndelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUndelegateResponse { + return { completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined }; + }, + + toJSON(message: MsgUndelegateResponse): unknown { + const obj: any = {}; + if (message.completion_time !== undefined) { + obj.completion_time = message.completion_time.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): MsgUndelegateResponse { + return MsgUndelegateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUndelegateResponse { + const message = createBaseMsgUndelegateResponse(); + message.completion_time = object.completion_time ?? undefined; + return message; + }, +}; + +function createBaseMsgCreateValidator(): MsgCreateValidator { + return { + description: undefined, + commission: undefined, + min_self_delegation: "", + delegator_address: "", + validator_address: "", + pubkey: undefined, + value: undefined, + }; +} + +function createBaseMsgCreateValidatorResponse(): MsgCreateValidatorResponse { + return {}; +} + +function createBaseMsgEditValidator(): MsgEditValidator { + return { description: undefined, validator_address: "", commission_rate: "", min_self_delegation: "" }; +} + +function createBaseMsgEditValidatorResponse(): MsgEditValidatorResponse { + return {}; +} + +function createBaseMsgDelegate(): MsgDelegate { + return { delegator_address: "", validator_address: "", amount: undefined }; +} + +function createBaseMsgDelegateResponse(): MsgDelegateResponse { + return {}; +} + +function createBaseMsgBeginRedelegate(): MsgBeginRedelegate { + return { delegator_address: "", validator_src_address: "", validator_dst_address: "", amount: undefined }; +} + +function createBaseMsgBeginRedelegateResponse(): MsgBeginRedelegateResponse { + return { completion_time: undefined }; +} + +function createBaseMsgUndelegate(): MsgUndelegate { + return { delegator_address: "", validator_address: "", amount: undefined }; +} + +function createBaseMsgUndelegateResponse(): MsgUndelegateResponse { + return { completion_time: undefined }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.staking.v1beta1.MsgCreateValidator", MsgCreateValidator as never], + ["/cosmos.staking.v1beta1.MsgEditValidator", MsgEditValidator as never], + ["/cosmos.staking.v1beta1.MsgDelegate", MsgDelegate as never], + ["/cosmos.staking.v1beta1.MsgDelegateResponse", MsgDelegateResponse as never], + ["/cosmos.staking.v1beta1.MsgBeginRedelegate", MsgBeginRedelegate as never], + ["/cosmos.staking.v1beta1.MsgUndelegate", MsgUndelegate as never], + ["/cosmos.staking.v1beta1.MsgUndelegateResponse", MsgUndelegateResponse as never], +]; +export const aminoConverters = { + "/cosmos.staking.v1beta1.MsgCreateValidator": { + aminoType: "cosmos-sdk/MsgCreateValidator", + toAmino: (message: MsgCreateValidator) => ({ ...message }), + fromAmino: (object: MsgCreateValidator) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgEditValidator": { + aminoType: "cosmos-sdk/MsgEditValidator", + toAmino: (message: MsgEditValidator) => ({ ...message }), + fromAmino: (object: MsgEditValidator) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgDelegate": { + aminoType: "cosmos-sdk/MsgDelegate", + toAmino: (message: MsgDelegate) => ({ ...message }), + fromAmino: (object: MsgDelegate) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgDelegateResponse": { + aminoType: "cosmos-sdk/MsgDelegateResponse", + toAmino: (message: MsgDelegateResponse) => ({ ...message }), + fromAmino: (object: MsgDelegateResponse) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgBeginRedelegate": { + aminoType: "cosmos-sdk/MsgBeginRedelegate", + toAmino: (message: MsgBeginRedelegate) => ({ ...message }), + fromAmino: (object: MsgBeginRedelegate) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgUndelegate": { + aminoType: "cosmos-sdk/MsgUndelegate", + toAmino: (message: MsgUndelegate) => ({ ...message }), + fromAmino: (object: MsgUndelegate) => ({ ...object }), + }, + + "/cosmos.staking.v1beta1.MsgUndelegateResponse": { + aminoType: "cosmos-sdk/MsgUndelegateResponse", + toAmino: (message: MsgUndelegateResponse) => ({ ...message }), + fromAmino: (object: MsgUndelegateResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/index.ts new file mode 100644 index 000000000..1e847f3b1 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './signing'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts new file mode 100644 index 000000000..de89b2950 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts @@ -0,0 +1,504 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../../google/protobuf/any"; + +import { CompactBitArray } from "../../../crypto/multisig/v1beta1/multisig"; + +import type { + SignatureDescriptorDataMulti as SignatureDescriptorDataMultiType, + SignatureDescriptorDataSingle as SignatureDescriptorDataSingleType, + SignatureDescriptorData as SignatureDescriptorDataType, + SignatureDescriptor as SignatureDescriptorType, + SignatureDescriptors as SignatureDescriptorsType, +} from "../../../../../types/cosmos/tx/signing/v1beta1"; + +import { SignMode } from "../../../../../types/cosmos/tx/signing/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; + +interface SignatureDescriptors extends SignatureDescriptorsType {} +interface SignatureDescriptor extends SignatureDescriptorType {} +interface SignatureDescriptorData extends SignatureDescriptorDataType {} +interface SignatureDescriptorDataSingle extends SignatureDescriptorDataSingleType {} +interface SignatureDescriptorDataMulti extends SignatureDescriptorDataMultiType {} + +export const SignatureDescriptors: MessageFns = { + $type: "cosmos.tx.signing.v1beta1.SignatureDescriptors" as const, + + encode(message: SignatureDescriptors, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.signatures) { + SignatureDescriptor.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptors { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptors(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.signatures.push(SignatureDescriptor.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignatureDescriptors { + return { + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => SignatureDescriptor.fromJSON(e)) : [], + }; + }, + + toJSON(message: SignatureDescriptors): unknown { + const obj: any = {}; + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => SignatureDescriptor.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SignatureDescriptors { + return SignatureDescriptors.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignatureDescriptors { + const message = createBaseSignatureDescriptors(); + message.signatures = object.signatures?.map((e) => SignatureDescriptor.fromPartial(e)) || []; + return message; + }, +}; + +export const SignatureDescriptor: MessageFns = { + $type: "cosmos.tx.signing.v1beta1.SignatureDescriptor" as const, + + encode(message: SignatureDescriptor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.public_key !== undefined) { + Any.encode(message.public_key, writer.uint32(10).fork()).join(); + } + if (message.data !== undefined) { + SignatureDescriptorData.encode(message.data, writer.uint32(18).fork()).join(); + } + if (message.sequence !== 0) { + writer.uint32(24).uint64(message.sequence); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.public_key = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = SignatureDescriptorData.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.sequence = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignatureDescriptor { + return { + public_key: isSet(object.public_key) ? Any.fromJSON(object.public_key) : undefined, + data: isSet(object.data) ? SignatureDescriptorData.fromJSON(object.data) : undefined, + sequence: isSet(object.sequence) ? globalThis.Number(object.sequence) : 0, + }; + }, + + toJSON(message: SignatureDescriptor): unknown { + const obj: any = {}; + if (message.public_key !== undefined) { + obj.public_key = Any.toJSON(message.public_key); + } + if (message.data !== undefined) { + obj.data = SignatureDescriptorData.toJSON(message.data); + } + if (message.sequence !== 0) { + obj.sequence = Math.round(message.sequence); + } + return obj; + }, + + create, I>>(base?: I): SignatureDescriptor { + return SignatureDescriptor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignatureDescriptor { + const message = createBaseSignatureDescriptor(); + message.public_key = object.public_key !== undefined && object.public_key !== null ? Any.fromPartial(object.public_key) : undefined; + message.data = object.data !== undefined && object.data !== null ? SignatureDescriptorData.fromPartial(object.data) : undefined; + message.sequence = object.sequence ?? 0; + return message; + }, +}; + +export const SignatureDescriptorData: MessageFns = { + $type: "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data" as const, + + encode(message: SignatureDescriptorData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.single !== undefined) { + SignatureDescriptorDataSingle.encode(message.single, writer.uint32(10).fork()).join(); + } + if (message.multi !== undefined) { + SignatureDescriptorDataMulti.encode(message.multi, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptorData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptorData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.single = SignatureDescriptorDataSingle.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.multi = SignatureDescriptorDataMulti.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignatureDescriptorData { + return { + single: isSet(object.single) ? SignatureDescriptorDataSingle.fromJSON(object.single) : undefined, + multi: isSet(object.multi) ? SignatureDescriptorDataMulti.fromJSON(object.multi) : undefined, + }; + }, + + toJSON(message: SignatureDescriptorData): unknown { + const obj: any = {}; + if (message.single !== undefined) { + obj.single = SignatureDescriptorDataSingle.toJSON(message.single); + } + if (message.multi !== undefined) { + obj.multi = SignatureDescriptorDataMulti.toJSON(message.multi); + } + return obj; + }, + + create, I>>(base?: I): SignatureDescriptorData { + return SignatureDescriptorData.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignatureDescriptorData { + const message = createBaseSignatureDescriptorData(); + message.single = object.single !== undefined && object.single !== null ? SignatureDescriptorDataSingle.fromPartial(object.single) : undefined; + message.multi = object.multi !== undefined && object.multi !== null ? SignatureDescriptorDataMulti.fromPartial(object.multi) : undefined; + return message; + }, +}; + +export const SignatureDescriptorDataSingle: MessageFns = { + $type: "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single" as const, + + encode(message: SignatureDescriptorDataSingle, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mode !== 0) { + writer.uint32(8).int32(message.mode); + } + if (message.signature.length !== 0) { + writer.uint32(18).bytes(message.signature); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptorDataSingle { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptorDataSingle(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.mode = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signature = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignatureDescriptorDataSingle { + return { + mode: isSet(object.mode) ? signModeFromJSON(object.mode) : 0, + signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0), + }; + }, + + toJSON(message: SignatureDescriptorDataSingle): unknown { + const obj: any = {}; + if (message.mode !== 0) { + obj.mode = signModeToJSON(message.mode); + } + if (message.signature.length !== 0) { + obj.signature = base64FromBytes(message.signature); + } + return obj; + }, + + create, I>>(base?: I): SignatureDescriptorDataSingle { + return SignatureDescriptorDataSingle.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignatureDescriptorDataSingle { + const message = createBaseSignatureDescriptorDataSingle(); + message.mode = object.mode ?? 0; + message.signature = object.signature ?? new Uint8Array(0); + return message; + }, +}; + +export const SignatureDescriptorDataMulti: MessageFns = { + $type: "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi" as const, + + encode(message: SignatureDescriptorDataMulti, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.bitarray !== undefined) { + CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).join(); + } + for (const v of message.signatures) { + SignatureDescriptorData.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptorDataMulti { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptorDataMulti(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.bitarray = CompactBitArray.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.signatures.push(SignatureDescriptorData.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignatureDescriptorDataMulti { + return { + bitarray: isSet(object.bitarray) ? CompactBitArray.fromJSON(object.bitarray) : undefined, + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => SignatureDescriptorData.fromJSON(e)) : [], + }; + }, + + toJSON(message: SignatureDescriptorDataMulti): unknown { + const obj: any = {}; + if (message.bitarray !== undefined) { + obj.bitarray = CompactBitArray.toJSON(message.bitarray); + } + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => SignatureDescriptorData.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SignatureDescriptorDataMulti { + return SignatureDescriptorDataMulti.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignatureDescriptorDataMulti { + const message = createBaseSignatureDescriptorDataMulti(); + message.bitarray = object.bitarray !== undefined && object.bitarray !== null ? CompactBitArray.fromPartial(object.bitarray) : undefined; + message.signatures = object.signatures?.map((e) => SignatureDescriptorData.fromPartial(e)) || []; + return message; + }, +}; + +export function signModeFromJSON(object: any): SignMode { + switch (object) { + case 0: + case "SIGN_MODE_UNSPECIFIED": + return SignMode.SIGN_MODE_UNSPECIFIED; + case 1: + case "SIGN_MODE_DIRECT": + return SignMode.SIGN_MODE_DIRECT; + case 2: + case "SIGN_MODE_TEXTUAL": + return SignMode.SIGN_MODE_TEXTUAL; + case 127: + case "SIGN_MODE_LEGACY_AMINO_JSON": + return SignMode.SIGN_MODE_LEGACY_AMINO_JSON; + case 191: + case "SIGN_MODE_EIP_191": + return SignMode.SIGN_MODE_EIP_191; + case -1: + case "UNRECOGNIZED": + default: + return SignMode.UNRECOGNIZED; + } +} + +export function signModeToJSON(object: SignMode): string { + switch (object) { + case SignMode.SIGN_MODE_UNSPECIFIED: + return "SIGN_MODE_UNSPECIFIED"; + case SignMode.SIGN_MODE_DIRECT: + return "SIGN_MODE_DIRECT"; + case SignMode.SIGN_MODE_TEXTUAL: + return "SIGN_MODE_TEXTUAL"; + case SignMode.SIGN_MODE_LEGACY_AMINO_JSON: + return "SIGN_MODE_LEGACY_AMINO_JSON"; + case SignMode.SIGN_MODE_EIP_191: + return "SIGN_MODE_EIP_191"; + case SignMode.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseSignatureDescriptors(): SignatureDescriptors { + return { signatures: [] }; +} + +function createBaseSignatureDescriptor(): SignatureDescriptor { + return { public_key: undefined, data: undefined, sequence: 0 }; +} + +function createBaseSignatureDescriptorData(): SignatureDescriptorData { + return { single: undefined, multi: undefined }; +} + +function createBaseSignatureDescriptorDataSingle(): SignatureDescriptorDataSingle { + return { mode: 0, signature: new Uint8Array(0) }; +} + +function createBaseSignatureDescriptorDataMulti(): SignatureDescriptorDataMulti { + return { bitarray: undefined, signatures: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.tx.signing.v1beta1.SignatureDescriptors", SignatureDescriptors as never], + ["/cosmos.tx.signing.v1beta1.SignatureDescriptor", SignatureDescriptor as never], +]; +export const aminoConverters = { + "/cosmos.tx.signing.v1beta1.SignatureDescriptors": { + aminoType: "cosmos-sdk/SignatureDescriptors", + toAmino: (message: SignatureDescriptors) => ({ ...message }), + fromAmino: (object: SignatureDescriptors) => ({ ...object }), + }, + + "/cosmos.tx.signing.v1beta1.SignatureDescriptor": { + aminoType: "cosmos-sdk/SignatureDescriptor", + toAmino: (message: SignatureDescriptor) => ({ ...message }), + fromAmino: (object: SignatureDescriptor) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/index.ts new file mode 100644 index 000000000..f781fd2e9 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './service'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts new file mode 100644 index 000000000..fb776f0ab --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts @@ -0,0 +1,1009 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Block } from "../../../tendermint/types/block"; + +import { BlockID } from "../../../tendermint/types/types"; + +import { GasInfo, Result, TxResponse } from "../../base/abci/v1beta1/abci"; + +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import { Tx } from "./tx"; + +import type { + BroadcastTxRequest as BroadcastTxRequestType, + BroadcastTxResponse as BroadcastTxResponseType, + GetBlockWithTxsRequest as GetBlockWithTxsRequestType, + GetBlockWithTxsResponse as GetBlockWithTxsResponseType, + GetTxRequest as GetTxRequestType, + GetTxResponse as GetTxResponseType, + GetTxsEventRequest as GetTxsEventRequestType, + GetTxsEventResponse as GetTxsEventResponseType, + SimulateRequest as SimulateRequestType, + SimulateResponse as SimulateResponseType, +} from "../../../../types/cosmos/tx/v1beta1"; + +import { BroadcastMode, OrderBy } from "../../../../types/cosmos/tx/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface GetTxsEventRequest extends GetTxsEventRequestType {} +interface GetTxsEventResponse extends GetTxsEventResponseType {} +interface BroadcastTxRequest extends BroadcastTxRequestType {} +interface BroadcastTxResponse extends BroadcastTxResponseType {} +interface SimulateRequest extends SimulateRequestType {} +interface SimulateResponse extends SimulateResponseType {} +interface GetTxRequest extends GetTxRequestType {} +interface GetTxResponse extends GetTxResponseType {} +interface GetBlockWithTxsRequest extends GetBlockWithTxsRequestType {} +interface GetBlockWithTxsResponse extends GetBlockWithTxsResponseType {} + +export const GetTxsEventRequest: MessageFns = { + $type: "cosmos.tx.v1beta1.GetTxsEventRequest" as const, + + encode(message: GetTxsEventRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.events) { + writer.uint32(10).string(v!); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + if (message.order_by !== 0) { + writer.uint32(24).int32(message.order_by); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxsEventRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxsEventRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.events.push(reader.string()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.order_by = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetTxsEventRequest { + return { + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => globalThis.String(e)) : [], + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + order_by: isSet(object.order_by) ? orderByFromJSON(object.order_by) : 0, + }; + }, + + toJSON(message: GetTxsEventRequest): unknown { + const obj: any = {}; + if (message.events?.length) { + obj.events = message.events; + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + if (message.order_by !== 0) { + obj.order_by = orderByToJSON(message.order_by); + } + return obj; + }, + + create, I>>(base?: I): GetTxsEventRequest { + return GetTxsEventRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetTxsEventRequest { + const message = createBaseGetTxsEventRequest(); + message.events = object.events?.map((e) => e) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + message.order_by = object.order_by ?? 0; + return message; + }, +}; + +export const GetTxsEventResponse: MessageFns = { + $type: "cosmos.tx.v1beta1.GetTxsEventResponse" as const, + + encode(message: GetTxsEventResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.txs) { + Tx.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.tx_responses) { + TxResponse.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxsEventResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxsEventResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.txs.push(Tx.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx_responses.push(TxResponse.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetTxsEventResponse { + return { + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => Tx.fromJSON(e)) : [], + tx_responses: globalThis.Array.isArray(object?.tx_responses) ? object.tx_responses.map((e: any) => TxResponse.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetTxsEventResponse): unknown { + const obj: any = {}; + if (message.txs?.length) { + obj.txs = message.txs.map((e) => Tx.toJSON(e)); + } + if (message.tx_responses?.length) { + obj.tx_responses = message.tx_responses.map((e) => TxResponse.toJSON(e)); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetTxsEventResponse { + return GetTxsEventResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetTxsEventResponse { + const message = createBaseGetTxsEventResponse(); + message.txs = object.txs?.map((e) => Tx.fromPartial(e)) || []; + message.tx_responses = object.tx_responses?.map((e) => TxResponse.fromPartial(e)) || []; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const BroadcastTxRequest: MessageFns = { + $type: "cosmos.tx.v1beta1.BroadcastTxRequest" as const, + + encode(message: BroadcastTxRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx_bytes.length !== 0) { + writer.uint32(10).bytes(message.tx_bytes); + } + if (message.mode !== 0) { + writer.uint32(16).int32(message.mode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BroadcastTxRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBroadcastTxRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx_bytes = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.mode = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BroadcastTxRequest { + return { + tx_bytes: isSet(object.tx_bytes) ? bytesFromBase64(object.tx_bytes) : new Uint8Array(0), + mode: isSet(object.mode) ? broadcastModeFromJSON(object.mode) : 0, + }; + }, + + toJSON(message: BroadcastTxRequest): unknown { + const obj: any = {}; + if (message.tx_bytes.length !== 0) { + obj.tx_bytes = base64FromBytes(message.tx_bytes); + } + if (message.mode !== 0) { + obj.mode = broadcastModeToJSON(message.mode); + } + return obj; + }, + + create, I>>(base?: I): BroadcastTxRequest { + return BroadcastTxRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BroadcastTxRequest { + const message = createBaseBroadcastTxRequest(); + message.tx_bytes = object.tx_bytes ?? new Uint8Array(0); + message.mode = object.mode ?? 0; + return message; + }, +}; + +export const BroadcastTxResponse: MessageFns = { + $type: "cosmos.tx.v1beta1.BroadcastTxResponse" as const, + + encode(message: BroadcastTxResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx_response !== undefined) { + TxResponse.encode(message.tx_response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BroadcastTxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBroadcastTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx_response = TxResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BroadcastTxResponse { + return { tx_response: isSet(object.tx_response) ? TxResponse.fromJSON(object.tx_response) : undefined }; + }, + + toJSON(message: BroadcastTxResponse): unknown { + const obj: any = {}; + if (message.tx_response !== undefined) { + obj.tx_response = TxResponse.toJSON(message.tx_response); + } + return obj; + }, + + create, I>>(base?: I): BroadcastTxResponse { + return BroadcastTxResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BroadcastTxResponse { + const message = createBaseBroadcastTxResponse(); + message.tx_response = object.tx_response !== undefined && object.tx_response !== null ? TxResponse.fromPartial(object.tx_response) : undefined; + return message; + }, +}; + +export const SimulateRequest: MessageFns = { + $type: "cosmos.tx.v1beta1.SimulateRequest" as const, + + encode(message: SimulateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).join(); + } + if (message.tx_bytes.length !== 0) { + writer.uint32(18).bytes(message.tx_bytes); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SimulateRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx = Tx.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx_bytes = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SimulateRequest { + return { + tx: isSet(object.tx) ? Tx.fromJSON(object.tx) : undefined, + tx_bytes: isSet(object.tx_bytes) ? bytesFromBase64(object.tx_bytes) : new Uint8Array(0), + }; + }, + + toJSON(message: SimulateRequest): unknown { + const obj: any = {}; + if (message.tx !== undefined) { + obj.tx = Tx.toJSON(message.tx); + } + if (message.tx_bytes.length !== 0) { + obj.tx_bytes = base64FromBytes(message.tx_bytes); + } + return obj; + }, + + create, I>>(base?: I): SimulateRequest { + return SimulateRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SimulateRequest { + const message = createBaseSimulateRequest(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + message.tx_bytes = object.tx_bytes ?? new Uint8Array(0); + return message; + }, +}; + +export const SimulateResponse: MessageFns = { + $type: "cosmos.tx.v1beta1.SimulateResponse" as const, + + encode(message: SimulateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.gas_info !== undefined) { + GasInfo.encode(message.gas_info, writer.uint32(10).fork()).join(); + } + if (message.result !== undefined) { + Result.encode(message.result, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SimulateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.gas_info = GasInfo.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.result = Result.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SimulateResponse { + return { + gas_info: isSet(object.gas_info) ? GasInfo.fromJSON(object.gas_info) : undefined, + result: isSet(object.result) ? Result.fromJSON(object.result) : undefined, + }; + }, + + toJSON(message: SimulateResponse): unknown { + const obj: any = {}; + if (message.gas_info !== undefined) { + obj.gas_info = GasInfo.toJSON(message.gas_info); + } + if (message.result !== undefined) { + obj.result = Result.toJSON(message.result); + } + return obj; + }, + + create, I>>(base?: I): SimulateResponse { + return SimulateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SimulateResponse { + const message = createBaseSimulateResponse(); + message.gas_info = object.gas_info !== undefined && object.gas_info !== null ? GasInfo.fromPartial(object.gas_info) : undefined; + message.result = object.result !== undefined && object.result !== null ? Result.fromPartial(object.result) : undefined; + return message; + }, +}; + +export const GetTxRequest: MessageFns = { + $type: "cosmos.tx.v1beta1.GetTxRequest" as const, + + encode(message: GetTxRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash !== "") { + writer.uint32(10).string(message.hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hash = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetTxRequest { + return { hash: isSet(object.hash) ? globalThis.String(object.hash) : "" }; + }, + + toJSON(message: GetTxRequest): unknown { + const obj: any = {}; + if (message.hash !== "") { + obj.hash = message.hash; + } + return obj; + }, + + create, I>>(base?: I): GetTxRequest { + return GetTxRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetTxRequest { + const message = createBaseGetTxRequest(); + message.hash = object.hash ?? ""; + return message; + }, +}; + +export const GetTxResponse: MessageFns = { + $type: "cosmos.tx.v1beta1.GetTxResponse" as const, + + encode(message: GetTxResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).join(); + } + if (message.tx_response !== undefined) { + TxResponse.encode(message.tx_response, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetTxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx = Tx.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx_response = TxResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetTxResponse { + return { + tx: isSet(object.tx) ? Tx.fromJSON(object.tx) : undefined, + tx_response: isSet(object.tx_response) ? TxResponse.fromJSON(object.tx_response) : undefined, + }; + }, + + toJSON(message: GetTxResponse): unknown { + const obj: any = {}; + if (message.tx !== undefined) { + obj.tx = Tx.toJSON(message.tx); + } + if (message.tx_response !== undefined) { + obj.tx_response = TxResponse.toJSON(message.tx_response); + } + return obj; + }, + + create, I>>(base?: I): GetTxResponse { + return GetTxResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetTxResponse { + const message = createBaseGetTxResponse(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + message.tx_response = object.tx_response !== undefined && object.tx_response !== null ? TxResponse.fromPartial(object.tx_response) : undefined; + return message; + }, +}; + +export const GetBlockWithTxsRequest: MessageFns = { + $type: "cosmos.tx.v1beta1.GetBlockWithTxsRequest" as const, + + encode(message: GetBlockWithTxsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockWithTxsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockWithTxsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetBlockWithTxsRequest { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetBlockWithTxsRequest): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.pagination !== undefined) { + obj.pagination = PageRequest.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetBlockWithTxsRequest { + return GetBlockWithTxsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetBlockWithTxsRequest { + const message = createBaseGetBlockWithTxsRequest(); + message.height = object.height ?? 0; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageRequest.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export const GetBlockWithTxsResponse: MessageFns = { + $type: "cosmos.tx.v1beta1.GetBlockWithTxsResponse" as const, + + encode(message: GetBlockWithTxsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.txs) { + Tx.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(18).fork()).join(); + } + if (message.block !== undefined) { + Block.encode(message.block, writer.uint32(26).fork()).join(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockWithTxsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockWithTxsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.txs.push(Tx.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.block = Block.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetBlockWithTxsResponse { + return { + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => Tx.fromJSON(e)) : [], + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + block: isSet(object.block) ? Block.fromJSON(object.block) : undefined, + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: GetBlockWithTxsResponse): unknown { + const obj: any = {}; + if (message.txs?.length) { + obj.txs = message.txs.map((e) => Tx.toJSON(e)); + } + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.block !== undefined) { + obj.block = Block.toJSON(message.block); + } + if (message.pagination !== undefined) { + obj.pagination = PageResponse.toJSON(message.pagination); + } + return obj; + }, + + create, I>>(base?: I): GetBlockWithTxsResponse { + return GetBlockWithTxsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GetBlockWithTxsResponse { + const message = createBaseGetBlockWithTxsResponse(); + message.txs = object.txs?.map((e) => Tx.fromPartial(e)) || []; + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.block = object.block !== undefined && object.block !== null ? Block.fromPartial(object.block) : undefined; + message.pagination = object.pagination !== undefined && object.pagination !== null ? PageResponse.fromPartial(object.pagination) : undefined; + return message; + }, +}; + +export function orderByFromJSON(object: any): OrderBy { + switch (object) { + case 0: + case "ORDER_BY_UNSPECIFIED": + return OrderBy.ORDER_BY_UNSPECIFIED; + case 1: + case "ORDER_BY_ASC": + return OrderBy.ORDER_BY_ASC; + case 2: + case "ORDER_BY_DESC": + return OrderBy.ORDER_BY_DESC; + case -1: + case "UNRECOGNIZED": + default: + return OrderBy.UNRECOGNIZED; + } +} + +export function orderByToJSON(object: OrderBy): string { + switch (object) { + case OrderBy.ORDER_BY_UNSPECIFIED: + return "ORDER_BY_UNSPECIFIED"; + case OrderBy.ORDER_BY_ASC: + return "ORDER_BY_ASC"; + case OrderBy.ORDER_BY_DESC: + return "ORDER_BY_DESC"; + case OrderBy.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function broadcastModeFromJSON(object: any): BroadcastMode { + switch (object) { + case 0: + case "BROADCAST_MODE_UNSPECIFIED": + return BroadcastMode.BROADCAST_MODE_UNSPECIFIED; + case 1: + case "BROADCAST_MODE_BLOCK": + return BroadcastMode.BROADCAST_MODE_BLOCK; + case 2: + case "BROADCAST_MODE_SYNC": + return BroadcastMode.BROADCAST_MODE_SYNC; + case 3: + case "BROADCAST_MODE_ASYNC": + return BroadcastMode.BROADCAST_MODE_ASYNC; + case -1: + case "UNRECOGNIZED": + default: + return BroadcastMode.UNRECOGNIZED; + } +} + +export function broadcastModeToJSON(object: BroadcastMode): string { + switch (object) { + case BroadcastMode.BROADCAST_MODE_UNSPECIFIED: + return "BROADCAST_MODE_UNSPECIFIED"; + case BroadcastMode.BROADCAST_MODE_BLOCK: + return "BROADCAST_MODE_BLOCK"; + case BroadcastMode.BROADCAST_MODE_SYNC: + return "BROADCAST_MODE_SYNC"; + case BroadcastMode.BROADCAST_MODE_ASYNC: + return "BROADCAST_MODE_ASYNC"; + case BroadcastMode.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseGetTxsEventRequest(): GetTxsEventRequest { + return { events: [], pagination: undefined, order_by: 0 }; +} + +function createBaseGetTxsEventResponse(): GetTxsEventResponse { + return { txs: [], tx_responses: [], pagination: undefined }; +} + +function createBaseBroadcastTxRequest(): BroadcastTxRequest { + return { tx_bytes: new Uint8Array(0), mode: 0 }; +} + +function createBaseBroadcastTxResponse(): BroadcastTxResponse { + return { tx_response: undefined }; +} + +function createBaseSimulateRequest(): SimulateRequest { + return { tx: undefined, tx_bytes: new Uint8Array(0) }; +} + +function createBaseSimulateResponse(): SimulateResponse { + return { gas_info: undefined, result: undefined }; +} + +function createBaseGetTxRequest(): GetTxRequest { + return { hash: "" }; +} + +function createBaseGetTxResponse(): GetTxResponse { + return { tx: undefined, tx_response: undefined }; +} + +function createBaseGetBlockWithTxsRequest(): GetBlockWithTxsRequest { + return { height: 0, pagination: undefined }; +} + +function createBaseGetBlockWithTxsResponse(): GetBlockWithTxsResponse { + return { txs: [], block_id: undefined, block: undefined, pagination: undefined }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.tx.v1beta1.GetTxsEventRequest", GetTxsEventRequest as never], + ["/cosmos.tx.v1beta1.GetTxsEventResponse", GetTxsEventResponse as never], + ["/cosmos.tx.v1beta1.BroadcastTxRequest", BroadcastTxRequest as never], + ["/cosmos.tx.v1beta1.BroadcastTxResponse", BroadcastTxResponse as never], + ["/cosmos.tx.v1beta1.SimulateRequest", SimulateRequest as never], + ["/cosmos.tx.v1beta1.SimulateResponse", SimulateResponse as never], + ["/cosmos.tx.v1beta1.GetTxRequest", GetTxRequest as never], + ["/cosmos.tx.v1beta1.GetTxResponse", GetTxResponse as never], + ["/cosmos.tx.v1beta1.GetBlockWithTxsRequest", GetBlockWithTxsRequest as never], + ["/cosmos.tx.v1beta1.GetBlockWithTxsResponse", GetBlockWithTxsResponse as never], +]; +export const aminoConverters = { + "/cosmos.tx.v1beta1.GetTxsEventRequest": { + aminoType: "cosmos-sdk/GetTxsEventRequest", + toAmino: (message: GetTxsEventRequest) => ({ ...message }), + fromAmino: (object: GetTxsEventRequest) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.GetTxsEventResponse": { + aminoType: "cosmos-sdk/GetTxsEventResponse", + toAmino: (message: GetTxsEventResponse) => ({ ...message }), + fromAmino: (object: GetTxsEventResponse) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.BroadcastTxRequest": { + aminoType: "cosmos-sdk/BroadcastTxRequest", + toAmino: (message: BroadcastTxRequest) => ({ ...message }), + fromAmino: (object: BroadcastTxRequest) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.BroadcastTxResponse": { + aminoType: "cosmos-sdk/BroadcastTxResponse", + toAmino: (message: BroadcastTxResponse) => ({ ...message }), + fromAmino: (object: BroadcastTxResponse) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.SimulateRequest": { + aminoType: "cosmos-sdk/SimulateRequest", + toAmino: (message: SimulateRequest) => ({ ...message }), + fromAmino: (object: SimulateRequest) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.SimulateResponse": { + aminoType: "cosmos-sdk/SimulateResponse", + toAmino: (message: SimulateResponse) => ({ ...message }), + fromAmino: (object: SimulateResponse) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.GetTxRequest": { + aminoType: "cosmos-sdk/GetTxRequest", + toAmino: (message: GetTxRequest) => ({ ...message }), + fromAmino: (object: GetTxRequest) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.GetTxResponse": { + aminoType: "cosmos-sdk/GetTxResponse", + toAmino: (message: GetTxResponse) => ({ ...message }), + fromAmino: (object: GetTxResponse) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.GetBlockWithTxsRequest": { + aminoType: "cosmos-sdk/GetBlockWithTxsRequest", + toAmino: (message: GetBlockWithTxsRequest) => ({ ...message }), + fromAmino: (object: GetBlockWithTxsRequest) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.GetBlockWithTxsResponse": { + aminoType: "cosmos-sdk/GetBlockWithTxsResponse", + toAmino: (message: GetBlockWithTxsResponse) => ({ ...message }), + fromAmino: (object: GetBlockWithTxsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts new file mode 100644 index 000000000..7783cf5b7 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts @@ -0,0 +1,1045 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Coin } from "../../base/v1beta1/coin"; + +import { CompactBitArray } from "../../crypto/multisig/v1beta1/multisig"; + +import { signModeFromJSON, signModeToJSON } from "../signing/v1beta1/signing"; + +import type { + AuthInfo as AuthInfoType, + Fee as FeeType, + ModeInfoMulti as ModeInfoMultiType, + ModeInfoSingle as ModeInfoSingleType, + ModeInfo as ModeInfoType, + SignDoc as SignDocType, + SignerInfo as SignerInfoType, + TxBody as TxBodyType, + TxRaw as TxRawType, + Tx as TxType, +} from "../../../../types/cosmos/tx/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Tx extends TxType {} +interface TxRaw extends TxRawType {} +interface SignDoc extends SignDocType {} +interface TxBody extends TxBodyType {} +interface AuthInfo extends AuthInfoType {} +interface SignerInfo extends SignerInfoType {} +interface ModeInfo extends ModeInfoType {} +interface ModeInfoSingle extends ModeInfoSingleType {} +interface ModeInfoMulti extends ModeInfoMultiType {} +interface Fee extends FeeType {} + +export const Tx: MessageFns = { + $type: "cosmos.tx.v1beta1.Tx" as const, + + encode(message: Tx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.body !== undefined) { + TxBody.encode(message.body, writer.uint32(10).fork()).join(); + } + if (message.auth_info !== undefined) { + AuthInfo.encode(message.auth_info, writer.uint32(18).fork()).join(); + } + for (const v of message.signatures) { + writer.uint32(26).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Tx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.body = TxBody.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.auth_info = AuthInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.signatures.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Tx { + return { + body: isSet(object.body) ? TxBody.fromJSON(object.body) : undefined, + auth_info: isSet(object.auth_info) ? AuthInfo.fromJSON(object.auth_info) : undefined, + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: Tx): unknown { + const obj: any = {}; + if (message.body !== undefined) { + obj.body = TxBody.toJSON(message.body); + } + if (message.auth_info !== undefined) { + obj.auth_info = AuthInfo.toJSON(message.auth_info); + } + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): Tx { + return Tx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Tx { + const message = createBaseTx(); + message.body = object.body !== undefined && object.body !== null ? TxBody.fromPartial(object.body) : undefined; + message.auth_info = object.auth_info !== undefined && object.auth_info !== null ? AuthInfo.fromPartial(object.auth_info) : undefined; + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, +}; + +export const TxRaw: MessageFns = { + $type: "cosmos.tx.v1beta1.TxRaw" as const, + + encode(message: TxRaw, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.body_bytes.length !== 0) { + writer.uint32(10).bytes(message.body_bytes); + } + if (message.auth_info_bytes.length !== 0) { + writer.uint32(18).bytes(message.auth_info_bytes); + } + for (const v of message.signatures) { + writer.uint32(26).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxRaw { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxRaw(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.body_bytes = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.auth_info_bytes = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.signatures.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxRaw { + return { + body_bytes: isSet(object.body_bytes) ? bytesFromBase64(object.body_bytes) : new Uint8Array(0), + auth_info_bytes: isSet(object.auth_info_bytes) ? bytesFromBase64(object.auth_info_bytes) : new Uint8Array(0), + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: TxRaw): unknown { + const obj: any = {}; + if (message.body_bytes.length !== 0) { + obj.body_bytes = base64FromBytes(message.body_bytes); + } + if (message.auth_info_bytes.length !== 0) { + obj.auth_info_bytes = base64FromBytes(message.auth_info_bytes); + } + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): TxRaw { + return TxRaw.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxRaw { + const message = createBaseTxRaw(); + message.body_bytes = object.body_bytes ?? new Uint8Array(0); + message.auth_info_bytes = object.auth_info_bytes ?? new Uint8Array(0); + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, +}; + +export const SignDoc: MessageFns = { + $type: "cosmos.tx.v1beta1.SignDoc" as const, + + encode(message: SignDoc, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.body_bytes.length !== 0) { + writer.uint32(10).bytes(message.body_bytes); + } + if (message.auth_info_bytes.length !== 0) { + writer.uint32(18).bytes(message.auth_info_bytes); + } + if (message.chain_id !== "") { + writer.uint32(26).string(message.chain_id); + } + if (message.account_number !== 0) { + writer.uint32(32).uint64(message.account_number); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignDoc { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignDoc(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.body_bytes = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.auth_info_bytes = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.chain_id = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.account_number = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignDoc { + return { + body_bytes: isSet(object.body_bytes) ? bytesFromBase64(object.body_bytes) : new Uint8Array(0), + auth_info_bytes: isSet(object.auth_info_bytes) ? bytesFromBase64(object.auth_info_bytes) : new Uint8Array(0), + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + account_number: isSet(object.account_number) ? globalThis.Number(object.account_number) : 0, + }; + }, + + toJSON(message: SignDoc): unknown { + const obj: any = {}; + if (message.body_bytes.length !== 0) { + obj.body_bytes = base64FromBytes(message.body_bytes); + } + if (message.auth_info_bytes.length !== 0) { + obj.auth_info_bytes = base64FromBytes(message.auth_info_bytes); + } + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.account_number !== 0) { + obj.account_number = Math.round(message.account_number); + } + return obj; + }, + + create, I>>(base?: I): SignDoc { + return SignDoc.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignDoc { + const message = createBaseSignDoc(); + message.body_bytes = object.body_bytes ?? new Uint8Array(0); + message.auth_info_bytes = object.auth_info_bytes ?? new Uint8Array(0); + message.chain_id = object.chain_id ?? ""; + message.account_number = object.account_number ?? 0; + return message; + }, +}; + +export const TxBody: MessageFns = { + $type: "cosmos.tx.v1beta1.TxBody" as const, + + encode(message: TxBody, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.messages) { + Any.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.memo !== "") { + writer.uint32(18).string(message.memo); + } + if (message.timeout_height !== 0) { + writer.uint32(24).uint64(message.timeout_height); + } + for (const v of message.extension_options) { + Any.encode(v!, writer.uint32(8186).fork()).join(); + } + for (const v of message.non_critical_extension_options) { + Any.encode(v!, writer.uint32(16378).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxBody { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxBody(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.messages.push(Any.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.memo = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.timeout_height = longToNumber(reader.uint64()); + continue; + case 1023: + if (tag !== 8186) { + break; + } + + message.extension_options.push(Any.decode(reader, reader.uint32())); + continue; + case 2047: + if (tag !== 16378) { + break; + } + + message.non_critical_extension_options.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxBody { + return { + messages: globalThis.Array.isArray(object?.messages) ? object.messages.map((e: any) => Any.fromJSON(e)) : [], + memo: isSet(object.memo) ? globalThis.String(object.memo) : "", + timeout_height: isSet(object.timeout_height) ? globalThis.Number(object.timeout_height) : 0, + extension_options: globalThis.Array.isArray(object?.extension_options) ? object.extension_options.map((e: any) => Any.fromJSON(e)) : [], + non_critical_extension_options: globalThis.Array.isArray(object?.non_critical_extension_options) + ? object.non_critical_extension_options.map((e: any) => Any.fromJSON(e)) + : [], + }; + }, + + toJSON(message: TxBody): unknown { + const obj: any = {}; + if (message.messages?.length) { + obj.messages = message.messages.map((e) => Any.toJSON(e)); + } + if (message.memo !== "") { + obj.memo = message.memo; + } + if (message.timeout_height !== 0) { + obj.timeout_height = Math.round(message.timeout_height); + } + if (message.extension_options?.length) { + obj.extension_options = message.extension_options.map((e) => Any.toJSON(e)); + } + if (message.non_critical_extension_options?.length) { + obj.non_critical_extension_options = message.non_critical_extension_options.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): TxBody { + return TxBody.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxBody { + const message = createBaseTxBody(); + message.messages = object.messages?.map((e) => Any.fromPartial(e)) || []; + message.memo = object.memo ?? ""; + message.timeout_height = object.timeout_height ?? 0; + message.extension_options = object.extension_options?.map((e) => Any.fromPartial(e)) || []; + message.non_critical_extension_options = object.non_critical_extension_options?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +export const AuthInfo: MessageFns = { + $type: "cosmos.tx.v1beta1.AuthInfo" as const, + + encode(message: AuthInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.signer_infos) { + SignerInfo.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.fee !== undefined) { + Fee.encode(message.fee, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AuthInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuthInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.signer_infos.push(SignerInfo.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.fee = Fee.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AuthInfo { + return { + signer_infos: globalThis.Array.isArray(object?.signer_infos) ? object.signer_infos.map((e: any) => SignerInfo.fromJSON(e)) : [], + fee: isSet(object.fee) ? Fee.fromJSON(object.fee) : undefined, + }; + }, + + toJSON(message: AuthInfo): unknown { + const obj: any = {}; + if (message.signer_infos?.length) { + obj.signer_infos = message.signer_infos.map((e) => SignerInfo.toJSON(e)); + } + if (message.fee !== undefined) { + obj.fee = Fee.toJSON(message.fee); + } + return obj; + }, + + create, I>>(base?: I): AuthInfo { + return AuthInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AuthInfo { + const message = createBaseAuthInfo(); + message.signer_infos = object.signer_infos?.map((e) => SignerInfo.fromPartial(e)) || []; + message.fee = object.fee !== undefined && object.fee !== null ? Fee.fromPartial(object.fee) : undefined; + return message; + }, +}; + +export const SignerInfo: MessageFns = { + $type: "cosmos.tx.v1beta1.SignerInfo" as const, + + encode(message: SignerInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.public_key !== undefined) { + Any.encode(message.public_key, writer.uint32(10).fork()).join(); + } + if (message.mode_info !== undefined) { + ModeInfo.encode(message.mode_info, writer.uint32(18).fork()).join(); + } + if (message.sequence !== 0) { + writer.uint32(24).uint64(message.sequence); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.public_key = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.mode_info = ModeInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.sequence = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignerInfo { + return { + public_key: isSet(object.public_key) ? Any.fromJSON(object.public_key) : undefined, + mode_info: isSet(object.mode_info) ? ModeInfo.fromJSON(object.mode_info) : undefined, + sequence: isSet(object.sequence) ? globalThis.Number(object.sequence) : 0, + }; + }, + + toJSON(message: SignerInfo): unknown { + const obj: any = {}; + if (message.public_key !== undefined) { + obj.public_key = Any.toJSON(message.public_key); + } + if (message.mode_info !== undefined) { + obj.mode_info = ModeInfo.toJSON(message.mode_info); + } + if (message.sequence !== 0) { + obj.sequence = Math.round(message.sequence); + } + return obj; + }, + + create, I>>(base?: I): SignerInfo { + return SignerInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignerInfo { + const message = createBaseSignerInfo(); + message.public_key = object.public_key !== undefined && object.public_key !== null ? Any.fromPartial(object.public_key) : undefined; + message.mode_info = object.mode_info !== undefined && object.mode_info !== null ? ModeInfo.fromPartial(object.mode_info) : undefined; + message.sequence = object.sequence ?? 0; + return message; + }, +}; + +export const ModeInfo: MessageFns = { + $type: "cosmos.tx.v1beta1.ModeInfo" as const, + + encode(message: ModeInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.single !== undefined) { + ModeInfoSingle.encode(message.single, writer.uint32(10).fork()).join(); + } + if (message.multi !== undefined) { + ModeInfoMulti.encode(message.multi, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.single = ModeInfoSingle.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.multi = ModeInfoMulti.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModeInfo { + return { + single: isSet(object.single) ? ModeInfoSingle.fromJSON(object.single) : undefined, + multi: isSet(object.multi) ? ModeInfoMulti.fromJSON(object.multi) : undefined, + }; + }, + + toJSON(message: ModeInfo): unknown { + const obj: any = {}; + if (message.single !== undefined) { + obj.single = ModeInfoSingle.toJSON(message.single); + } + if (message.multi !== undefined) { + obj.multi = ModeInfoMulti.toJSON(message.multi); + } + return obj; + }, + + create, I>>(base?: I): ModeInfo { + return ModeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ModeInfo { + const message = createBaseModeInfo(); + message.single = object.single !== undefined && object.single !== null ? ModeInfoSingle.fromPartial(object.single) : undefined; + message.multi = object.multi !== undefined && object.multi !== null ? ModeInfoMulti.fromPartial(object.multi) : undefined; + return message; + }, +}; + +export const ModeInfoSingle: MessageFns = { + $type: "cosmos.tx.v1beta1.ModeInfo.Single" as const, + + encode(message: ModeInfoSingle, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mode !== 0) { + writer.uint32(8).int32(message.mode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfoSingle { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfoSingle(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.mode = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModeInfoSingle { + return { mode: isSet(object.mode) ? signModeFromJSON(object.mode) : 0 }; + }, + + toJSON(message: ModeInfoSingle): unknown { + const obj: any = {}; + if (message.mode !== 0) { + obj.mode = signModeToJSON(message.mode); + } + return obj; + }, + + create, I>>(base?: I): ModeInfoSingle { + return ModeInfoSingle.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ModeInfoSingle { + const message = createBaseModeInfoSingle(); + message.mode = object.mode ?? 0; + return message; + }, +}; + +export const ModeInfoMulti: MessageFns = { + $type: "cosmos.tx.v1beta1.ModeInfo.Multi" as const, + + encode(message: ModeInfoMulti, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.bitarray !== undefined) { + CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).join(); + } + for (const v of message.mode_infos) { + ModeInfo.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfoMulti { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfoMulti(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.bitarray = CompactBitArray.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.mode_infos.push(ModeInfo.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModeInfoMulti { + return { + bitarray: isSet(object.bitarray) ? CompactBitArray.fromJSON(object.bitarray) : undefined, + mode_infos: globalThis.Array.isArray(object?.mode_infos) ? object.mode_infos.map((e: any) => ModeInfo.fromJSON(e)) : [], + }; + }, + + toJSON(message: ModeInfoMulti): unknown { + const obj: any = {}; + if (message.bitarray !== undefined) { + obj.bitarray = CompactBitArray.toJSON(message.bitarray); + } + if (message.mode_infos?.length) { + obj.mode_infos = message.mode_infos.map((e) => ModeInfo.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ModeInfoMulti { + return ModeInfoMulti.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ModeInfoMulti { + const message = createBaseModeInfoMulti(); + message.bitarray = object.bitarray !== undefined && object.bitarray !== null ? CompactBitArray.fromPartial(object.bitarray) : undefined; + message.mode_infos = object.mode_infos?.map((e) => ModeInfo.fromPartial(e)) || []; + return message; + }, +}; + +export const Fee: MessageFns = { + $type: "cosmos.tx.v1beta1.Fee" as const, + + encode(message: Fee, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.gas_limit !== 0) { + writer.uint32(16).uint64(message.gas_limit); + } + if (message.payer !== "") { + writer.uint32(26).string(message.payer); + } + if (message.granter !== "") { + writer.uint32(34).string(message.granter); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Fee { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.gas_limit = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.payer = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.granter = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Fee { + return { + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + gas_limit: isSet(object.gas_limit) ? globalThis.Number(object.gas_limit) : 0, + payer: isSet(object.payer) ? globalThis.String(object.payer) : "", + granter: isSet(object.granter) ? globalThis.String(object.granter) : "", + }; + }, + + toJSON(message: Fee): unknown { + const obj: any = {}; + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + if (message.gas_limit !== 0) { + obj.gas_limit = Math.round(message.gas_limit); + } + if (message.payer !== "") { + obj.payer = message.payer; + } + if (message.granter !== "") { + obj.granter = message.granter; + } + return obj; + }, + + create, I>>(base?: I): Fee { + return Fee.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Fee { + const message = createBaseFee(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.gas_limit = object.gas_limit ?? 0; + message.payer = object.payer ?? ""; + message.granter = object.granter ?? ""; + return message; + }, +}; + +function createBaseTx(): Tx { + return { body: undefined, auth_info: undefined, signatures: [] }; +} + +function createBaseTxRaw(): TxRaw { + return { body_bytes: new Uint8Array(0), auth_info_bytes: new Uint8Array(0), signatures: [] }; +} + +function createBaseSignDoc(): SignDoc { + return { body_bytes: new Uint8Array(0), auth_info_bytes: new Uint8Array(0), chain_id: "", account_number: 0 }; +} + +function createBaseTxBody(): TxBody { + return { messages: [], memo: "", timeout_height: 0, extension_options: [], non_critical_extension_options: [] }; +} + +function createBaseAuthInfo(): AuthInfo { + return { signer_infos: [], fee: undefined }; +} + +function createBaseSignerInfo(): SignerInfo { + return { public_key: undefined, mode_info: undefined, sequence: 0 }; +} + +function createBaseModeInfo(): ModeInfo { + return { single: undefined, multi: undefined }; +} + +function createBaseModeInfoSingle(): ModeInfoSingle { + return { mode: 0 }; +} + +function createBaseModeInfoMulti(): ModeInfoMulti { + return { bitarray: undefined, mode_infos: [] }; +} + +function createBaseFee(): Fee { + return { amount: [], gas_limit: 0, payer: "", granter: "" }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.tx.v1beta1.Tx", Tx as never], + ["/cosmos.tx.v1beta1.TxRaw", TxRaw as never], + ["/cosmos.tx.v1beta1.SignDoc", SignDoc as never], + ["/cosmos.tx.v1beta1.TxBody", TxBody as never], + ["/cosmos.tx.v1beta1.AuthInfo", AuthInfo as never], + ["/cosmos.tx.v1beta1.SignerInfo", SignerInfo as never], + ["/cosmos.tx.v1beta1.ModeInfo", ModeInfo as never], + ["/cosmos.tx.v1beta1.ModeInfo.Single", ModeInfoSingle as never], + ["/cosmos.tx.v1beta1.ModeInfo.Multi", ModeInfoMulti as never], + ["/cosmos.tx.v1beta1.Fee", Fee as never], +]; +export const aminoConverters = { + "/cosmos.tx.v1beta1.Tx": { + aminoType: "cosmos-sdk/Tx", + toAmino: (message: Tx) => ({ ...message }), + fromAmino: (object: Tx) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.TxRaw": { + aminoType: "cosmos-sdk/TxRaw", + toAmino: (message: TxRaw) => ({ ...message }), + fromAmino: (object: TxRaw) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.SignDoc": { + aminoType: "cosmos-sdk/SignDoc", + toAmino: (message: SignDoc) => ({ ...message }), + fromAmino: (object: SignDoc) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.TxBody": { + aminoType: "cosmos-sdk/TxBody", + toAmino: (message: TxBody) => ({ ...message }), + fromAmino: (object: TxBody) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.AuthInfo": { + aminoType: "cosmos-sdk/AuthInfo", + toAmino: (message: AuthInfo) => ({ ...message }), + fromAmino: (object: AuthInfo) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.SignerInfo": { + aminoType: "cosmos-sdk/SignerInfo", + toAmino: (message: SignerInfo) => ({ ...message }), + fromAmino: (object: SignerInfo) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.ModeInfo": { + aminoType: "cosmos-sdk/ModeInfo", + toAmino: (message: ModeInfo) => ({ ...message }), + fromAmino: (object: ModeInfo) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.ModeInfo.Single": { + aminoType: "cosmos-sdk/Single", + toAmino: (message: ModeInfoSingle) => ({ ...message }), + fromAmino: (object: ModeInfoSingle) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.ModeInfo.Multi": { + aminoType: "cosmos-sdk/Multi", + toAmino: (message: ModeInfoMulti) => ({ ...message }), + fromAmino: (object: ModeInfoMulti) => ({ ...object }), + }, + + "/cosmos.tx.v1beta1.Fee": { + aminoType: "cosmos-sdk/Fee", + toAmino: (message: Fee) => ({ ...message }), + fromAmino: (object: Fee) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/index.ts new file mode 100644 index 000000000..79ee2581d --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './query'; +export * from './upgrade'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts new file mode 100644 index 000000000..7f993271e --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts @@ -0,0 +1,530 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { ModuleVersion, Plan } from "./upgrade"; + +import type { + QueryAppliedPlanRequest as QueryAppliedPlanRequestType, + QueryAppliedPlanResponse as QueryAppliedPlanResponseType, + QueryCurrentPlanRequest as QueryCurrentPlanRequestType, + QueryCurrentPlanResponse as QueryCurrentPlanResponseType, + QueryModuleVersionsRequest as QueryModuleVersionsRequestType, + QueryModuleVersionsResponse as QueryModuleVersionsResponseType, + QueryUpgradedConsensusStateRequest as QueryUpgradedConsensusStateRequestType, + QueryUpgradedConsensusStateResponse as QueryUpgradedConsensusStateResponseType, +} from "../../../../types/cosmos/upgrade/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface QueryCurrentPlanRequest extends QueryCurrentPlanRequestType {} +interface QueryCurrentPlanResponse extends QueryCurrentPlanResponseType {} +interface QueryAppliedPlanRequest extends QueryAppliedPlanRequestType {} +interface QueryAppliedPlanResponse extends QueryAppliedPlanResponseType {} +interface QueryUpgradedConsensusStateRequest extends QueryUpgradedConsensusStateRequestType {} +interface QueryUpgradedConsensusStateResponse extends QueryUpgradedConsensusStateResponseType {} +interface QueryModuleVersionsRequest extends QueryModuleVersionsRequestType {} +interface QueryModuleVersionsResponse extends QueryModuleVersionsResponseType {} + +export const QueryCurrentPlanRequest: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryCurrentPlanRequest" as const, + + encode(_: QueryCurrentPlanRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryCurrentPlanRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCurrentPlanRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryCurrentPlanRequest { + return {}; + }, + + toJSON(_: QueryCurrentPlanRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryCurrentPlanRequest { + return QueryCurrentPlanRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryCurrentPlanRequest { + const message = createBaseQueryCurrentPlanRequest(); + return message; + }, +}; + +export const QueryCurrentPlanResponse: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryCurrentPlanResponse" as const, + + encode(message: QueryCurrentPlanResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.plan !== undefined) { + Plan.encode(message.plan, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryCurrentPlanResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCurrentPlanResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.plan = Plan.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCurrentPlanResponse { + return { plan: isSet(object.plan) ? Plan.fromJSON(object.plan) : undefined }; + }, + + toJSON(message: QueryCurrentPlanResponse): unknown { + const obj: any = {}; + if (message.plan !== undefined) { + obj.plan = Plan.toJSON(message.plan); + } + return obj; + }, + + create, I>>(base?: I): QueryCurrentPlanResponse { + return QueryCurrentPlanResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryCurrentPlanResponse { + const message = createBaseQueryCurrentPlanResponse(); + message.plan = object.plan !== undefined && object.plan !== null ? Plan.fromPartial(object.plan) : undefined; + return message; + }, +}; + +export const QueryAppliedPlanRequest: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryAppliedPlanRequest" as const, + + encode(message: QueryAppliedPlanRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAppliedPlanRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAppliedPlanRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAppliedPlanRequest { + return { name: isSet(object.name) ? globalThis.String(object.name) : "" }; + }, + + toJSON(message: QueryAppliedPlanRequest): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + return obj; + }, + + create, I>>(base?: I): QueryAppliedPlanRequest { + return QueryAppliedPlanRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAppliedPlanRequest { + const message = createBaseQueryAppliedPlanRequest(); + message.name = object.name ?? ""; + return message; + }, +}; + +export const QueryAppliedPlanResponse: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryAppliedPlanResponse" as const, + + encode(message: QueryAppliedPlanResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryAppliedPlanResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAppliedPlanResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAppliedPlanResponse { + return { height: isSet(object.height) ? globalThis.Number(object.height) : 0 }; + }, + + toJSON(message: QueryAppliedPlanResponse): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): QueryAppliedPlanResponse { + return QueryAppliedPlanResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryAppliedPlanResponse { + const message = createBaseQueryAppliedPlanResponse(); + message.height = object.height ?? 0; + return message; + }, +}; + +export const QueryUpgradedConsensusStateRequest: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest" as const, + + encode(message: QueryUpgradedConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.last_height !== 0) { + writer.uint32(8).int64(message.last_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryUpgradedConsensusStateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.last_height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryUpgradedConsensusStateRequest { + return { last_height: isSet(object.last_height) ? globalThis.Number(object.last_height) : 0 }; + }, + + toJSON(message: QueryUpgradedConsensusStateRequest): unknown { + const obj: any = {}; + if (message.last_height !== 0) { + obj.last_height = Math.round(message.last_height); + } + return obj; + }, + + create, I>>(base?: I): QueryUpgradedConsensusStateRequest { + return QueryUpgradedConsensusStateRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryUpgradedConsensusStateRequest { + const message = createBaseQueryUpgradedConsensusStateRequest(); + message.last_height = object.last_height ?? 0; + return message; + }, +}; + +export const QueryUpgradedConsensusStateResponse: MessageFns< + QueryUpgradedConsensusStateResponse, + "cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse" +> = { + $type: "cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse" as const, + + encode(message: QueryUpgradedConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.upgraded_consensus_state.length !== 0) { + writer.uint32(18).bytes(message.upgraded_consensus_state); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryUpgradedConsensusStateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.upgraded_consensus_state = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryUpgradedConsensusStateResponse { + return { + upgraded_consensus_state: isSet(object.upgraded_consensus_state) ? bytesFromBase64(object.upgraded_consensus_state) : new Uint8Array(0), + }; + }, + + toJSON(message: QueryUpgradedConsensusStateResponse): unknown { + const obj: any = {}; + if (message.upgraded_consensus_state.length !== 0) { + obj.upgraded_consensus_state = base64FromBytes(message.upgraded_consensus_state); + } + return obj; + }, + + create, I>>(base?: I): QueryUpgradedConsensusStateResponse { + return QueryUpgradedConsensusStateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryUpgradedConsensusStateResponse { + const message = createBaseQueryUpgradedConsensusStateResponse(); + message.upgraded_consensus_state = object.upgraded_consensus_state ?? new Uint8Array(0); + return message; + }, +}; + +export const QueryModuleVersionsRequest: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryModuleVersionsRequest" as const, + + encode(message: QueryModuleVersionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.module_name !== "") { + writer.uint32(10).string(message.module_name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryModuleVersionsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryModuleVersionsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.module_name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryModuleVersionsRequest { + return { module_name: isSet(object.module_name) ? globalThis.String(object.module_name) : "" }; + }, + + toJSON(message: QueryModuleVersionsRequest): unknown { + const obj: any = {}; + if (message.module_name !== "") { + obj.module_name = message.module_name; + } + return obj; + }, + + create, I>>(base?: I): QueryModuleVersionsRequest { + return QueryModuleVersionsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryModuleVersionsRequest { + const message = createBaseQueryModuleVersionsRequest(); + message.module_name = object.module_name ?? ""; + return message; + }, +}; + +export const QueryModuleVersionsResponse: MessageFns = { + $type: "cosmos.upgrade.v1beta1.QueryModuleVersionsResponse" as const, + + encode(message: QueryModuleVersionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.module_versions) { + ModuleVersion.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryModuleVersionsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryModuleVersionsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.module_versions.push(ModuleVersion.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryModuleVersionsResponse { + return { + module_versions: globalThis.Array.isArray(object?.module_versions) ? object.module_versions.map((e: any) => ModuleVersion.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryModuleVersionsResponse): unknown { + const obj: any = {}; + if (message.module_versions?.length) { + obj.module_versions = message.module_versions.map((e) => ModuleVersion.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryModuleVersionsResponse { + return QueryModuleVersionsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryModuleVersionsResponse { + const message = createBaseQueryModuleVersionsResponse(); + message.module_versions = object.module_versions?.map((e) => ModuleVersion.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseQueryCurrentPlanRequest(): QueryCurrentPlanRequest { + return {}; +} + +function createBaseQueryCurrentPlanResponse(): QueryCurrentPlanResponse { + return { plan: undefined }; +} + +function createBaseQueryAppliedPlanRequest(): QueryAppliedPlanRequest { + return { name: "" }; +} + +function createBaseQueryAppliedPlanResponse(): QueryAppliedPlanResponse { + return { height: 0 }; +} + +function createBaseQueryUpgradedConsensusStateRequest(): QueryUpgradedConsensusStateRequest { + return { last_height: 0 }; +} + +function createBaseQueryUpgradedConsensusStateResponse(): QueryUpgradedConsensusStateResponse { + return { upgraded_consensus_state: new Uint8Array(0) }; +} + +function createBaseQueryModuleVersionsRequest(): QueryModuleVersionsRequest { + return { module_name: "" }; +} + +function createBaseQueryModuleVersionsResponse(): QueryModuleVersionsResponse { + return { module_versions: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts new file mode 100644 index 000000000..a5257a119 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts @@ -0,0 +1,440 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../../../google/protobuf/any"; + +import { Timestamp } from "../../../google/protobuf/timestamp"; + +import type { + CancelSoftwareUpgradeProposal as CancelSoftwareUpgradeProposalType, + ModuleVersion as ModuleVersionType, + Plan as PlanType, + SoftwareUpgradeProposal as SoftwareUpgradeProposalType, +} from "../../../../types/cosmos/upgrade/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface Plan extends PlanType {} +interface SoftwareUpgradeProposal extends SoftwareUpgradeProposalType {} +interface CancelSoftwareUpgradeProposal extends CancelSoftwareUpgradeProposalType {} +interface ModuleVersion extends ModuleVersionType {} + +export const Plan: MessageFns = { + $type: "cosmos.upgrade.v1beta1.Plan" as const, + + encode(message: Plan, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(18).fork()).join(); + } + if (message.height !== 0) { + writer.uint32(24).int64(message.height); + } + if (message.info !== "") { + writer.uint32(34).string(message.info); + } + if (message.upgraded_client_state !== undefined) { + Any.encode(message.upgraded_client_state, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Plan { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePlan(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.info = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.upgraded_client_state = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Plan { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + info: isSet(object.info) ? globalThis.String(object.info) : "", + upgraded_client_state: isSet(object.upgraded_client_state) ? Any.fromJSON(object.upgraded_client_state) : undefined, + }; + }, + + toJSON(message: Plan): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.info !== "") { + obj.info = message.info; + } + if (message.upgraded_client_state !== undefined) { + obj.upgraded_client_state = Any.toJSON(message.upgraded_client_state); + } + return obj; + }, + + create, I>>(base?: I): Plan { + return Plan.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Plan { + const message = createBasePlan(); + message.name = object.name ?? ""; + message.time = object.time ?? undefined; + message.height = object.height ?? 0; + message.info = object.info ?? ""; + message.upgraded_client_state = + object.upgraded_client_state !== undefined && object.upgraded_client_state !== null ? Any.fromPartial(object.upgraded_client_state) : undefined; + return message; + }, +}; + +export const SoftwareUpgradeProposal: MessageFns = { + $type: "cosmos.upgrade.v1beta1.SoftwareUpgradeProposal" as const, + + encode(message: SoftwareUpgradeProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.plan !== undefined) { + Plan.encode(message.plan, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SoftwareUpgradeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSoftwareUpgradeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.plan = Plan.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SoftwareUpgradeProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + plan: isSet(object.plan) ? Plan.fromJSON(object.plan) : undefined, + }; + }, + + toJSON(message: SoftwareUpgradeProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.plan !== undefined) { + obj.plan = Plan.toJSON(message.plan); + } + return obj; + }, + + create, I>>(base?: I): SoftwareUpgradeProposal { + return SoftwareUpgradeProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SoftwareUpgradeProposal { + const message = createBaseSoftwareUpgradeProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.plan = object.plan !== undefined && object.plan !== null ? Plan.fromPartial(object.plan) : undefined; + return message; + }, +}; + +export const CancelSoftwareUpgradeProposal: MessageFns = { + $type: "cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal" as const, + + encode(message: CancelSoftwareUpgradeProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CancelSoftwareUpgradeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCancelSoftwareUpgradeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CancelSoftwareUpgradeProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + }; + }, + + toJSON(message: CancelSoftwareUpgradeProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + return obj; + }, + + create, I>>(base?: I): CancelSoftwareUpgradeProposal { + return CancelSoftwareUpgradeProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CancelSoftwareUpgradeProposal { + const message = createBaseCancelSoftwareUpgradeProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + return message; + }, +}; + +export const ModuleVersion: MessageFns = { + $type: "cosmos.upgrade.v1beta1.ModuleVersion" as const, + + encode(message: ModuleVersion, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.version !== 0) { + writer.uint32(16).uint64(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ModuleVersion { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleVersion(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.version = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleVersion { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: ModuleVersion): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): ModuleVersion { + return ModuleVersion.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ModuleVersion { + const message = createBaseModuleVersion(); + message.name = object.name ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +function createBasePlan(): Plan { + return { name: "", time: undefined, height: 0, info: "", upgraded_client_state: undefined }; +} + +function createBaseSoftwareUpgradeProposal(): SoftwareUpgradeProposal { + return { title: "", description: "", plan: undefined }; +} + +function createBaseCancelSoftwareUpgradeProposal(): CancelSoftwareUpgradeProposal { + return { title: "", description: "" }; +} + +function createBaseModuleVersion(): ModuleVersion { + return { name: "", version: 0 }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.upgrade.v1beta1.Plan", Plan as never], + ["/cosmos.upgrade.v1beta1.ModuleVersion", ModuleVersion as never], +]; +export const aminoConverters = { + "/cosmos.upgrade.v1beta1.Plan": { + aminoType: "cosmos-sdk/Plan", + toAmino: (message: Plan) => ({ ...message }), + fromAmino: (object: Plan) => ({ ...object }), + }, + + "/cosmos.upgrade.v1beta1.ModuleVersion": { + aminoType: "cosmos-sdk/ModuleVersion", + toAmino: (message: ModuleVersion) => ({ ...message }), + fromAmino: (object: ModuleVersion) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/index.ts b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/index.ts new file mode 100644 index 000000000..d83a31322 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './tx'; +export * from './vesting'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts new file mode 100644 index 000000000..5b05b5f76 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts @@ -0,0 +1,209 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + MsgCreateVestingAccountResponse as MsgCreateVestingAccountResponseType, + MsgCreateVestingAccount as MsgCreateVestingAccountType, +} from "../../../../types/cosmos/vesting/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface MsgCreateVestingAccount extends MsgCreateVestingAccountType {} +interface MsgCreateVestingAccountResponse extends MsgCreateVestingAccountResponseType {} + +export const MsgCreateVestingAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.MsgCreateVestingAccount" as const, + + encode(message: MsgCreateVestingAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.from_address !== "") { + writer.uint32(10).string(message.from_address); + } + if (message.to_address !== "") { + writer.uint32(18).string(message.to_address); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.end_time !== 0) { + writer.uint32(32).int64(message.end_time); + } + if (message.delayed !== false) { + writer.uint32(40).bool(message.delayed); + } + if (message.admin !== "") { + writer.uint32(50).string(message.admin); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateVestingAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateVestingAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.from_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.to_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.end_time = longToNumber(reader.int64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.delayed = reader.bool(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.admin = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgCreateVestingAccount { + return { + from_address: isSet(object.from_address) ? globalThis.String(object.from_address) : "", + to_address: isSet(object.to_address) ? globalThis.String(object.to_address) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + end_time: isSet(object.end_time) ? globalThis.Number(object.end_time) : 0, + delayed: isSet(object.delayed) ? globalThis.Boolean(object.delayed) : false, + admin: isSet(object.admin) ? globalThis.String(object.admin) : "", + }; + }, + + toJSON(message: MsgCreateVestingAccount): unknown { + const obj: any = {}; + if (message.from_address !== "") { + obj.from_address = message.from_address; + } + if (message.to_address !== "") { + obj.to_address = message.to_address; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + if (message.end_time !== 0) { + obj.end_time = Math.round(message.end_time); + } + if (message.delayed !== false) { + obj.delayed = message.delayed; + } + if (message.admin !== "") { + obj.admin = message.admin; + } + return obj; + }, + + create, I>>(base?: I): MsgCreateVestingAccount { + return MsgCreateVestingAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgCreateVestingAccount { + const message = createBaseMsgCreateVestingAccount(); + message.from_address = object.from_address ?? ""; + message.to_address = object.to_address ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.end_time = object.end_time ?? 0; + message.delayed = object.delayed ?? false; + message.admin = object.admin ?? ""; + return message; + }, +}; + +export const MsgCreateVestingAccountResponse: MessageFns = { + $type: "cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse" as const, + + encode(_: MsgCreateVestingAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateVestingAccountResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateVestingAccountResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgCreateVestingAccountResponse { + return {}; + }, + + toJSON(_: MsgCreateVestingAccountResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgCreateVestingAccountResponse { + return MsgCreateVestingAccountResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgCreateVestingAccountResponse { + const message = createBaseMsgCreateVestingAccountResponse(); + return message; + }, +}; + +function createBaseMsgCreateVestingAccount(): MsgCreateVestingAccount { + return { from_address: "", to_address: "", amount: [], end_time: 0, delayed: false, admin: "" }; +} + +function createBaseMsgCreateVestingAccountResponse(): MsgCreateVestingAccountResponse { + return {}; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts new file mode 100644 index 000000000..8d7b6ee3f --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts @@ -0,0 +1,600 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { BaseAccount } from "../../auth/v1beta1/auth"; + +import { Coin } from "../../base/v1beta1/coin"; + +import type { + BaseVestingAccount as BaseVestingAccountType, + ContinuousVestingAccount as ContinuousVestingAccountType, + DelayedVestingAccount as DelayedVestingAccountType, + Period as PeriodType, + PeriodicVestingAccount as PeriodicVestingAccountType, + PermanentLockedAccount as PermanentLockedAccountType, +} from "../../../../types/cosmos/vesting/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface BaseVestingAccount extends BaseVestingAccountType {} +interface ContinuousVestingAccount extends ContinuousVestingAccountType {} +interface DelayedVestingAccount extends DelayedVestingAccountType {} +interface Period extends PeriodType {} +interface PeriodicVestingAccount extends PeriodicVestingAccountType {} +interface PermanentLockedAccount extends PermanentLockedAccountType {} + +export const BaseVestingAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.BaseVestingAccount" as const, + + encode(message: BaseVestingAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_account !== undefined) { + BaseAccount.encode(message.base_account, writer.uint32(10).fork()).join(); + } + for (const v of message.original_vesting) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.delegated_free) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.delegated_vesting) { + Coin.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.end_time !== 0) { + writer.uint32(40).int64(message.end_time); + } + if (message.admin !== "") { + writer.uint32(50).string(message.admin); + } + if (message.cancelled_time !== 0) { + writer.uint32(56).int64(message.cancelled_time); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BaseVestingAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBaseVestingAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_account = BaseAccount.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.original_vesting.push(Coin.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.delegated_free.push(Coin.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.delegated_vesting.push(Coin.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.end_time = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.admin = reader.string(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.cancelled_time = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BaseVestingAccount { + return { + base_account: isSet(object.base_account) ? BaseAccount.fromJSON(object.base_account) : undefined, + original_vesting: globalThis.Array.isArray(object?.original_vesting) ? object.original_vesting.map((e: any) => Coin.fromJSON(e)) : [], + delegated_free: globalThis.Array.isArray(object?.delegated_free) ? object.delegated_free.map((e: any) => Coin.fromJSON(e)) : [], + delegated_vesting: globalThis.Array.isArray(object?.delegated_vesting) ? object.delegated_vesting.map((e: any) => Coin.fromJSON(e)) : [], + end_time: isSet(object.end_time) ? globalThis.Number(object.end_time) : 0, + admin: isSet(object.admin) ? globalThis.String(object.admin) : "", + cancelled_time: isSet(object.cancelled_time) ? globalThis.Number(object.cancelled_time) : 0, + }; + }, + + toJSON(message: BaseVestingAccount): unknown { + const obj: any = {}; + if (message.base_account !== undefined) { + obj.base_account = BaseAccount.toJSON(message.base_account); + } + if (message.original_vesting?.length) { + obj.original_vesting = message.original_vesting.map((e) => Coin.toJSON(e)); + } + if (message.delegated_free?.length) { + obj.delegated_free = message.delegated_free.map((e) => Coin.toJSON(e)); + } + if (message.delegated_vesting?.length) { + obj.delegated_vesting = message.delegated_vesting.map((e) => Coin.toJSON(e)); + } + if (message.end_time !== 0) { + obj.end_time = Math.round(message.end_time); + } + if (message.admin !== "") { + obj.admin = message.admin; + } + if (message.cancelled_time !== 0) { + obj.cancelled_time = Math.round(message.cancelled_time); + } + return obj; + }, + + create, I>>(base?: I): BaseVestingAccount { + return BaseVestingAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BaseVestingAccount { + const message = createBaseBaseVestingAccount(); + message.base_account = object.base_account !== undefined && object.base_account !== null ? BaseAccount.fromPartial(object.base_account) : undefined; + message.original_vesting = object.original_vesting?.map((e) => Coin.fromPartial(e)) || []; + message.delegated_free = object.delegated_free?.map((e) => Coin.fromPartial(e)) || []; + message.delegated_vesting = object.delegated_vesting?.map((e) => Coin.fromPartial(e)) || []; + message.end_time = object.end_time ?? 0; + message.admin = object.admin ?? ""; + message.cancelled_time = object.cancelled_time ?? 0; + return message; + }, +}; + +export const ContinuousVestingAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.ContinuousVestingAccount" as const, + + encode(message: ContinuousVestingAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_vesting_account !== undefined) { + BaseVestingAccount.encode(message.base_vesting_account, writer.uint32(10).fork()).join(); + } + if (message.start_time !== 0) { + writer.uint32(16).int64(message.start_time); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ContinuousVestingAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContinuousVestingAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_vesting_account = BaseVestingAccount.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.start_time = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContinuousVestingAccount { + return { + base_vesting_account: isSet(object.base_vesting_account) ? BaseVestingAccount.fromJSON(object.base_vesting_account) : undefined, + start_time: isSet(object.start_time) ? globalThis.Number(object.start_time) : 0, + }; + }, + + toJSON(message: ContinuousVestingAccount): unknown { + const obj: any = {}; + if (message.base_vesting_account !== undefined) { + obj.base_vesting_account = BaseVestingAccount.toJSON(message.base_vesting_account); + } + if (message.start_time !== 0) { + obj.start_time = Math.round(message.start_time); + } + return obj; + }, + + create, I>>(base?: I): ContinuousVestingAccount { + return ContinuousVestingAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContinuousVestingAccount { + const message = createBaseContinuousVestingAccount(); + message.base_vesting_account = + object.base_vesting_account !== undefined && object.base_vesting_account !== null + ? BaseVestingAccount.fromPartial(object.base_vesting_account) + : undefined; + message.start_time = object.start_time ?? 0; + return message; + }, +}; + +export const DelayedVestingAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.DelayedVestingAccount" as const, + + encode(message: DelayedVestingAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_vesting_account !== undefined) { + BaseVestingAccount.encode(message.base_vesting_account, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DelayedVestingAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelayedVestingAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_vesting_account = BaseVestingAccount.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DelayedVestingAccount { + return { + base_vesting_account: isSet(object.base_vesting_account) ? BaseVestingAccount.fromJSON(object.base_vesting_account) : undefined, + }; + }, + + toJSON(message: DelayedVestingAccount): unknown { + const obj: any = {}; + if (message.base_vesting_account !== undefined) { + obj.base_vesting_account = BaseVestingAccount.toJSON(message.base_vesting_account); + } + return obj; + }, + + create, I>>(base?: I): DelayedVestingAccount { + return DelayedVestingAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DelayedVestingAccount { + const message = createBaseDelayedVestingAccount(); + message.base_vesting_account = + object.base_vesting_account !== undefined && object.base_vesting_account !== null + ? BaseVestingAccount.fromPartial(object.base_vesting_account) + : undefined; + return message; + }, +}; + +export const Period: MessageFns = { + $type: "cosmos.vesting.v1beta1.Period" as const, + + encode(message: Period, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.length !== 0) { + writer.uint32(8).int64(message.length); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Period { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeriod(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.length = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Period { + return { + length: isSet(object.length) ? globalThis.Number(object.length) : 0, + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: Period): unknown { + const obj: any = {}; + if (message.length !== 0) { + obj.length = Math.round(message.length); + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Period { + return Period.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Period { + const message = createBasePeriod(); + message.length = object.length ?? 0; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const PeriodicVestingAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.PeriodicVestingAccount" as const, + + encode(message: PeriodicVestingAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_vesting_account !== undefined) { + BaseVestingAccount.encode(message.base_vesting_account, writer.uint32(10).fork()).join(); + } + if (message.start_time !== 0) { + writer.uint32(16).int64(message.start_time); + } + for (const v of message.vesting_periods) { + Period.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PeriodicVestingAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeriodicVestingAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_vesting_account = BaseVestingAccount.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.start_time = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.vesting_periods.push(Period.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeriodicVestingAccount { + return { + base_vesting_account: isSet(object.base_vesting_account) ? BaseVestingAccount.fromJSON(object.base_vesting_account) : undefined, + start_time: isSet(object.start_time) ? globalThis.Number(object.start_time) : 0, + vesting_periods: globalThis.Array.isArray(object?.vesting_periods) ? object.vesting_periods.map((e: any) => Period.fromJSON(e)) : [], + }; + }, + + toJSON(message: PeriodicVestingAccount): unknown { + const obj: any = {}; + if (message.base_vesting_account !== undefined) { + obj.base_vesting_account = BaseVestingAccount.toJSON(message.base_vesting_account); + } + if (message.start_time !== 0) { + obj.start_time = Math.round(message.start_time); + } + if (message.vesting_periods?.length) { + obj.vesting_periods = message.vesting_periods.map((e) => Period.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): PeriodicVestingAccount { + return PeriodicVestingAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeriodicVestingAccount { + const message = createBasePeriodicVestingAccount(); + message.base_vesting_account = + object.base_vesting_account !== undefined && object.base_vesting_account !== null + ? BaseVestingAccount.fromPartial(object.base_vesting_account) + : undefined; + message.start_time = object.start_time ?? 0; + message.vesting_periods = object.vesting_periods?.map((e) => Period.fromPartial(e)) || []; + return message; + }, +}; + +export const PermanentLockedAccount: MessageFns = { + $type: "cosmos.vesting.v1beta1.PermanentLockedAccount" as const, + + encode(message: PermanentLockedAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.base_vesting_account !== undefined) { + BaseVestingAccount.encode(message.base_vesting_account, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PermanentLockedAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePermanentLockedAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.base_vesting_account = BaseVestingAccount.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PermanentLockedAccount { + return { + base_vesting_account: isSet(object.base_vesting_account) ? BaseVestingAccount.fromJSON(object.base_vesting_account) : undefined, + }; + }, + + toJSON(message: PermanentLockedAccount): unknown { + const obj: any = {}; + if (message.base_vesting_account !== undefined) { + obj.base_vesting_account = BaseVestingAccount.toJSON(message.base_vesting_account); + } + return obj; + }, + + create, I>>(base?: I): PermanentLockedAccount { + return PermanentLockedAccount.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PermanentLockedAccount { + const message = createBasePermanentLockedAccount(); + message.base_vesting_account = + object.base_vesting_account !== undefined && object.base_vesting_account !== null + ? BaseVestingAccount.fromPartial(object.base_vesting_account) + : undefined; + return message; + }, +}; + +function createBaseBaseVestingAccount(): BaseVestingAccount { + return { + base_account: undefined, + original_vesting: [], + delegated_free: [], + delegated_vesting: [], + end_time: 0, + admin: "", + cancelled_time: 0, + }; +} + +function createBaseContinuousVestingAccount(): ContinuousVestingAccount { + return { base_vesting_account: undefined, start_time: 0 }; +} + +function createBaseDelayedVestingAccount(): DelayedVestingAccount { + return { base_vesting_account: undefined }; +} + +function createBasePeriod(): Period { + return { length: 0, amount: [] }; +} + +function createBasePeriodicVestingAccount(): PeriodicVestingAccount { + return { base_vesting_account: undefined, start_time: 0, vesting_periods: [] }; +} + +function createBasePermanentLockedAccount(): PermanentLockedAccount { + return { base_vesting_account: undefined }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/cosmos.vesting.v1beta1.BaseVestingAccount", BaseVestingAccount as never], + ["/cosmos.vesting.v1beta1.DelayedVestingAccount", DelayedVestingAccount as never], + ["/cosmos.vesting.v1beta1.Period", Period as never], +]; +export const aminoConverters = { + "/cosmos.vesting.v1beta1.BaseVestingAccount": { + aminoType: "cosmos-sdk/BaseVestingAccount", + toAmino: (message: BaseVestingAccount) => ({ ...message }), + fromAmino: (object: BaseVestingAccount) => ({ ...object }), + }, + + "/cosmos.vesting.v1beta1.DelayedVestingAccount": { + aminoType: "cosmos-sdk/DelayedVestingAccount", + toAmino: (message: DelayedVestingAccount) => ({ ...message }), + fromAmino: (object: DelayedVestingAccount) => ({ ...object }), + }, + + "/cosmos.vesting.v1beta1.Period": { + aminoType: "cosmos-sdk/Period", + toAmino: (message: Period) => ({ ...message }), + fromAmino: (object: Period) => ({ ...object }), + }, +}; diff --git a/packages/proto/__tests__/.gitkeep b/packages/cosmos/generated/encoding/cosmos_proto/cosmos.ts similarity index 100% rename from packages/proto/__tests__/.gitkeep rename to packages/cosmos/generated/encoding/cosmos_proto/cosmos.ts diff --git a/packages/cosmos/generated/encoding/cosmos_proto/index.ts b/packages/cosmos/generated/encoding/cosmos_proto/index.ts new file mode 100644 index 000000000..d0c7c1b20 --- /dev/null +++ b/packages/cosmos/generated/encoding/cosmos_proto/index.ts @@ -0,0 +1 @@ +export * from './cosmos'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/epoch/epoch.ts b/packages/cosmos/generated/encoding/epoch/epoch.ts new file mode 100644 index 000000000..1d948623a --- /dev/null +++ b/packages/cosmos/generated/encoding/epoch/epoch.ts @@ -0,0 +1,185 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Duration } from "../google/protobuf/duration"; + +import { Timestamp } from "../google/protobuf/timestamp"; + +import type { Epoch as EpochType } from "../../types/epoch"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Epoch extends EpochType {} + +export const Epoch: MessageFns = { + $type: "seiprotocol.seichain.epoch.Epoch" as const, + + encode(message: Epoch, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.genesis_time !== undefined) { + Timestamp.encode(toTimestamp(message.genesis_time), writer.uint32(10).fork()).join(); + } + if (message.epoch_duration !== undefined) { + Duration.encode(message.epoch_duration, writer.uint32(18).fork()).join(); + } + if (message.current_epoch !== 0) { + writer.uint32(24).uint64(message.current_epoch); + } + if (message.current_epoch_start_time !== undefined) { + Timestamp.encode(toTimestamp(message.current_epoch_start_time), writer.uint32(34).fork()).join(); + } + if (message.current_epoch_height !== 0) { + writer.uint32(40).int64(message.current_epoch_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Epoch { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEpoch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.genesis_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.epoch_duration = Duration.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.current_epoch = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.current_epoch_start_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.current_epoch_height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Epoch { + return { + genesis_time: isSet(object.genesis_time) ? fromJsonTimestamp(object.genesis_time) : undefined, + epoch_duration: isSet(object.epoch_duration) ? Duration.fromJSON(object.epoch_duration) : undefined, + current_epoch: isSet(object.current_epoch) ? globalThis.Number(object.current_epoch) : 0, + current_epoch_start_time: isSet(object.current_epoch_start_time) ? fromJsonTimestamp(object.current_epoch_start_time) : undefined, + current_epoch_height: isSet(object.current_epoch_height) ? globalThis.Number(object.current_epoch_height) : 0, + }; + }, + + toJSON(message: Epoch): unknown { + const obj: any = {}; + if (message.genesis_time !== undefined) { + obj.genesis_time = message.genesis_time.toISOString(); + } + if (message.epoch_duration !== undefined) { + obj.epoch_duration = Duration.toJSON(message.epoch_duration); + } + if (message.current_epoch !== 0) { + obj.current_epoch = Math.round(message.current_epoch); + } + if (message.current_epoch_start_time !== undefined) { + obj.current_epoch_start_time = message.current_epoch_start_time.toISOString(); + } + if (message.current_epoch_height !== 0) { + obj.current_epoch_height = Math.round(message.current_epoch_height); + } + return obj; + }, + + create, I>>(base?: I): Epoch { + return Epoch.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Epoch { + const message = createBaseEpoch(); + message.genesis_time = object.genesis_time ?? undefined; + message.epoch_duration = object.epoch_duration !== undefined && object.epoch_duration !== null ? Duration.fromPartial(object.epoch_duration) : undefined; + message.current_epoch = object.current_epoch ?? 0; + message.current_epoch_start_time = object.current_epoch_start_time ?? undefined; + message.current_epoch_height = object.current_epoch_height ?? 0; + return message; + }, +}; + +function createBaseEpoch(): Epoch { + return { + genesis_time: undefined, + epoch_duration: undefined, + current_epoch: 0, + current_epoch_start_time: undefined, + current_epoch_height: 0, + }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.epoch.Epoch", Epoch as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.epoch.Epoch": { + aminoType: "seiprotocol.seichain.epoch.Epoch", + toAmino: (message: Epoch) => ({ ...message }), + fromAmino: (object: Epoch) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/epoch/genesis.ts b/packages/cosmos/generated/encoding/epoch/genesis.ts new file mode 100644 index 000000000..b53b856d1 --- /dev/null +++ b/packages/cosmos/generated/encoding/epoch/genesis.ts @@ -0,0 +1,101 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Epoch } from "./epoch"; + +import { Params } from "./params"; + +import type { GenesisState as GenesisStateType } from "../../types/epoch"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "seiprotocol.seichain.epoch.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + if (message.epoch !== undefined) { + Epoch.encode(message.epoch, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.epoch = Epoch.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + epoch: isSet(object.epoch) ? Epoch.fromJSON(object.epoch) : undefined, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.epoch !== undefined) { + obj.epoch = Epoch.toJSON(message.epoch); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.epoch = object.epoch !== undefined && object.epoch !== null ? Epoch.fromPartial(object.epoch) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, epoch: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.epoch.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.epoch.GenesisState": { + aminoType: "seiprotocol.seichain.epoch.GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/epoch/index.ts b/packages/cosmos/generated/encoding/epoch/index.ts new file mode 100644 index 000000000..adec44cd6 --- /dev/null +++ b/packages/cosmos/generated/encoding/epoch/index.ts @@ -0,0 +1,5 @@ +export * from './epoch'; +export * from './genesis'; +export * from './params'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/epoch/params.ts b/packages/cosmos/generated/encoding/epoch/params.ts new file mode 100644 index 000000000..01123c791 --- /dev/null +++ b/packages/cosmos/generated/encoding/epoch/params.ts @@ -0,0 +1,62 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Params as ParamsType } from "../../types/epoch"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Params extends ParamsType {} + +export const Params: MessageFns = { + $type: "seiprotocol.seichain.epoch.Params" as const, + + encode(_: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): Params { + return {}; + }, + + toJSON(_: Params): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): Params { + const message = createBaseParams(); + return message; + }, +}; + +function createBaseParams(): Params { + return {}; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.epoch.Params", Params as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.epoch.Params": { + aminoType: "seiprotocol.seichain.epoch.Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/epoch/query.ts b/packages/cosmos/generated/encoding/epoch/query.ts new file mode 100644 index 000000000..82e0cc56e --- /dev/null +++ b/packages/cosmos/generated/encoding/epoch/query.ts @@ -0,0 +1,264 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Epoch } from "./epoch"; + +import { Params } from "./params"; + +import type { + QueryEpochRequest as QueryEpochRequestType, + QueryEpochResponse as QueryEpochResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, +} from "../../types/epoch"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryEpochRequest extends QueryEpochRequestType {} +interface QueryEpochResponse extends QueryEpochResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "seiprotocol.seichain.epoch.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "seiprotocol.seichain.epoch.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryEpochRequest: MessageFns = { + $type: "seiprotocol.seichain.epoch.QueryEpochRequest" as const, + + encode(_: QueryEpochRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEpochRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEpochRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryEpochRequest { + return {}; + }, + + toJSON(_: QueryEpochRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryEpochRequest { + return QueryEpochRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryEpochRequest { + const message = createBaseQueryEpochRequest(); + return message; + }, +}; + +export const QueryEpochResponse: MessageFns = { + $type: "seiprotocol.seichain.epoch.QueryEpochResponse" as const, + + encode(message: QueryEpochResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.epoch !== undefined) { + Epoch.encode(message.epoch, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEpochResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEpochResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.epoch = Epoch.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryEpochResponse { + return { epoch: isSet(object.epoch) ? Epoch.fromJSON(object.epoch) : undefined }; + }, + + toJSON(message: QueryEpochResponse): unknown { + const obj: any = {}; + if (message.epoch !== undefined) { + obj.epoch = Epoch.toJSON(message.epoch); + } + return obj; + }, + + create, I>>(base?: I): QueryEpochResponse { + return QueryEpochResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryEpochResponse { + const message = createBaseQueryEpochResponse(); + message.epoch = object.epoch !== undefined && object.epoch !== null ? Epoch.fromPartial(object.epoch) : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryEpochRequest(): QueryEpochRequest { + return {}; +} + +function createBaseQueryEpochResponse(): QueryEpochResponse { + return { epoch: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.epoch.QueryParamsRequest", QueryParamsRequest as never], + ["/seiprotocol.seichain.epoch.QueryParamsResponse", QueryParamsResponse as never], + ["/seiprotocol.seichain.epoch.QueryEpochRequest", QueryEpochRequest as never], + ["/seiprotocol.seichain.epoch.QueryEpochResponse", QueryEpochResponse as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.epoch.QueryParamsRequest": { + aminoType: "seiprotocol.seichain.epoch.QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.epoch.QueryParamsResponse": { + aminoType: "seiprotocol.seichain.epoch.QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.epoch.QueryEpochRequest": { + aminoType: "seiprotocol.seichain.epoch.QueryEpochRequest", + toAmino: (message: QueryEpochRequest) => ({ ...message }), + fromAmino: (object: QueryEpochRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.epoch.QueryEpochResponse": { + aminoType: "seiprotocol.seichain.epoch.QueryEpochResponse", + toAmino: (message: QueryEpochResponse) => ({ ...message }), + fromAmino: (object: QueryEpochResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/epoch/tx.ts b/packages/cosmos/generated/encoding/epoch/tx.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/generated/encoding/eth/index.ts b/packages/cosmos/generated/encoding/eth/index.ts new file mode 100644 index 000000000..a00c4a063 --- /dev/null +++ b/packages/cosmos/generated/encoding/eth/index.ts @@ -0,0 +1 @@ +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/eth/tx.ts b/packages/cosmos/generated/encoding/eth/tx.ts new file mode 100644 index 000000000..d4e81e88f --- /dev/null +++ b/packages/cosmos/generated/encoding/eth/tx.ts @@ -0,0 +1,1375 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + AccessListTx as AccessListTxType, + AccessTuple as AccessTupleType, + AssociateTx as AssociateTxType, + BlobTxSidecar as BlobTxSidecarType, + BlobTx as BlobTxType, + DynamicFeeTx as DynamicFeeTxType, + ExtensionOptionsEthereumTx as ExtensionOptionsEthereumTxType, + LegacyTx as LegacyTxType, +} from "../../types/eth"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface AccessTuple extends AccessTupleType {} +interface AssociateTx extends AssociateTxType {} +interface LegacyTx extends LegacyTxType {} +interface AccessListTx extends AccessListTxType {} +interface DynamicFeeTx extends DynamicFeeTxType {} +interface BlobTx extends BlobTxType {} +interface BlobTxSidecar extends BlobTxSidecarType {} +interface ExtensionOptionsEthereumTx extends ExtensionOptionsEthereumTxType {} + +export const AccessTuple: MessageFns = { + $type: "seiprotocol.seichain.eth.AccessTuple" as const, + + encode(message: AccessTuple, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.storage_keys) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AccessTuple { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessTuple(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.storage_keys.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessTuple { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + storage_keys: globalThis.Array.isArray(object?.storage_keys) ? object.storage_keys.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: AccessTuple): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.storage_keys?.length) { + obj.storage_keys = message.storage_keys; + } + return obj; + }, + + create, I>>(base?: I): AccessTuple { + return AccessTuple.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccessTuple { + const message = createBaseAccessTuple(); + message.address = object.address ?? ""; + message.storage_keys = object.storage_keys?.map((e) => e) || []; + return message; + }, +}; + +export const AssociateTx: MessageFns = { + $type: "seiprotocol.seichain.eth.AssociateTx" as const, + + encode(message: AssociateTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.v.length !== 0) { + writer.uint32(10).bytes(message.v); + } + if (message.r.length !== 0) { + writer.uint32(18).bytes(message.r); + } + if (message.s.length !== 0) { + writer.uint32(26).bytes(message.s); + } + if (message.custom_message !== "") { + writer.uint32(34).string(message.custom_message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AssociateTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAssociateTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.v = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.r = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.s = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.custom_message = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AssociateTx { + return { + v: isSet(object.v) ? bytesFromBase64(object.v) : new Uint8Array(0), + r: isSet(object.r) ? bytesFromBase64(object.r) : new Uint8Array(0), + s: isSet(object.s) ? bytesFromBase64(object.s) : new Uint8Array(0), + custom_message: isSet(object.custom_message) ? globalThis.String(object.custom_message) : "", + }; + }, + + toJSON(message: AssociateTx): unknown { + const obj: any = {}; + if (message.v.length !== 0) { + obj.v = base64FromBytes(message.v); + } + if (message.r.length !== 0) { + obj.r = base64FromBytes(message.r); + } + if (message.s.length !== 0) { + obj.s = base64FromBytes(message.s); + } + if (message.custom_message !== "") { + obj.custom_message = message.custom_message; + } + return obj; + }, + + create, I>>(base?: I): AssociateTx { + return AssociateTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AssociateTx { + const message = createBaseAssociateTx(); + message.v = object.v ?? new Uint8Array(0); + message.r = object.r ?? new Uint8Array(0); + message.s = object.s ?? new Uint8Array(0); + message.custom_message = object.custom_message ?? ""; + return message; + }, +}; + +export const LegacyTx: MessageFns = { + $type: "seiprotocol.seichain.eth.LegacyTx" as const, + + encode(message: LegacyTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.nonce !== 0) { + writer.uint32(8).uint64(message.nonce); + } + if (message.gas_price !== "") { + writer.uint32(18).string(message.gas_price); + } + if (message.gas_limit !== 0) { + writer.uint32(24).uint64(message.gas_limit); + } + if (message.to !== "") { + writer.uint32(34).string(message.to); + } + if (message.value !== "") { + writer.uint32(42).string(message.value); + } + if (message.data.length !== 0) { + writer.uint32(50).bytes(message.data); + } + if (message.v.length !== 0) { + writer.uint32(58).bytes(message.v); + } + if (message.r.length !== 0) { + writer.uint32(66).bytes(message.r); + } + if (message.s.length !== 0) { + writer.uint32(74).bytes(message.s); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LegacyTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.nonce = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.gas_price = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.gas_limit = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.to = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.value = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.data = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.v = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.r = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.s = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LegacyTx { + return { + nonce: isSet(object.nonce) ? globalThis.Number(object.nonce) : 0, + gas_price: isSet(object.gas_price) ? globalThis.String(object.gas_price) : "", + gas_limit: isSet(object.gas_limit) ? globalThis.Number(object.gas_limit) : 0, + to: isSet(object.to) ? globalThis.String(object.to) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + v: isSet(object.v) ? bytesFromBase64(object.v) : new Uint8Array(0), + r: isSet(object.r) ? bytesFromBase64(object.r) : new Uint8Array(0), + s: isSet(object.s) ? bytesFromBase64(object.s) : new Uint8Array(0), + }; + }, + + toJSON(message: LegacyTx): unknown { + const obj: any = {}; + if (message.nonce !== 0) { + obj.nonce = Math.round(message.nonce); + } + if (message.gas_price !== "") { + obj.gas_price = message.gas_price; + } + if (message.gas_limit !== 0) { + obj.gas_limit = Math.round(message.gas_limit); + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.v.length !== 0) { + obj.v = base64FromBytes(message.v); + } + if (message.r.length !== 0) { + obj.r = base64FromBytes(message.r); + } + if (message.s.length !== 0) { + obj.s = base64FromBytes(message.s); + } + return obj; + }, + + create, I>>(base?: I): LegacyTx { + return LegacyTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LegacyTx { + const message = createBaseLegacyTx(); + message.nonce = object.nonce ?? 0; + message.gas_price = object.gas_price ?? ""; + message.gas_limit = object.gas_limit ?? 0; + message.to = object.to ?? ""; + message.value = object.value ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.v = object.v ?? new Uint8Array(0); + message.r = object.r ?? new Uint8Array(0); + message.s = object.s ?? new Uint8Array(0); + return message; + }, +}; + +export const AccessListTx: MessageFns = { + $type: "seiprotocol.seichain.eth.AccessListTx" as const, + + encode(message: AccessListTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chain_id !== "") { + writer.uint32(10).string(message.chain_id); + } + if (message.nonce !== 0) { + writer.uint32(16).uint64(message.nonce); + } + if (message.gas_price !== "") { + writer.uint32(26).string(message.gas_price); + } + if (message.gas_limit !== 0) { + writer.uint32(32).uint64(message.gas_limit); + } + if (message.to !== "") { + writer.uint32(42).string(message.to); + } + if (message.value !== "") { + writer.uint32(50).string(message.value); + } + if (message.data.length !== 0) { + writer.uint32(58).bytes(message.data); + } + for (const v of message.accesses) { + AccessTuple.encode(v!, writer.uint32(66).fork()).join(); + } + if (message.v.length !== 0) { + writer.uint32(74).bytes(message.v); + } + if (message.r.length !== 0) { + writer.uint32(82).bytes(message.r); + } + if (message.s.length !== 0) { + writer.uint32(90).bytes(message.s); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AccessListTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessListTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chain_id = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nonce = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.gas_price = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.gas_limit = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.to = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.value = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.data = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.accesses.push(AccessTuple.decode(reader, reader.uint32())); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.v = reader.bytes(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.r = reader.bytes(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.s = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessListTx { + return { + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + nonce: isSet(object.nonce) ? globalThis.Number(object.nonce) : 0, + gas_price: isSet(object.gas_price) ? globalThis.String(object.gas_price) : "", + gas_limit: isSet(object.gas_limit) ? globalThis.Number(object.gas_limit) : 0, + to: isSet(object.to) ? globalThis.String(object.to) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + accesses: globalThis.Array.isArray(object?.accesses) ? object.accesses.map((e: any) => AccessTuple.fromJSON(e)) : [], + v: isSet(object.v) ? bytesFromBase64(object.v) : new Uint8Array(0), + r: isSet(object.r) ? bytesFromBase64(object.r) : new Uint8Array(0), + s: isSet(object.s) ? bytesFromBase64(object.s) : new Uint8Array(0), + }; + }, + + toJSON(message: AccessListTx): unknown { + const obj: any = {}; + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.nonce !== 0) { + obj.nonce = Math.round(message.nonce); + } + if (message.gas_price !== "") { + obj.gas_price = message.gas_price; + } + if (message.gas_limit !== 0) { + obj.gas_limit = Math.round(message.gas_limit); + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.accesses?.length) { + obj.accesses = message.accesses.map((e) => AccessTuple.toJSON(e)); + } + if (message.v.length !== 0) { + obj.v = base64FromBytes(message.v); + } + if (message.r.length !== 0) { + obj.r = base64FromBytes(message.r); + } + if (message.s.length !== 0) { + obj.s = base64FromBytes(message.s); + } + return obj; + }, + + create, I>>(base?: I): AccessListTx { + return AccessListTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AccessListTx { + const message = createBaseAccessListTx(); + message.chain_id = object.chain_id ?? ""; + message.nonce = object.nonce ?? 0; + message.gas_price = object.gas_price ?? ""; + message.gas_limit = object.gas_limit ?? 0; + message.to = object.to ?? ""; + message.value = object.value ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.accesses = object.accesses?.map((e) => AccessTuple.fromPartial(e)) || []; + message.v = object.v ?? new Uint8Array(0); + message.r = object.r ?? new Uint8Array(0); + message.s = object.s ?? new Uint8Array(0); + return message; + }, +}; + +export const DynamicFeeTx: MessageFns = { + $type: "seiprotocol.seichain.eth.DynamicFeeTx" as const, + + encode(message: DynamicFeeTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chain_id !== "") { + writer.uint32(10).string(message.chain_id); + } + if (message.nonce !== 0) { + writer.uint32(16).uint64(message.nonce); + } + if (message.gas_tip_cap !== "") { + writer.uint32(26).string(message.gas_tip_cap); + } + if (message.gas_fee_cap !== "") { + writer.uint32(34).string(message.gas_fee_cap); + } + if (message.gas_limit !== 0) { + writer.uint32(40).uint64(message.gas_limit); + } + if (message.to !== "") { + writer.uint32(50).string(message.to); + } + if (message.value !== "") { + writer.uint32(58).string(message.value); + } + if (message.data.length !== 0) { + writer.uint32(66).bytes(message.data); + } + for (const v of message.accesses) { + AccessTuple.encode(v!, writer.uint32(74).fork()).join(); + } + if (message.v.length !== 0) { + writer.uint32(82).bytes(message.v); + } + if (message.r.length !== 0) { + writer.uint32(90).bytes(message.r); + } + if (message.s.length !== 0) { + writer.uint32(98).bytes(message.s); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DynamicFeeTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDynamicFeeTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chain_id = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nonce = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.gas_tip_cap = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.gas_fee_cap = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_limit = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.to = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.value = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.data = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.accesses.push(AccessTuple.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.v = reader.bytes(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.r = reader.bytes(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.s = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DynamicFeeTx { + return { + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + nonce: isSet(object.nonce) ? globalThis.Number(object.nonce) : 0, + gas_tip_cap: isSet(object.gas_tip_cap) ? globalThis.String(object.gas_tip_cap) : "", + gas_fee_cap: isSet(object.gas_fee_cap) ? globalThis.String(object.gas_fee_cap) : "", + gas_limit: isSet(object.gas_limit) ? globalThis.Number(object.gas_limit) : 0, + to: isSet(object.to) ? globalThis.String(object.to) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + accesses: globalThis.Array.isArray(object?.accesses) ? object.accesses.map((e: any) => AccessTuple.fromJSON(e)) : [], + v: isSet(object.v) ? bytesFromBase64(object.v) : new Uint8Array(0), + r: isSet(object.r) ? bytesFromBase64(object.r) : new Uint8Array(0), + s: isSet(object.s) ? bytesFromBase64(object.s) : new Uint8Array(0), + }; + }, + + toJSON(message: DynamicFeeTx): unknown { + const obj: any = {}; + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.nonce !== 0) { + obj.nonce = Math.round(message.nonce); + } + if (message.gas_tip_cap !== "") { + obj.gas_tip_cap = message.gas_tip_cap; + } + if (message.gas_fee_cap !== "") { + obj.gas_fee_cap = message.gas_fee_cap; + } + if (message.gas_limit !== 0) { + obj.gas_limit = Math.round(message.gas_limit); + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.accesses?.length) { + obj.accesses = message.accesses.map((e) => AccessTuple.toJSON(e)); + } + if (message.v.length !== 0) { + obj.v = base64FromBytes(message.v); + } + if (message.r.length !== 0) { + obj.r = base64FromBytes(message.r); + } + if (message.s.length !== 0) { + obj.s = base64FromBytes(message.s); + } + return obj; + }, + + create, I>>(base?: I): DynamicFeeTx { + return DynamicFeeTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DynamicFeeTx { + const message = createBaseDynamicFeeTx(); + message.chain_id = object.chain_id ?? ""; + message.nonce = object.nonce ?? 0; + message.gas_tip_cap = object.gas_tip_cap ?? ""; + message.gas_fee_cap = object.gas_fee_cap ?? ""; + message.gas_limit = object.gas_limit ?? 0; + message.to = object.to ?? ""; + message.value = object.value ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.accesses = object.accesses?.map((e) => AccessTuple.fromPartial(e)) || []; + message.v = object.v ?? new Uint8Array(0); + message.r = object.r ?? new Uint8Array(0); + message.s = object.s ?? new Uint8Array(0); + return message; + }, +}; + +export const BlobTx: MessageFns = { + $type: "seiprotocol.seichain.eth.BlobTx" as const, + + encode(message: BlobTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chain_id !== "") { + writer.uint32(10).string(message.chain_id); + } + if (message.nonce !== 0) { + writer.uint32(16).uint64(message.nonce); + } + if (message.gas_tip_cap !== "") { + writer.uint32(26).string(message.gas_tip_cap); + } + if (message.gas_fee_cap !== "") { + writer.uint32(34).string(message.gas_fee_cap); + } + if (message.gas_limit !== 0) { + writer.uint32(40).uint64(message.gas_limit); + } + if (message.to !== "") { + writer.uint32(50).string(message.to); + } + if (message.value !== "") { + writer.uint32(58).string(message.value); + } + if (message.data.length !== 0) { + writer.uint32(66).bytes(message.data); + } + for (const v of message.accesses) { + AccessTuple.encode(v!, writer.uint32(74).fork()).join(); + } + if (message.blob_fee_cap !== "") { + writer.uint32(82).string(message.blob_fee_cap); + } + for (const v of message.blob_hashes) { + writer.uint32(90).bytes(v!); + } + if (message.sidecar !== undefined) { + BlobTxSidecar.encode(message.sidecar, writer.uint32(98).fork()).join(); + } + if (message.v.length !== 0) { + writer.uint32(106).bytes(message.v); + } + if (message.r.length !== 0) { + writer.uint32(114).bytes(message.r); + } + if (message.s.length !== 0) { + writer.uint32(122).bytes(message.s); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BlobTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlobTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chain_id = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nonce = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.gas_tip_cap = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.gas_fee_cap = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_limit = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.to = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.value = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.data = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.accesses.push(AccessTuple.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.blob_fee_cap = reader.string(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.blob_hashes.push(reader.bytes()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.sidecar = BlobTxSidecar.decode(reader, reader.uint32()); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.v = reader.bytes(); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.r = reader.bytes(); + continue; + case 15: + if (tag !== 122) { + break; + } + + message.s = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BlobTx { + return { + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + nonce: isSet(object.nonce) ? globalThis.Number(object.nonce) : 0, + gas_tip_cap: isSet(object.gas_tip_cap) ? globalThis.String(object.gas_tip_cap) : "", + gas_fee_cap: isSet(object.gas_fee_cap) ? globalThis.String(object.gas_fee_cap) : "", + gas_limit: isSet(object.gas_limit) ? globalThis.Number(object.gas_limit) : 0, + to: isSet(object.to) ? globalThis.String(object.to) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + accesses: globalThis.Array.isArray(object?.accesses) ? object.accesses.map((e: any) => AccessTuple.fromJSON(e)) : [], + blob_fee_cap: isSet(object.blob_fee_cap) ? globalThis.String(object.blob_fee_cap) : "", + blob_hashes: globalThis.Array.isArray(object?.blob_hashes) ? object.blob_hashes.map((e: any) => bytesFromBase64(e)) : [], + sidecar: isSet(object.sidecar) ? BlobTxSidecar.fromJSON(object.sidecar) : undefined, + v: isSet(object.v) ? bytesFromBase64(object.v) : new Uint8Array(0), + r: isSet(object.r) ? bytesFromBase64(object.r) : new Uint8Array(0), + s: isSet(object.s) ? bytesFromBase64(object.s) : new Uint8Array(0), + }; + }, + + toJSON(message: BlobTx): unknown { + const obj: any = {}; + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.nonce !== 0) { + obj.nonce = Math.round(message.nonce); + } + if (message.gas_tip_cap !== "") { + obj.gas_tip_cap = message.gas_tip_cap; + } + if (message.gas_fee_cap !== "") { + obj.gas_fee_cap = message.gas_fee_cap; + } + if (message.gas_limit !== 0) { + obj.gas_limit = Math.round(message.gas_limit); + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.accesses?.length) { + obj.accesses = message.accesses.map((e) => AccessTuple.toJSON(e)); + } + if (message.blob_fee_cap !== "") { + obj.blob_fee_cap = message.blob_fee_cap; + } + if (message.blob_hashes?.length) { + obj.blob_hashes = message.blob_hashes.map((e) => base64FromBytes(e)); + } + if (message.sidecar !== undefined) { + obj.sidecar = BlobTxSidecar.toJSON(message.sidecar); + } + if (message.v.length !== 0) { + obj.v = base64FromBytes(message.v); + } + if (message.r.length !== 0) { + obj.r = base64FromBytes(message.r); + } + if (message.s.length !== 0) { + obj.s = base64FromBytes(message.s); + } + return obj; + }, + + create, I>>(base?: I): BlobTx { + return BlobTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BlobTx { + const message = createBaseBlobTx(); + message.chain_id = object.chain_id ?? ""; + message.nonce = object.nonce ?? 0; + message.gas_tip_cap = object.gas_tip_cap ?? ""; + message.gas_fee_cap = object.gas_fee_cap ?? ""; + message.gas_limit = object.gas_limit ?? 0; + message.to = object.to ?? ""; + message.value = object.value ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.accesses = object.accesses?.map((e) => AccessTuple.fromPartial(e)) || []; + message.blob_fee_cap = object.blob_fee_cap ?? ""; + message.blob_hashes = object.blob_hashes?.map((e) => e) || []; + message.sidecar = object.sidecar !== undefined && object.sidecar !== null ? BlobTxSidecar.fromPartial(object.sidecar) : undefined; + message.v = object.v ?? new Uint8Array(0); + message.r = object.r ?? new Uint8Array(0); + message.s = object.s ?? new Uint8Array(0); + return message; + }, +}; + +export const BlobTxSidecar: MessageFns = { + $type: "seiprotocol.seichain.eth.BlobTxSidecar" as const, + + encode(message: BlobTxSidecar, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.blobs) { + writer.uint32(10).bytes(v!); + } + for (const v of message.commitments) { + writer.uint32(18).bytes(v!); + } + for (const v of message.proofs) { + writer.uint32(26).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BlobTxSidecar { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlobTxSidecar(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.blobs.push(reader.bytes()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.commitments.push(reader.bytes()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proofs.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BlobTxSidecar { + return { + blobs: globalThis.Array.isArray(object?.blobs) ? object.blobs.map((e: any) => bytesFromBase64(e)) : [], + commitments: globalThis.Array.isArray(object?.commitments) ? object.commitments.map((e: any) => bytesFromBase64(e)) : [], + proofs: globalThis.Array.isArray(object?.proofs) ? object.proofs.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: BlobTxSidecar): unknown { + const obj: any = {}; + if (message.blobs?.length) { + obj.blobs = message.blobs.map((e) => base64FromBytes(e)); + } + if (message.commitments?.length) { + obj.commitments = message.commitments.map((e) => base64FromBytes(e)); + } + if (message.proofs?.length) { + obj.proofs = message.proofs.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): BlobTxSidecar { + return BlobTxSidecar.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BlobTxSidecar { + const message = createBaseBlobTxSidecar(); + message.blobs = object.blobs?.map((e) => e) || []; + message.commitments = object.commitments?.map((e) => e) || []; + message.proofs = object.proofs?.map((e) => e) || []; + return message; + }, +}; + +export const ExtensionOptionsEthereumTx: MessageFns = { + $type: "seiprotocol.seichain.eth.ExtensionOptionsEthereumTx" as const, + + encode(_: ExtensionOptionsEthereumTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtensionOptionsEthereumTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionOptionsEthereumTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): ExtensionOptionsEthereumTx { + return {}; + }, + + toJSON(_: ExtensionOptionsEthereumTx): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ExtensionOptionsEthereumTx { + return ExtensionOptionsEthereumTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ExtensionOptionsEthereumTx { + const message = createBaseExtensionOptionsEthereumTx(); + return message; + }, +}; + +function createBaseAccessTuple(): AccessTuple { + return { address: "", storage_keys: [] }; +} + +function createBaseAssociateTx(): AssociateTx { + return { v: new Uint8Array(0), r: new Uint8Array(0), s: new Uint8Array(0), custom_message: "" }; +} + +function createBaseLegacyTx(): LegacyTx { + return { + nonce: 0, + gas_price: "", + gas_limit: 0, + to: "", + value: "", + data: new Uint8Array(0), + v: new Uint8Array(0), + r: new Uint8Array(0), + s: new Uint8Array(0), + }; +} + +function createBaseAccessListTx(): AccessListTx { + return { + chain_id: "", + nonce: 0, + gas_price: "", + gas_limit: 0, + to: "", + value: "", + data: new Uint8Array(0), + accesses: [], + v: new Uint8Array(0), + r: new Uint8Array(0), + s: new Uint8Array(0), + }; +} + +function createBaseDynamicFeeTx(): DynamicFeeTx { + return { + chain_id: "", + nonce: 0, + gas_tip_cap: "", + gas_fee_cap: "", + gas_limit: 0, + to: "", + value: "", + data: new Uint8Array(0), + accesses: [], + v: new Uint8Array(0), + r: new Uint8Array(0), + s: new Uint8Array(0), + }; +} + +function createBaseBlobTx(): BlobTx { + return { + chain_id: "", + nonce: 0, + gas_tip_cap: "", + gas_fee_cap: "", + gas_limit: 0, + to: "", + value: "", + data: new Uint8Array(0), + accesses: [], + blob_fee_cap: "", + blob_hashes: [], + sidecar: undefined, + v: new Uint8Array(0), + r: new Uint8Array(0), + s: new Uint8Array(0), + }; +} + +function createBaseBlobTxSidecar(): BlobTxSidecar { + return { blobs: [], commitments: [], proofs: [] }; +} + +function createBaseExtensionOptionsEthereumTx(): ExtensionOptionsEthereumTx { + return {}; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.eth.AccessTuple", AccessTuple as never], + ["/seiprotocol.seichain.eth.AssociateTx", AssociateTx as never], + ["/seiprotocol.seichain.eth.LegacyTx", LegacyTx as never], + ["/seiprotocol.seichain.eth.AccessListTx", AccessListTx as never], + ["/seiprotocol.seichain.eth.DynamicFeeTx", DynamicFeeTx as never], + ["/seiprotocol.seichain.eth.BlobTx", BlobTx as never], + ["/seiprotocol.seichain.eth.BlobTxSidecar", BlobTxSidecar as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.eth.AccessTuple": { + aminoType: "seiprotocol.seichain.eth.AccessTuple", + toAmino: (message: AccessTuple) => ({ ...message }), + fromAmino: (object: AccessTuple) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.AssociateTx": { + aminoType: "seiprotocol.seichain.eth.AssociateTx", + toAmino: (message: AssociateTx) => ({ ...message }), + fromAmino: (object: AssociateTx) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.LegacyTx": { + aminoType: "seiprotocol.seichain.eth.LegacyTx", + toAmino: (message: LegacyTx) => ({ ...message }), + fromAmino: (object: LegacyTx) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.AccessListTx": { + aminoType: "seiprotocol.seichain.eth.AccessListTx", + toAmino: (message: AccessListTx) => ({ ...message }), + fromAmino: (object: AccessListTx) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.DynamicFeeTx": { + aminoType: "seiprotocol.seichain.eth.DynamicFeeTx", + toAmino: (message: DynamicFeeTx) => ({ ...message }), + fromAmino: (object: DynamicFeeTx) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.BlobTx": { + aminoType: "seiprotocol.seichain.eth.BlobTx", + toAmino: (message: BlobTx) => ({ ...message }), + fromAmino: (object: BlobTx) => ({ ...object }), + }, + + "/seiprotocol.seichain.eth.BlobTxSidecar": { + aminoType: "seiprotocol.seichain.eth.BlobTxSidecar", + toAmino: (message: BlobTxSidecar) => ({ ...message }), + fromAmino: (object: BlobTxSidecar) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/config.ts b/packages/cosmos/generated/encoding/evm/config.ts new file mode 100644 index 000000000..31f378f9b --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/config.ts @@ -0,0 +1,123 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { ChainConfig as ChainConfigType } from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface ChainConfig extends ChainConfigType {} + +export const ChainConfig: MessageFns = { + $type: "seiprotocol.seichain.evm.ChainConfig" as const, + + encode(message: ChainConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.cancun_time !== 0) { + writer.uint32(8).int64(message.cancun_time); + } + if (message.prague_time !== 0) { + writer.uint32(16).int64(message.prague_time); + } + if (message.verkle_time !== 0) { + writer.uint32(24).int64(message.verkle_time); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ChainConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseChainConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.cancun_time = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.prague_time = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.verkle_time = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ChainConfig { + return { + cancun_time: isSet(object.cancun_time) ? globalThis.Number(object.cancun_time) : 0, + prague_time: isSet(object.prague_time) ? globalThis.Number(object.prague_time) : 0, + verkle_time: isSet(object.verkle_time) ? globalThis.Number(object.verkle_time) : 0, + }; + }, + + toJSON(message: ChainConfig): unknown { + const obj: any = {}; + if (message.cancun_time !== 0) { + obj.cancun_time = Math.round(message.cancun_time); + } + if (message.prague_time !== 0) { + obj.prague_time = Math.round(message.prague_time); + } + if (message.verkle_time !== 0) { + obj.verkle_time = Math.round(message.verkle_time); + } + return obj; + }, + + create, I>>(base?: I): ChainConfig { + return ChainConfig.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ChainConfig { + const message = createBaseChainConfig(); + message.cancun_time = object.cancun_time ?? 0; + message.prague_time = object.prague_time ?? 0; + message.verkle_time = object.verkle_time ?? 0; + return message; + }, +}; + +function createBaseChainConfig(): ChainConfig { + return { cancun_time: 0, prague_time: 0, verkle_time: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.evm.ChainConfig", ChainConfig as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.ChainConfig": { + aminoType: "seiprotocol.seichain.evm.ChainConfig", + toAmino: (message: ChainConfig) => ({ ...message }), + fromAmino: (object: ChainConfig) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/enums.ts b/packages/cosmos/generated/encoding/evm/enums.ts new file mode 100644 index 000000000..ae7ef0da2 --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/enums.ts @@ -0,0 +1,43 @@ +import { PointerType } from "../../types/evm"; + +export function pointerTypeFromJSON(object: any): PointerType { + switch (object) { + case 0: + case "ERC20": + return PointerType.ERC20; + case 1: + case "ERC721": + return PointerType.ERC721; + case 2: + case "NATIVE": + return PointerType.NATIVE; + case 3: + case "CW20": + return PointerType.CW20; + case 4: + case "CW721": + return PointerType.CW721; + case -1: + case "UNRECOGNIZED": + default: + return PointerType.UNRECOGNIZED; + } +} + +export function pointerTypeToJSON(object: PointerType): string { + switch (object) { + case PointerType.ERC20: + return "ERC20"; + case PointerType.ERC721: + return "ERC721"; + case PointerType.NATIVE: + return "NATIVE"; + case PointerType.CW20: + return "CW20"; + case PointerType.CW721: + return "CW721"; + case PointerType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} diff --git a/packages/cosmos/generated/encoding/evm/genesis.ts b/packages/cosmos/generated/encoding/evm/genesis.ts new file mode 100644 index 000000000..3bdce86a0 --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/genesis.ts @@ -0,0 +1,656 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Params } from "./params"; + +import type { + AddressAssociation as AddressAssociationType, + Code as CodeType, + ContractState as ContractStateType, + GenesisState as GenesisStateType, + Nonce as NonceType, + Serialized as SerializedType, +} from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface AddressAssociation extends AddressAssociationType {} +interface Code extends CodeType {} +interface ContractState extends ContractStateType {} +interface Nonce extends NonceType {} +interface Serialized extends SerializedType {} +interface GenesisState extends GenesisStateType {} + +export const AddressAssociation: MessageFns = { + $type: "seiprotocol.seichain.evm.AddressAssociation" as const, + + encode(message: AddressAssociation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sei_address !== "") { + writer.uint32(10).string(message.sei_address); + } + if (message.eth_address !== "") { + writer.uint32(18).string(message.eth_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddressAssociation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddressAssociation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sei_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.eth_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddressAssociation { + return { + sei_address: isSet(object.sei_address) ? globalThis.String(object.sei_address) : "", + eth_address: isSet(object.eth_address) ? globalThis.String(object.eth_address) : "", + }; + }, + + toJSON(message: AddressAssociation): unknown { + const obj: any = {}; + if (message.sei_address !== "") { + obj.sei_address = message.sei_address; + } + if (message.eth_address !== "") { + obj.eth_address = message.eth_address; + } + return obj; + }, + + create, I>>(base?: I): AddressAssociation { + return AddressAssociation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddressAssociation { + const message = createBaseAddressAssociation(); + message.sei_address = object.sei_address ?? ""; + message.eth_address = object.eth_address ?? ""; + return message; + }, +}; + +export const Code: MessageFns = { + $type: "seiprotocol.seichain.evm.Code" as const, + + encode(message: Code, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.code.length !== 0) { + writer.uint32(18).bytes(message.code); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Code { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCode(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.code = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Code { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + code: isSet(object.code) ? bytesFromBase64(object.code) : new Uint8Array(0), + }; + }, + + toJSON(message: Code): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.code.length !== 0) { + obj.code = base64FromBytes(message.code); + } + return obj; + }, + + create, I>>(base?: I): Code { + return Code.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Code { + const message = createBaseCode(); + message.address = object.address ?? ""; + message.code = object.code ?? new Uint8Array(0); + return message; + }, +}; + +export const ContractState: MessageFns = { + $type: "seiprotocol.seichain.evm.ContractState" as const, + + encode(message: ContractState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.key.length !== 0) { + writer.uint32(18).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(26).bytes(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ContractState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.key = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractState { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: ContractState): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create, I>>(base?: I): ContractState { + return ContractState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ContractState { + const message = createBaseContractState(); + message.address = object.address ?? ""; + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +export const Nonce: MessageFns = { + $type: "seiprotocol.seichain.evm.Nonce" as const, + + encode(message: Nonce, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.nonce !== 0) { + writer.uint32(16).uint64(message.nonce); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Nonce { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNonce(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nonce = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Nonce { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + nonce: isSet(object.nonce) ? globalThis.Number(object.nonce) : 0, + }; + }, + + toJSON(message: Nonce): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.nonce !== 0) { + obj.nonce = Math.round(message.nonce); + } + return obj; + }, + + create, I>>(base?: I): Nonce { + return Nonce.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Nonce { + const message = createBaseNonce(); + message.address = object.address ?? ""; + message.nonce = object.nonce ?? 0; + return message; + }, +}; + +export const Serialized: MessageFns = { + $type: "seiprotocol.seichain.evm.Serialized" as const, + + encode(message: Serialized, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.prefix.length !== 0) { + writer.uint32(10).bytes(message.prefix); + } + if (message.key.length !== 0) { + writer.uint32(18).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(26).bytes(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Serialized { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSerialized(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.prefix = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.key = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Serialized { + return { + prefix: isSet(object.prefix) ? bytesFromBase64(object.prefix) : new Uint8Array(0), + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: Serialized): unknown { + const obj: any = {}; + if (message.prefix.length !== 0) { + obj.prefix = base64FromBytes(message.prefix); + } + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create, I>>(base?: I): Serialized { + return Serialized.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Serialized { + const message = createBaseSerialized(); + message.prefix = object.prefix ?? new Uint8Array(0); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +export const GenesisState: MessageFns = { + $type: "seiprotocol.seichain.evm.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.address_associations) { + AddressAssociation.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.codes) { + Code.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.states) { + ContractState.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.nonces) { + Nonce.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.serialized) { + Serialized.encode(v!, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.address_associations.push(AddressAssociation.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.codes.push(Code.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.states.push(ContractState.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.nonces.push(Nonce.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.serialized.push(Serialized.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + address_associations: globalThis.Array.isArray(object?.address_associations) + ? object.address_associations.map((e: any) => AddressAssociation.fromJSON(e)) + : [], + codes: globalThis.Array.isArray(object?.codes) ? object.codes.map((e: any) => Code.fromJSON(e)) : [], + states: globalThis.Array.isArray(object?.states) ? object.states.map((e: any) => ContractState.fromJSON(e)) : [], + nonces: globalThis.Array.isArray(object?.nonces) ? object.nonces.map((e: any) => Nonce.fromJSON(e)) : [], + serialized: globalThis.Array.isArray(object?.serialized) ? object.serialized.map((e: any) => Serialized.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.address_associations?.length) { + obj.address_associations = message.address_associations.map((e) => AddressAssociation.toJSON(e)); + } + if (message.codes?.length) { + obj.codes = message.codes.map((e) => Code.toJSON(e)); + } + if (message.states?.length) { + obj.states = message.states.map((e) => ContractState.toJSON(e)); + } + if (message.nonces?.length) { + obj.nonces = message.nonces.map((e) => Nonce.toJSON(e)); + } + if (message.serialized?.length) { + obj.serialized = message.serialized.map((e) => Serialized.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.address_associations = object.address_associations?.map((e) => AddressAssociation.fromPartial(e)) || []; + message.codes = object.codes?.map((e) => Code.fromPartial(e)) || []; + message.states = object.states?.map((e) => ContractState.fromPartial(e)) || []; + message.nonces = object.nonces?.map((e) => Nonce.fromPartial(e)) || []; + message.serialized = object.serialized?.map((e) => Serialized.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseAddressAssociation(): AddressAssociation { + return { sei_address: "", eth_address: "" }; +} + +function createBaseCode(): Code { + return { address: "", code: new Uint8Array(0) }; +} + +function createBaseContractState(): ContractState { + return { address: "", key: new Uint8Array(0), value: new Uint8Array(0) }; +} + +function createBaseNonce(): Nonce { + return { address: "", nonce: 0 }; +} + +function createBaseSerialized(): Serialized { + return { prefix: new Uint8Array(0), key: new Uint8Array(0), value: new Uint8Array(0) }; +} + +function createBaseGenesisState(): GenesisState { + return { params: undefined, address_associations: [], codes: [], states: [], nonces: [], serialized: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.AddressAssociation", AddressAssociation as never], + ["/seiprotocol.seichain.evm.Code", Code as never], + ["/seiprotocol.seichain.evm.ContractState", ContractState as never], + ["/seiprotocol.seichain.evm.Nonce", Nonce as never], + ["/seiprotocol.seichain.evm.Serialized", Serialized as never], + ["/seiprotocol.seichain.evm.GenesisState", GenesisState as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.AddressAssociation": { + aminoType: "seiprotocol.seichain.evm.AddressAssociation", + toAmino: (message: AddressAssociation) => ({ ...message }), + fromAmino: (object: AddressAssociation) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.Code": { + aminoType: "seiprotocol.seichain.evm.Code", + toAmino: (message: Code) => ({ ...message }), + fromAmino: (object: Code) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.ContractState": { + aminoType: "seiprotocol.seichain.evm.ContractState", + toAmino: (message: ContractState) => ({ ...message }), + fromAmino: (object: ContractState) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.Nonce": { + aminoType: "seiprotocol.seichain.evm.Nonce", + toAmino: (message: Nonce) => ({ ...message }), + fromAmino: (object: Nonce) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.Serialized": { + aminoType: "seiprotocol.seichain.evm.Serialized", + toAmino: (message: Serialized) => ({ ...message }), + fromAmino: (object: Serialized) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.GenesisState": { + aminoType: "seiprotocol.seichain.evm.GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/gov.ts b/packages/cosmos/generated/encoding/evm/gov.ts new file mode 100644 index 000000000..09441763d --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/gov.ts @@ -0,0 +1,764 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + AddCWERC20PointerProposal as AddCWERC20PointerProposalType, + AddCWERC721PointerProposal as AddCWERC721PointerProposalType, + AddERCCW20PointerProposal as AddERCCW20PointerProposalType, + AddERCCW721PointerProposal as AddERCCW721PointerProposalType, + AddERCNativePointerProposal as AddERCNativePointerProposalType, + AddERCNativePointerProposalV2 as AddERCNativePointerProposalV2Type, +} from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface AddERCNativePointerProposal extends AddERCNativePointerProposalType {} +interface AddERCCW20PointerProposal extends AddERCCW20PointerProposalType {} +interface AddERCCW721PointerProposal extends AddERCCW721PointerProposalType {} +interface AddCWERC20PointerProposal extends AddCWERC20PointerProposalType {} +interface AddCWERC721PointerProposal extends AddCWERC721PointerProposalType {} +interface AddERCNativePointerProposalV2 extends AddERCNativePointerProposalV2Type {} + +export const AddERCNativePointerProposal: MessageFns = { + $type: "seiprotocol.seichain.evm.AddERCNativePointerProposal" as const, + + encode(message: AddERCNativePointerProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.token !== "") { + writer.uint32(26).string(message.token); + } + if (message.pointer !== "") { + writer.uint32(34).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(40).uint32(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddERCNativePointerProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddERCNativePointerProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.token = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pointer = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.version = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddERCNativePointerProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + token: isSet(object.token) ? globalThis.String(object.token) : "", + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: AddERCNativePointerProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.token !== "") { + obj.token = message.token; + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): AddERCNativePointerProposal { + return AddERCNativePointerProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddERCNativePointerProposal { + const message = createBaseAddERCNativePointerProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.token = object.token ?? ""; + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +export const AddERCCW20PointerProposal: MessageFns = { + $type: "seiprotocol.seichain.evm.AddERCCW20PointerProposal" as const, + + encode(message: AddERCCW20PointerProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.pointee !== "") { + writer.uint32(26).string(message.pointee); + } + if (message.pointer !== "") { + writer.uint32(34).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(40).uint32(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddERCCW20PointerProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddERCCW20PointerProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pointee = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pointer = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.version = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddERCCW20PointerProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: AddERCCW20PointerProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): AddERCCW20PointerProposal { + return AddERCCW20PointerProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddERCCW20PointerProposal { + const message = createBaseAddERCCW20PointerProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.pointee = object.pointee ?? ""; + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +export const AddERCCW721PointerProposal: MessageFns = { + $type: "seiprotocol.seichain.evm.AddERCCW721PointerProposal" as const, + + encode(message: AddERCCW721PointerProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.pointee !== "") { + writer.uint32(26).string(message.pointee); + } + if (message.pointer !== "") { + writer.uint32(34).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(40).uint32(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddERCCW721PointerProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddERCCW721PointerProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pointee = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pointer = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.version = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddERCCW721PointerProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: AddERCCW721PointerProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): AddERCCW721PointerProposal { + return AddERCCW721PointerProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddERCCW721PointerProposal { + const message = createBaseAddERCCW721PointerProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.pointee = object.pointee ?? ""; + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +export const AddCWERC20PointerProposal: MessageFns = { + $type: "seiprotocol.seichain.evm.AddCWERC20PointerProposal" as const, + + encode(message: AddCWERC20PointerProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.pointee !== "") { + writer.uint32(26).string(message.pointee); + } + if (message.pointer !== "") { + writer.uint32(34).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(40).uint32(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddCWERC20PointerProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddCWERC20PointerProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pointee = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pointer = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.version = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddCWERC20PointerProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: AddCWERC20PointerProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): AddCWERC20PointerProposal { + return AddCWERC20PointerProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddCWERC20PointerProposal { + const message = createBaseAddCWERC20PointerProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.pointee = object.pointee ?? ""; + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +export const AddCWERC721PointerProposal: MessageFns = { + $type: "seiprotocol.seichain.evm.AddCWERC721PointerProposal" as const, + + encode(message: AddCWERC721PointerProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.pointee !== "") { + writer.uint32(26).string(message.pointee); + } + if (message.pointer !== "") { + writer.uint32(34).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(40).uint32(message.version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddCWERC721PointerProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddCWERC721PointerProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pointee = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pointer = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.version = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddCWERC721PointerProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + }; + }, + + toJSON(message: AddCWERC721PointerProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + return obj; + }, + + create, I>>(base?: I): AddCWERC721PointerProposal { + return AddCWERC721PointerProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddCWERC721PointerProposal { + const message = createBaseAddCWERC721PointerProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.pointee = object.pointee ?? ""; + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + return message; + }, +}; + +export const AddERCNativePointerProposalV2: MessageFns = { + $type: "seiprotocol.seichain.evm.AddERCNativePointerProposalV2" as const, + + encode(message: AddERCNativePointerProposalV2, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.token !== "") { + writer.uint32(26).string(message.token); + } + if (message.name !== "") { + writer.uint32(34).string(message.name); + } + if (message.symbol !== "") { + writer.uint32(42).string(message.symbol); + } + if (message.decimals !== 0) { + writer.uint32(48).uint32(message.decimals); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AddERCNativePointerProposalV2 { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAddERCNativePointerProposalV2(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.token = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.name = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.symbol = reader.string(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.decimals = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AddERCNativePointerProposalV2 { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + token: isSet(object.token) ? globalThis.String(object.token) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", + symbol: isSet(object.symbol) ? globalThis.String(object.symbol) : "", + decimals: isSet(object.decimals) ? globalThis.Number(object.decimals) : 0, + }; + }, + + toJSON(message: AddERCNativePointerProposalV2): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.token !== "") { + obj.token = message.token; + } + if (message.name !== "") { + obj.name = message.name; + } + if (message.symbol !== "") { + obj.symbol = message.symbol; + } + if (message.decimals !== 0) { + obj.decimals = Math.round(message.decimals); + } + return obj; + }, + + create, I>>(base?: I): AddERCNativePointerProposalV2 { + return AddERCNativePointerProposalV2.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AddERCNativePointerProposalV2 { + const message = createBaseAddERCNativePointerProposalV2(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.token = object.token ?? ""; + message.name = object.name ?? ""; + message.symbol = object.symbol ?? ""; + message.decimals = object.decimals ?? 0; + return message; + }, +}; + +function createBaseAddERCNativePointerProposal(): AddERCNativePointerProposal { + return { title: "", description: "", token: "", pointer: "", version: 0 }; +} + +function createBaseAddERCCW20PointerProposal(): AddERCCW20PointerProposal { + return { title: "", description: "", pointee: "", pointer: "", version: 0 }; +} + +function createBaseAddERCCW721PointerProposal(): AddERCCW721PointerProposal { + return { title: "", description: "", pointee: "", pointer: "", version: 0 }; +} + +function createBaseAddCWERC20PointerProposal(): AddCWERC20PointerProposal { + return { title: "", description: "", pointee: "", pointer: "", version: 0 }; +} + +function createBaseAddCWERC721PointerProposal(): AddCWERC721PointerProposal { + return { title: "", description: "", pointee: "", pointer: "", version: 0 }; +} + +function createBaseAddERCNativePointerProposalV2(): AddERCNativePointerProposalV2 { + return { title: "", description: "", token: "", name: "", symbol: "", decimals: 0 }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/evm/index.ts b/packages/cosmos/generated/encoding/evm/index.ts new file mode 100644 index 000000000..5eaf8576f --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/index.ts @@ -0,0 +1,9 @@ +export * from './config'; +export * from './enums'; +export * from './genesis'; +export * from './gov'; +export * from './params'; +export * from './query'; +export * from './receipt'; +export * from './tx'; +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/evm/params.ts b/packages/cosmos/generated/encoding/evm/params.ts new file mode 100644 index 000000000..80a58eba3 --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/params.ts @@ -0,0 +1,345 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { ParamsPreV580 as ParamsPreV580Type, Params as ParamsType } from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Params extends ParamsType {} +interface ParamsPreV580 extends ParamsPreV580Type {} + +export const Params: MessageFns = { + $type: "seiprotocol.seichain.evm.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.priority_normalizer !== "") { + writer.uint32(18).string(message.priority_normalizer); + } + if (message.base_fee_per_gas !== "") { + writer.uint32(26).string(message.base_fee_per_gas); + } + if (message.minimum_fee_per_gas !== "") { + writer.uint32(34).string(message.minimum_fee_per_gas); + } + for (const v of message.whitelisted_cw_code_hashes_for_delegate_call) { + writer.uint32(66).bytes(v!); + } + if (message.deliver_tx_hook_wasm_gas_limit !== 0) { + writer.uint32(72).uint64(message.deliver_tx_hook_wasm_gas_limit); + } + if (message.max_dynamic_base_fee_upward_adjustment !== "") { + writer.uint32(82).string(message.max_dynamic_base_fee_upward_adjustment); + } + if (message.max_dynamic_base_fee_downward_adjustment !== "") { + writer.uint32(90).string(message.max_dynamic_base_fee_downward_adjustment); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.priority_normalizer = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.base_fee_per_gas = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.minimum_fee_per_gas = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.whitelisted_cw_code_hashes_for_delegate_call.push(reader.bytes()); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.deliver_tx_hook_wasm_gas_limit = longToNumber(reader.uint64()); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.max_dynamic_base_fee_upward_adjustment = reader.string(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.max_dynamic_base_fee_downward_adjustment = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + priority_normalizer: isSet(object.priority_normalizer) ? globalThis.String(object.priority_normalizer) : "", + base_fee_per_gas: isSet(object.base_fee_per_gas) ? globalThis.String(object.base_fee_per_gas) : "", + minimum_fee_per_gas: isSet(object.minimum_fee_per_gas) ? globalThis.String(object.minimum_fee_per_gas) : "", + whitelisted_cw_code_hashes_for_delegate_call: globalThis.Array.isArray(object?.whitelisted_cw_code_hashes_for_delegate_call) + ? object.whitelisted_cw_code_hashes_for_delegate_call.map((e: any) => bytesFromBase64(e)) + : [], + deliver_tx_hook_wasm_gas_limit: isSet(object.deliver_tx_hook_wasm_gas_limit) ? globalThis.Number(object.deliver_tx_hook_wasm_gas_limit) : 0, + max_dynamic_base_fee_upward_adjustment: isSet(object.max_dynamic_base_fee_upward_adjustment) + ? globalThis.String(object.max_dynamic_base_fee_upward_adjustment) + : "", + max_dynamic_base_fee_downward_adjustment: isSet(object.max_dynamic_base_fee_downward_adjustment) + ? globalThis.String(object.max_dynamic_base_fee_downward_adjustment) + : "", + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.priority_normalizer !== "") { + obj.priority_normalizer = message.priority_normalizer; + } + if (message.base_fee_per_gas !== "") { + obj.base_fee_per_gas = message.base_fee_per_gas; + } + if (message.minimum_fee_per_gas !== "") { + obj.minimum_fee_per_gas = message.minimum_fee_per_gas; + } + if (message.whitelisted_cw_code_hashes_for_delegate_call?.length) { + obj.whitelisted_cw_code_hashes_for_delegate_call = message.whitelisted_cw_code_hashes_for_delegate_call.map((e) => base64FromBytes(e)); + } + if (message.deliver_tx_hook_wasm_gas_limit !== 0) { + obj.deliver_tx_hook_wasm_gas_limit = Math.round(message.deliver_tx_hook_wasm_gas_limit); + } + if (message.max_dynamic_base_fee_upward_adjustment !== "") { + obj.max_dynamic_base_fee_upward_adjustment = message.max_dynamic_base_fee_upward_adjustment; + } + if (message.max_dynamic_base_fee_downward_adjustment !== "") { + obj.max_dynamic_base_fee_downward_adjustment = message.max_dynamic_base_fee_downward_adjustment; + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.priority_normalizer = object.priority_normalizer ?? ""; + message.base_fee_per_gas = object.base_fee_per_gas ?? ""; + message.minimum_fee_per_gas = object.minimum_fee_per_gas ?? ""; + message.whitelisted_cw_code_hashes_for_delegate_call = object.whitelisted_cw_code_hashes_for_delegate_call?.map((e) => e) || []; + message.deliver_tx_hook_wasm_gas_limit = object.deliver_tx_hook_wasm_gas_limit ?? 0; + message.max_dynamic_base_fee_upward_adjustment = object.max_dynamic_base_fee_upward_adjustment ?? ""; + message.max_dynamic_base_fee_downward_adjustment = object.max_dynamic_base_fee_downward_adjustment ?? ""; + return message; + }, +}; + +export const ParamsPreV580: MessageFns = { + $type: "seiprotocol.seichain.evm.ParamsPreV580" as const, + + encode(message: ParamsPreV580, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.priority_normalizer !== "") { + writer.uint32(18).string(message.priority_normalizer); + } + if (message.base_fee_per_gas !== "") { + writer.uint32(26).string(message.base_fee_per_gas); + } + if (message.minimum_fee_per_gas !== "") { + writer.uint32(34).string(message.minimum_fee_per_gas); + } + for (const v of message.whitelisted_cw_code_hashes_for_delegate_call) { + writer.uint32(66).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ParamsPreV580 { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParamsPreV580(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.priority_normalizer = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.base_fee_per_gas = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.minimum_fee_per_gas = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.whitelisted_cw_code_hashes_for_delegate_call.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ParamsPreV580 { + return { + priority_normalizer: isSet(object.priority_normalizer) ? globalThis.String(object.priority_normalizer) : "", + base_fee_per_gas: isSet(object.base_fee_per_gas) ? globalThis.String(object.base_fee_per_gas) : "", + minimum_fee_per_gas: isSet(object.minimum_fee_per_gas) ? globalThis.String(object.minimum_fee_per_gas) : "", + whitelisted_cw_code_hashes_for_delegate_call: globalThis.Array.isArray(object?.whitelisted_cw_code_hashes_for_delegate_call) + ? object.whitelisted_cw_code_hashes_for_delegate_call.map((e: any) => bytesFromBase64(e)) + : [], + }; + }, + + toJSON(message: ParamsPreV580): unknown { + const obj: any = {}; + if (message.priority_normalizer !== "") { + obj.priority_normalizer = message.priority_normalizer; + } + if (message.base_fee_per_gas !== "") { + obj.base_fee_per_gas = message.base_fee_per_gas; + } + if (message.minimum_fee_per_gas !== "") { + obj.minimum_fee_per_gas = message.minimum_fee_per_gas; + } + if (message.whitelisted_cw_code_hashes_for_delegate_call?.length) { + obj.whitelisted_cw_code_hashes_for_delegate_call = message.whitelisted_cw_code_hashes_for_delegate_call.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): ParamsPreV580 { + return ParamsPreV580.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ParamsPreV580 { + const message = createBaseParamsPreV580(); + message.priority_normalizer = object.priority_normalizer ?? ""; + message.base_fee_per_gas = object.base_fee_per_gas ?? ""; + message.minimum_fee_per_gas = object.minimum_fee_per_gas ?? ""; + message.whitelisted_cw_code_hashes_for_delegate_call = object.whitelisted_cw_code_hashes_for_delegate_call?.map((e) => e) || []; + return message; + }, +}; + +function createBaseParams(): Params { + return { + priority_normalizer: "", + base_fee_per_gas: "", + minimum_fee_per_gas: "", + whitelisted_cw_code_hashes_for_delegate_call: [], + deliver_tx_hook_wasm_gas_limit: 0, + max_dynamic_base_fee_upward_adjustment: "", + max_dynamic_base_fee_downward_adjustment: "", + }; +} + +function createBaseParamsPreV580(): ParamsPreV580 { + return { + priority_normalizer: "", + base_fee_per_gas: "", + minimum_fee_per_gas: "", + whitelisted_cw_code_hashes_for_delegate_call: [], + }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.Params", Params as never], + ["/seiprotocol.seichain.evm.ParamsPreV580", ParamsPreV580 as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.Params": { + aminoType: "seiprotocol.seichain.evm.Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.ParamsPreV580": { + aminoType: "seiprotocol.seichain.evm.ParamsPreV580", + toAmino: (message: ParamsPreV580) => ({ ...message }), + fromAmino: (object: ParamsPreV580) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/query.ts b/packages/cosmos/generated/encoding/evm/query.ts new file mode 100644 index 000000000..9782bbf75 --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/query.ts @@ -0,0 +1,988 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { pointerTypeFromJSON, pointerTypeToJSON } from "./enums"; + +import type { + QueryEVMAddressBySeiAddressRequest as QueryEVMAddressBySeiAddressRequestType, + QueryEVMAddressBySeiAddressResponse as QueryEVMAddressBySeiAddressResponseType, + QueryPointeeRequest as QueryPointeeRequestType, + QueryPointeeResponse as QueryPointeeResponseType, + QueryPointerRequest as QueryPointerRequestType, + QueryPointerResponse as QueryPointerResponseType, + QueryPointerVersionRequest as QueryPointerVersionRequestType, + QueryPointerVersionResponse as QueryPointerVersionResponseType, + QuerySeiAddressByEVMAddressRequest as QuerySeiAddressByEVMAddressRequestType, + QuerySeiAddressByEVMAddressResponse as QuerySeiAddressByEVMAddressResponseType, + QueryStaticCallRequest as QueryStaticCallRequestType, + QueryStaticCallResponse as QueryStaticCallResponseType, +} from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface QuerySeiAddressByEVMAddressRequest extends QuerySeiAddressByEVMAddressRequestType {} +interface QuerySeiAddressByEVMAddressResponse extends QuerySeiAddressByEVMAddressResponseType {} +interface QueryEVMAddressBySeiAddressRequest extends QueryEVMAddressBySeiAddressRequestType {} +interface QueryEVMAddressBySeiAddressResponse extends QueryEVMAddressBySeiAddressResponseType {} +interface QueryStaticCallRequest extends QueryStaticCallRequestType {} +interface QueryStaticCallResponse extends QueryStaticCallResponseType {} +interface QueryPointerRequest extends QueryPointerRequestType {} +interface QueryPointerResponse extends QueryPointerResponseType {} +interface QueryPointerVersionRequest extends QueryPointerVersionRequestType {} +interface QueryPointerVersionResponse extends QueryPointerVersionResponseType {} +interface QueryPointeeRequest extends QueryPointeeRequestType {} +interface QueryPointeeResponse extends QueryPointeeResponseType {} + +export const QuerySeiAddressByEVMAddressRequest: MessageFns = + { + $type: "seiprotocol.seichain.evm.QuerySeiAddressByEVMAddressRequest" as const, + + encode(message: QuerySeiAddressByEVMAddressRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.evm_address !== "") { + writer.uint32(10).string(message.evm_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySeiAddressByEVMAddressRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySeiAddressByEVMAddressRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evm_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySeiAddressByEVMAddressRequest { + return { evm_address: isSet(object.evm_address) ? globalThis.String(object.evm_address) : "" }; + }, + + toJSON(message: QuerySeiAddressByEVMAddressRequest): unknown { + const obj: any = {}; + if (message.evm_address !== "") { + obj.evm_address = message.evm_address; + } + return obj; + }, + + create, I>>(base?: I): QuerySeiAddressByEVMAddressRequest { + return QuerySeiAddressByEVMAddressRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySeiAddressByEVMAddressRequest { + const message = createBaseQuerySeiAddressByEVMAddressRequest(); + message.evm_address = object.evm_address ?? ""; + return message; + }, + }; + +export const QuerySeiAddressByEVMAddressResponse: MessageFns< + QuerySeiAddressByEVMAddressResponse, + "seiprotocol.seichain.evm.QuerySeiAddressByEVMAddressResponse" +> = { + $type: "seiprotocol.seichain.evm.QuerySeiAddressByEVMAddressResponse" as const, + + encode(message: QuerySeiAddressByEVMAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sei_address !== "") { + writer.uint32(10).string(message.sei_address); + } + if (message.associated !== false) { + writer.uint32(16).bool(message.associated); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySeiAddressByEVMAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySeiAddressByEVMAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sei_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.associated = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySeiAddressByEVMAddressResponse { + return { + sei_address: isSet(object.sei_address) ? globalThis.String(object.sei_address) : "", + associated: isSet(object.associated) ? globalThis.Boolean(object.associated) : false, + }; + }, + + toJSON(message: QuerySeiAddressByEVMAddressResponse): unknown { + const obj: any = {}; + if (message.sei_address !== "") { + obj.sei_address = message.sei_address; + } + if (message.associated !== false) { + obj.associated = message.associated; + } + return obj; + }, + + create, I>>(base?: I): QuerySeiAddressByEVMAddressResponse { + return QuerySeiAddressByEVMAddressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySeiAddressByEVMAddressResponse { + const message = createBaseQuerySeiAddressByEVMAddressResponse(); + message.sei_address = object.sei_address ?? ""; + message.associated = object.associated ?? false; + return message; + }, +}; + +export const QueryEVMAddressBySeiAddressRequest: MessageFns = + { + $type: "seiprotocol.seichain.evm.QueryEVMAddressBySeiAddressRequest" as const, + + encode(message: QueryEVMAddressBySeiAddressRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sei_address !== "") { + writer.uint32(10).string(message.sei_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEVMAddressBySeiAddressRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEVMAddressBySeiAddressRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sei_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryEVMAddressBySeiAddressRequest { + return { sei_address: isSet(object.sei_address) ? globalThis.String(object.sei_address) : "" }; + }, + + toJSON(message: QueryEVMAddressBySeiAddressRequest): unknown { + const obj: any = {}; + if (message.sei_address !== "") { + obj.sei_address = message.sei_address; + } + return obj; + }, + + create, I>>(base?: I): QueryEVMAddressBySeiAddressRequest { + return QueryEVMAddressBySeiAddressRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryEVMAddressBySeiAddressRequest { + const message = createBaseQueryEVMAddressBySeiAddressRequest(); + message.sei_address = object.sei_address ?? ""; + return message; + }, + }; + +export const QueryEVMAddressBySeiAddressResponse: MessageFns< + QueryEVMAddressBySeiAddressResponse, + "seiprotocol.seichain.evm.QueryEVMAddressBySeiAddressResponse" +> = { + $type: "seiprotocol.seichain.evm.QueryEVMAddressBySeiAddressResponse" as const, + + encode(message: QueryEVMAddressBySeiAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.evm_address !== "") { + writer.uint32(10).string(message.evm_address); + } + if (message.associated !== false) { + writer.uint32(16).bool(message.associated); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryEVMAddressBySeiAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryEVMAddressBySeiAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evm_address = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.associated = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryEVMAddressBySeiAddressResponse { + return { + evm_address: isSet(object.evm_address) ? globalThis.String(object.evm_address) : "", + associated: isSet(object.associated) ? globalThis.Boolean(object.associated) : false, + }; + }, + + toJSON(message: QueryEVMAddressBySeiAddressResponse): unknown { + const obj: any = {}; + if (message.evm_address !== "") { + obj.evm_address = message.evm_address; + } + if (message.associated !== false) { + obj.associated = message.associated; + } + return obj; + }, + + create, I>>(base?: I): QueryEVMAddressBySeiAddressResponse { + return QueryEVMAddressBySeiAddressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryEVMAddressBySeiAddressResponse { + const message = createBaseQueryEVMAddressBySeiAddressResponse(); + message.evm_address = object.evm_address ?? ""; + message.associated = object.associated ?? false; + return message; + }, +}; + +export const QueryStaticCallRequest: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryStaticCallRequest" as const, + + encode(message: QueryStaticCallRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + if (message.to !== "") { + writer.uint32(18).string(message.to); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryStaticCallRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStaticCallRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.to = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStaticCallRequest { + return { + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + to: isSet(object.to) ? globalThis.String(object.to) : "", + }; + }, + + toJSON(message: QueryStaticCallRequest): unknown { + const obj: any = {}; + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.to !== "") { + obj.to = message.to; + } + return obj; + }, + + create, I>>(base?: I): QueryStaticCallRequest { + return QueryStaticCallRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryStaticCallRequest { + const message = createBaseQueryStaticCallRequest(); + message.data = object.data ?? new Uint8Array(0); + message.to = object.to ?? ""; + return message; + }, +}; + +export const QueryStaticCallResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryStaticCallResponse" as const, + + encode(message: QueryStaticCallResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryStaticCallResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStaticCallResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStaticCallResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: QueryStaticCallResponse): unknown { + const obj: any = {}; + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + return obj; + }, + + create, I>>(base?: I): QueryStaticCallResponse { + return QueryStaticCallResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryStaticCallResponse { + const message = createBaseQueryStaticCallResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +export const QueryPointerRequest: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointerRequest" as const, + + encode(message: QueryPointerRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointer_type !== 0) { + writer.uint32(8).int32(message.pointer_type); + } + if (message.pointee !== "") { + writer.uint32(18).string(message.pointee); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointerRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointerRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.pointer_type = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pointee = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointerRequest { + return { + pointer_type: isSet(object.pointer_type) ? pointerTypeFromJSON(object.pointer_type) : 0, + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + }; + }, + + toJSON(message: QueryPointerRequest): unknown { + const obj: any = {}; + if (message.pointer_type !== 0) { + obj.pointer_type = pointerTypeToJSON(message.pointer_type); + } + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + return obj; + }, + + create, I>>(base?: I): QueryPointerRequest { + return QueryPointerRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointerRequest { + const message = createBaseQueryPointerRequest(); + message.pointer_type = object.pointer_type ?? 0; + message.pointee = object.pointee ?? ""; + return message; + }, +}; + +export const QueryPointerResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointerResponse" as const, + + encode(message: QueryPointerResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointer !== "") { + writer.uint32(10).string(message.pointer); + } + if (message.version !== 0) { + writer.uint32(16).uint32(message.version); + } + if (message.exists !== false) { + writer.uint32(24).bool(message.exists); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointerResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pointer = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.version = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.exists = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointerResponse { + return { + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + exists: isSet(object.exists) ? globalThis.Boolean(object.exists) : false, + }; + }, + + toJSON(message: QueryPointerResponse): unknown { + const obj: any = {}; + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.exists !== false) { + obj.exists = message.exists; + } + return obj; + }, + + create, I>>(base?: I): QueryPointerResponse { + return QueryPointerResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointerResponse { + const message = createBaseQueryPointerResponse(); + message.pointer = object.pointer ?? ""; + message.version = object.version ?? 0; + message.exists = object.exists ?? false; + return message; + }, +}; + +export const QueryPointerVersionRequest: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointerVersionRequest" as const, + + encode(message: QueryPointerVersionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointer_type !== 0) { + writer.uint32(8).int32(message.pointer_type); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointerVersionRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointerVersionRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.pointer_type = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointerVersionRequest { + return { pointer_type: isSet(object.pointer_type) ? pointerTypeFromJSON(object.pointer_type) : 0 }; + }, + + toJSON(message: QueryPointerVersionRequest): unknown { + const obj: any = {}; + if (message.pointer_type !== 0) { + obj.pointer_type = pointerTypeToJSON(message.pointer_type); + } + return obj; + }, + + create, I>>(base?: I): QueryPointerVersionRequest { + return QueryPointerVersionRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointerVersionRequest { + const message = createBaseQueryPointerVersionRequest(); + message.pointer_type = object.pointer_type ?? 0; + return message; + }, +}; + +export const QueryPointerVersionResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointerVersionResponse" as const, + + encode(message: QueryPointerVersionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== 0) { + writer.uint32(8).uint32(message.version); + } + if (message.cw_code_id !== 0) { + writer.uint32(16).uint64(message.cw_code_id); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointerVersionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointerVersionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.version = reader.uint32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.cw_code_id = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointerVersionResponse { + return { + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + cw_code_id: isSet(object.cw_code_id) ? globalThis.Number(object.cw_code_id) : 0, + }; + }, + + toJSON(message: QueryPointerVersionResponse): unknown { + const obj: any = {}; + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.cw_code_id !== 0) { + obj.cw_code_id = Math.round(message.cw_code_id); + } + return obj; + }, + + create, I>>(base?: I): QueryPointerVersionResponse { + return QueryPointerVersionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointerVersionResponse { + const message = createBaseQueryPointerVersionResponse(); + message.version = object.version ?? 0; + message.cw_code_id = object.cw_code_id ?? 0; + return message; + }, +}; + +export const QueryPointeeRequest: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointeeRequest" as const, + + encode(message: QueryPointeeRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointer_type !== 0) { + writer.uint32(8).int32(message.pointer_type); + } + if (message.pointer !== "") { + writer.uint32(18).string(message.pointer); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointeeRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointeeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.pointer_type = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pointer = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointeeRequest { + return { + pointer_type: isSet(object.pointer_type) ? pointerTypeFromJSON(object.pointer_type) : 0, + pointer: isSet(object.pointer) ? globalThis.String(object.pointer) : "", + }; + }, + + toJSON(message: QueryPointeeRequest): unknown { + const obj: any = {}; + if (message.pointer_type !== 0) { + obj.pointer_type = pointerTypeToJSON(message.pointer_type); + } + if (message.pointer !== "") { + obj.pointer = message.pointer; + } + return obj; + }, + + create, I>>(base?: I): QueryPointeeRequest { + return QueryPointeeRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointeeRequest { + const message = createBaseQueryPointeeRequest(); + message.pointer_type = object.pointer_type ?? 0; + message.pointer = object.pointer ?? ""; + return message; + }, +}; + +export const QueryPointeeResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.QueryPointeeResponse" as const, + + encode(message: QueryPointeeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointee !== "") { + writer.uint32(10).string(message.pointee); + } + if (message.version !== 0) { + writer.uint32(16).uint32(message.version); + } + if (message.exists !== false) { + writer.uint32(24).bool(message.exists); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPointeeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPointeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pointee = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.version = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.exists = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPointeeResponse { + return { + pointee: isSet(object.pointee) ? globalThis.String(object.pointee) : "", + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + exists: isSet(object.exists) ? globalThis.Boolean(object.exists) : false, + }; + }, + + toJSON(message: QueryPointeeResponse): unknown { + const obj: any = {}; + if (message.pointee !== "") { + obj.pointee = message.pointee; + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.exists !== false) { + obj.exists = message.exists; + } + return obj; + }, + + create, I>>(base?: I): QueryPointeeResponse { + return QueryPointeeResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPointeeResponse { + const message = createBaseQueryPointeeResponse(); + message.pointee = object.pointee ?? ""; + message.version = object.version ?? 0; + message.exists = object.exists ?? false; + return message; + }, +}; + +function createBaseQuerySeiAddressByEVMAddressRequest(): QuerySeiAddressByEVMAddressRequest { + return { evm_address: "" }; +} + +function createBaseQuerySeiAddressByEVMAddressResponse(): QuerySeiAddressByEVMAddressResponse { + return { sei_address: "", associated: false }; +} + +function createBaseQueryEVMAddressBySeiAddressRequest(): QueryEVMAddressBySeiAddressRequest { + return { sei_address: "" }; +} + +function createBaseQueryEVMAddressBySeiAddressResponse(): QueryEVMAddressBySeiAddressResponse { + return { evm_address: "", associated: false }; +} + +function createBaseQueryStaticCallRequest(): QueryStaticCallRequest { + return { data: new Uint8Array(0), to: "" }; +} + +function createBaseQueryStaticCallResponse(): QueryStaticCallResponse { + return { data: new Uint8Array(0) }; +} + +function createBaseQueryPointerRequest(): QueryPointerRequest { + return { pointer_type: 0, pointee: "" }; +} + +function createBaseQueryPointerResponse(): QueryPointerResponse { + return { pointer: "", version: 0, exists: false }; +} + +function createBaseQueryPointerVersionRequest(): QueryPointerVersionRequest { + return { pointer_type: 0 }; +} + +function createBaseQueryPointerVersionResponse(): QueryPointerVersionResponse { + return { version: 0, cw_code_id: 0 }; +} + +function createBaseQueryPointeeRequest(): QueryPointeeRequest { + return { pointer_type: 0, pointer: "" }; +} + +function createBaseQueryPointeeResponse(): QueryPointeeResponse { + return { pointee: "", version: 0, exists: false }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.QueryPointerRequest", QueryPointerRequest as never], + ["/seiprotocol.seichain.evm.QueryPointerResponse", QueryPointerResponse as never], + ["/seiprotocol.seichain.evm.QueryPointeeRequest", QueryPointeeRequest as never], + ["/seiprotocol.seichain.evm.QueryPointeeResponse", QueryPointeeResponse as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.QueryPointerRequest": { + aminoType: "seiprotocol.seichain.evm.QueryPointerRequest", + toAmino: (message: QueryPointerRequest) => ({ ...message }), + fromAmino: (object: QueryPointerRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.QueryPointerResponse": { + aminoType: "seiprotocol.seichain.evm.QueryPointerResponse", + toAmino: (message: QueryPointerResponse) => ({ ...message }), + fromAmino: (object: QueryPointerResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.QueryPointeeRequest": { + aminoType: "seiprotocol.seichain.evm.QueryPointeeRequest", + toAmino: (message: QueryPointeeRequest) => ({ ...message }), + fromAmino: (object: QueryPointeeRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.QueryPointeeResponse": { + aminoType: "seiprotocol.seichain.evm.QueryPointeeResponse", + toAmino: (message: QueryPointeeResponse) => ({ ...message }), + fromAmino: (object: QueryPointeeResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/receipt.ts b/packages/cosmos/generated/encoding/evm/receipt.ts new file mode 100644 index 000000000..7e085a98d --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/receipt.ts @@ -0,0 +1,459 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Log as LogType, Receipt as ReceiptType } from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Log extends LogType {} +interface Receipt extends ReceiptType {} + +export const Log: MessageFns = { + $type: "seiprotocol.seichain.evm.Log" as const, + + encode(message: Log, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.topics) { + writer.uint32(18).string(v!); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + if (message.index !== 0) { + writer.uint32(32).uint32(message.index); + } + if (message.synthetic !== false) { + writer.uint32(40).bool(message.synthetic); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Log { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLog(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.topics.push(reader.string()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.data = reader.bytes(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.index = reader.uint32(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.synthetic = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Log { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + topics: globalThis.Array.isArray(object?.topics) ? object.topics.map((e: any) => globalThis.String(e)) : [], + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + synthetic: isSet(object.synthetic) ? globalThis.Boolean(object.synthetic) : false, + }; + }, + + toJSON(message: Log): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.topics?.length) { + obj.topics = message.topics; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.synthetic !== false) { + obj.synthetic = message.synthetic; + } + return obj; + }, + + create, I>>(base?: I): Log { + return Log.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Log { + const message = createBaseLog(); + message.address = object.address ?? ""; + message.topics = object.topics?.map((e) => e) || []; + message.data = object.data ?? new Uint8Array(0); + message.index = object.index ?? 0; + message.synthetic = object.synthetic ?? false; + return message; + }, +}; + +export const Receipt: MessageFns = { + $type: "seiprotocol.seichain.evm.Receipt" as const, + + encode(message: Receipt, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx_type !== 0) { + writer.uint32(8).uint32(message.tx_type); + } + if (message.cumulative_gas_used !== 0) { + writer.uint32(16).uint64(message.cumulative_gas_used); + } + if (message.contract_address !== "") { + writer.uint32(26).string(message.contract_address); + } + if (message.tx_hash_hex !== "") { + writer.uint32(34).string(message.tx_hash_hex); + } + if (message.gas_used !== 0) { + writer.uint32(40).uint64(message.gas_used); + } + if (message.effective_gas_price !== 0) { + writer.uint32(48).uint64(message.effective_gas_price); + } + if (message.block_number !== 0) { + writer.uint32(56).uint64(message.block_number); + } + if (message.transaction_index !== 0) { + writer.uint32(64).uint32(message.transaction_index); + } + if (message.status !== 0) { + writer.uint32(72).uint32(message.status); + } + if (message.from !== "") { + writer.uint32(82).string(message.from); + } + if (message.to !== "") { + writer.uint32(90).string(message.to); + } + if (message.vm_error !== "") { + writer.uint32(98).string(message.vm_error); + } + for (const v of message.logs) { + Log.encode(v!, writer.uint32(106).fork()).join(); + } + if (message.logsBloom.length !== 0) { + writer.uint32(114).bytes(message.logsBloom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Receipt { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReceipt(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.tx_type = reader.uint32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.cumulative_gas_used = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contract_address = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.tx_hash_hex = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_used = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.effective_gas_price = longToNumber(reader.uint64()); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.block_number = longToNumber(reader.uint64()); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.transaction_index = reader.uint32(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.status = reader.uint32(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.from = reader.string(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.to = reader.string(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.vm_error = reader.string(); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.logs.push(Log.decode(reader, reader.uint32())); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.logsBloom = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Receipt { + return { + tx_type: isSet(object.tx_type) ? globalThis.Number(object.tx_type) : 0, + cumulative_gas_used: isSet(object.cumulative_gas_used) ? globalThis.Number(object.cumulative_gas_used) : 0, + contract_address: isSet(object.contract_address) ? globalThis.String(object.contract_address) : "", + tx_hash_hex: isSet(object.tx_hash_hex) ? globalThis.String(object.tx_hash_hex) : "", + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + effective_gas_price: isSet(object.effective_gas_price) ? globalThis.Number(object.effective_gas_price) : 0, + block_number: isSet(object.block_number) ? globalThis.Number(object.block_number) : 0, + transaction_index: isSet(object.transaction_index) ? globalThis.Number(object.transaction_index) : 0, + status: isSet(object.status) ? globalThis.Number(object.status) : 0, + from: isSet(object.from) ? globalThis.String(object.from) : "", + to: isSet(object.to) ? globalThis.String(object.to) : "", + vm_error: isSet(object.vm_error) ? globalThis.String(object.vm_error) : "", + logs: globalThis.Array.isArray(object?.logs) ? object.logs.map((e: any) => Log.fromJSON(e)) : [], + logsBloom: isSet(object.logsBloom) ? bytesFromBase64(object.logsBloom) : new Uint8Array(0), + }; + }, + + toJSON(message: Receipt): unknown { + const obj: any = {}; + if (message.tx_type !== 0) { + obj.tx_type = Math.round(message.tx_type); + } + if (message.cumulative_gas_used !== 0) { + obj.cumulative_gas_used = Math.round(message.cumulative_gas_used); + } + if (message.contract_address !== "") { + obj.contract_address = message.contract_address; + } + if (message.tx_hash_hex !== "") { + obj.tx_hash_hex = message.tx_hash_hex; + } + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + if (message.effective_gas_price !== 0) { + obj.effective_gas_price = Math.round(message.effective_gas_price); + } + if (message.block_number !== 0) { + obj.block_number = Math.round(message.block_number); + } + if (message.transaction_index !== 0) { + obj.transaction_index = Math.round(message.transaction_index); + } + if (message.status !== 0) { + obj.status = Math.round(message.status); + } + if (message.from !== "") { + obj.from = message.from; + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.vm_error !== "") { + obj.vm_error = message.vm_error; + } + if (message.logs?.length) { + obj.logs = message.logs.map((e) => Log.toJSON(e)); + } + if (message.logsBloom.length !== 0) { + obj.logsBloom = base64FromBytes(message.logsBloom); + } + return obj; + }, + + create, I>>(base?: I): Receipt { + return Receipt.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Receipt { + const message = createBaseReceipt(); + message.tx_type = object.tx_type ?? 0; + message.cumulative_gas_used = object.cumulative_gas_used ?? 0; + message.contract_address = object.contract_address ?? ""; + message.tx_hash_hex = object.tx_hash_hex ?? ""; + message.gas_used = object.gas_used ?? 0; + message.effective_gas_price = object.effective_gas_price ?? 0; + message.block_number = object.block_number ?? 0; + message.transaction_index = object.transaction_index ?? 0; + message.status = object.status ?? 0; + message.from = object.from ?? ""; + message.to = object.to ?? ""; + message.vm_error = object.vm_error ?? ""; + message.logs = object.logs?.map((e) => Log.fromPartial(e)) || []; + message.logsBloom = object.logsBloom ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseLog(): Log { + return { address: "", topics: [], data: new Uint8Array(0), index: 0, synthetic: false }; +} + +function createBaseReceipt(): Receipt { + return { + tx_type: 0, + cumulative_gas_used: 0, + contract_address: "", + tx_hash_hex: "", + gas_used: 0, + effective_gas_price: 0, + block_number: 0, + transaction_index: 0, + status: 0, + from: "", + to: "", + vm_error: "", + logs: [], + logsBloom: new Uint8Array(0), + }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.Log", Log as never], + ["/seiprotocol.seichain.evm.Receipt", Receipt as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.Log": { + aminoType: "seiprotocol.seichain.evm.Log", + toAmino: (message: Log) => ({ ...message }), + fromAmino: (object: Log) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.Receipt": { + aminoType: "seiprotocol.seichain.evm.Receipt", + toAmino: (message: Receipt) => ({ ...message }), + fromAmino: (object: Receipt) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/tx.ts b/packages/cosmos/generated/encoding/evm/tx.ts new file mode 100644 index 000000000..b0ec7a70f --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/tx.ts @@ -0,0 +1,1183 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Coin } from "../cosmos/base/v1beta1/coin"; + +import { Any } from "../google/protobuf/any"; + +import { pointerTypeFromJSON, pointerTypeToJSON } from "./enums"; + +import { Log } from "./receipt"; + +import type { + MsgAssociateContractAddressResponse as MsgAssociateContractAddressResponseType, + MsgAssociateContractAddress as MsgAssociateContractAddressType, + MsgAssociateResponse as MsgAssociateResponseType, + MsgAssociate as MsgAssociateType, + MsgEVMTransactionResponse as MsgEVMTransactionResponseType, + MsgEVMTransaction as MsgEVMTransactionType, + MsgInternalEVMCallResponse as MsgInternalEVMCallResponseType, + MsgInternalEVMCall as MsgInternalEVMCallType, + MsgInternalEVMDelegateCallResponse as MsgInternalEVMDelegateCallResponseType, + MsgInternalEVMDelegateCall as MsgInternalEVMDelegateCallType, + MsgRegisterPointerResponse as MsgRegisterPointerResponseType, + MsgRegisterPointer as MsgRegisterPointerType, + MsgSendResponse as MsgSendResponseType, + MsgSend as MsgSendType, +} from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface MsgEVMTransaction extends MsgEVMTransactionType {} +interface MsgEVMTransactionResponse extends MsgEVMTransactionResponseType {} +interface MsgInternalEVMCall extends MsgInternalEVMCallType {} +interface MsgInternalEVMCallResponse extends MsgInternalEVMCallResponseType {} +interface MsgInternalEVMDelegateCall extends MsgInternalEVMDelegateCallType {} +interface MsgInternalEVMDelegateCallResponse extends MsgInternalEVMDelegateCallResponseType {} +interface MsgSend extends MsgSendType {} +interface MsgSendResponse extends MsgSendResponseType {} +interface MsgRegisterPointer extends MsgRegisterPointerType {} +interface MsgRegisterPointerResponse extends MsgRegisterPointerResponseType {} +interface MsgAssociateContractAddress extends MsgAssociateContractAddressType {} +interface MsgAssociateContractAddressResponse extends MsgAssociateContractAddressResponseType {} +interface MsgAssociate extends MsgAssociateType {} +interface MsgAssociateResponse extends MsgAssociateResponseType {} + +export const MsgEVMTransaction: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgEVMTransaction" as const, + + encode(message: MsgEVMTransaction, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data !== undefined) { + Any.encode(message.data, writer.uint32(10).fork()).join(); + } + if (message.derived.length !== 0) { + writer.uint32(18).bytes(message.derived); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgEVMTransaction { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEVMTransaction(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = Any.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.derived = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgEVMTransaction { + return { + data: isSet(object.data) ? Any.fromJSON(object.data) : undefined, + derived: isSet(object.derived) ? bytesFromBase64(object.derived) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgEVMTransaction): unknown { + const obj: any = {}; + if (message.data !== undefined) { + obj.data = Any.toJSON(message.data); + } + if (message.derived.length !== 0) { + obj.derived = base64FromBytes(message.derived); + } + return obj; + }, + + create, I>>(base?: I): MsgEVMTransaction { + return MsgEVMTransaction.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgEVMTransaction { + const message = createBaseMsgEVMTransaction(); + message.data = object.data !== undefined && object.data !== null ? Any.fromPartial(object.data) : undefined; + message.derived = object.derived ?? new Uint8Array(0); + return message; + }, +}; + +export const MsgEVMTransactionResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgEVMTransactionResponse" as const, + + encode(message: MsgEVMTransactionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.gas_used !== 0) { + writer.uint32(8).uint64(message.gas_used); + } + if (message.vm_error !== "") { + writer.uint32(18).string(message.vm_error); + } + if (message.return_data.length !== 0) { + writer.uint32(26).bytes(message.return_data); + } + if (message.hash !== "") { + writer.uint32(34).string(message.hash); + } + for (const v of message.logs) { + Log.encode(v!, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgEVMTransactionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEVMTransactionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.gas_used = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.vm_error = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.return_data = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.logs.push(Log.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgEVMTransactionResponse { + return { + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + vm_error: isSet(object.vm_error) ? globalThis.String(object.vm_error) : "", + return_data: isSet(object.return_data) ? bytesFromBase64(object.return_data) : new Uint8Array(0), + hash: isSet(object.hash) ? globalThis.String(object.hash) : "", + logs: globalThis.Array.isArray(object?.logs) ? object.logs.map((e: any) => Log.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgEVMTransactionResponse): unknown { + const obj: any = {}; + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + if (message.vm_error !== "") { + obj.vm_error = message.vm_error; + } + if (message.return_data.length !== 0) { + obj.return_data = base64FromBytes(message.return_data); + } + if (message.hash !== "") { + obj.hash = message.hash; + } + if (message.logs?.length) { + obj.logs = message.logs.map((e) => Log.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgEVMTransactionResponse { + return MsgEVMTransactionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgEVMTransactionResponse { + const message = createBaseMsgEVMTransactionResponse(); + message.gas_used = object.gas_used ?? 0; + message.vm_error = object.vm_error ?? ""; + message.return_data = object.return_data ?? new Uint8Array(0); + message.hash = object.hash ?? ""; + message.logs = object.logs?.map((e) => Log.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgInternalEVMCall: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgInternalEVMCall" as const, + + encode(message: MsgInternalEVMCall, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + if (message.to !== "") { + writer.uint32(26).string(message.to); + } + if (message.data.length !== 0) { + writer.uint32(34).bytes(message.data); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgInternalEVMCall { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInternalEVMCall(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.to = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInternalEVMCall { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + to: isSet(object.to) ? globalThis.String(object.to) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgInternalEVMCall): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + return obj; + }, + + create, I>>(base?: I): MsgInternalEVMCall { + return MsgInternalEVMCall.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgInternalEVMCall { + const message = createBaseMsgInternalEVMCall(); + message.sender = object.sender ?? ""; + message.value = object.value ?? ""; + message.to = object.to ?? ""; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +export const MsgInternalEVMCallResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgInternalEVMCallResponse" as const, + + encode(_: MsgInternalEVMCallResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgInternalEVMCallResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInternalEVMCallResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgInternalEVMCallResponse { + return {}; + }, + + toJSON(_: MsgInternalEVMCallResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgInternalEVMCallResponse { + return MsgInternalEVMCallResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgInternalEVMCallResponse { + const message = createBaseMsgInternalEVMCallResponse(); + return message; + }, +}; + +export const MsgInternalEVMDelegateCall: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgInternalEVMDelegateCall" as const, + + encode(message: MsgInternalEVMDelegateCall, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.codeHash.length !== 0) { + writer.uint32(18).bytes(message.codeHash); + } + if (message.to !== "") { + writer.uint32(26).string(message.to); + } + if (message.data.length !== 0) { + writer.uint32(34).bytes(message.data); + } + if (message.fromContract !== "") { + writer.uint32(42).string(message.fromContract); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgInternalEVMDelegateCall { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInternalEVMDelegateCall(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.codeHash = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.to = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.data = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.fromContract = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInternalEVMDelegateCall { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + codeHash: isSet(object.codeHash) ? bytesFromBase64(object.codeHash) : new Uint8Array(0), + to: isSet(object.to) ? globalThis.String(object.to) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + fromContract: isSet(object.fromContract) ? globalThis.String(object.fromContract) : "", + }; + }, + + toJSON(message: MsgInternalEVMDelegateCall): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.codeHash.length !== 0) { + obj.codeHash = base64FromBytes(message.codeHash); + } + if (message.to !== "") { + obj.to = message.to; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.fromContract !== "") { + obj.fromContract = message.fromContract; + } + return obj; + }, + + create, I>>(base?: I): MsgInternalEVMDelegateCall { + return MsgInternalEVMDelegateCall.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgInternalEVMDelegateCall { + const message = createBaseMsgInternalEVMDelegateCall(); + message.sender = object.sender ?? ""; + message.codeHash = object.codeHash ?? new Uint8Array(0); + message.to = object.to ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.fromContract = object.fromContract ?? ""; + return message; + }, +}; + +export const MsgInternalEVMDelegateCallResponse: MessageFns = + { + $type: "seiprotocol.seichain.evm.MsgInternalEVMDelegateCallResponse" as const, + + encode(_: MsgInternalEVMDelegateCallResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgInternalEVMDelegateCallResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInternalEVMDelegateCallResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgInternalEVMDelegateCallResponse { + return {}; + }, + + toJSON(_: MsgInternalEVMDelegateCallResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgInternalEVMDelegateCallResponse { + return MsgInternalEVMDelegateCallResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgInternalEVMDelegateCallResponse { + const message = createBaseMsgInternalEVMDelegateCallResponse(); + return message; + }, + }; + +export const MsgSend: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgSend" as const, + + encode(message: MsgSend, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.from_address !== "") { + writer.uint32(10).string(message.from_address); + } + if (message.to_address !== "") { + writer.uint32(18).string(message.to_address); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.from_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.to_address = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSend { + return { + from_address: isSet(object.from_address) ? globalThis.String(object.from_address) : "", + to_address: isSet(object.to_address) ? globalThis.String(object.to_address) : "", + amount: globalThis.Array.isArray(object?.amount) ? object.amount.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgSend): unknown { + const obj: any = {}; + if (message.from_address !== "") { + obj.from_address = message.from_address; + } + if (message.to_address !== "") { + obj.to_address = message.to_address; + } + if (message.amount?.length) { + obj.amount = message.amount.map((e) => Coin.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MsgSend { + return MsgSend.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSend { + const message = createBaseMsgSend(); + message.from_address = object.from_address ?? ""; + message.to_address = object.to_address ?? ""; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +export const MsgSendResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgSendResponse" as const, + + encode(_: MsgSendResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgSendResponse { + return {}; + }, + + toJSON(_: MsgSendResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgSendResponse { + return MsgSendResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgSendResponse { + const message = createBaseMsgSendResponse(); + return message; + }, +}; + +export const MsgRegisterPointer: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgRegisterPointer" as const, + + encode(message: MsgRegisterPointer, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.pointer_type !== 0) { + writer.uint32(16).int32(message.pointer_type); + } + if (message.erc_address !== "") { + writer.uint32(26).string(message.erc_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterPointer { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterPointer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.pointer_type = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.erc_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRegisterPointer { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + pointer_type: isSet(object.pointer_type) ? pointerTypeFromJSON(object.pointer_type) : 0, + erc_address: isSet(object.erc_address) ? globalThis.String(object.erc_address) : "", + }; + }, + + toJSON(message: MsgRegisterPointer): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.pointer_type !== 0) { + obj.pointer_type = pointerTypeToJSON(message.pointer_type); + } + if (message.erc_address !== "") { + obj.erc_address = message.erc_address; + } + return obj; + }, + + create, I>>(base?: I): MsgRegisterPointer { + return MsgRegisterPointer.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgRegisterPointer { + const message = createBaseMsgRegisterPointer(); + message.sender = object.sender ?? ""; + message.pointer_type = object.pointer_type ?? 0; + message.erc_address = object.erc_address ?? ""; + return message; + }, +}; + +export const MsgRegisterPointerResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgRegisterPointerResponse" as const, + + encode(message: MsgRegisterPointerResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pointer_address !== "") { + writer.uint32(10).string(message.pointer_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterPointerResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterPointerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pointer_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRegisterPointerResponse { + return { pointer_address: isSet(object.pointer_address) ? globalThis.String(object.pointer_address) : "" }; + }, + + toJSON(message: MsgRegisterPointerResponse): unknown { + const obj: any = {}; + if (message.pointer_address !== "") { + obj.pointer_address = message.pointer_address; + } + return obj; + }, + + create, I>>(base?: I): MsgRegisterPointerResponse { + return MsgRegisterPointerResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgRegisterPointerResponse { + const message = createBaseMsgRegisterPointerResponse(); + message.pointer_address = object.pointer_address ?? ""; + return message; + }, +}; + +export const MsgAssociateContractAddress: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgAssociateContractAddress" as const, + + encode(message: MsgAssociateContractAddress, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.address !== "") { + writer.uint32(18).string(message.address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAssociateContractAddress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAssociateContractAddress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAssociateContractAddress { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + address: isSet(object.address) ? globalThis.String(object.address) : "", + }; + }, + + toJSON(message: MsgAssociateContractAddress): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.address !== "") { + obj.address = message.address; + } + return obj; + }, + + create, I>>(base?: I): MsgAssociateContractAddress { + return MsgAssociateContractAddress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgAssociateContractAddress { + const message = createBaseMsgAssociateContractAddress(); + message.sender = object.sender ?? ""; + message.address = object.address ?? ""; + return message; + }, +}; + +export const MsgAssociateContractAddressResponse: MessageFns< + MsgAssociateContractAddressResponse, + "seiprotocol.seichain.evm.MsgAssociateContractAddressResponse" +> = { + $type: "seiprotocol.seichain.evm.MsgAssociateContractAddressResponse" as const, + + encode(_: MsgAssociateContractAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAssociateContractAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAssociateContractAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAssociateContractAddressResponse { + return {}; + }, + + toJSON(_: MsgAssociateContractAddressResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgAssociateContractAddressResponse { + return MsgAssociateContractAddressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgAssociateContractAddressResponse { + const message = createBaseMsgAssociateContractAddressResponse(); + return message; + }, +}; + +export const MsgAssociate: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgAssociate" as const, + + encode(message: MsgAssociate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.custom_message !== "") { + writer.uint32(18).string(message.custom_message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAssociate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAssociate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.custom_message = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAssociate { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + custom_message: isSet(object.custom_message) ? globalThis.String(object.custom_message) : "", + }; + }, + + toJSON(message: MsgAssociate): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.custom_message !== "") { + obj.custom_message = message.custom_message; + } + return obj; + }, + + create, I>>(base?: I): MsgAssociate { + return MsgAssociate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgAssociate { + const message = createBaseMsgAssociate(); + message.sender = object.sender ?? ""; + message.custom_message = object.custom_message ?? ""; + return message; + }, +}; + +export const MsgAssociateResponse: MessageFns = { + $type: "seiprotocol.seichain.evm.MsgAssociateResponse" as const, + + encode(_: MsgAssociateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAssociateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAssociateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAssociateResponse { + return {}; + }, + + toJSON(_: MsgAssociateResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgAssociateResponse { + return MsgAssociateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgAssociateResponse { + const message = createBaseMsgAssociateResponse(); + return message; + }, +}; + +function createBaseMsgEVMTransaction(): MsgEVMTransaction { + return { data: undefined, derived: new Uint8Array(0) }; +} + +function createBaseMsgEVMTransactionResponse(): MsgEVMTransactionResponse { + return { gas_used: 0, vm_error: "", return_data: new Uint8Array(0), hash: "", logs: [] }; +} + +function createBaseMsgInternalEVMCall(): MsgInternalEVMCall { + return { sender: "", value: "", to: "", data: new Uint8Array(0) }; +} + +function createBaseMsgInternalEVMCallResponse(): MsgInternalEVMCallResponse { + return {}; +} + +function createBaseMsgInternalEVMDelegateCall(): MsgInternalEVMDelegateCall { + return { sender: "", codeHash: new Uint8Array(0), to: "", data: new Uint8Array(0), fromContract: "" }; +} + +function createBaseMsgInternalEVMDelegateCallResponse(): MsgInternalEVMDelegateCallResponse { + return {}; +} + +function createBaseMsgSend(): MsgSend { + return { from_address: "", to_address: "", amount: [] }; +} + +function createBaseMsgSendResponse(): MsgSendResponse { + return {}; +} + +function createBaseMsgRegisterPointer(): MsgRegisterPointer { + return { sender: "", pointer_type: 0, erc_address: "" }; +} + +function createBaseMsgRegisterPointerResponse(): MsgRegisterPointerResponse { + return { pointer_address: "" }; +} + +function createBaseMsgAssociateContractAddress(): MsgAssociateContractAddress { + return { sender: "", address: "" }; +} + +function createBaseMsgAssociateContractAddressResponse(): MsgAssociateContractAddressResponse { + return {}; +} + +function createBaseMsgAssociate(): MsgAssociate { + return { sender: "", custom_message: "" }; +} + +function createBaseMsgAssociateResponse(): MsgAssociateResponse { + return {}; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.MsgEVMTransaction", MsgEVMTransaction as never], + ["/seiprotocol.seichain.evm.MsgInternalEVMCall", MsgInternalEVMCall as never], + ["/seiprotocol.seichain.evm.MsgSend", MsgSend as never], + ["/seiprotocol.seichain.evm.MsgSendResponse", MsgSendResponse as never], + ["/seiprotocol.seichain.evm.MsgRegisterPointer", MsgRegisterPointer as never], + ["/seiprotocol.seichain.evm.MsgAssociate", MsgAssociate as never], + ["/seiprotocol.seichain.evm.MsgAssociateResponse", MsgAssociateResponse as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.MsgEVMTransaction": { + aminoType: "seiprotocol.seichain.evm.MsgEVMTransaction", + toAmino: (message: MsgEVMTransaction) => ({ ...message }), + fromAmino: (object: MsgEVMTransaction) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgInternalEVMCall": { + aminoType: "seiprotocol.seichain.evm.MsgInternalEVMCall", + toAmino: (message: MsgInternalEVMCall) => ({ ...message }), + fromAmino: (object: MsgInternalEVMCall) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgSend": { + aminoType: "seiprotocol.seichain.evm.MsgSend", + toAmino: (message: MsgSend) => ({ ...message }), + fromAmino: (object: MsgSend) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgSendResponse": { + aminoType: "seiprotocol.seichain.evm.MsgSendResponse", + toAmino: (message: MsgSendResponse) => ({ ...message }), + fromAmino: (object: MsgSendResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgRegisterPointer": { + aminoType: "seiprotocol.seichain.evm.MsgRegisterPointer", + toAmino: (message: MsgRegisterPointer) => ({ ...message }), + fromAmino: (object: MsgRegisterPointer) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgAssociate": { + aminoType: "seiprotocol.seichain.evm.MsgAssociate", + toAmino: (message: MsgAssociate) => ({ ...message }), + fromAmino: (object: MsgAssociate) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.MsgAssociateResponse": { + aminoType: "seiprotocol.seichain.evm.MsgAssociateResponse", + toAmino: (message: MsgAssociateResponse) => ({ ...message }), + fromAmino: (object: MsgAssociateResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/evm/types.ts b/packages/cosmos/generated/encoding/evm/types.ts new file mode 100644 index 000000000..24a2ce0d2 --- /dev/null +++ b/packages/cosmos/generated/encoding/evm/types.ts @@ -0,0 +1,238 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { DeferredInfo as DeferredInfoType, Whitelist as WhitelistType } from "../../types/evm"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Whitelist extends WhitelistType {} +interface DeferredInfo extends DeferredInfoType {} + +export const Whitelist: MessageFns = { + $type: "seiprotocol.seichain.evm.Whitelist" as const, + + encode(message: Whitelist, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.hashes) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Whitelist { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWhitelist(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hashes.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Whitelist { + return { + hashes: globalThis.Array.isArray(object?.hashes) ? object.hashes.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: Whitelist): unknown { + const obj: any = {}; + if (message.hashes?.length) { + obj.hashes = message.hashes; + } + return obj; + }, + + create, I>>(base?: I): Whitelist { + return Whitelist.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Whitelist { + const message = createBaseWhitelist(); + message.hashes = object.hashes?.map((e) => e) || []; + return message; + }, +}; + +export const DeferredInfo: MessageFns = { + $type: "seiprotocol.seichain.evm.DeferredInfo" as const, + + encode(message: DeferredInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx_index !== 0) { + writer.uint32(8).uint32(message.tx_index); + } + if (message.tx_hash.length !== 0) { + writer.uint32(18).bytes(message.tx_hash); + } + if (message.tx_bloom.length !== 0) { + writer.uint32(26).bytes(message.tx_bloom); + } + if (message.surplus !== "") { + writer.uint32(34).string(message.surplus); + } + if (message.error !== "") { + writer.uint32(42).string(message.error); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeferredInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeferredInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.tx_index = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx_hash = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tx_bloom = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.surplus = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.error = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeferredInfo { + return { + tx_index: isSet(object.tx_index) ? globalThis.Number(object.tx_index) : 0, + tx_hash: isSet(object.tx_hash) ? bytesFromBase64(object.tx_hash) : new Uint8Array(0), + tx_bloom: isSet(object.tx_bloom) ? bytesFromBase64(object.tx_bloom) : new Uint8Array(0), + surplus: isSet(object.surplus) ? globalThis.String(object.surplus) : "", + error: isSet(object.error) ? globalThis.String(object.error) : "", + }; + }, + + toJSON(message: DeferredInfo): unknown { + const obj: any = {}; + if (message.tx_index !== 0) { + obj.tx_index = Math.round(message.tx_index); + } + if (message.tx_hash.length !== 0) { + obj.tx_hash = base64FromBytes(message.tx_hash); + } + if (message.tx_bloom.length !== 0) { + obj.tx_bloom = base64FromBytes(message.tx_bloom); + } + if (message.surplus !== "") { + obj.surplus = message.surplus; + } + if (message.error !== "") { + obj.error = message.error; + } + return obj; + }, + + create, I>>(base?: I): DeferredInfo { + return DeferredInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeferredInfo { + const message = createBaseDeferredInfo(); + message.tx_index = object.tx_index ?? 0; + message.tx_hash = object.tx_hash ?? new Uint8Array(0); + message.tx_bloom = object.tx_bloom ?? new Uint8Array(0); + message.surplus = object.surplus ?? ""; + message.error = object.error ?? ""; + return message; + }, +}; + +function createBaseWhitelist(): Whitelist { + return { hashes: [] }; +} + +function createBaseDeferredInfo(): DeferredInfo { + return { tx_index: 0, tx_hash: new Uint8Array(0), tx_bloom: new Uint8Array(0), surplus: "", error: "" }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.evm.Whitelist", Whitelist as never], + ["/seiprotocol.seichain.evm.DeferredInfo", DeferredInfo as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.evm.Whitelist": { + aminoType: "seiprotocol.seichain.evm.Whitelist", + toAmino: (message: Whitelist) => ({ ...message }), + fromAmino: (object: Whitelist) => ({ ...object }), + }, + + "/seiprotocol.seichain.evm.DeferredInfo": { + aminoType: "seiprotocol.seichain.evm.DeferredInfo", + toAmino: (message: DeferredInfo) => ({ ...message }), + fromAmino: (object: DeferredInfo) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/gogoproto/gogo.ts b/packages/cosmos/generated/encoding/gogoproto/gogo.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/generated/encoding/gogoproto/index.ts b/packages/cosmos/generated/encoding/gogoproto/index.ts new file mode 100644 index 000000000..66a02827b --- /dev/null +++ b/packages/cosmos/generated/encoding/gogoproto/index.ts @@ -0,0 +1 @@ +export * from './gogo'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/google/api/annotations.ts b/packages/cosmos/generated/encoding/google/api/annotations.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/generated/encoding/google/api/http.ts b/packages/cosmos/generated/encoding/google/api/http.ts new file mode 100644 index 000000000..9a2bd4b7f --- /dev/null +++ b/packages/cosmos/generated/encoding/google/api/http.ts @@ -0,0 +1,398 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { CustomHttpPattern as CustomHttpPatternType, HttpRule as HttpRuleType, Http as HttpType } from "../../../types/google/api"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Http extends HttpType {} +interface HttpRule extends HttpRuleType {} +interface CustomHttpPattern extends CustomHttpPatternType {} + +export const Http: MessageFns = { + $type: "google.api.Http" as const, + + encode(message: Http, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.rules) { + HttpRule.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.fully_decode_reserved_expansion !== false) { + writer.uint32(16).bool(message.fully_decode_reserved_expansion); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Http { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHttp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.rules.push(HttpRule.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.fully_decode_reserved_expansion = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Http { + return { + rules: globalThis.Array.isArray(object?.rules) ? object.rules.map((e: any) => HttpRule.fromJSON(e)) : [], + fully_decode_reserved_expansion: isSet(object.fully_decode_reserved_expansion) ? globalThis.Boolean(object.fully_decode_reserved_expansion) : false, + }; + }, + + toJSON(message: Http): unknown { + const obj: any = {}; + if (message.rules?.length) { + obj.rules = message.rules.map((e) => HttpRule.toJSON(e)); + } + if (message.fully_decode_reserved_expansion !== false) { + obj.fully_decode_reserved_expansion = message.fully_decode_reserved_expansion; + } + return obj; + }, + + create, I>>(base?: I): Http { + return Http.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Http { + const message = createBaseHttp(); + message.rules = object.rules?.map((e) => HttpRule.fromPartial(e)) || []; + message.fully_decode_reserved_expansion = object.fully_decode_reserved_expansion ?? false; + return message; + }, +}; + +export const HttpRule: MessageFns = { + $type: "google.api.HttpRule" as const, + + encode(message: HttpRule, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.selector !== "") { + writer.uint32(10).string(message.selector); + } + if (message.get !== undefined) { + writer.uint32(18).string(message.get); + } + if (message.put !== undefined) { + writer.uint32(26).string(message.put); + } + if (message.post !== undefined) { + writer.uint32(34).string(message.post); + } + if (message.delete !== undefined) { + writer.uint32(42).string(message.delete); + } + if (message.patch !== undefined) { + writer.uint32(50).string(message.patch); + } + if (message.custom !== undefined) { + CustomHttpPattern.encode(message.custom, writer.uint32(66).fork()).join(); + } + if (message.body !== "") { + writer.uint32(58).string(message.body); + } + if (message.response_body !== "") { + writer.uint32(98).string(message.response_body); + } + for (const v of message.additional_bindings) { + HttpRule.encode(v!, writer.uint32(90).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): HttpRule { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHttpRule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.selector = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.get = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.put = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.post = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.delete = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.patch = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.custom = CustomHttpPattern.decode(reader, reader.uint32()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.body = reader.string(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.response_body = reader.string(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.additional_bindings.push(HttpRule.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): HttpRule { + return { + selector: isSet(object.selector) ? globalThis.String(object.selector) : "", + get: isSet(object.get) ? globalThis.String(object.get) : undefined, + put: isSet(object.put) ? globalThis.String(object.put) : undefined, + post: isSet(object.post) ? globalThis.String(object.post) : undefined, + delete: isSet(object.delete) ? globalThis.String(object.delete) : undefined, + patch: isSet(object.patch) ? globalThis.String(object.patch) : undefined, + custom: isSet(object.custom) ? CustomHttpPattern.fromJSON(object.custom) : undefined, + body: isSet(object.body) ? globalThis.String(object.body) : "", + response_body: isSet(object.response_body) ? globalThis.String(object.response_body) : "", + additional_bindings: globalThis.Array.isArray(object?.additional_bindings) ? object.additional_bindings.map((e: any) => HttpRule.fromJSON(e)) : [], + }; + }, + + toJSON(message: HttpRule): unknown { + const obj: any = {}; + if (message.selector !== "") { + obj.selector = message.selector; + } + if (message.get !== undefined) { + obj.get = message.get; + } + if (message.put !== undefined) { + obj.put = message.put; + } + if (message.post !== undefined) { + obj.post = message.post; + } + if (message.delete !== undefined) { + obj.delete = message.delete; + } + if (message.patch !== undefined) { + obj.patch = message.patch; + } + if (message.custom !== undefined) { + obj.custom = CustomHttpPattern.toJSON(message.custom); + } + if (message.body !== "") { + obj.body = message.body; + } + if (message.response_body !== "") { + obj.response_body = message.response_body; + } + if (message.additional_bindings?.length) { + obj.additional_bindings = message.additional_bindings.map((e) => HttpRule.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): HttpRule { + return HttpRule.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): HttpRule { + const message = createBaseHttpRule(); + message.selector = object.selector ?? ""; + message.get = object.get ?? undefined; + message.put = object.put ?? undefined; + message.post = object.post ?? undefined; + message.delete = object.delete ?? undefined; + message.patch = object.patch ?? undefined; + message.custom = object.custom !== undefined && object.custom !== null ? CustomHttpPattern.fromPartial(object.custom) : undefined; + message.body = object.body ?? ""; + message.response_body = object.response_body ?? ""; + message.additional_bindings = object.additional_bindings?.map((e) => HttpRule.fromPartial(e)) || []; + return message; + }, +}; + +export const CustomHttpPattern: MessageFns = { + $type: "google.api.CustomHttpPattern" as const, + + encode(message: CustomHttpPattern, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.kind !== "") { + writer.uint32(10).string(message.kind); + } + if (message.path !== "") { + writer.uint32(18).string(message.path); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CustomHttpPattern { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCustomHttpPattern(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.kind = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.path = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CustomHttpPattern { + return { + kind: isSet(object.kind) ? globalThis.String(object.kind) : "", + path: isSet(object.path) ? globalThis.String(object.path) : "", + }; + }, + + toJSON(message: CustomHttpPattern): unknown { + const obj: any = {}; + if (message.kind !== "") { + obj.kind = message.kind; + } + if (message.path !== "") { + obj.path = message.path; + } + return obj; + }, + + create, I>>(base?: I): CustomHttpPattern { + return CustomHttpPattern.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CustomHttpPattern { + const message = createBaseCustomHttpPattern(); + message.kind = object.kind ?? ""; + message.path = object.path ?? ""; + return message; + }, +}; + +function createBaseHttp(): Http { + return { rules: [], fully_decode_reserved_expansion: false }; +} + +function createBaseHttpRule(): HttpRule { + return { + selector: "", + get: undefined, + put: undefined, + post: undefined, + delete: undefined, + patch: undefined, + custom: undefined, + body: "", + response_body: "", + additional_bindings: [], + }; +} + +function createBaseCustomHttpPattern(): CustomHttpPattern { + return { kind: "", path: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/google.api.Http", Http as never], + ["/google.api.HttpRule", HttpRule as never], + ["/google.api.CustomHttpPattern", CustomHttpPattern as never], +]; +export const aminoConverters = { + "/google.api.Http": { + aminoType: "google.api.Http", + toAmino: (message: Http) => ({ ...message }), + fromAmino: (object: Http) => ({ ...object }), + }, + + "/google.api.HttpRule": { + aminoType: "google.api.HttpRule", + toAmino: (message: HttpRule) => ({ ...message }), + fromAmino: (object: HttpRule) => ({ ...object }), + }, + + "/google.api.CustomHttpPattern": { + aminoType: "google.api.CustomHttpPattern", + toAmino: (message: CustomHttpPattern) => ({ ...message }), + fromAmino: (object: CustomHttpPattern) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/google/api/httpbody.ts b/packages/cosmos/generated/encoding/google/api/httpbody.ts new file mode 100644 index 000000000..ca0afde37 --- /dev/null +++ b/packages/cosmos/generated/encoding/google/api/httpbody.ts @@ -0,0 +1,139 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Any } from "../protobuf/any"; + +import type { HttpBody as HttpBodyType } from "../../../types/google/api"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface HttpBody extends HttpBodyType {} + +export const HttpBody: MessageFns = { + $type: "google.api.HttpBody" as const, + + encode(message: HttpBody, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.content_type !== "") { + writer.uint32(10).string(message.content_type); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + for (const v of message.extensions) { + Any.encode(v!, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): HttpBody { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHttpBody(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.content_type = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.extensions.push(Any.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): HttpBody { + return { + content_type: isSet(object.content_type) ? globalThis.String(object.content_type) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + extensions: globalThis.Array.isArray(object?.extensions) ? object.extensions.map((e: any) => Any.fromJSON(e)) : [], + }; + }, + + toJSON(message: HttpBody): unknown { + const obj: any = {}; + if (message.content_type !== "") { + obj.content_type = message.content_type; + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.extensions?.length) { + obj.extensions = message.extensions.map((e) => Any.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): HttpBody { + return HttpBody.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): HttpBody { + const message = createBaseHttpBody(); + message.content_type = object.content_type ?? ""; + message.data = object.data ?? new Uint8Array(0); + message.extensions = object.extensions?.map((e) => Any.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseHttpBody(): HttpBody { + return { content_type: "", data: new Uint8Array(0), extensions: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/google.api.HttpBody", HttpBody as never]]; +export const aminoConverters = { + "/google.api.HttpBody": { + aminoType: "google.api.HttpBody", + toAmino: (message: HttpBody) => ({ ...message }), + fromAmino: (object: HttpBody) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/google/api/index.ts b/packages/cosmos/generated/encoding/google/api/index.ts new file mode 100644 index 000000000..0c55681d6 --- /dev/null +++ b/packages/cosmos/generated/encoding/google/api/index.ts @@ -0,0 +1,3 @@ +export * from './annotations'; +export * from './http'; +export * from './httpbody'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/google/protobuf/any.ts b/packages/cosmos/generated/encoding/google/protobuf/any.ts new file mode 100644 index 000000000..eaf17813d --- /dev/null +++ b/packages/cosmos/generated/encoding/google/protobuf/any.ts @@ -0,0 +1,122 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Any as AnyType } from "../../../types/google/protobuf"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Any extends AnyType {} + +export const Any: MessageFns = { + $type: "google.protobuf.Any" as const, + + encode(message: Any, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type_url !== "") { + writer.uint32(10).string(message.type_url); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Any { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAny(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.type_url = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Any { + return { + type_url: isSet(object.type_url) ? globalThis.String(object.type_url) : "", + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: Any): unknown { + const obj: any = {}; + if (message.type_url !== "") { + obj.type_url = message.type_url; + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create, I>>(base?: I): Any { + return Any.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Any { + const message = createBaseAny(); + message.type_url = object.type_url ?? ""; + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAny(): Any { + return { type_url: "", value: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/google.protobuf.Any", Any as never]]; +export const aminoConverters = { + "/google.protobuf.Any": { + aminoType: "google.protobuf.Any", + toAmino: (message: Any) => ({ ...message }), + fromAmino: (object: Any) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts b/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts new file mode 100644 index 000000000..d24861f8d --- /dev/null +++ b/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts @@ -0,0 +1,5290 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + DescriptorProtoExtensionRange as DescriptorProtoExtensionRangeType, + DescriptorProtoReservedRange as DescriptorProtoReservedRangeType, + DescriptorProto as DescriptorProtoType, + EnumDescriptorProtoEnumReservedRange as EnumDescriptorProtoEnumReservedRangeType, + EnumDescriptorProto as EnumDescriptorProtoType, + EnumOptions as EnumOptionsType, + EnumValueDescriptorProto as EnumValueDescriptorProtoType, + EnumValueOptions as EnumValueOptionsType, + ExtensionRangeOptionsDeclaration as ExtensionRangeOptionsDeclarationType, + ExtensionRangeOptions as ExtensionRangeOptionsType, + FeatureSetDefaultsFeatureSetEditionDefault as FeatureSetDefaultsFeatureSetEditionDefaultType, + FeatureSetDefaults as FeatureSetDefaultsType, + FeatureSet as FeatureSetType, + FieldOptionsEditionDefault as FieldOptionsEditionDefaultType, + FieldOptionsFeatureSupport as FieldOptionsFeatureSupportType, + FieldOptions as FieldOptionsType, + FileDescriptorProto as FileDescriptorProtoType, + FileDescriptorSet as FileDescriptorSetType, + FileOptions as FileOptionsType, + GeneratedCodeInfoAnnotation as GeneratedCodeInfoAnnotationType, + GeneratedCodeInfo as GeneratedCodeInfoType, + MessageOptions as MessageOptionsType, + MethodDescriptorProto as MethodDescriptorProtoType, + MethodOptions as MethodOptionsType, + OneofDescriptorProto as OneofDescriptorProtoType, + OneofOptions as OneofOptionsType, + ServiceDescriptorProto as ServiceDescriptorProtoType, + ServiceOptions as ServiceOptionsType, + SourceCodeInfoLocation as SourceCodeInfoLocationType, + SourceCodeInfo as SourceCodeInfoType, + UninterpretedOptionNamePart as UninterpretedOptionNamePartType, + UninterpretedOption as UninterpretedOptionType, +} from "../../../types/google/protobuf"; + +import { + Edition, + ExtensionRangeOptionsVerificationState, + FeatureSetEnumType, + FeatureSetFieldPresence, + FeatureSetJsonFormat, + FeatureSetMessageEncoding, + FeatureSetRepeatedFieldEncoding, + FeatureSetUtf8Validation, + FieldDescriptorProtoLabel, + FieldDescriptorProtoType, + FieldOptionsCType, + FieldOptionsJSType, + FieldOptionsOptionRetention, + FieldOptionsOptionTargetType, + FileOptionsOptimizeMode, + GeneratedCodeInfoAnnotationSemantic, + MethodOptionsIdempotencyLevel, +} from "../../../types/google/protobuf"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface FileDescriptorSet extends FileDescriptorSetType {} +interface FileDescriptorProto extends FileDescriptorProtoType {} +interface DescriptorProto extends DescriptorProtoType {} +interface DescriptorProtoExtensionRange extends DescriptorProtoExtensionRangeType {} +interface DescriptorProtoReservedRange extends DescriptorProtoReservedRangeType {} +interface ExtensionRangeOptions extends ExtensionRangeOptionsType {} +interface ExtensionRangeOptionsDeclaration extends ExtensionRangeOptionsDeclarationType {} +interface FieldDescriptorProto extends FieldDescriptorProtoType {} +interface OneofDescriptorProto extends OneofDescriptorProtoType {} +interface EnumDescriptorProto extends EnumDescriptorProtoType {} +interface EnumDescriptorProtoEnumReservedRange extends EnumDescriptorProtoEnumReservedRangeType {} +interface EnumValueDescriptorProto extends EnumValueDescriptorProtoType {} +interface ServiceDescriptorProto extends ServiceDescriptorProtoType {} +interface MethodDescriptorProto extends MethodDescriptorProtoType {} +interface FileOptions extends FileOptionsType {} +interface MessageOptions extends MessageOptionsType {} +interface FieldOptions extends FieldOptionsType {} +interface FieldOptionsEditionDefault extends FieldOptionsEditionDefaultType {} +interface FieldOptionsFeatureSupport extends FieldOptionsFeatureSupportType {} +interface OneofOptions extends OneofOptionsType {} +interface EnumOptions extends EnumOptionsType {} +interface EnumValueOptions extends EnumValueOptionsType {} +interface ServiceOptions extends ServiceOptionsType {} +interface MethodOptions extends MethodOptionsType {} +interface UninterpretedOption extends UninterpretedOptionType {} +interface UninterpretedOptionNamePart extends UninterpretedOptionNamePartType {} +interface FeatureSet extends FeatureSetType {} +interface FeatureSetDefaults extends FeatureSetDefaultsType {} +interface FeatureSetDefaultsFeatureSetEditionDefault extends FeatureSetDefaultsFeatureSetEditionDefaultType {} +interface SourceCodeInfo extends SourceCodeInfoType {} +interface SourceCodeInfoLocation extends SourceCodeInfoLocationType {} +interface GeneratedCodeInfo extends GeneratedCodeInfoType {} +interface GeneratedCodeInfoAnnotation extends GeneratedCodeInfoAnnotationType {} + +export const FileDescriptorSet: MessageFns = { + $type: "google.protobuf.FileDescriptorSet" as const, + + encode(message: FileDescriptorSet, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.file) { + FileDescriptorProto.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FileDescriptorSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.file.push(FileDescriptorProto.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileDescriptorSet { + return { + file: globalThis.Array.isArray(object?.file) ? object.file.map((e: any) => FileDescriptorProto.fromJSON(e)) : [], + }; + }, + + toJSON(message: FileDescriptorSet): unknown { + const obj: any = {}; + if (message.file?.length) { + obj.file = message.file.map((e) => FileDescriptorProto.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FileDescriptorSet { + return FileDescriptorSet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileDescriptorSet { + const message = createBaseFileDescriptorSet(); + message.file = object.file?.map((e) => FileDescriptorProto.fromPartial(e)) || []; + return message; + }, +}; + +export const FileDescriptorProto: MessageFns = { + $type: "google.protobuf.FileDescriptorProto" as const, + + encode(message: FileDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.package !== undefined && message.package !== "") { + writer.uint32(18).string(message.package); + } + for (const v of message.dependency) { + writer.uint32(26).string(v!); + } + writer.uint32(82).fork(); + for (const v of message.public_dependency) { + writer.int32(v); + } + writer.join(); + writer.uint32(90).fork(); + for (const v of message.weak_dependency) { + writer.int32(v); + } + writer.join(); + for (const v of message.message_type) { + DescriptorProto.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.enum_type) { + EnumDescriptorProto.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.service) { + ServiceDescriptorProto.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.extension) { + FieldDescriptorProto.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.options !== undefined) { + FileOptions.encode(message.options, writer.uint32(66).fork()).join(); + } + if (message.source_code_info !== undefined) { + SourceCodeInfo.encode(message.source_code_info, writer.uint32(74).fork()).join(); + } + if (message.syntax !== undefined && message.syntax !== "") { + writer.uint32(98).string(message.syntax); + } + if (message.edition !== undefined && message.edition !== 0) { + writer.uint32(112).int32(message.edition); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FileDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.package = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.dependency.push(reader.string()); + continue; + case 10: + if (tag === 80) { + message.public_dependency.push(reader.int32()); + + continue; + } + + if (tag === 82) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.public_dependency.push(reader.int32()); + } + + continue; + } + + break; + case 11: + if (tag === 88) { + message.weak_dependency.push(reader.int32()); + + continue; + } + + if (tag === 90) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.weak_dependency.push(reader.int32()); + } + + continue; + } + + break; + case 4: + if (tag !== 34) { + break; + } + + message.message_type.push(DescriptorProto.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.enum_type.push(EnumDescriptorProto.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.service.push(ServiceDescriptorProto.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.extension.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.options = FileOptions.decode(reader, reader.uint32()); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.source_code_info = SourceCodeInfo.decode(reader, reader.uint32()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.syntax = reader.string(); + continue; + case 14: + if (tag !== 112) { + break; + } + + message.edition = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + package: isSet(object.package) ? globalThis.String(object.package) : "", + dependency: globalThis.Array.isArray(object?.dependency) ? object.dependency.map((e: any) => globalThis.String(e)) : [], + public_dependency: globalThis.Array.isArray(object?.public_dependency) ? object.public_dependency.map((e: any) => globalThis.Number(e)) : [], + weak_dependency: globalThis.Array.isArray(object?.weak_dependency) ? object.weak_dependency.map((e: any) => globalThis.Number(e)) : [], + message_type: globalThis.Array.isArray(object?.message_type) ? object.message_type.map((e: any) => DescriptorProto.fromJSON(e)) : [], + enum_type: globalThis.Array.isArray(object?.enum_type) ? object.enum_type.map((e: any) => EnumDescriptorProto.fromJSON(e)) : [], + service: globalThis.Array.isArray(object?.service) ? object.service.map((e: any) => ServiceDescriptorProto.fromJSON(e)) : [], + extension: globalThis.Array.isArray(object?.extension) ? object.extension.map((e: any) => FieldDescriptorProto.fromJSON(e)) : [], + options: isSet(object.options) ? FileOptions.fromJSON(object.options) : undefined, + source_code_info: isSet(object.source_code_info) ? SourceCodeInfo.fromJSON(object.source_code_info) : undefined, + syntax: isSet(object.syntax) ? globalThis.String(object.syntax) : "", + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + }; + }, + + toJSON(message: FileDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.package !== undefined && message.package !== "") { + obj.package = message.package; + } + if (message.dependency?.length) { + obj.dependency = message.dependency; + } + if (message.public_dependency?.length) { + obj.public_dependency = message.public_dependency.map((e) => Math.round(e)); + } + if (message.weak_dependency?.length) { + obj.weak_dependency = message.weak_dependency.map((e) => Math.round(e)); + } + if (message.message_type?.length) { + obj.message_type = message.message_type.map((e) => DescriptorProto.toJSON(e)); + } + if (message.enum_type?.length) { + obj.enum_type = message.enum_type.map((e) => EnumDescriptorProto.toJSON(e)); + } + if (message.service?.length) { + obj.service = message.service.map((e) => ServiceDescriptorProto.toJSON(e)); + } + if (message.extension?.length) { + obj.extension = message.extension.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = FileOptions.toJSON(message.options); + } + if (message.source_code_info !== undefined) { + obj.source_code_info = SourceCodeInfo.toJSON(message.source_code_info); + } + if (message.syntax !== undefined && message.syntax !== "") { + obj.syntax = message.syntax; + } + if (message.edition !== undefined && message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + return obj; + }, + + create, I>>(base?: I): FileDescriptorProto { + return FileDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileDescriptorProto { + const message = createBaseFileDescriptorProto(); + message.name = object.name ?? ""; + message.package = object.package ?? ""; + message.dependency = object.dependency?.map((e) => e) || []; + message.public_dependency = object.public_dependency?.map((e) => e) || []; + message.weak_dependency = object.weak_dependency?.map((e) => e) || []; + message.message_type = object.message_type?.map((e) => DescriptorProto.fromPartial(e)) || []; + message.enum_type = object.enum_type?.map((e) => EnumDescriptorProto.fromPartial(e)) || []; + message.service = object.service?.map((e) => ServiceDescriptorProto.fromPartial(e)) || []; + message.extension = object.extension?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.options = object.options !== undefined && object.options !== null ? FileOptions.fromPartial(object.options) : undefined; + message.source_code_info = + object.source_code_info !== undefined && object.source_code_info !== null ? SourceCodeInfo.fromPartial(object.source_code_info) : undefined; + message.syntax = object.syntax ?? ""; + message.edition = object.edition ?? 0; + return message; + }, +}; + +export const DescriptorProto: MessageFns = { + $type: "google.protobuf.DescriptorProto" as const, + + encode(message: DescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.field) { + FieldDescriptorProto.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.extension) { + FieldDescriptorProto.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.nested_type) { + DescriptorProto.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.enum_type) { + EnumDescriptorProto.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.extension_range) { + DescriptorProtoExtensionRange.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.oneof_decl) { + OneofDescriptorProto.encode(v!, writer.uint32(66).fork()).join(); + } + if (message.options !== undefined) { + MessageOptions.encode(message.options, writer.uint32(58).fork()).join(); + } + for (const v of message.reserved_range) { + DescriptorProtoReservedRange.encode(v!, writer.uint32(74).fork()).join(); + } + for (const v of message.reserved_name) { + writer.uint32(82).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.field.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.extension.push(FieldDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.nested_type.push(DescriptorProto.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.enum_type.push(EnumDescriptorProto.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.extension_range.push(DescriptorProtoExtensionRange.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.oneof_decl.push(OneofDescriptorProto.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.options = MessageOptions.decode(reader, reader.uint32()); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.reserved_range.push(DescriptorProtoReservedRange.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.reserved_name.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + field: globalThis.Array.isArray(object?.field) ? object.field.map((e: any) => FieldDescriptorProto.fromJSON(e)) : [], + extension: globalThis.Array.isArray(object?.extension) ? object.extension.map((e: any) => FieldDescriptorProto.fromJSON(e)) : [], + nested_type: globalThis.Array.isArray(object?.nested_type) ? object.nested_type.map((e: any) => DescriptorProto.fromJSON(e)) : [], + enum_type: globalThis.Array.isArray(object?.enum_type) ? object.enum_type.map((e: any) => EnumDescriptorProto.fromJSON(e)) : [], + extension_range: globalThis.Array.isArray(object?.extension_range) + ? object.extension_range.map((e: any) => DescriptorProtoExtensionRange.fromJSON(e)) + : [], + oneof_decl: globalThis.Array.isArray(object?.oneof_decl) ? object.oneof_decl.map((e: any) => OneofDescriptorProto.fromJSON(e)) : [], + options: isSet(object.options) ? MessageOptions.fromJSON(object.options) : undefined, + reserved_range: globalThis.Array.isArray(object?.reserved_range) ? object.reserved_range.map((e: any) => DescriptorProtoReservedRange.fromJSON(e)) : [], + reserved_name: globalThis.Array.isArray(object?.reserved_name) ? object.reserved_name.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: DescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.field?.length) { + obj.field = message.field.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.extension?.length) { + obj.extension = message.extension.map((e) => FieldDescriptorProto.toJSON(e)); + } + if (message.nested_type?.length) { + obj.nested_type = message.nested_type.map((e) => DescriptorProto.toJSON(e)); + } + if (message.enum_type?.length) { + obj.enum_type = message.enum_type.map((e) => EnumDescriptorProto.toJSON(e)); + } + if (message.extension_range?.length) { + obj.extension_range = message.extension_range.map((e) => DescriptorProtoExtensionRange.toJSON(e)); + } + if (message.oneof_decl?.length) { + obj.oneof_decl = message.oneof_decl.map((e) => OneofDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = MessageOptions.toJSON(message.options); + } + if (message.reserved_range?.length) { + obj.reserved_range = message.reserved_range.map((e) => DescriptorProtoReservedRange.toJSON(e)); + } + if (message.reserved_name?.length) { + obj.reserved_name = message.reserved_name; + } + return obj; + }, + + create, I>>(base?: I): DescriptorProto { + return DescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DescriptorProto { + const message = createBaseDescriptorProto(); + message.name = object.name ?? ""; + message.field = object.field?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.extension = object.extension?.map((e) => FieldDescriptorProto.fromPartial(e)) || []; + message.nested_type = object.nested_type?.map((e) => DescriptorProto.fromPartial(e)) || []; + message.enum_type = object.enum_type?.map((e) => EnumDescriptorProto.fromPartial(e)) || []; + message.extension_range = object.extension_range?.map((e) => DescriptorProtoExtensionRange.fromPartial(e)) || []; + message.oneof_decl = object.oneof_decl?.map((e) => OneofDescriptorProto.fromPartial(e)) || []; + message.options = object.options !== undefined && object.options !== null ? MessageOptions.fromPartial(object.options) : undefined; + message.reserved_range = object.reserved_range?.map((e) => DescriptorProtoReservedRange.fromPartial(e)) || []; + message.reserved_name = object.reserved_name?.map((e) => e) || []; + return message; + }, +}; + +export const DescriptorProtoExtensionRange: MessageFns = { + $type: "google.protobuf.DescriptorProto.ExtensionRange" as const, + + encode(message: DescriptorProtoExtensionRange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start !== undefined && message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== undefined && message.end !== 0) { + writer.uint32(16).int32(message.end); + } + if (message.options !== undefined) { + ExtensionRangeOptions.encode(message.options, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DescriptorProtoExtensionRange { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProtoExtensionRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = ExtensionRangeOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProtoExtensionRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + options: isSet(object.options) ? ExtensionRangeOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: DescriptorProtoExtensionRange): unknown { + const obj: any = {}; + if (message.start !== undefined && message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== undefined && message.end !== 0) { + obj.end = Math.round(message.end); + } + if (message.options !== undefined) { + obj.options = ExtensionRangeOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): DescriptorProtoExtensionRange { + return DescriptorProtoExtensionRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DescriptorProtoExtensionRange { + const message = createBaseDescriptorProtoExtensionRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + message.options = object.options !== undefined && object.options !== null ? ExtensionRangeOptions.fromPartial(object.options) : undefined; + return message; + }, +}; + +export const DescriptorProtoReservedRange: MessageFns = { + $type: "google.protobuf.DescriptorProto.ReservedRange" as const, + + encode(message: DescriptorProtoReservedRange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start !== undefined && message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== undefined && message.end !== 0) { + writer.uint32(16).int32(message.end); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DescriptorProtoReservedRange { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescriptorProtoReservedRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DescriptorProtoReservedRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + }; + }, + + toJSON(message: DescriptorProtoReservedRange): unknown { + const obj: any = {}; + if (message.start !== undefined && message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== undefined && message.end !== 0) { + obj.end = Math.round(message.end); + } + return obj; + }, + + create, I>>(base?: I): DescriptorProtoReservedRange { + return DescriptorProtoReservedRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DescriptorProtoReservedRange { + const message = createBaseDescriptorProtoReservedRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + return message; + }, +}; + +export const ExtensionRangeOptions: MessageFns = { + $type: "google.protobuf.ExtensionRangeOptions" as const, + + encode(message: ExtensionRangeOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + for (const v of message.declaration) { + ExtensionRangeOptionsDeclaration.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(402).fork()).join(); + } + if (message.verification !== undefined && message.verification !== 1) { + writer.uint32(24).int32(message.verification); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtensionRangeOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionRangeOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.declaration.push(ExtensionRangeOptionsDeclaration.decode(reader, reader.uint32())); + continue; + case 50: + if (tag !== 402) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.verification = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtensionRangeOptions { + return { + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + declaration: globalThis.Array.isArray(object?.declaration) ? object.declaration.map((e: any) => ExtensionRangeOptionsDeclaration.fromJSON(e)) : [], + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + verification: isSet(object.verification) ? extensionRangeOptionsVerificationStateFromJSON(object.verification) : 1, + }; + }, + + toJSON(message: ExtensionRangeOptions): unknown { + const obj: any = {}; + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + if (message.declaration?.length) { + obj.declaration = message.declaration.map((e) => ExtensionRangeOptionsDeclaration.toJSON(e)); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.verification !== undefined && message.verification !== 1) { + obj.verification = extensionRangeOptionsVerificationStateToJSON(message.verification); + } + return obj; + }, + + create, I>>(base?: I): ExtensionRangeOptions { + return ExtensionRangeOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtensionRangeOptions { + const message = createBaseExtensionRangeOptions(); + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + message.declaration = object.declaration?.map((e) => ExtensionRangeOptionsDeclaration.fromPartial(e)) || []; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.verification = object.verification ?? 1; + return message; + }, +}; + +export const ExtensionRangeOptionsDeclaration: MessageFns = { + $type: "google.protobuf.ExtensionRangeOptions.Declaration" as const, + + encode(message: ExtensionRangeOptionsDeclaration, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.number !== undefined && message.number !== 0) { + writer.uint32(8).int32(message.number); + } + if (message.full_name !== undefined && message.full_name !== "") { + writer.uint32(18).string(message.full_name); + } + if (message.type !== undefined && message.type !== "") { + writer.uint32(26).string(message.type); + } + if (message.reserved !== undefined && message.reserved !== false) { + writer.uint32(40).bool(message.reserved); + } + if (message.repeated !== undefined && message.repeated !== false) { + writer.uint32(48).bool(message.repeated); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtensionRangeOptionsDeclaration { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionRangeOptionsDeclaration(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.number = reader.int32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.full_name = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.type = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.reserved = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.repeated = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtensionRangeOptionsDeclaration { + return { + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + full_name: isSet(object.full_name) ? globalThis.String(object.full_name) : "", + type: isSet(object.type) ? globalThis.String(object.type) : "", + reserved: isSet(object.reserved) ? globalThis.Boolean(object.reserved) : false, + repeated: isSet(object.repeated) ? globalThis.Boolean(object.repeated) : false, + }; + }, + + toJSON(message: ExtensionRangeOptionsDeclaration): unknown { + const obj: any = {}; + if (message.number !== undefined && message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.full_name !== undefined && message.full_name !== "") { + obj.full_name = message.full_name; + } + if (message.type !== undefined && message.type !== "") { + obj.type = message.type; + } + if (message.reserved !== undefined && message.reserved !== false) { + obj.reserved = message.reserved; + } + if (message.repeated !== undefined && message.repeated !== false) { + obj.repeated = message.repeated; + } + return obj; + }, + + create, I>>(base?: I): ExtensionRangeOptionsDeclaration { + return ExtensionRangeOptionsDeclaration.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtensionRangeOptionsDeclaration { + const message = createBaseExtensionRangeOptionsDeclaration(); + message.number = object.number ?? 0; + message.full_name = object.full_name ?? ""; + message.type = object.type ?? ""; + message.reserved = object.reserved ?? false; + message.repeated = object.repeated ?? false; + return message; + }, +}; + +export const FieldDescriptorProto: MessageFns = { + $type: "google.protobuf.FieldDescriptorProto" as const, + + encode(message: FieldDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.number !== undefined && message.number !== 0) { + writer.uint32(24).int32(message.number); + } + if (message.label !== undefined && message.label !== 1) { + writer.uint32(32).int32(message.label); + } + if (message.type !== undefined && message.type !== 1) { + writer.uint32(40).int32(message.type); + } + if (message.type_name !== undefined && message.type_name !== "") { + writer.uint32(50).string(message.type_name); + } + if (message.extendee !== undefined && message.extendee !== "") { + writer.uint32(18).string(message.extendee); + } + if (message.default_value !== undefined && message.default_value !== "") { + writer.uint32(58).string(message.default_value); + } + if (message.oneof_index !== undefined && message.oneof_index !== 0) { + writer.uint32(72).int32(message.oneof_index); + } + if (message.json_name !== undefined && message.json_name !== "") { + writer.uint32(82).string(message.json_name); + } + if (message.options !== undefined) { + FieldOptions.encode(message.options, writer.uint32(66).fork()).join(); + } + if (message.proto3_optional !== undefined && message.proto3_optional !== false) { + writer.uint32(136).bool(message.proto3_optional); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FieldDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.number = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.label = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.type = reader.int32() as any; + continue; + case 6: + if (tag !== 50) { + break; + } + + message.type_name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.extendee = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.default_value = reader.string(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.oneof_index = reader.int32(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.json_name = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.options = FieldOptions.decode(reader, reader.uint32()); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.proto3_optional = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + label: isSet(object.label) ? fieldDescriptorProtoLabelFromJSON(object.label) : 1, + type: isSet(object.type) ? fieldDescriptorProtoTypeFromJSON(object.type) : 1, + type_name: isSet(object.type_name) ? globalThis.String(object.type_name) : "", + extendee: isSet(object.extendee) ? globalThis.String(object.extendee) : "", + default_value: isSet(object.default_value) ? globalThis.String(object.default_value) : "", + oneof_index: isSet(object.oneof_index) ? globalThis.Number(object.oneof_index) : 0, + json_name: isSet(object.json_name) ? globalThis.String(object.json_name) : "", + options: isSet(object.options) ? FieldOptions.fromJSON(object.options) : undefined, + proto3_optional: isSet(object.proto3_optional) ? globalThis.Boolean(object.proto3_optional) : false, + }; + }, + + toJSON(message: FieldDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.number !== undefined && message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.label !== undefined && message.label !== 1) { + obj.label = fieldDescriptorProtoLabelToJSON(message.label); + } + if (message.type !== undefined && message.type !== 1) { + obj.type = fieldDescriptorProtoTypeToJSON(message.type); + } + if (message.type_name !== undefined && message.type_name !== "") { + obj.type_name = message.type_name; + } + if (message.extendee !== undefined && message.extendee !== "") { + obj.extendee = message.extendee; + } + if (message.default_value !== undefined && message.default_value !== "") { + obj.default_value = message.default_value; + } + if (message.oneof_index !== undefined && message.oneof_index !== 0) { + obj.oneof_index = Math.round(message.oneof_index); + } + if (message.json_name !== undefined && message.json_name !== "") { + obj.json_name = message.json_name; + } + if (message.options !== undefined) { + obj.options = FieldOptions.toJSON(message.options); + } + if (message.proto3_optional !== undefined && message.proto3_optional !== false) { + obj.proto3_optional = message.proto3_optional; + } + return obj; + }, + + create, I>>(base?: I): FieldDescriptorProto { + return FieldDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldDescriptorProto { + const message = createBaseFieldDescriptorProto(); + message.name = object.name ?? ""; + message.number = object.number ?? 0; + message.label = object.label ?? 1; + message.type = object.type ?? 1; + message.type_name = object.type_name ?? ""; + message.extendee = object.extendee ?? ""; + message.default_value = object.default_value ?? ""; + message.oneof_index = object.oneof_index ?? 0; + message.json_name = object.json_name ?? ""; + message.options = object.options !== undefined && object.options !== null ? FieldOptions.fromPartial(object.options) : undefined; + message.proto3_optional = object.proto3_optional ?? false; + return message; + }, +}; + +export const OneofDescriptorProto: MessageFns = { + $type: "google.protobuf.OneofDescriptorProto" as const, + + encode(message: OneofDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.options !== undefined) { + OneofOptions.encode(message.options, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): OneofDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOneofDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.options = OneofOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): OneofDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + options: isSet(object.options) ? OneofOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: OneofDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.options !== undefined) { + obj.options = OneofOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): OneofDescriptorProto { + return OneofDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OneofDescriptorProto { + const message = createBaseOneofDescriptorProto(); + message.name = object.name ?? ""; + message.options = object.options !== undefined && object.options !== null ? OneofOptions.fromPartial(object.options) : undefined; + return message; + }, +}; + +export const EnumDescriptorProto: MessageFns = { + $type: "google.protobuf.EnumDescriptorProto" as const, + + encode(message: EnumDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.value) { + EnumValueDescriptorProto.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.options !== undefined) { + EnumOptions.encode(message.options, writer.uint32(26).fork()).join(); + } + for (const v of message.reserved_range) { + EnumDescriptorProtoEnumReservedRange.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.reserved_name) { + writer.uint32(42).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EnumDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value.push(EnumValueDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = EnumOptions.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.reserved_range.push(EnumDescriptorProtoEnumReservedRange.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.reserved_name.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + value: globalThis.Array.isArray(object?.value) ? object.value.map((e: any) => EnumValueDescriptorProto.fromJSON(e)) : [], + options: isSet(object.options) ? EnumOptions.fromJSON(object.options) : undefined, + reserved_range: globalThis.Array.isArray(object?.reserved_range) + ? object.reserved_range.map((e: any) => EnumDescriptorProtoEnumReservedRange.fromJSON(e)) + : [], + reserved_name: globalThis.Array.isArray(object?.reserved_name) ? object.reserved_name.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: EnumDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.value?.length) { + obj.value = message.value.map((e) => EnumValueDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = EnumOptions.toJSON(message.options); + } + if (message.reserved_range?.length) { + obj.reserved_range = message.reserved_range.map((e) => EnumDescriptorProtoEnumReservedRange.toJSON(e)); + } + if (message.reserved_name?.length) { + obj.reserved_name = message.reserved_name; + } + return obj; + }, + + create, I>>(base?: I): EnumDescriptorProto { + return EnumDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumDescriptorProto { + const message = createBaseEnumDescriptorProto(); + message.name = object.name ?? ""; + message.value = object.value?.map((e) => EnumValueDescriptorProto.fromPartial(e)) || []; + message.options = object.options !== undefined && object.options !== null ? EnumOptions.fromPartial(object.options) : undefined; + message.reserved_range = object.reserved_range?.map((e) => EnumDescriptorProtoEnumReservedRange.fromPartial(e)) || []; + message.reserved_name = object.reserved_name?.map((e) => e) || []; + return message; + }, +}; + +export const EnumDescriptorProtoEnumReservedRange: MessageFns = { + $type: "google.protobuf.EnumDescriptorProto.EnumReservedRange" as const, + + encode(message: EnumDescriptorProtoEnumReservedRange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start !== undefined && message.start !== 0) { + writer.uint32(8).int32(message.start); + } + if (message.end !== undefined && message.end !== 0) { + writer.uint32(16).int32(message.end); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EnumDescriptorProtoEnumReservedRange { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumDescriptorProtoEnumReservedRange(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.start = reader.int32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.end = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumDescriptorProtoEnumReservedRange { + return { + start: isSet(object.start) ? globalThis.Number(object.start) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + }; + }, + + toJSON(message: EnumDescriptorProtoEnumReservedRange): unknown { + const obj: any = {}; + if (message.start !== undefined && message.start !== 0) { + obj.start = Math.round(message.start); + } + if (message.end !== undefined && message.end !== 0) { + obj.end = Math.round(message.end); + } + return obj; + }, + + create, I>>(base?: I): EnumDescriptorProtoEnumReservedRange { + return EnumDescriptorProtoEnumReservedRange.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumDescriptorProtoEnumReservedRange { + const message = createBaseEnumDescriptorProtoEnumReservedRange(); + message.start = object.start ?? 0; + message.end = object.end ?? 0; + return message; + }, +}; + +export const EnumValueDescriptorProto: MessageFns = { + $type: "google.protobuf.EnumValueDescriptorProto" as const, + + encode(message: EnumValueDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.number !== undefined && message.number !== 0) { + writer.uint32(16).int32(message.number); + } + if (message.options !== undefined) { + EnumValueOptions.encode(message.options, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EnumValueDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumValueDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.number = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = EnumValueOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumValueDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + number: isSet(object.number) ? globalThis.Number(object.number) : 0, + options: isSet(object.options) ? EnumValueOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: EnumValueDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.number !== undefined && message.number !== 0) { + obj.number = Math.round(message.number); + } + if (message.options !== undefined) { + obj.options = EnumValueOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): EnumValueDescriptorProto { + return EnumValueDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumValueDescriptorProto { + const message = createBaseEnumValueDescriptorProto(); + message.name = object.name ?? ""; + message.number = object.number ?? 0; + message.options = object.options !== undefined && object.options !== null ? EnumValueOptions.fromPartial(object.options) : undefined; + return message; + }, +}; + +export const ServiceDescriptorProto: MessageFns = { + $type: "google.protobuf.ServiceDescriptorProto" as const, + + encode(message: ServiceDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + for (const v of message.method) { + MethodDescriptorProto.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.options !== undefined) { + ServiceOptions.encode(message.options, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ServiceDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.method.push(MethodDescriptorProto.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.options = ServiceOptions.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + method: globalThis.Array.isArray(object?.method) ? object.method.map((e: any) => MethodDescriptorProto.fromJSON(e)) : [], + options: isSet(object.options) ? ServiceOptions.fromJSON(object.options) : undefined, + }; + }, + + toJSON(message: ServiceDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.method?.length) { + obj.method = message.method.map((e) => MethodDescriptorProto.toJSON(e)); + } + if (message.options !== undefined) { + obj.options = ServiceOptions.toJSON(message.options); + } + return obj; + }, + + create, I>>(base?: I): ServiceDescriptorProto { + return ServiceDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceDescriptorProto { + const message = createBaseServiceDescriptorProto(); + message.name = object.name ?? ""; + message.method = object.method?.map((e) => MethodDescriptorProto.fromPartial(e)) || []; + message.options = object.options !== undefined && object.options !== null ? ServiceOptions.fromPartial(object.options) : undefined; + return message; + }, +}; + +export const MethodDescriptorProto: MessageFns = { + $type: "google.protobuf.MethodDescriptorProto" as const, + + encode(message: MethodDescriptorProto, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== undefined && message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.input_type !== undefined && message.input_type !== "") { + writer.uint32(18).string(message.input_type); + } + if (message.output_type !== undefined && message.output_type !== "") { + writer.uint32(26).string(message.output_type); + } + if (message.options !== undefined) { + MethodOptions.encode(message.options, writer.uint32(34).fork()).join(); + } + if (message.client_streaming !== undefined && message.client_streaming !== false) { + writer.uint32(40).bool(message.client_streaming); + } + if (message.server_streaming !== undefined && message.server_streaming !== false) { + writer.uint32(48).bool(message.server_streaming); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MethodDescriptorProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMethodDescriptorProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.input_type = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.output_type = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.options = MethodOptions.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.client_streaming = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.server_streaming = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MethodDescriptorProto { + return { + name: isSet(object.name) ? globalThis.String(object.name) : "", + input_type: isSet(object.input_type) ? globalThis.String(object.input_type) : "", + output_type: isSet(object.output_type) ? globalThis.String(object.output_type) : "", + options: isSet(object.options) ? MethodOptions.fromJSON(object.options) : undefined, + client_streaming: isSet(object.client_streaming) ? globalThis.Boolean(object.client_streaming) : false, + server_streaming: isSet(object.server_streaming) ? globalThis.Boolean(object.server_streaming) : false, + }; + }, + + toJSON(message: MethodDescriptorProto): unknown { + const obj: any = {}; + if (message.name !== undefined && message.name !== "") { + obj.name = message.name; + } + if (message.input_type !== undefined && message.input_type !== "") { + obj.input_type = message.input_type; + } + if (message.output_type !== undefined && message.output_type !== "") { + obj.output_type = message.output_type; + } + if (message.options !== undefined) { + obj.options = MethodOptions.toJSON(message.options); + } + if (message.client_streaming !== undefined && message.client_streaming !== false) { + obj.client_streaming = message.client_streaming; + } + if (message.server_streaming !== undefined && message.server_streaming !== false) { + obj.server_streaming = message.server_streaming; + } + return obj; + }, + + create, I>>(base?: I): MethodDescriptorProto { + return MethodDescriptorProto.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MethodDescriptorProto { + const message = createBaseMethodDescriptorProto(); + message.name = object.name ?? ""; + message.input_type = object.input_type ?? ""; + message.output_type = object.output_type ?? ""; + message.options = object.options !== undefined && object.options !== null ? MethodOptions.fromPartial(object.options) : undefined; + message.client_streaming = object.client_streaming ?? false; + message.server_streaming = object.server_streaming ?? false; + return message; + }, +}; + +export const FileOptions: MessageFns = { + $type: "google.protobuf.FileOptions" as const, + + encode(message: FileOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.java_package !== undefined && message.java_package !== "") { + writer.uint32(10).string(message.java_package); + } + if (message.java_outer_classname !== undefined && message.java_outer_classname !== "") { + writer.uint32(66).string(message.java_outer_classname); + } + if (message.java_multiple_files !== undefined && message.java_multiple_files !== false) { + writer.uint32(80).bool(message.java_multiple_files); + } + if (message.java_generate_equals_and_hash !== undefined && message.java_generate_equals_and_hash !== false) { + writer.uint32(160).bool(message.java_generate_equals_and_hash); + } + if (message.java_string_check_utf8 !== undefined && message.java_string_check_utf8 !== false) { + writer.uint32(216).bool(message.java_string_check_utf8); + } + if (message.optimize_for !== undefined && message.optimize_for !== 1) { + writer.uint32(72).int32(message.optimize_for); + } + if (message.go_package !== undefined && message.go_package !== "") { + writer.uint32(90).string(message.go_package); + } + if (message.cc_generic_services !== undefined && message.cc_generic_services !== false) { + writer.uint32(128).bool(message.cc_generic_services); + } + if (message.java_generic_services !== undefined && message.java_generic_services !== false) { + writer.uint32(136).bool(message.java_generic_services); + } + if (message.py_generic_services !== undefined && message.py_generic_services !== false) { + writer.uint32(144).bool(message.py_generic_services); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(184).bool(message.deprecated); + } + if (message.cc_enable_arenas !== undefined && message.cc_enable_arenas !== true) { + writer.uint32(248).bool(message.cc_enable_arenas); + } + if (message.objc_class_prefix !== undefined && message.objc_class_prefix !== "") { + writer.uint32(290).string(message.objc_class_prefix); + } + if (message.csharp_namespace !== undefined && message.csharp_namespace !== "") { + writer.uint32(298).string(message.csharp_namespace); + } + if (message.swift_prefix !== undefined && message.swift_prefix !== "") { + writer.uint32(314).string(message.swift_prefix); + } + if (message.php_class_prefix !== undefined && message.php_class_prefix !== "") { + writer.uint32(322).string(message.php_class_prefix); + } + if (message.php_namespace !== undefined && message.php_namespace !== "") { + writer.uint32(330).string(message.php_namespace); + } + if (message.php_metadata_namespace !== undefined && message.php_metadata_namespace !== "") { + writer.uint32(354).string(message.php_metadata_namespace); + } + if (message.ruby_package !== undefined && message.ruby_package !== "") { + writer.uint32(362).string(message.ruby_package); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(402).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FileOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.java_package = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.java_outer_classname = reader.string(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.java_multiple_files = reader.bool(); + continue; + case 20: + if (tag !== 160) { + break; + } + + message.java_generate_equals_and_hash = reader.bool(); + continue; + case 27: + if (tag !== 216) { + break; + } + + message.java_string_check_utf8 = reader.bool(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.optimize_for = reader.int32() as any; + continue; + case 11: + if (tag !== 90) { + break; + } + + message.go_package = reader.string(); + continue; + case 16: + if (tag !== 128) { + break; + } + + message.cc_generic_services = reader.bool(); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.java_generic_services = reader.bool(); + continue; + case 18: + if (tag !== 144) { + break; + } + + message.py_generic_services = reader.bool(); + continue; + case 23: + if (tag !== 184) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 31: + if (tag !== 248) { + break; + } + + message.cc_enable_arenas = reader.bool(); + continue; + case 36: + if (tag !== 290) { + break; + } + + message.objc_class_prefix = reader.string(); + continue; + case 37: + if (tag !== 298) { + break; + } + + message.csharp_namespace = reader.string(); + continue; + case 39: + if (tag !== 314) { + break; + } + + message.swift_prefix = reader.string(); + continue; + case 40: + if (tag !== 322) { + break; + } + + message.php_class_prefix = reader.string(); + continue; + case 41: + if (tag !== 330) { + break; + } + + message.php_namespace = reader.string(); + continue; + case 44: + if (tag !== 354) { + break; + } + + message.php_metadata_namespace = reader.string(); + continue; + case 45: + if (tag !== 362) { + break; + } + + message.ruby_package = reader.string(); + continue; + case 50: + if (tag !== 402) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FileOptions { + return { + java_package: isSet(object.java_package) ? globalThis.String(object.java_package) : "", + java_outer_classname: isSet(object.java_outer_classname) ? globalThis.String(object.java_outer_classname) : "", + java_multiple_files: isSet(object.java_multiple_files) ? globalThis.Boolean(object.java_multiple_files) : false, + java_generate_equals_and_hash: isSet(object.java_generate_equals_and_hash) ? globalThis.Boolean(object.java_generate_equals_and_hash) : false, + java_string_check_utf8: isSet(object.java_string_check_utf8) ? globalThis.Boolean(object.java_string_check_utf8) : false, + optimize_for: isSet(object.optimize_for) ? fileOptionsOptimizeModeFromJSON(object.optimize_for) : 1, + go_package: isSet(object.go_package) ? globalThis.String(object.go_package) : "", + cc_generic_services: isSet(object.cc_generic_services) ? globalThis.Boolean(object.cc_generic_services) : false, + java_generic_services: isSet(object.java_generic_services) ? globalThis.Boolean(object.java_generic_services) : false, + py_generic_services: isSet(object.py_generic_services) ? globalThis.Boolean(object.py_generic_services) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + cc_enable_arenas: isSet(object.cc_enable_arenas) ? globalThis.Boolean(object.cc_enable_arenas) : true, + objc_class_prefix: isSet(object.objc_class_prefix) ? globalThis.String(object.objc_class_prefix) : "", + csharp_namespace: isSet(object.csharp_namespace) ? globalThis.String(object.csharp_namespace) : "", + swift_prefix: isSet(object.swift_prefix) ? globalThis.String(object.swift_prefix) : "", + php_class_prefix: isSet(object.php_class_prefix) ? globalThis.String(object.php_class_prefix) : "", + php_namespace: isSet(object.php_namespace) ? globalThis.String(object.php_namespace) : "", + php_metadata_namespace: isSet(object.php_metadata_namespace) ? globalThis.String(object.php_metadata_namespace) : "", + ruby_package: isSet(object.ruby_package) ? globalThis.String(object.ruby_package) : "", + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: FileOptions): unknown { + const obj: any = {}; + if (message.java_package !== undefined && message.java_package !== "") { + obj.java_package = message.java_package; + } + if (message.java_outer_classname !== undefined && message.java_outer_classname !== "") { + obj.java_outer_classname = message.java_outer_classname; + } + if (message.java_multiple_files !== undefined && message.java_multiple_files !== false) { + obj.java_multiple_files = message.java_multiple_files; + } + if (message.java_generate_equals_and_hash !== undefined && message.java_generate_equals_and_hash !== false) { + obj.java_generate_equals_and_hash = message.java_generate_equals_and_hash; + } + if (message.java_string_check_utf8 !== undefined && message.java_string_check_utf8 !== false) { + obj.java_string_check_utf8 = message.java_string_check_utf8; + } + if (message.optimize_for !== undefined && message.optimize_for !== 1) { + obj.optimize_for = fileOptionsOptimizeModeToJSON(message.optimize_for); + } + if (message.go_package !== undefined && message.go_package !== "") { + obj.go_package = message.go_package; + } + if (message.cc_generic_services !== undefined && message.cc_generic_services !== false) { + obj.cc_generic_services = message.cc_generic_services; + } + if (message.java_generic_services !== undefined && message.java_generic_services !== false) { + obj.java_generic_services = message.java_generic_services; + } + if (message.py_generic_services !== undefined && message.py_generic_services !== false) { + obj.py_generic_services = message.py_generic_services; + } + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.cc_enable_arenas !== undefined && message.cc_enable_arenas !== true) { + obj.cc_enable_arenas = message.cc_enable_arenas; + } + if (message.objc_class_prefix !== undefined && message.objc_class_prefix !== "") { + obj.objc_class_prefix = message.objc_class_prefix; + } + if (message.csharp_namespace !== undefined && message.csharp_namespace !== "") { + obj.csharp_namespace = message.csharp_namespace; + } + if (message.swift_prefix !== undefined && message.swift_prefix !== "") { + obj.swift_prefix = message.swift_prefix; + } + if (message.php_class_prefix !== undefined && message.php_class_prefix !== "") { + obj.php_class_prefix = message.php_class_prefix; + } + if (message.php_namespace !== undefined && message.php_namespace !== "") { + obj.php_namespace = message.php_namespace; + } + if (message.php_metadata_namespace !== undefined && message.php_metadata_namespace !== "") { + obj.php_metadata_namespace = message.php_metadata_namespace; + } + if (message.ruby_package !== undefined && message.ruby_package !== "") { + obj.ruby_package = message.ruby_package; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FileOptions { + return FileOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FileOptions { + const message = createBaseFileOptions(); + message.java_package = object.java_package ?? ""; + message.java_outer_classname = object.java_outer_classname ?? ""; + message.java_multiple_files = object.java_multiple_files ?? false; + message.java_generate_equals_and_hash = object.java_generate_equals_and_hash ?? false; + message.java_string_check_utf8 = object.java_string_check_utf8 ?? false; + message.optimize_for = object.optimize_for ?? 1; + message.go_package = object.go_package ?? ""; + message.cc_generic_services = object.cc_generic_services ?? false; + message.java_generic_services = object.java_generic_services ?? false; + message.py_generic_services = object.py_generic_services ?? false; + message.deprecated = object.deprecated ?? false; + message.cc_enable_arenas = object.cc_enable_arenas ?? true; + message.objc_class_prefix = object.objc_class_prefix ?? ""; + message.csharp_namespace = object.csharp_namespace ?? ""; + message.swift_prefix = object.swift_prefix ?? ""; + message.php_class_prefix = object.php_class_prefix ?? ""; + message.php_namespace = object.php_namespace ?? ""; + message.php_metadata_namespace = object.php_metadata_namespace ?? ""; + message.ruby_package = object.ruby_package ?? ""; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const MessageOptions: MessageFns = { + $type: "google.protobuf.MessageOptions" as const, + + encode(message: MessageOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_set_wire_format !== undefined && message.message_set_wire_format !== false) { + writer.uint32(8).bool(message.message_set_wire_format); + } + if (message.no_standard_descriptor_accessor !== undefined && message.no_standard_descriptor_accessor !== false) { + writer.uint32(16).bool(message.no_standard_descriptor_accessor); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(24).bool(message.deprecated); + } + if (message.map_entry !== undefined && message.map_entry !== false) { + writer.uint32(56).bool(message.map_entry); + } + if (message.deprecated_legacy_json_field_conflicts !== undefined && message.deprecated_legacy_json_field_conflicts !== false) { + writer.uint32(88).bool(message.deprecated_legacy_json_field_conflicts); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(98).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MessageOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMessageOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.message_set_wire_format = reader.bool(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.no_standard_descriptor_accessor = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.map_entry = reader.bool(); + continue; + case 11: + if (tag !== 88) { + break; + } + + message.deprecated_legacy_json_field_conflicts = reader.bool(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MessageOptions { + return { + message_set_wire_format: isSet(object.message_set_wire_format) ? globalThis.Boolean(object.message_set_wire_format) : false, + no_standard_descriptor_accessor: isSet(object.no_standard_descriptor_accessor) ? globalThis.Boolean(object.no_standard_descriptor_accessor) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + map_entry: isSet(object.map_entry) ? globalThis.Boolean(object.map_entry) : false, + deprecated_legacy_json_field_conflicts: isSet(object.deprecated_legacy_json_field_conflicts) + ? globalThis.Boolean(object.deprecated_legacy_json_field_conflicts) + : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MessageOptions): unknown { + const obj: any = {}; + if (message.message_set_wire_format !== undefined && message.message_set_wire_format !== false) { + obj.message_set_wire_format = message.message_set_wire_format; + } + if (message.no_standard_descriptor_accessor !== undefined && message.no_standard_descriptor_accessor !== false) { + obj.no_standard_descriptor_accessor = message.no_standard_descriptor_accessor; + } + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.map_entry !== undefined && message.map_entry !== false) { + obj.map_entry = message.map_entry; + } + if (message.deprecated_legacy_json_field_conflicts !== undefined && message.deprecated_legacy_json_field_conflicts !== false) { + obj.deprecated_legacy_json_field_conflicts = message.deprecated_legacy_json_field_conflicts; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MessageOptions { + return MessageOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MessageOptions { + const message = createBaseMessageOptions(); + message.message_set_wire_format = object.message_set_wire_format ?? false; + message.no_standard_descriptor_accessor = object.no_standard_descriptor_accessor ?? false; + message.deprecated = object.deprecated ?? false; + message.map_entry = object.map_entry ?? false; + message.deprecated_legacy_json_field_conflicts = object.deprecated_legacy_json_field_conflicts ?? false; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const FieldOptions: MessageFns = { + $type: "google.protobuf.FieldOptions" as const, + + encode(message: FieldOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.ctype !== undefined && message.ctype !== 0) { + writer.uint32(8).int32(message.ctype); + } + if (message.packed !== undefined && message.packed !== false) { + writer.uint32(16).bool(message.packed); + } + if (message.jstype !== undefined && message.jstype !== 0) { + writer.uint32(48).int32(message.jstype); + } + if (message.lazy !== undefined && message.lazy !== false) { + writer.uint32(40).bool(message.lazy); + } + if (message.unverified_lazy !== undefined && message.unverified_lazy !== false) { + writer.uint32(120).bool(message.unverified_lazy); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(24).bool(message.deprecated); + } + if (message.weak !== undefined && message.weak !== false) { + writer.uint32(80).bool(message.weak); + } + if (message.debug_redact !== undefined && message.debug_redact !== false) { + writer.uint32(128).bool(message.debug_redact); + } + if (message.retention !== undefined && message.retention !== 0) { + writer.uint32(136).int32(message.retention); + } + writer.uint32(154).fork(); + for (const v of message.targets) { + writer.int32(v); + } + writer.join(); + for (const v of message.edition_defaults) { + FieldOptionsEditionDefault.encode(v!, writer.uint32(162).fork()).join(); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(170).fork()).join(); + } + if (message.feature_support !== undefined) { + FieldOptionsFeatureSupport.encode(message.feature_support, writer.uint32(178).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FieldOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.ctype = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.packed = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.jstype = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.lazy = reader.bool(); + continue; + case 15: + if (tag !== 120) { + break; + } + + message.unverified_lazy = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.weak = reader.bool(); + continue; + case 16: + if (tag !== 128) { + break; + } + + message.debug_redact = reader.bool(); + continue; + case 17: + if (tag !== 136) { + break; + } + + message.retention = reader.int32() as any; + continue; + case 19: + if (tag === 152) { + message.targets.push(reader.int32() as any); + + continue; + } + + if (tag === 154) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.targets.push(reader.int32() as any); + } + + continue; + } + + break; + case 20: + if (tag !== 162) { + break; + } + + message.edition_defaults.push(FieldOptionsEditionDefault.decode(reader, reader.uint32())); + continue; + case 21: + if (tag !== 170) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 22: + if (tag !== 178) { + break; + } + + message.feature_support = FieldOptionsFeatureSupport.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldOptions { + return { + ctype: isSet(object.ctype) ? fieldOptionsCTypeFromJSON(object.ctype) : 0, + packed: isSet(object.packed) ? globalThis.Boolean(object.packed) : false, + jstype: isSet(object.jstype) ? fieldOptionsJSTypeFromJSON(object.jstype) : 0, + lazy: isSet(object.lazy) ? globalThis.Boolean(object.lazy) : false, + unverified_lazy: isSet(object.unverified_lazy) ? globalThis.Boolean(object.unverified_lazy) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + weak: isSet(object.weak) ? globalThis.Boolean(object.weak) : false, + debug_redact: isSet(object.debug_redact) ? globalThis.Boolean(object.debug_redact) : false, + retention: isSet(object.retention) ? fieldOptionsOptionRetentionFromJSON(object.retention) : 0, + targets: globalThis.Array.isArray(object?.targets) ? object.targets.map((e: any) => fieldOptionsOptionTargetTypeFromJSON(e)) : [], + edition_defaults: globalThis.Array.isArray(object?.edition_defaults) + ? object.edition_defaults.map((e: any) => FieldOptionsEditionDefault.fromJSON(e)) + : [], + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + feature_support: isSet(object.feature_support) ? FieldOptionsFeatureSupport.fromJSON(object.feature_support) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: FieldOptions): unknown { + const obj: any = {}; + if (message.ctype !== undefined && message.ctype !== 0) { + obj.ctype = fieldOptionsCTypeToJSON(message.ctype); + } + if (message.packed !== undefined && message.packed !== false) { + obj.packed = message.packed; + } + if (message.jstype !== undefined && message.jstype !== 0) { + obj.jstype = fieldOptionsJSTypeToJSON(message.jstype); + } + if (message.lazy !== undefined && message.lazy !== false) { + obj.lazy = message.lazy; + } + if (message.unverified_lazy !== undefined && message.unverified_lazy !== false) { + obj.unverified_lazy = message.unverified_lazy; + } + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.weak !== undefined && message.weak !== false) { + obj.weak = message.weak; + } + if (message.debug_redact !== undefined && message.debug_redact !== false) { + obj.debug_redact = message.debug_redact; + } + if (message.retention !== undefined && message.retention !== 0) { + obj.retention = fieldOptionsOptionRetentionToJSON(message.retention); + } + if (message.targets?.length) { + obj.targets = message.targets.map((e) => fieldOptionsOptionTargetTypeToJSON(e)); + } + if (message.edition_defaults?.length) { + obj.edition_defaults = message.edition_defaults.map((e) => FieldOptionsEditionDefault.toJSON(e)); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.feature_support !== undefined) { + obj.feature_support = FieldOptionsFeatureSupport.toJSON(message.feature_support); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): FieldOptions { + return FieldOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldOptions { + const message = createBaseFieldOptions(); + message.ctype = object.ctype ?? 0; + message.packed = object.packed ?? false; + message.jstype = object.jstype ?? 0; + message.lazy = object.lazy ?? false; + message.unverified_lazy = object.unverified_lazy ?? false; + message.deprecated = object.deprecated ?? false; + message.weak = object.weak ?? false; + message.debug_redact = object.debug_redact ?? false; + message.retention = object.retention ?? 0; + message.targets = object.targets?.map((e) => e) || []; + message.edition_defaults = object.edition_defaults?.map((e) => FieldOptionsEditionDefault.fromPartial(e)) || []; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.feature_support = + object.feature_support !== undefined && object.feature_support !== null ? FieldOptionsFeatureSupport.fromPartial(object.feature_support) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const FieldOptionsEditionDefault: MessageFns = { + $type: "google.protobuf.FieldOptions.EditionDefault" as const, + + encode(message: FieldOptionsEditionDefault, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.edition !== undefined && message.edition !== 0) { + writer.uint32(24).int32(message.edition); + } + if (message.value !== undefined && message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FieldOptionsEditionDefault { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldOptionsEditionDefault(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 24) { + break; + } + + message.edition = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldOptionsEditionDefault { + return { + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: FieldOptionsEditionDefault): unknown { + const obj: any = {}; + if (message.edition !== undefined && message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + if (message.value !== undefined && message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create, I>>(base?: I): FieldOptionsEditionDefault { + return FieldOptionsEditionDefault.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldOptionsEditionDefault { + const message = createBaseFieldOptionsEditionDefault(); + message.edition = object.edition ?? 0; + message.value = object.value ?? ""; + return message; + }, +}; + +export const FieldOptionsFeatureSupport: MessageFns = { + $type: "google.protobuf.FieldOptions.FeatureSupport" as const, + + encode(message: FieldOptionsFeatureSupport, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.edition_introduced !== undefined && message.edition_introduced !== 0) { + writer.uint32(8).int32(message.edition_introduced); + } + if (message.edition_deprecated !== undefined && message.edition_deprecated !== 0) { + writer.uint32(16).int32(message.edition_deprecated); + } + if (message.deprecation_warning !== undefined && message.deprecation_warning !== "") { + writer.uint32(26).string(message.deprecation_warning); + } + if (message.edition_removed !== undefined && message.edition_removed !== 0) { + writer.uint32(32).int32(message.edition_removed); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FieldOptionsFeatureSupport { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFieldOptionsFeatureSupport(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.edition_introduced = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.edition_deprecated = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.deprecation_warning = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.edition_removed = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FieldOptionsFeatureSupport { + return { + edition_introduced: isSet(object.edition_introduced) ? editionFromJSON(object.edition_introduced) : 0, + edition_deprecated: isSet(object.edition_deprecated) ? editionFromJSON(object.edition_deprecated) : 0, + deprecation_warning: isSet(object.deprecation_warning) ? globalThis.String(object.deprecation_warning) : "", + edition_removed: isSet(object.edition_removed) ? editionFromJSON(object.edition_removed) : 0, + }; + }, + + toJSON(message: FieldOptionsFeatureSupport): unknown { + const obj: any = {}; + if (message.edition_introduced !== undefined && message.edition_introduced !== 0) { + obj.edition_introduced = editionToJSON(message.edition_introduced); + } + if (message.edition_deprecated !== undefined && message.edition_deprecated !== 0) { + obj.edition_deprecated = editionToJSON(message.edition_deprecated); + } + if (message.deprecation_warning !== undefined && message.deprecation_warning !== "") { + obj.deprecation_warning = message.deprecation_warning; + } + if (message.edition_removed !== undefined && message.edition_removed !== 0) { + obj.edition_removed = editionToJSON(message.edition_removed); + } + return obj; + }, + + create, I>>(base?: I): FieldOptionsFeatureSupport { + return FieldOptionsFeatureSupport.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FieldOptionsFeatureSupport { + const message = createBaseFieldOptionsFeatureSupport(); + message.edition_introduced = object.edition_introduced ?? 0; + message.edition_deprecated = object.edition_deprecated ?? 0; + message.deprecation_warning = object.deprecation_warning ?? ""; + message.edition_removed = object.edition_removed ?? 0; + return message; + }, +}; + +export const OneofOptions: MessageFns = { + $type: "google.protobuf.OneofOptions" as const, + + encode(message: OneofOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(10).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): OneofOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOneofOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): OneofOptions { + return { + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: OneofOptions): unknown { + const obj: any = {}; + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): OneofOptions { + return OneofOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OneofOptions { + const message = createBaseOneofOptions(); + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const EnumOptions: MessageFns = { + $type: "google.protobuf.EnumOptions" as const, + + encode(message: EnumOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.allow_alias !== undefined && message.allow_alias !== false) { + writer.uint32(16).bool(message.allow_alias); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(24).bool(message.deprecated); + } + if (message.deprecated_legacy_json_field_conflicts !== undefined && message.deprecated_legacy_json_field_conflicts !== false) { + writer.uint32(48).bool(message.deprecated_legacy_json_field_conflicts); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(58).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EnumOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 16) { + break; + } + + message.allow_alias = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.deprecated_legacy_json_field_conflicts = reader.bool(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumOptions { + return { + allow_alias: isSet(object.allow_alias) ? globalThis.Boolean(object.allow_alias) : false, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + deprecated_legacy_json_field_conflicts: isSet(object.deprecated_legacy_json_field_conflicts) + ? globalThis.Boolean(object.deprecated_legacy_json_field_conflicts) + : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EnumOptions): unknown { + const obj: any = {}; + if (message.allow_alias !== undefined && message.allow_alias !== false) { + obj.allow_alias = message.allow_alias; + } + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.deprecated_legacy_json_field_conflicts !== undefined && message.deprecated_legacy_json_field_conflicts !== false) { + obj.deprecated_legacy_json_field_conflicts = message.deprecated_legacy_json_field_conflicts; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EnumOptions { + return EnumOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumOptions { + const message = createBaseEnumOptions(); + message.allow_alias = object.allow_alias ?? false; + message.deprecated = object.deprecated ?? false; + message.deprecated_legacy_json_field_conflicts = object.deprecated_legacy_json_field_conflicts ?? false; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const EnumValueOptions: MessageFns = { + $type: "google.protobuf.EnumValueOptions" as const, + + encode(message: EnumValueOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(8).bool(message.deprecated); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(18).fork()).join(); + } + if (message.debug_redact !== undefined && message.debug_redact !== false) { + writer.uint32(24).bool(message.debug_redact); + } + if (message.feature_support !== undefined) { + FieldOptionsFeatureSupport.encode(message.feature_support, writer.uint32(34).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EnumValueOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnumValueOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.debug_redact = reader.bool(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.feature_support = FieldOptionsFeatureSupport.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EnumValueOptions { + return { + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + debug_redact: isSet(object.debug_redact) ? globalThis.Boolean(object.debug_redact) : false, + feature_support: isSet(object.feature_support) ? FieldOptionsFeatureSupport.fromJSON(object.feature_support) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EnumValueOptions): unknown { + const obj: any = {}; + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.debug_redact !== undefined && message.debug_redact !== false) { + obj.debug_redact = message.debug_redact; + } + if (message.feature_support !== undefined) { + obj.feature_support = FieldOptionsFeatureSupport.toJSON(message.feature_support); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EnumValueOptions { + return EnumValueOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EnumValueOptions { + const message = createBaseEnumValueOptions(); + message.deprecated = object.deprecated ?? false; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.debug_redact = object.debug_redact ?? false; + message.feature_support = + object.feature_support !== undefined && object.feature_support !== null ? FieldOptionsFeatureSupport.fromPartial(object.feature_support) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const ServiceOptions: MessageFns = { + $type: "google.protobuf.ServiceOptions" as const, + + encode(message: ServiceOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(274).fork()).join(); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(264).bool(message.deprecated); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ServiceOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseServiceOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 34: + if (tag !== 274) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 33: + if (tag !== 264) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ServiceOptions { + return { + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ServiceOptions): unknown { + const obj: any = {}; + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ServiceOptions { + return ServiceOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ServiceOptions { + const message = createBaseServiceOptions(); + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.deprecated = object.deprecated ?? false; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const MethodOptions: MessageFns = { + $type: "google.protobuf.MethodOptions" as const, + + encode(message: MethodOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.deprecated !== undefined && message.deprecated !== false) { + writer.uint32(264).bool(message.deprecated); + } + if (message.idempotency_level !== undefined && message.idempotency_level !== 0) { + writer.uint32(272).int32(message.idempotency_level); + } + if (message.features !== undefined) { + FeatureSet.encode(message.features, writer.uint32(282).fork()).join(); + } + for (const v of message.uninterpreted_option) { + UninterpretedOption.encode(v!, writer.uint32(7994).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MethodOptions { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMethodOptions(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + if (tag !== 264) { + break; + } + + message.deprecated = reader.bool(); + continue; + case 34: + if (tag !== 272) { + break; + } + + message.idempotency_level = reader.int32() as any; + continue; + case 35: + if (tag !== 282) { + break; + } + + message.features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 999: + if (tag !== 7994) { + break; + } + + message.uninterpreted_option.push(UninterpretedOption.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MethodOptions { + return { + deprecated: isSet(object.deprecated) ? globalThis.Boolean(object.deprecated) : false, + idempotency_level: isSet(object.idempotency_level) ? methodOptionsIdempotencyLevelFromJSON(object.idempotency_level) : 0, + features: isSet(object.features) ? FeatureSet.fromJSON(object.features) : undefined, + uninterpreted_option: globalThis.Array.isArray(object?.uninterpreted_option) + ? object.uninterpreted_option.map((e: any) => UninterpretedOption.fromJSON(e)) + : [], + }; + }, + + toJSON(message: MethodOptions): unknown { + const obj: any = {}; + if (message.deprecated !== undefined && message.deprecated !== false) { + obj.deprecated = message.deprecated; + } + if (message.idempotency_level !== undefined && message.idempotency_level !== 0) { + obj.idempotency_level = methodOptionsIdempotencyLevelToJSON(message.idempotency_level); + } + if (message.features !== undefined) { + obj.features = FeatureSet.toJSON(message.features); + } + if (message.uninterpreted_option?.length) { + obj.uninterpreted_option = message.uninterpreted_option.map((e) => UninterpretedOption.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): MethodOptions { + return MethodOptions.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MethodOptions { + const message = createBaseMethodOptions(); + message.deprecated = object.deprecated ?? false; + message.idempotency_level = object.idempotency_level ?? 0; + message.features = object.features !== undefined && object.features !== null ? FeatureSet.fromPartial(object.features) : undefined; + message.uninterpreted_option = object.uninterpreted_option?.map((e) => UninterpretedOption.fromPartial(e)) || []; + return message; + }, +}; + +export const UninterpretedOption: MessageFns = { + $type: "google.protobuf.UninterpretedOption" as const, + + encode(message: UninterpretedOption, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.name) { + UninterpretedOptionNamePart.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.identifier_value !== undefined && message.identifier_value !== "") { + writer.uint32(26).string(message.identifier_value); + } + if (message.positive_int_value !== undefined && message.positive_int_value !== 0) { + writer.uint32(32).uint64(message.positive_int_value); + } + if (message.negative_int_value !== undefined && message.negative_int_value !== 0) { + writer.uint32(40).int64(message.negative_int_value); + } + if (message.double_value !== undefined && message.double_value !== 0) { + writer.uint32(49).double(message.double_value); + } + if (message.string_value !== undefined && message.string_value.length !== 0) { + writer.uint32(58).bytes(message.string_value); + } + if (message.aggregate_value !== undefined && message.aggregate_value !== "") { + writer.uint32(66).string(message.aggregate_value); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UninterpretedOption { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUninterpretedOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.name.push(UninterpretedOptionNamePart.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.identifier_value = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.positive_int_value = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.negative_int_value = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 49) { + break; + } + + message.double_value = reader.double(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.string_value = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.aggregate_value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UninterpretedOption { + return { + name: globalThis.Array.isArray(object?.name) ? object.name.map((e: any) => UninterpretedOptionNamePart.fromJSON(e)) : [], + identifier_value: isSet(object.identifier_value) ? globalThis.String(object.identifier_value) : "", + positive_int_value: isSet(object.positive_int_value) ? globalThis.Number(object.positive_int_value) : 0, + negative_int_value: isSet(object.negative_int_value) ? globalThis.Number(object.negative_int_value) : 0, + double_value: isSet(object.double_value) ? globalThis.Number(object.double_value) : 0, + string_value: isSet(object.string_value) ? bytesFromBase64(object.string_value) : new Uint8Array(0), + aggregate_value: isSet(object.aggregate_value) ? globalThis.String(object.aggregate_value) : "", + }; + }, + + toJSON(message: UninterpretedOption): unknown { + const obj: any = {}; + if (message.name?.length) { + obj.name = message.name.map((e) => UninterpretedOptionNamePart.toJSON(e)); + } + if (message.identifier_value !== undefined && message.identifier_value !== "") { + obj.identifier_value = message.identifier_value; + } + if (message.positive_int_value !== undefined && message.positive_int_value !== 0) { + obj.positive_int_value = Math.round(message.positive_int_value); + } + if (message.negative_int_value !== undefined && message.negative_int_value !== 0) { + obj.negative_int_value = Math.round(message.negative_int_value); + } + if (message.double_value !== undefined && message.double_value !== 0) { + obj.double_value = message.double_value; + } + if (message.string_value !== undefined && message.string_value.length !== 0) { + obj.string_value = base64FromBytes(message.string_value); + } + if (message.aggregate_value !== undefined && message.aggregate_value !== "") { + obj.aggregate_value = message.aggregate_value; + } + return obj; + }, + + create, I>>(base?: I): UninterpretedOption { + return UninterpretedOption.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UninterpretedOption { + const message = createBaseUninterpretedOption(); + message.name = object.name?.map((e) => UninterpretedOptionNamePart.fromPartial(e)) || []; + message.identifier_value = object.identifier_value ?? ""; + message.positive_int_value = object.positive_int_value ?? 0; + message.negative_int_value = object.negative_int_value ?? 0; + message.double_value = object.double_value ?? 0; + message.string_value = object.string_value ?? new Uint8Array(0); + message.aggregate_value = object.aggregate_value ?? ""; + return message; + }, +}; + +export const UninterpretedOptionNamePart: MessageFns = { + $type: "google.protobuf.UninterpretedOption.NamePart" as const, + + encode(message: UninterpretedOptionNamePart, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name_part !== "") { + writer.uint32(10).string(message.name_part); + } + if (message.is_extension !== false) { + writer.uint32(16).bool(message.is_extension); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UninterpretedOptionNamePart { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUninterpretedOptionNamePart(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name_part = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.is_extension = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UninterpretedOptionNamePart { + return { + name_part: isSet(object.name_part) ? globalThis.String(object.name_part) : "", + is_extension: isSet(object.is_extension) ? globalThis.Boolean(object.is_extension) : false, + }; + }, + + toJSON(message: UninterpretedOptionNamePart): unknown { + const obj: any = {}; + if (message.name_part !== "") { + obj.name_part = message.name_part; + } + if (message.is_extension !== false) { + obj.is_extension = message.is_extension; + } + return obj; + }, + + create, I>>(base?: I): UninterpretedOptionNamePart { + return UninterpretedOptionNamePart.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UninterpretedOptionNamePart { + const message = createBaseUninterpretedOptionNamePart(); + message.name_part = object.name_part ?? ""; + message.is_extension = object.is_extension ?? false; + return message; + }, +}; + +export const FeatureSet: MessageFns = { + $type: "google.protobuf.FeatureSet" as const, + + encode(message: FeatureSet, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.field_presence !== undefined && message.field_presence !== 0) { + writer.uint32(8).int32(message.field_presence); + } + if (message.enum_type !== undefined && message.enum_type !== 0) { + writer.uint32(16).int32(message.enum_type); + } + if (message.repeated_field_encoding !== undefined && message.repeated_field_encoding !== 0) { + writer.uint32(24).int32(message.repeated_field_encoding); + } + if (message.utf8_validation !== undefined && message.utf8_validation !== 0) { + writer.uint32(32).int32(message.utf8_validation); + } + if (message.message_encoding !== undefined && message.message_encoding !== 0) { + writer.uint32(40).int32(message.message_encoding); + } + if (message.json_format !== undefined && message.json_format !== 0) { + writer.uint32(48).int32(message.json_format); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeatureSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.field_presence = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.enum_type = reader.int32() as any; + continue; + case 3: + if (tag !== 24) { + break; + } + + message.repeated_field_encoding = reader.int32() as any; + continue; + case 4: + if (tag !== 32) { + break; + } + + message.utf8_validation = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.message_encoding = reader.int32() as any; + continue; + case 6: + if (tag !== 48) { + break; + } + + message.json_format = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSet { + return { + field_presence: isSet(object.field_presence) ? featureSetFieldPresenceFromJSON(object.field_presence) : 0, + enum_type: isSet(object.enum_type) ? featureSetEnumTypeFromJSON(object.enum_type) : 0, + repeated_field_encoding: isSet(object.repeated_field_encoding) ? featureSetRepeatedFieldEncodingFromJSON(object.repeated_field_encoding) : 0, + utf8_validation: isSet(object.utf8_validation) ? featureSetUtf8ValidationFromJSON(object.utf8_validation) : 0, + message_encoding: isSet(object.message_encoding) ? featureSetMessageEncodingFromJSON(object.message_encoding) : 0, + json_format: isSet(object.json_format) ? featureSetJsonFormatFromJSON(object.json_format) : 0, + }; + }, + + toJSON(message: FeatureSet): unknown { + const obj: any = {}; + if (message.field_presence !== undefined && message.field_presence !== 0) { + obj.field_presence = featureSetFieldPresenceToJSON(message.field_presence); + } + if (message.enum_type !== undefined && message.enum_type !== 0) { + obj.enum_type = featureSetEnumTypeToJSON(message.enum_type); + } + if (message.repeated_field_encoding !== undefined && message.repeated_field_encoding !== 0) { + obj.repeated_field_encoding = featureSetRepeatedFieldEncodingToJSON(message.repeated_field_encoding); + } + if (message.utf8_validation !== undefined && message.utf8_validation !== 0) { + obj.utf8_validation = featureSetUtf8ValidationToJSON(message.utf8_validation); + } + if (message.message_encoding !== undefined && message.message_encoding !== 0) { + obj.message_encoding = featureSetMessageEncodingToJSON(message.message_encoding); + } + if (message.json_format !== undefined && message.json_format !== 0) { + obj.json_format = featureSetJsonFormatToJSON(message.json_format); + } + return obj; + }, + + create, I>>(base?: I): FeatureSet { + return FeatureSet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeatureSet { + const message = createBaseFeatureSet(); + message.field_presence = object.field_presence ?? 0; + message.enum_type = object.enum_type ?? 0; + message.repeated_field_encoding = object.repeated_field_encoding ?? 0; + message.utf8_validation = object.utf8_validation ?? 0; + message.message_encoding = object.message_encoding ?? 0; + message.json_format = object.json_format ?? 0; + return message; + }, +}; + +export const FeatureSetDefaults: MessageFns = { + $type: "google.protobuf.FeatureSetDefaults" as const, + + encode(message: FeatureSetDefaults, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.defaults) { + FeatureSetDefaultsFeatureSetEditionDefault.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.minimum_edition !== undefined && message.minimum_edition !== 0) { + writer.uint32(32).int32(message.minimum_edition); + } + if (message.maximum_edition !== undefined && message.maximum_edition !== 0) { + writer.uint32(40).int32(message.maximum_edition); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeatureSetDefaults { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSetDefaults(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.defaults.push(FeatureSetDefaultsFeatureSetEditionDefault.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.minimum_edition = reader.int32() as any; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.maximum_edition = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSetDefaults { + return { + defaults: globalThis.Array.isArray(object?.defaults) ? object.defaults.map((e: any) => FeatureSetDefaultsFeatureSetEditionDefault.fromJSON(e)) : [], + minimum_edition: isSet(object.minimum_edition) ? editionFromJSON(object.minimum_edition) : 0, + maximum_edition: isSet(object.maximum_edition) ? editionFromJSON(object.maximum_edition) : 0, + }; + }, + + toJSON(message: FeatureSetDefaults): unknown { + const obj: any = {}; + if (message.defaults?.length) { + obj.defaults = message.defaults.map((e) => FeatureSetDefaultsFeatureSetEditionDefault.toJSON(e)); + } + if (message.minimum_edition !== undefined && message.minimum_edition !== 0) { + obj.minimum_edition = editionToJSON(message.minimum_edition); + } + if (message.maximum_edition !== undefined && message.maximum_edition !== 0) { + obj.maximum_edition = editionToJSON(message.maximum_edition); + } + return obj; + }, + + create, I>>(base?: I): FeatureSetDefaults { + return FeatureSetDefaults.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeatureSetDefaults { + const message = createBaseFeatureSetDefaults(); + message.defaults = object.defaults?.map((e) => FeatureSetDefaultsFeatureSetEditionDefault.fromPartial(e)) || []; + message.minimum_edition = object.minimum_edition ?? 0; + message.maximum_edition = object.maximum_edition ?? 0; + return message; + }, +}; + +export const FeatureSetDefaultsFeatureSetEditionDefault: MessageFns< + FeatureSetDefaultsFeatureSetEditionDefault, + "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault" +> = { + $type: "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault" as const, + + encode(message: FeatureSetDefaultsFeatureSetEditionDefault, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.edition !== undefined && message.edition !== 0) { + writer.uint32(24).int32(message.edition); + } + if (message.overridable_features !== undefined) { + FeatureSet.encode(message.overridable_features, writer.uint32(34).fork()).join(); + } + if (message.fixed_features !== undefined) { + FeatureSet.encode(message.fixed_features, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeatureSetDefaultsFeatureSetEditionDefault { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeatureSetDefaultsFeatureSetEditionDefault(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 24) { + break; + } + + message.edition = reader.int32() as any; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.overridable_features = FeatureSet.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.fixed_features = FeatureSet.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeatureSetDefaultsFeatureSetEditionDefault { + return { + edition: isSet(object.edition) ? editionFromJSON(object.edition) : 0, + overridable_features: isSet(object.overridable_features) ? FeatureSet.fromJSON(object.overridable_features) : undefined, + fixed_features: isSet(object.fixed_features) ? FeatureSet.fromJSON(object.fixed_features) : undefined, + }; + }, + + toJSON(message: FeatureSetDefaultsFeatureSetEditionDefault): unknown { + const obj: any = {}; + if (message.edition !== undefined && message.edition !== 0) { + obj.edition = editionToJSON(message.edition); + } + if (message.overridable_features !== undefined) { + obj.overridable_features = FeatureSet.toJSON(message.overridable_features); + } + if (message.fixed_features !== undefined) { + obj.fixed_features = FeatureSet.toJSON(message.fixed_features); + } + return obj; + }, + + create, I>>(base?: I): FeatureSetDefaultsFeatureSetEditionDefault { + return FeatureSetDefaultsFeatureSetEditionDefault.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeatureSetDefaultsFeatureSetEditionDefault { + const message = createBaseFeatureSetDefaultsFeatureSetEditionDefault(); + message.edition = object.edition ?? 0; + message.overridable_features = + object.overridable_features !== undefined && object.overridable_features !== null ? FeatureSet.fromPartial(object.overridable_features) : undefined; + message.fixed_features = object.fixed_features !== undefined && object.fixed_features !== null ? FeatureSet.fromPartial(object.fixed_features) : undefined; + return message; + }, +}; + +export const SourceCodeInfo: MessageFns = { + $type: "google.protobuf.SourceCodeInfo" as const, + + encode(message: SourceCodeInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.location) { + SourceCodeInfoLocation.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SourceCodeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSourceCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.location.push(SourceCodeInfoLocation.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SourceCodeInfo { + return { + location: globalThis.Array.isArray(object?.location) ? object.location.map((e: any) => SourceCodeInfoLocation.fromJSON(e)) : [], + }; + }, + + toJSON(message: SourceCodeInfo): unknown { + const obj: any = {}; + if (message.location?.length) { + obj.location = message.location.map((e) => SourceCodeInfoLocation.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SourceCodeInfo { + return SourceCodeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SourceCodeInfo { + const message = createBaseSourceCodeInfo(); + message.location = object.location?.map((e) => SourceCodeInfoLocation.fromPartial(e)) || []; + return message; + }, +}; + +export const SourceCodeInfoLocation: MessageFns = { + $type: "google.protobuf.SourceCodeInfo.Location" as const, + + encode(message: SourceCodeInfoLocation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.join(); + writer.uint32(18).fork(); + for (const v of message.span) { + writer.int32(v); + } + writer.join(); + if (message.leading_comments !== undefined && message.leading_comments !== "") { + writer.uint32(26).string(message.leading_comments); + } + if (message.trailing_comments !== undefined && message.trailing_comments !== "") { + writer.uint32(34).string(message.trailing_comments); + } + for (const v of message.leading_detached_comments) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SourceCodeInfoLocation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSourceCodeInfoLocation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.path.push(reader.int32()); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + + continue; + } + + break; + case 2: + if (tag === 16) { + message.span.push(reader.int32()); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.span.push(reader.int32()); + } + + continue; + } + + break; + case 3: + if (tag !== 26) { + break; + } + + message.leading_comments = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.trailing_comments = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.leading_detached_comments.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SourceCodeInfoLocation { + return { + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => globalThis.Number(e)) : [], + span: globalThis.Array.isArray(object?.span) ? object.span.map((e: any) => globalThis.Number(e)) : [], + leading_comments: isSet(object.leading_comments) ? globalThis.String(object.leading_comments) : "", + trailing_comments: isSet(object.trailing_comments) ? globalThis.String(object.trailing_comments) : "", + leading_detached_comments: globalThis.Array.isArray(object?.leading_detached_comments) + ? object.leading_detached_comments.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: SourceCodeInfoLocation): unknown { + const obj: any = {}; + if (message.path?.length) { + obj.path = message.path.map((e) => Math.round(e)); + } + if (message.span?.length) { + obj.span = message.span.map((e) => Math.round(e)); + } + if (message.leading_comments !== undefined && message.leading_comments !== "") { + obj.leading_comments = message.leading_comments; + } + if (message.trailing_comments !== undefined && message.trailing_comments !== "") { + obj.trailing_comments = message.trailing_comments; + } + if (message.leading_detached_comments?.length) { + obj.leading_detached_comments = message.leading_detached_comments; + } + return obj; + }, + + create, I>>(base?: I): SourceCodeInfoLocation { + return SourceCodeInfoLocation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SourceCodeInfoLocation { + const message = createBaseSourceCodeInfoLocation(); + message.path = object.path?.map((e) => e) || []; + message.span = object.span?.map((e) => e) || []; + message.leading_comments = object.leading_comments ?? ""; + message.trailing_comments = object.trailing_comments ?? ""; + message.leading_detached_comments = object.leading_detached_comments?.map((e) => e) || []; + return message; + }, +}; + +export const GeneratedCodeInfo: MessageFns = { + $type: "google.protobuf.GeneratedCodeInfo" as const, + + encode(message: GeneratedCodeInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.annotation) { + GeneratedCodeInfoAnnotation.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GeneratedCodeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGeneratedCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.annotation.push(GeneratedCodeInfoAnnotation.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GeneratedCodeInfo { + return { + annotation: globalThis.Array.isArray(object?.annotation) ? object.annotation.map((e: any) => GeneratedCodeInfoAnnotation.fromJSON(e)) : [], + }; + }, + + toJSON(message: GeneratedCodeInfo): unknown { + const obj: any = {}; + if (message.annotation?.length) { + obj.annotation = message.annotation.map((e) => GeneratedCodeInfoAnnotation.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GeneratedCodeInfo { + return GeneratedCodeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GeneratedCodeInfo { + const message = createBaseGeneratedCodeInfo(); + message.annotation = object.annotation?.map((e) => GeneratedCodeInfoAnnotation.fromPartial(e)) || []; + return message; + }, +}; + +export const GeneratedCodeInfoAnnotation: MessageFns = { + $type: "google.protobuf.GeneratedCodeInfo.Annotation" as const, + + encode(message: GeneratedCodeInfoAnnotation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.join(); + if (message.source_file !== undefined && message.source_file !== "") { + writer.uint32(18).string(message.source_file); + } + if (message.begin !== undefined && message.begin !== 0) { + writer.uint32(24).int32(message.begin); + } + if (message.end !== undefined && message.end !== 0) { + writer.uint32(32).int32(message.end); + } + if (message.semantic !== undefined && message.semantic !== 0) { + writer.uint32(40).int32(message.semantic); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GeneratedCodeInfoAnnotation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGeneratedCodeInfoAnnotation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.path.push(reader.int32()); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + + continue; + } + + break; + case 2: + if (tag !== 18) { + break; + } + + message.source_file = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.begin = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.end = reader.int32(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.semantic = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GeneratedCodeInfoAnnotation { + return { + path: globalThis.Array.isArray(object?.path) ? object.path.map((e: any) => globalThis.Number(e)) : [], + source_file: isSet(object.source_file) ? globalThis.String(object.source_file) : "", + begin: isSet(object.begin) ? globalThis.Number(object.begin) : 0, + end: isSet(object.end) ? globalThis.Number(object.end) : 0, + semantic: isSet(object.semantic) ? generatedCodeInfoAnnotationSemanticFromJSON(object.semantic) : 0, + }; + }, + + toJSON(message: GeneratedCodeInfoAnnotation): unknown { + const obj: any = {}; + if (message.path?.length) { + obj.path = message.path.map((e) => Math.round(e)); + } + if (message.source_file !== undefined && message.source_file !== "") { + obj.source_file = message.source_file; + } + if (message.begin !== undefined && message.begin !== 0) { + obj.begin = Math.round(message.begin); + } + if (message.end !== undefined && message.end !== 0) { + obj.end = Math.round(message.end); + } + if (message.semantic !== undefined && message.semantic !== 0) { + obj.semantic = generatedCodeInfoAnnotationSemanticToJSON(message.semantic); + } + return obj; + }, + + create, I>>(base?: I): GeneratedCodeInfoAnnotation { + return GeneratedCodeInfoAnnotation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GeneratedCodeInfoAnnotation { + const message = createBaseGeneratedCodeInfoAnnotation(); + message.path = object.path?.map((e) => e) || []; + message.source_file = object.source_file ?? ""; + message.begin = object.begin ?? 0; + message.end = object.end ?? 0; + message.semantic = object.semantic ?? 0; + return message; + }, +}; + +export function editionFromJSON(object: any): Edition { + switch (object) { + case 0: + case "EDITION_UNKNOWN": + return Edition.EDITION_UNKNOWN; + case 900: + case "EDITION_LEGACY": + return Edition.EDITION_LEGACY; + case 998: + case "EDITION_PROTO2": + return Edition.EDITION_PROTO2; + case 999: + case "EDITION_PROTO3": + return Edition.EDITION_PROTO3; + case 1000: + case "EDITION_2023": + return Edition.EDITION_2023; + case 1001: + case "EDITION_2024": + return Edition.EDITION_2024; + case 1: + case "EDITION_1_TEST_ONLY": + return Edition.EDITION_1_TEST_ONLY; + case 2: + case "EDITION_2_TEST_ONLY": + return Edition.EDITION_2_TEST_ONLY; + case 99997: + case "EDITION_99997_TEST_ONLY": + return Edition.EDITION_99997_TEST_ONLY; + case 99998: + case "EDITION_99998_TEST_ONLY": + return Edition.EDITION_99998_TEST_ONLY; + case 99999: + case "EDITION_99999_TEST_ONLY": + return Edition.EDITION_99999_TEST_ONLY; + case 2147483647: + case "EDITION_MAX": + return Edition.EDITION_MAX; + case -1: + case "UNRECOGNIZED": + default: + return Edition.UNRECOGNIZED; + } +} + +export function editionToJSON(object: Edition): string { + switch (object) { + case Edition.EDITION_UNKNOWN: + return "EDITION_UNKNOWN"; + case Edition.EDITION_LEGACY: + return "EDITION_LEGACY"; + case Edition.EDITION_PROTO2: + return "EDITION_PROTO2"; + case Edition.EDITION_PROTO3: + return "EDITION_PROTO3"; + case Edition.EDITION_2023: + return "EDITION_2023"; + case Edition.EDITION_2024: + return "EDITION_2024"; + case Edition.EDITION_1_TEST_ONLY: + return "EDITION_1_TEST_ONLY"; + case Edition.EDITION_2_TEST_ONLY: + return "EDITION_2_TEST_ONLY"; + case Edition.EDITION_99997_TEST_ONLY: + return "EDITION_99997_TEST_ONLY"; + case Edition.EDITION_99998_TEST_ONLY: + return "EDITION_99998_TEST_ONLY"; + case Edition.EDITION_99999_TEST_ONLY: + return "EDITION_99999_TEST_ONLY"; + case Edition.EDITION_MAX: + return "EDITION_MAX"; + case Edition.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function extensionRangeOptionsVerificationStateFromJSON(object: any): ExtensionRangeOptionsVerificationState { + switch (object) { + case 0: + case "DECLARATION": + return ExtensionRangeOptionsVerificationState.DECLARATION; + case 1: + case "UNVERIFIED": + return ExtensionRangeOptionsVerificationState.UNVERIFIED; + case -1: + case "UNRECOGNIZED": + default: + return ExtensionRangeOptionsVerificationState.UNRECOGNIZED; + } +} + +export function extensionRangeOptionsVerificationStateToJSON(object: ExtensionRangeOptionsVerificationState): string { + switch (object) { + case ExtensionRangeOptionsVerificationState.DECLARATION: + return "DECLARATION"; + case ExtensionRangeOptionsVerificationState.UNVERIFIED: + return "UNVERIFIED"; + case ExtensionRangeOptionsVerificationState.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldDescriptorProtoTypeFromJSON(object: any): FieldDescriptorProtoType { + switch (object) { + case 1: + case "TYPE_DOUBLE": + return FieldDescriptorProtoType.TYPE_DOUBLE; + case 2: + case "TYPE_FLOAT": + return FieldDescriptorProtoType.TYPE_FLOAT; + case 3: + case "TYPE_INT64": + return FieldDescriptorProtoType.TYPE_INT64; + case 4: + case "TYPE_UINT64": + return FieldDescriptorProtoType.TYPE_UINT64; + case 5: + case "TYPE_INT32": + return FieldDescriptorProtoType.TYPE_INT32; + case 6: + case "TYPE_FIXED64": + return FieldDescriptorProtoType.TYPE_FIXED64; + case 7: + case "TYPE_FIXED32": + return FieldDescriptorProtoType.TYPE_FIXED32; + case 8: + case "TYPE_BOOL": + return FieldDescriptorProtoType.TYPE_BOOL; + case 9: + case "TYPE_STRING": + return FieldDescriptorProtoType.TYPE_STRING; + case 10: + case "TYPE_GROUP": + return FieldDescriptorProtoType.TYPE_GROUP; + case 11: + case "TYPE_MESSAGE": + return FieldDescriptorProtoType.TYPE_MESSAGE; + case 12: + case "TYPE_BYTES": + return FieldDescriptorProtoType.TYPE_BYTES; + case 13: + case "TYPE_UINT32": + return FieldDescriptorProtoType.TYPE_UINT32; + case 14: + case "TYPE_ENUM": + return FieldDescriptorProtoType.TYPE_ENUM; + case 15: + case "TYPE_SFIXED32": + return FieldDescriptorProtoType.TYPE_SFIXED32; + case 16: + case "TYPE_SFIXED64": + return FieldDescriptorProtoType.TYPE_SFIXED64; + case 17: + case "TYPE_SINT32": + return FieldDescriptorProtoType.TYPE_SINT32; + case 18: + case "TYPE_SINT64": + return FieldDescriptorProtoType.TYPE_SINT64; + case -1: + case "UNRECOGNIZED": + default: + return FieldDescriptorProtoType.UNRECOGNIZED; + } +} + +export function fieldDescriptorProtoTypeToJSON(object: FieldDescriptorProtoType): string { + switch (object) { + case FieldDescriptorProtoType.TYPE_DOUBLE: + return "TYPE_DOUBLE"; + case FieldDescriptorProtoType.TYPE_FLOAT: + return "TYPE_FLOAT"; + case FieldDescriptorProtoType.TYPE_INT64: + return "TYPE_INT64"; + case FieldDescriptorProtoType.TYPE_UINT64: + return "TYPE_UINT64"; + case FieldDescriptorProtoType.TYPE_INT32: + return "TYPE_INT32"; + case FieldDescriptorProtoType.TYPE_FIXED64: + return "TYPE_FIXED64"; + case FieldDescriptorProtoType.TYPE_FIXED32: + return "TYPE_FIXED32"; + case FieldDescriptorProtoType.TYPE_BOOL: + return "TYPE_BOOL"; + case FieldDescriptorProtoType.TYPE_STRING: + return "TYPE_STRING"; + case FieldDescriptorProtoType.TYPE_GROUP: + return "TYPE_GROUP"; + case FieldDescriptorProtoType.TYPE_MESSAGE: + return "TYPE_MESSAGE"; + case FieldDescriptorProtoType.TYPE_BYTES: + return "TYPE_BYTES"; + case FieldDescriptorProtoType.TYPE_UINT32: + return "TYPE_UINT32"; + case FieldDescriptorProtoType.TYPE_ENUM: + return "TYPE_ENUM"; + case FieldDescriptorProtoType.TYPE_SFIXED32: + return "TYPE_SFIXED32"; + case FieldDescriptorProtoType.TYPE_SFIXED64: + return "TYPE_SFIXED64"; + case FieldDescriptorProtoType.TYPE_SINT32: + return "TYPE_SINT32"; + case FieldDescriptorProtoType.TYPE_SINT64: + return "TYPE_SINT64"; + case FieldDescriptorProtoType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldDescriptorProtoLabelFromJSON(object: any): FieldDescriptorProtoLabel { + switch (object) { + case 1: + case "LABEL_OPTIONAL": + return FieldDescriptorProtoLabel.LABEL_OPTIONAL; + case 3: + case "LABEL_REPEATED": + return FieldDescriptorProtoLabel.LABEL_REPEATED; + case 2: + case "LABEL_REQUIRED": + return FieldDescriptorProtoLabel.LABEL_REQUIRED; + case -1: + case "UNRECOGNIZED": + default: + return FieldDescriptorProtoLabel.UNRECOGNIZED; + } +} + +export function fieldDescriptorProtoLabelToJSON(object: FieldDescriptorProtoLabel): string { + switch (object) { + case FieldDescriptorProtoLabel.LABEL_OPTIONAL: + return "LABEL_OPTIONAL"; + case FieldDescriptorProtoLabel.LABEL_REPEATED: + return "LABEL_REPEATED"; + case FieldDescriptorProtoLabel.LABEL_REQUIRED: + return "LABEL_REQUIRED"; + case FieldDescriptorProtoLabel.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fileOptionsOptimizeModeFromJSON(object: any): FileOptionsOptimizeMode { + switch (object) { + case 1: + case "SPEED": + return FileOptionsOptimizeMode.SPEED; + case 2: + case "CODE_SIZE": + return FileOptionsOptimizeMode.CODE_SIZE; + case 3: + case "LITE_RUNTIME": + return FileOptionsOptimizeMode.LITE_RUNTIME; + case -1: + case "UNRECOGNIZED": + default: + return FileOptionsOptimizeMode.UNRECOGNIZED; + } +} + +export function fileOptionsOptimizeModeToJSON(object: FileOptionsOptimizeMode): string { + switch (object) { + case FileOptionsOptimizeMode.SPEED: + return "SPEED"; + case FileOptionsOptimizeMode.CODE_SIZE: + return "CODE_SIZE"; + case FileOptionsOptimizeMode.LITE_RUNTIME: + return "LITE_RUNTIME"; + case FileOptionsOptimizeMode.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldOptionsCTypeFromJSON(object: any): FieldOptionsCType { + switch (object) { + case 0: + case "STRING": + return FieldOptionsCType.STRING; + case 1: + case "CORD": + return FieldOptionsCType.CORD; + case 2: + case "STRING_PIECE": + return FieldOptionsCType.STRING_PIECE; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptionsCType.UNRECOGNIZED; + } +} + +export function fieldOptionsCTypeToJSON(object: FieldOptionsCType): string { + switch (object) { + case FieldOptionsCType.STRING: + return "STRING"; + case FieldOptionsCType.CORD: + return "CORD"; + case FieldOptionsCType.STRING_PIECE: + return "STRING_PIECE"; + case FieldOptionsCType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldOptionsJSTypeFromJSON(object: any): FieldOptionsJSType { + switch (object) { + case 0: + case "JS_NORMAL": + return FieldOptionsJSType.JS_NORMAL; + case 1: + case "JS_STRING": + return FieldOptionsJSType.JS_STRING; + case 2: + case "JS_NUMBER": + return FieldOptionsJSType.JS_NUMBER; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptionsJSType.UNRECOGNIZED; + } +} + +export function fieldOptionsJSTypeToJSON(object: FieldOptionsJSType): string { + switch (object) { + case FieldOptionsJSType.JS_NORMAL: + return "JS_NORMAL"; + case FieldOptionsJSType.JS_STRING: + return "JS_STRING"; + case FieldOptionsJSType.JS_NUMBER: + return "JS_NUMBER"; + case FieldOptionsJSType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldOptionsOptionRetentionFromJSON(object: any): FieldOptionsOptionRetention { + switch (object) { + case 0: + case "RETENTION_UNKNOWN": + return FieldOptionsOptionRetention.RETENTION_UNKNOWN; + case 1: + case "RETENTION_RUNTIME": + return FieldOptionsOptionRetention.RETENTION_RUNTIME; + case 2: + case "RETENTION_SOURCE": + return FieldOptionsOptionRetention.RETENTION_SOURCE; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptionsOptionRetention.UNRECOGNIZED; + } +} + +export function fieldOptionsOptionRetentionToJSON(object: FieldOptionsOptionRetention): string { + switch (object) { + case FieldOptionsOptionRetention.RETENTION_UNKNOWN: + return "RETENTION_UNKNOWN"; + case FieldOptionsOptionRetention.RETENTION_RUNTIME: + return "RETENTION_RUNTIME"; + case FieldOptionsOptionRetention.RETENTION_SOURCE: + return "RETENTION_SOURCE"; + case FieldOptionsOptionRetention.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function fieldOptionsOptionTargetTypeFromJSON(object: any): FieldOptionsOptionTargetType { + switch (object) { + case 0: + case "TARGET_TYPE_UNKNOWN": + return FieldOptionsOptionTargetType.TARGET_TYPE_UNKNOWN; + case 1: + case "TARGET_TYPE_FILE": + return FieldOptionsOptionTargetType.TARGET_TYPE_FILE; + case 2: + case "TARGET_TYPE_EXTENSION_RANGE": + return FieldOptionsOptionTargetType.TARGET_TYPE_EXTENSION_RANGE; + case 3: + case "TARGET_TYPE_MESSAGE": + return FieldOptionsOptionTargetType.TARGET_TYPE_MESSAGE; + case 4: + case "TARGET_TYPE_FIELD": + return FieldOptionsOptionTargetType.TARGET_TYPE_FIELD; + case 5: + case "TARGET_TYPE_ONEOF": + return FieldOptionsOptionTargetType.TARGET_TYPE_ONEOF; + case 6: + case "TARGET_TYPE_ENUM": + return FieldOptionsOptionTargetType.TARGET_TYPE_ENUM; + case 7: + case "TARGET_TYPE_ENUM_ENTRY": + return FieldOptionsOptionTargetType.TARGET_TYPE_ENUM_ENTRY; + case 8: + case "TARGET_TYPE_SERVICE": + return FieldOptionsOptionTargetType.TARGET_TYPE_SERVICE; + case 9: + case "TARGET_TYPE_METHOD": + return FieldOptionsOptionTargetType.TARGET_TYPE_METHOD; + case -1: + case "UNRECOGNIZED": + default: + return FieldOptionsOptionTargetType.UNRECOGNIZED; + } +} + +export function fieldOptionsOptionTargetTypeToJSON(object: FieldOptionsOptionTargetType): string { + switch (object) { + case FieldOptionsOptionTargetType.TARGET_TYPE_UNKNOWN: + return "TARGET_TYPE_UNKNOWN"; + case FieldOptionsOptionTargetType.TARGET_TYPE_FILE: + return "TARGET_TYPE_FILE"; + case FieldOptionsOptionTargetType.TARGET_TYPE_EXTENSION_RANGE: + return "TARGET_TYPE_EXTENSION_RANGE"; + case FieldOptionsOptionTargetType.TARGET_TYPE_MESSAGE: + return "TARGET_TYPE_MESSAGE"; + case FieldOptionsOptionTargetType.TARGET_TYPE_FIELD: + return "TARGET_TYPE_FIELD"; + case FieldOptionsOptionTargetType.TARGET_TYPE_ONEOF: + return "TARGET_TYPE_ONEOF"; + case FieldOptionsOptionTargetType.TARGET_TYPE_ENUM: + return "TARGET_TYPE_ENUM"; + case FieldOptionsOptionTargetType.TARGET_TYPE_ENUM_ENTRY: + return "TARGET_TYPE_ENUM_ENTRY"; + case FieldOptionsOptionTargetType.TARGET_TYPE_SERVICE: + return "TARGET_TYPE_SERVICE"; + case FieldOptionsOptionTargetType.TARGET_TYPE_METHOD: + return "TARGET_TYPE_METHOD"; + case FieldOptionsOptionTargetType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function methodOptionsIdempotencyLevelFromJSON(object: any): MethodOptionsIdempotencyLevel { + switch (object) { + case 0: + case "IDEMPOTENCY_UNKNOWN": + return MethodOptionsIdempotencyLevel.IDEMPOTENCY_UNKNOWN; + case 1: + case "NO_SIDE_EFFECTS": + return MethodOptionsIdempotencyLevel.NO_SIDE_EFFECTS; + case 2: + case "IDEMPOTENT": + return MethodOptionsIdempotencyLevel.IDEMPOTENT; + case -1: + case "UNRECOGNIZED": + default: + return MethodOptionsIdempotencyLevel.UNRECOGNIZED; + } +} + +export function methodOptionsIdempotencyLevelToJSON(object: MethodOptionsIdempotencyLevel): string { + switch (object) { + case MethodOptionsIdempotencyLevel.IDEMPOTENCY_UNKNOWN: + return "IDEMPOTENCY_UNKNOWN"; + case MethodOptionsIdempotencyLevel.NO_SIDE_EFFECTS: + return "NO_SIDE_EFFECTS"; + case MethodOptionsIdempotencyLevel.IDEMPOTENT: + return "IDEMPOTENT"; + case MethodOptionsIdempotencyLevel.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetFieldPresenceFromJSON(object: any): FeatureSetFieldPresence { + switch (object) { + case 0: + case "FIELD_PRESENCE_UNKNOWN": + return FeatureSetFieldPresence.FIELD_PRESENCE_UNKNOWN; + case 1: + case "EXPLICIT": + return FeatureSetFieldPresence.EXPLICIT; + case 2: + case "IMPLICIT": + return FeatureSetFieldPresence.IMPLICIT; + case 3: + case "LEGACY_REQUIRED": + return FeatureSetFieldPresence.LEGACY_REQUIRED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetFieldPresence.UNRECOGNIZED; + } +} + +export function featureSetFieldPresenceToJSON(object: FeatureSetFieldPresence): string { + switch (object) { + case FeatureSetFieldPresence.FIELD_PRESENCE_UNKNOWN: + return "FIELD_PRESENCE_UNKNOWN"; + case FeatureSetFieldPresence.EXPLICIT: + return "EXPLICIT"; + case FeatureSetFieldPresence.IMPLICIT: + return "IMPLICIT"; + case FeatureSetFieldPresence.LEGACY_REQUIRED: + return "LEGACY_REQUIRED"; + case FeatureSetFieldPresence.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetEnumTypeFromJSON(object: any): FeatureSetEnumType { + switch (object) { + case 0: + case "ENUM_TYPE_UNKNOWN": + return FeatureSetEnumType.ENUM_TYPE_UNKNOWN; + case 1: + case "OPEN": + return FeatureSetEnumType.OPEN; + case 2: + case "CLOSED": + return FeatureSetEnumType.CLOSED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetEnumType.UNRECOGNIZED; + } +} + +export function featureSetEnumTypeToJSON(object: FeatureSetEnumType): string { + switch (object) { + case FeatureSetEnumType.ENUM_TYPE_UNKNOWN: + return "ENUM_TYPE_UNKNOWN"; + case FeatureSetEnumType.OPEN: + return "OPEN"; + case FeatureSetEnumType.CLOSED: + return "CLOSED"; + case FeatureSetEnumType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetRepeatedFieldEncodingFromJSON(object: any): FeatureSetRepeatedFieldEncoding { + switch (object) { + case 0: + case "REPEATED_FIELD_ENCODING_UNKNOWN": + return FeatureSetRepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN; + case 1: + case "PACKED": + return FeatureSetRepeatedFieldEncoding.PACKED; + case 2: + case "EXPANDED": + return FeatureSetRepeatedFieldEncoding.EXPANDED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetRepeatedFieldEncoding.UNRECOGNIZED; + } +} + +export function featureSetRepeatedFieldEncodingToJSON(object: FeatureSetRepeatedFieldEncoding): string { + switch (object) { + case FeatureSetRepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN: + return "REPEATED_FIELD_ENCODING_UNKNOWN"; + case FeatureSetRepeatedFieldEncoding.PACKED: + return "PACKED"; + case FeatureSetRepeatedFieldEncoding.EXPANDED: + return "EXPANDED"; + case FeatureSetRepeatedFieldEncoding.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetUtf8ValidationFromJSON(object: any): FeatureSetUtf8Validation { + switch (object) { + case 0: + case "UTF8_VALIDATION_UNKNOWN": + return FeatureSetUtf8Validation.UTF8_VALIDATION_UNKNOWN; + case 2: + case "VERIFY": + return FeatureSetUtf8Validation.VERIFY; + case 3: + case "NONE": + return FeatureSetUtf8Validation.NONE; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetUtf8Validation.UNRECOGNIZED; + } +} + +export function featureSetUtf8ValidationToJSON(object: FeatureSetUtf8Validation): string { + switch (object) { + case FeatureSetUtf8Validation.UTF8_VALIDATION_UNKNOWN: + return "UTF8_VALIDATION_UNKNOWN"; + case FeatureSetUtf8Validation.VERIFY: + return "VERIFY"; + case FeatureSetUtf8Validation.NONE: + return "NONE"; + case FeatureSetUtf8Validation.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetMessageEncodingFromJSON(object: any): FeatureSetMessageEncoding { + switch (object) { + case 0: + case "MESSAGE_ENCODING_UNKNOWN": + return FeatureSetMessageEncoding.MESSAGE_ENCODING_UNKNOWN; + case 1: + case "LENGTH_PREFIXED": + return FeatureSetMessageEncoding.LENGTH_PREFIXED; + case 2: + case "DELIMITED": + return FeatureSetMessageEncoding.DELIMITED; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetMessageEncoding.UNRECOGNIZED; + } +} + +export function featureSetMessageEncodingToJSON(object: FeatureSetMessageEncoding): string { + switch (object) { + case FeatureSetMessageEncoding.MESSAGE_ENCODING_UNKNOWN: + return "MESSAGE_ENCODING_UNKNOWN"; + case FeatureSetMessageEncoding.LENGTH_PREFIXED: + return "LENGTH_PREFIXED"; + case FeatureSetMessageEncoding.DELIMITED: + return "DELIMITED"; + case FeatureSetMessageEncoding.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function featureSetJsonFormatFromJSON(object: any): FeatureSetJsonFormat { + switch (object) { + case 0: + case "JSON_FORMAT_UNKNOWN": + return FeatureSetJsonFormat.JSON_FORMAT_UNKNOWN; + case 1: + case "ALLOW": + return FeatureSetJsonFormat.ALLOW; + case 2: + case "LEGACY_BEST_EFFORT": + return FeatureSetJsonFormat.LEGACY_BEST_EFFORT; + case -1: + case "UNRECOGNIZED": + default: + return FeatureSetJsonFormat.UNRECOGNIZED; + } +} + +export function featureSetJsonFormatToJSON(object: FeatureSetJsonFormat): string { + switch (object) { + case FeatureSetJsonFormat.JSON_FORMAT_UNKNOWN: + return "JSON_FORMAT_UNKNOWN"; + case FeatureSetJsonFormat.ALLOW: + return "ALLOW"; + case FeatureSetJsonFormat.LEGACY_BEST_EFFORT: + return "LEGACY_BEST_EFFORT"; + case FeatureSetJsonFormat.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function generatedCodeInfoAnnotationSemanticFromJSON(object: any): GeneratedCodeInfoAnnotationSemantic { + switch (object) { + case 0: + case "NONE": + return GeneratedCodeInfoAnnotationSemantic.NONE; + case 1: + case "SET": + return GeneratedCodeInfoAnnotationSemantic.SET; + case 2: + case "ALIAS": + return GeneratedCodeInfoAnnotationSemantic.ALIAS; + case -1: + case "UNRECOGNIZED": + default: + return GeneratedCodeInfoAnnotationSemantic.UNRECOGNIZED; + } +} + +export function generatedCodeInfoAnnotationSemanticToJSON(object: GeneratedCodeInfoAnnotationSemantic): string { + switch (object) { + case GeneratedCodeInfoAnnotationSemantic.NONE: + return "NONE"; + case GeneratedCodeInfoAnnotationSemantic.SET: + return "SET"; + case GeneratedCodeInfoAnnotationSemantic.ALIAS: + return "ALIAS"; + case GeneratedCodeInfoAnnotationSemantic.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseFileDescriptorSet(): FileDescriptorSet { + return { file: [] }; +} + +function createBaseFileDescriptorProto(): FileDescriptorProto { + return { + name: "", + package: "", + dependency: [], + public_dependency: [], + weak_dependency: [], + message_type: [], + enum_type: [], + service: [], + extension: [], + options: undefined, + source_code_info: undefined, + syntax: "", + edition: 0, + }; +} + +function createBaseDescriptorProto(): DescriptorProto { + return { + name: "", + field: [], + extension: [], + nested_type: [], + enum_type: [], + extension_range: [], + oneof_decl: [], + options: undefined, + reserved_range: [], + reserved_name: [], + }; +} + +function createBaseDescriptorProtoExtensionRange(): DescriptorProtoExtensionRange { + return { start: 0, end: 0, options: undefined }; +} + +function createBaseDescriptorProtoReservedRange(): DescriptorProtoReservedRange { + return { start: 0, end: 0 }; +} + +function createBaseExtensionRangeOptions(): ExtensionRangeOptions { + return { uninterpreted_option: [], declaration: [], features: undefined, verification: 1 }; +} + +function createBaseExtensionRangeOptionsDeclaration(): ExtensionRangeOptionsDeclaration { + return { number: 0, full_name: "", type: "", reserved: false, repeated: false }; +} + +function createBaseFieldDescriptorProto(): FieldDescriptorProto { + return { + name: "", + number: 0, + label: 1, + type: 1, + type_name: "", + extendee: "", + default_value: "", + oneof_index: 0, + json_name: "", + options: undefined, + proto3_optional: false, + }; +} + +function createBaseOneofDescriptorProto(): OneofDescriptorProto { + return { name: "", options: undefined }; +} + +function createBaseEnumDescriptorProto(): EnumDescriptorProto { + return { name: "", value: [], options: undefined, reserved_range: [], reserved_name: [] }; +} + +function createBaseEnumDescriptorProtoEnumReservedRange(): EnumDescriptorProtoEnumReservedRange { + return { start: 0, end: 0 }; +} + +function createBaseEnumValueDescriptorProto(): EnumValueDescriptorProto { + return { name: "", number: 0, options: undefined }; +} + +function createBaseServiceDescriptorProto(): ServiceDescriptorProto { + return { name: "", method: [], options: undefined }; +} + +function createBaseMethodDescriptorProto(): MethodDescriptorProto { + return { + name: "", + input_type: "", + output_type: "", + options: undefined, + client_streaming: false, + server_streaming: false, + }; +} + +function createBaseFileOptions(): FileOptions { + return { + java_package: "", + java_outer_classname: "", + java_multiple_files: false, + java_generate_equals_and_hash: false, + java_string_check_utf8: false, + optimize_for: 1, + go_package: "", + cc_generic_services: false, + java_generic_services: false, + py_generic_services: false, + deprecated: false, + cc_enable_arenas: true, + objc_class_prefix: "", + csharp_namespace: "", + swift_prefix: "", + php_class_prefix: "", + php_namespace: "", + php_metadata_namespace: "", + ruby_package: "", + features: undefined, + uninterpreted_option: [], + }; +} + +function createBaseMessageOptions(): MessageOptions { + return { + message_set_wire_format: false, + no_standard_descriptor_accessor: false, + deprecated: false, + map_entry: false, + deprecated_legacy_json_field_conflicts: false, + features: undefined, + uninterpreted_option: [], + }; +} + +function createBaseFieldOptions(): FieldOptions { + return { + ctype: 0, + packed: false, + jstype: 0, + lazy: false, + unverified_lazy: false, + deprecated: false, + weak: false, + debug_redact: false, + retention: 0, + targets: [], + edition_defaults: [], + features: undefined, + feature_support: undefined, + uninterpreted_option: [], + }; +} + +function createBaseFieldOptionsEditionDefault(): FieldOptionsEditionDefault { + return { edition: 0, value: "" }; +} + +function createBaseFieldOptionsFeatureSupport(): FieldOptionsFeatureSupport { + return { edition_introduced: 0, edition_deprecated: 0, deprecation_warning: "", edition_removed: 0 }; +} + +function createBaseOneofOptions(): OneofOptions { + return { features: undefined, uninterpreted_option: [] }; +} + +function createBaseEnumOptions(): EnumOptions { + return { + allow_alias: false, + deprecated: false, + deprecated_legacy_json_field_conflicts: false, + features: undefined, + uninterpreted_option: [], + }; +} + +function createBaseEnumValueOptions(): EnumValueOptions { + return { + deprecated: false, + features: undefined, + debug_redact: false, + feature_support: undefined, + uninterpreted_option: [], + }; +} + +function createBaseServiceOptions(): ServiceOptions { + return { features: undefined, deprecated: false, uninterpreted_option: [] }; +} + +function createBaseMethodOptions(): MethodOptions { + return { deprecated: false, idempotency_level: 0, features: undefined, uninterpreted_option: [] }; +} + +function createBaseUninterpretedOption(): UninterpretedOption { + return { + name: [], + identifier_value: "", + positive_int_value: 0, + negative_int_value: 0, + double_value: 0, + string_value: new Uint8Array(0), + aggregate_value: "", + }; +} + +function createBaseUninterpretedOptionNamePart(): UninterpretedOptionNamePart { + return { name_part: "", is_extension: false }; +} + +function createBaseFeatureSet(): FeatureSet { + return { + field_presence: 0, + enum_type: 0, + repeated_field_encoding: 0, + utf8_validation: 0, + message_encoding: 0, + json_format: 0, + }; +} + +function createBaseFeatureSetDefaults(): FeatureSetDefaults { + return { defaults: [], minimum_edition: 0, maximum_edition: 0 }; +} + +function createBaseFeatureSetDefaultsFeatureSetEditionDefault(): FeatureSetDefaultsFeatureSetEditionDefault { + return { edition: 0, overridable_features: undefined, fixed_features: undefined }; +} + +function createBaseSourceCodeInfo(): SourceCodeInfo { + return { location: [] }; +} + +function createBaseSourceCodeInfoLocation(): SourceCodeInfoLocation { + return { path: [], span: [], leading_comments: "", trailing_comments: "", leading_detached_comments: [] }; +} + +function createBaseGeneratedCodeInfo(): GeneratedCodeInfo { + return { annotation: [] }; +} + +function createBaseGeneratedCodeInfoAnnotation(): GeneratedCodeInfoAnnotation { + return { path: [], source_file: "", begin: 0, end: 0, semantic: 0 }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/google.protobuf.FileDescriptorSet", FileDescriptorSet as never], + ["/google.protobuf.FileDescriptorProto", FileDescriptorProto as never], + ["/google.protobuf.DescriptorProto", DescriptorProto as never], + ["/google.protobuf.ExtensionRangeOptions", ExtensionRangeOptions as never], + ["/google.protobuf.FieldDescriptorProto", FieldDescriptorProto as never], + ["/google.protobuf.OneofDescriptorProto", OneofDescriptorProto as never], + ["/google.protobuf.EnumDescriptorProto", EnumDescriptorProto as never], + ["/google.protobuf.ServiceDescriptorProto", ServiceDescriptorProto as never], + ["/google.protobuf.MethodDescriptorProto", MethodDescriptorProto as never], + ["/google.protobuf.FileOptions", FileOptions as never], + ["/google.protobuf.MessageOptions", MessageOptions as never], + ["/google.protobuf.FieldOptions", FieldOptions as never], + ["/google.protobuf.OneofOptions", OneofOptions as never], + ["/google.protobuf.EnumOptions", EnumOptions as never], + ["/google.protobuf.EnumValueOptions", EnumValueOptions as never], + ["/google.protobuf.ServiceOptions", ServiceOptions as never], + ["/google.protobuf.MethodOptions", MethodOptions as never], + ["/google.protobuf.UninterpretedOption", UninterpretedOption as never], + ["/google.protobuf.FeatureSet", FeatureSet as never], + ["/google.protobuf.FeatureSetDefaults", FeatureSetDefaults as never], + ["/google.protobuf.SourceCodeInfo", SourceCodeInfo as never], + ["/google.protobuf.SourceCodeInfo.Location", SourceCodeInfoLocation as never], + ["/google.protobuf.GeneratedCodeInfo", GeneratedCodeInfo as never], +]; +export const aminoConverters = { + "/google.protobuf.FileDescriptorSet": { + aminoType: "google.protobuf.FileDescriptorSet", + toAmino: (message: FileDescriptorSet) => ({ ...message }), + fromAmino: (object: FileDescriptorSet) => ({ ...object }), + }, + + "/google.protobuf.FileDescriptorProto": { + aminoType: "google.protobuf.FileDescriptorProto", + toAmino: (message: FileDescriptorProto) => ({ ...message }), + fromAmino: (object: FileDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.DescriptorProto": { + aminoType: "google.protobuf.DescriptorProto", + toAmino: (message: DescriptorProto) => ({ ...message }), + fromAmino: (object: DescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.ExtensionRangeOptions": { + aminoType: "google.protobuf.ExtensionRangeOptions", + toAmino: (message: ExtensionRangeOptions) => ({ ...message }), + fromAmino: (object: ExtensionRangeOptions) => ({ ...object }), + }, + + "/google.protobuf.FieldDescriptorProto": { + aminoType: "google.protobuf.FieldDescriptorProto", + toAmino: (message: FieldDescriptorProto) => ({ ...message }), + fromAmino: (object: FieldDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.OneofDescriptorProto": { + aminoType: "google.protobuf.OneofDescriptorProto", + toAmino: (message: OneofDescriptorProto) => ({ ...message }), + fromAmino: (object: OneofDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.EnumDescriptorProto": { + aminoType: "google.protobuf.EnumDescriptorProto", + toAmino: (message: EnumDescriptorProto) => ({ ...message }), + fromAmino: (object: EnumDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.ServiceDescriptorProto": { + aminoType: "google.protobuf.ServiceDescriptorProto", + toAmino: (message: ServiceDescriptorProto) => ({ ...message }), + fromAmino: (object: ServiceDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.MethodDescriptorProto": { + aminoType: "google.protobuf.MethodDescriptorProto", + toAmino: (message: MethodDescriptorProto) => ({ ...message }), + fromAmino: (object: MethodDescriptorProto) => ({ ...object }), + }, + + "/google.protobuf.FileOptions": { + aminoType: "google.protobuf.FileOptions", + toAmino: (message: FileOptions) => ({ ...message }), + fromAmino: (object: FileOptions) => ({ ...object }), + }, + + "/google.protobuf.MessageOptions": { + aminoType: "google.protobuf.MessageOptions", + toAmino: (message: MessageOptions) => ({ ...message }), + fromAmino: (object: MessageOptions) => ({ ...object }), + }, + + "/google.protobuf.FieldOptions": { + aminoType: "google.protobuf.FieldOptions", + toAmino: (message: FieldOptions) => ({ ...message }), + fromAmino: (object: FieldOptions) => ({ ...object }), + }, + + "/google.protobuf.OneofOptions": { + aminoType: "google.protobuf.OneofOptions", + toAmino: (message: OneofOptions) => ({ ...message }), + fromAmino: (object: OneofOptions) => ({ ...object }), + }, + + "/google.protobuf.EnumOptions": { + aminoType: "google.protobuf.EnumOptions", + toAmino: (message: EnumOptions) => ({ ...message }), + fromAmino: (object: EnumOptions) => ({ ...object }), + }, + + "/google.protobuf.EnumValueOptions": { + aminoType: "google.protobuf.EnumValueOptions", + toAmino: (message: EnumValueOptions) => ({ ...message }), + fromAmino: (object: EnumValueOptions) => ({ ...object }), + }, + + "/google.protobuf.ServiceOptions": { + aminoType: "google.protobuf.ServiceOptions", + toAmino: (message: ServiceOptions) => ({ ...message }), + fromAmino: (object: ServiceOptions) => ({ ...object }), + }, + + "/google.protobuf.MethodOptions": { + aminoType: "google.protobuf.MethodOptions", + toAmino: (message: MethodOptions) => ({ ...message }), + fromAmino: (object: MethodOptions) => ({ ...object }), + }, + + "/google.protobuf.UninterpretedOption": { + aminoType: "google.protobuf.UninterpretedOption", + toAmino: (message: UninterpretedOption) => ({ ...message }), + fromAmino: (object: UninterpretedOption) => ({ ...object }), + }, + + "/google.protobuf.FeatureSet": { + aminoType: "google.protobuf.FeatureSet", + toAmino: (message: FeatureSet) => ({ ...message }), + fromAmino: (object: FeatureSet) => ({ ...object }), + }, + + "/google.protobuf.FeatureSetDefaults": { + aminoType: "google.protobuf.FeatureSetDefaults", + toAmino: (message: FeatureSetDefaults) => ({ ...message }), + fromAmino: (object: FeatureSetDefaults) => ({ ...object }), + }, + + "/google.protobuf.SourceCodeInfo": { + aminoType: "google.protobuf.SourceCodeInfo", + toAmino: (message: SourceCodeInfo) => ({ ...message }), + fromAmino: (object: SourceCodeInfo) => ({ ...object }), + }, + + "/google.protobuf.SourceCodeInfo.Location": { + aminoType: "google.protobuf.SourceCodeInfo.Location", + toAmino: (message: SourceCodeInfoLocation) => ({ ...message }), + fromAmino: (object: SourceCodeInfoLocation) => ({ ...object }), + }, + + "/google.protobuf.GeneratedCodeInfo": { + aminoType: "google.protobuf.GeneratedCodeInfo", + toAmino: (message: GeneratedCodeInfo) => ({ ...message }), + fromAmino: (object: GeneratedCodeInfo) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/google/protobuf/duration.ts b/packages/cosmos/generated/encoding/google/protobuf/duration.ts new file mode 100644 index 000000000..d407116be --- /dev/null +++ b/packages/cosmos/generated/encoding/google/protobuf/duration.ts @@ -0,0 +1,108 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Duration as DurationType } from "../../../types/google/protobuf"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Duration extends DurationType {} + +export const Duration: MessageFns = { + $type: "google.protobuf.Duration" as const, + + encode(message: Duration, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.seconds !== 0) { + writer.uint32(8).int64(message.seconds); + } + if (message.nanos !== 0) { + writer.uint32(16).int32(message.nanos); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Duration { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDuration(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.seconds = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nanos = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Duration { + return { + seconds: isSet(object.seconds) ? globalThis.Number(object.seconds) : 0, + nanos: isSet(object.nanos) ? globalThis.Number(object.nanos) : 0, + }; + }, + + toJSON(message: Duration): unknown { + const obj: any = {}; + if (message.seconds !== 0) { + obj.seconds = Math.round(message.seconds); + } + if (message.nanos !== 0) { + obj.nanos = Math.round(message.nanos); + } + return obj; + }, + + create, I>>(base?: I): Duration { + return Duration.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Duration { + const message = createBaseDuration(); + message.seconds = object.seconds ?? 0; + message.nanos = object.nanos ?? 0; + return message; + }, +}; + +function createBaseDuration(): Duration { + return { seconds: 0, nanos: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/google.protobuf.Duration", Duration as never]]; +export const aminoConverters = { + "/google.protobuf.Duration": { + aminoType: "google.protobuf.Duration", + toAmino: (message: Duration) => ({ ...message }), + fromAmino: (object: Duration) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/google/protobuf/index.ts b/packages/cosmos/generated/encoding/google/protobuf/index.ts new file mode 100644 index 000000000..ad7b4d983 --- /dev/null +++ b/packages/cosmos/generated/encoding/google/protobuf/index.ts @@ -0,0 +1,4 @@ +export * from './any'; +export * from './descriptor'; +export * from './duration'; +export * from './timestamp'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts b/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts new file mode 100644 index 000000000..dd19b61f3 --- /dev/null +++ b/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts @@ -0,0 +1,108 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Timestamp as TimestampType } from "../../../types/google/protobuf"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Timestamp extends TimestampType {} + +export const Timestamp: MessageFns = { + $type: "google.protobuf.Timestamp" as const, + + encode(message: Timestamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.seconds !== 0) { + writer.uint32(8).int64(message.seconds); + } + if (message.nanos !== 0) { + writer.uint32(16).int32(message.nanos); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Timestamp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimestamp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.seconds = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.nanos = reader.int32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Timestamp { + return { + seconds: isSet(object.seconds) ? globalThis.Number(object.seconds) : 0, + nanos: isSet(object.nanos) ? globalThis.Number(object.nanos) : 0, + }; + }, + + toJSON(message: Timestamp): unknown { + const obj: any = {}; + if (message.seconds !== 0) { + obj.seconds = Math.round(message.seconds); + } + if (message.nanos !== 0) { + obj.nanos = Math.round(message.nanos); + } + return obj; + }, + + create, I>>(base?: I): Timestamp { + return Timestamp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Timestamp { + const message = createBaseTimestamp(); + message.seconds = object.seconds ?? 0; + message.nanos = object.nanos ?? 0; + return message; + }, +}; + +function createBaseTimestamp(): Timestamp { + return { seconds: 0, nanos: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/google.protobuf.Timestamp", Timestamp as never]]; +export const aminoConverters = { + "/google.protobuf.Timestamp": { + aminoType: "google.protobuf.Timestamp", + toAmino: (message: Timestamp) => ({ ...message }), + fromAmino: (object: Timestamp) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/index.ts b/packages/cosmos/generated/encoding/index.ts new file mode 100644 index 000000000..7cfd5b427 --- /dev/null +++ b/packages/cosmos/generated/encoding/index.ts @@ -0,0 +1,111 @@ +import * as confio from "./confio/index"; +import * as cosmos_accesscontrol from "./cosmos/accesscontrol/index"; +import * as cosmos_accesscontrol_x from "./cosmos/accesscontrol_x/index"; +import * as cosmos_auth_v1beta1 from "./cosmos/auth/v1beta1/index"; +import * as cosmos_authz_v1beta1 from "./cosmos/authz/v1beta1/index"; +import * as cosmos_bank_v1beta1 from "./cosmos/bank/v1beta1/index"; +import * as cosmos_base_abci_v1beta1 from "./cosmos/base/abci/v1beta1/index"; +import * as cosmos_base_kv_v1beta1 from "./cosmos/base/kv/v1beta1/index"; +import * as cosmos_base_query_v1beta1 from "./cosmos/base/query/v1beta1/index"; +import * as cosmos_base_reflection_v1beta1 from "./cosmos/base/reflection/v1beta1/index"; +import * as cosmos_base_reflection_v2alpha1 from "./cosmos/base/reflection/v2alpha1/index"; +import * as cosmos_base_snapshots_v1beta1 from "./cosmos/base/snapshots/v1beta1/index"; +import * as cosmos_base_store_v1beta1 from "./cosmos/base/store/v1beta1/index"; +import * as cosmos_base_tendermint_v1beta1 from "./cosmos/base/tendermint/v1beta1/index"; +import * as cosmos_base_v1beta1 from "./cosmos/base/v1beta1/index"; +import * as cosmos_capability_v1beta1 from "./cosmos/capability/v1beta1/index"; +import * as cosmos_crisis_v1beta1 from "./cosmos/crisis/v1beta1/index"; +import * as cosmos_crypto_ed25519 from "./cosmos/crypto/ed25519/index"; +import * as cosmos_crypto_multisig from "./cosmos/crypto/multisig/index"; +import * as cosmos_crypto_secp256k1 from "./cosmos/crypto/secp256k1/index"; +import * as cosmos_crypto_secp256r1 from "./cosmos/crypto/secp256r1/index"; +import * as cosmos_crypto_sr25519 from "./cosmos/crypto/sr25519/index"; +import * as cosmos_distribution_v1beta1 from "./cosmos/distribution/v1beta1/index"; +import * as cosmos_evidence_v1beta1 from "./cosmos/evidence/v1beta1/index"; +import * as cosmos_feegrant_v1beta1 from "./cosmos/feegrant/v1beta1/index"; +import * as cosmos_genutil_v1beta1 from "./cosmos/genutil/v1beta1/index"; +import * as cosmos_gov_v1beta1 from "./cosmos/gov/v1beta1/index"; +import * as cosmos_mint_v1beta1 from "./cosmos/mint/v1beta1/index"; +import * as cosmos_params_types from "./cosmos/params/types/index"; +import * as cosmos_params_v1beta1 from "./cosmos/params/v1beta1/index"; +import * as cosmos_slashing_v1beta1 from "./cosmos/slashing/v1beta1/index"; +import * as cosmos_staking_v1beta1 from "./cosmos/staking/v1beta1/index"; +import * as cosmos_tx_signing_v1beta1 from "./cosmos/tx/signing/v1beta1/index"; +import * as cosmos_tx_v1beta1 from "./cosmos/tx/v1beta1/index"; +import * as cosmos_upgrade_v1beta1 from "./cosmos/upgrade/v1beta1/index"; +import * as cosmos_vesting_v1beta1 from "./cosmos/vesting/v1beta1/index"; +import * as cosmos_proto from "./cosmos_proto/index"; +import * as epoch from "./epoch/index"; +import * as eth from "./eth/index"; +import * as evm from "./evm/index"; +import * as gogoproto from "./gogoproto/index"; +import * as google_api from "./google/api/index"; +import * as google_protobuf from "./google/protobuf/index"; +import * as mint_v1beta1 from "./mint/v1beta1/index"; +import * as oracle from "./oracle/index"; +import * as tendermint_abci from "./tendermint/abci/index"; +import * as tendermint_crypto from "./tendermint/crypto/index"; +import * as tendermint_libs_bits from "./tendermint/libs/bits/index"; +import * as tendermint_p2p from "./tendermint/p2p/index"; +import * as tendermint_types from "./tendermint/types/index"; +import * as tendermint_version from "./tendermint/version/index"; +import * as tokenfactory from "./tokenfactory/index"; + +export const Encoder = { + confio: confio, + cosmos: { + accesscontrol: cosmos_accesscontrol, + accesscontrol_x: cosmos_accesscontrol_x, + auth: { v1beta1: cosmos_auth_v1beta1 }, + authz: { v1beta1: cosmos_authz_v1beta1 }, + bank: { v1beta1: cosmos_bank_v1beta1 }, + base: { + abci: { v1beta1: cosmos_base_abci_v1beta1 }, + kv: { v1beta1: cosmos_base_kv_v1beta1 }, + query: { v1beta1: cosmos_base_query_v1beta1 }, + reflection: { v1beta1: cosmos_base_reflection_v1beta1, v2alpha1: cosmos_base_reflection_v2alpha1 }, + snapshots: { v1beta1: cosmos_base_snapshots_v1beta1 }, + store: { v1beta1: cosmos_base_store_v1beta1 }, + tendermint: { v1beta1: cosmos_base_tendermint_v1beta1 }, + v1beta1: cosmos_base_v1beta1, + }, + capability: { v1beta1: cosmos_capability_v1beta1 }, + crisis: { v1beta1: cosmos_crisis_v1beta1 }, + crypto: { + ed25519: cosmos_crypto_ed25519, + multisig: cosmos_crypto_multisig, + secp256k1: cosmos_crypto_secp256k1, + secp256r1: cosmos_crypto_secp256r1, + sr25519: cosmos_crypto_sr25519, + }, + distribution: { v1beta1: cosmos_distribution_v1beta1 }, + evidence: { v1beta1: cosmos_evidence_v1beta1 }, + feegrant: { v1beta1: cosmos_feegrant_v1beta1 }, + genutil: { v1beta1: cosmos_genutil_v1beta1 }, + gov: { v1beta1: cosmos_gov_v1beta1 }, + mint: { v1beta1: cosmos_mint_v1beta1 }, + params: { types: cosmos_params_types, v1beta1: cosmos_params_v1beta1 }, + slashing: { v1beta1: cosmos_slashing_v1beta1 }, + staking: { v1beta1: cosmos_staking_v1beta1 }, + tx: { signing: { v1beta1: cosmos_tx_signing_v1beta1 }, v1beta1: cosmos_tx_v1beta1 }, + upgrade: { v1beta1: cosmos_upgrade_v1beta1 }, + vesting: { v1beta1: cosmos_vesting_v1beta1 }, + }, + cosmos_proto: cosmos_proto, + epoch: epoch, + eth: eth, + evm: evm, + gogoproto: gogoproto, + google: { api: google_api, protobuf: google_protobuf }, + mint: { v1beta1: mint_v1beta1 }, + oracle: oracle, + tendermint: { + abci: tendermint_abci, + crypto: tendermint_crypto, + libs: { bits: tendermint_libs_bits }, + p2p: tendermint_p2p, + types: tendermint_types, + version: tendermint_version, + }, + tokenfactory: tokenfactory, +}; diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts new file mode 100644 index 000000000..028f85b04 --- /dev/null +++ b/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts @@ -0,0 +1,99 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Minter, Params } from "./mint"; + +import type { GenesisState as GenesisStateType } from "../../../types/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface GenesisState extends GenesisStateType {} + +export const GenesisState: MessageFns = { + $type: "seiprotocol.seichain.mint.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.minter !== undefined) { + Minter.encode(message.minter, writer.uint32(10).fork()).join(); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.minter = Minter.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + minter: isSet(object.minter) ? Minter.fromJSON(object.minter) : undefined, + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.minter !== undefined) { + obj.minter = Minter.toJSON(message.minter); + } + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.minter = object.minter !== undefined && object.minter !== null ? Minter.fromPartial(object.minter) : undefined; + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { minter: undefined, params: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.mint.GenesisState", GenesisState as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.mint.GenesisState": { + aminoType: "seiprotocol.seichain.mint.GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts b/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts new file mode 100644 index 000000000..577ccf8bd --- /dev/null +++ b/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts @@ -0,0 +1,114 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Minter } from "./mint"; + +import type { UpdateMinterProposal as UpdateMinterProposalType } from "../../../types/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface UpdateMinterProposal extends UpdateMinterProposalType {} + +export const UpdateMinterProposal: MessageFns = { + $type: "seiprotocol.seichain.mint.UpdateMinterProposal" as const, + + encode(message: UpdateMinterProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.title !== "") { + writer.uint32(10).string(message.title); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.minter !== undefined) { + Minter.encode(message.minter, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UpdateMinterProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateMinterProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.title = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.minter = Minter.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UpdateMinterProposal { + return { + title: isSet(object.title) ? globalThis.String(object.title) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + minter: isSet(object.minter) ? Minter.fromJSON(object.minter) : undefined, + }; + }, + + toJSON(message: UpdateMinterProposal): unknown { + const obj: any = {}; + if (message.title !== "") { + obj.title = message.title; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.minter !== undefined) { + obj.minter = Minter.toJSON(message.minter); + } + return obj; + }, + + create, I>>(base?: I): UpdateMinterProposal { + return UpdateMinterProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): UpdateMinterProposal { + const message = createBaseUpdateMinterProposal(); + message.title = object.title ?? ""; + message.description = object.description ?? ""; + message.minter = object.minter !== undefined && object.minter !== null ? Minter.fromPartial(object.minter) : undefined; + return message; + }, +}; + +function createBaseUpdateMinterProposal(): UpdateMinterProposal { + return { title: "", description: "", minter: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.mint.UpdateMinterProposal", UpdateMinterProposal as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.mint.UpdateMinterProposal": { + aminoType: "seiprotocol.seichain.mint.UpdateMinterProposal", + toAmino: (message: UpdateMinterProposal) => ({ ...message }), + fromAmino: (object: UpdateMinterProposal) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/index.ts b/packages/cosmos/generated/encoding/mint/v1beta1/index.ts new file mode 100644 index 000000000..cf9239680 --- /dev/null +++ b/packages/cosmos/generated/encoding/mint/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './mint'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts b/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts new file mode 100644 index 000000000..7e0f7b92f --- /dev/null +++ b/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts @@ -0,0 +1,671 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + Minter as MinterType, + Params as ParamsType, + ScheduledTokenRelease as ScheduledTokenReleaseType, + Version2Minter as Version2MinterType, + Version2Params as Version2ParamsType, + Version2ScheduledTokenRelease as Version2ScheduledTokenReleaseType, +} from "../../../types/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Minter extends MinterType {} +interface ScheduledTokenRelease extends ScheduledTokenReleaseType {} +interface Params extends ParamsType {} +interface Version2Minter extends Version2MinterType {} +interface Version2ScheduledTokenRelease extends Version2ScheduledTokenReleaseType {} +interface Version2Params extends Version2ParamsType {} + +export const Minter: MessageFns = { + $type: "seiprotocol.seichain.mint.Minter" as const, + + encode(message: Minter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start_date !== "") { + writer.uint32(10).string(message.start_date); + } + if (message.end_date !== "") { + writer.uint32(18).string(message.end_date); + } + if (message.denom !== "") { + writer.uint32(26).string(message.denom); + } + if (message.total_mint_amount !== 0) { + writer.uint32(32).uint64(message.total_mint_amount); + } + if (message.remaining_mint_amount !== 0) { + writer.uint32(40).uint64(message.remaining_mint_amount); + } + if (message.last_mint_amount !== 0) { + writer.uint32(48).uint64(message.last_mint_amount); + } + if (message.last_mint_date !== "") { + writer.uint32(58).string(message.last_mint_date); + } + if (message.last_mint_height !== 0) { + writer.uint32(64).uint64(message.last_mint_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Minter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMinter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.start_date = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.end_date = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.denom = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.total_mint_amount = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.remaining_mint_amount = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.last_mint_amount = longToNumber(reader.uint64()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.last_mint_date = reader.string(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.last_mint_height = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Minter { + return { + start_date: isSet(object.start_date) ? globalThis.String(object.start_date) : "", + end_date: isSet(object.end_date) ? globalThis.String(object.end_date) : "", + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + total_mint_amount: isSet(object.total_mint_amount) ? globalThis.Number(object.total_mint_amount) : 0, + remaining_mint_amount: isSet(object.remaining_mint_amount) ? globalThis.Number(object.remaining_mint_amount) : 0, + last_mint_amount: isSet(object.last_mint_amount) ? globalThis.Number(object.last_mint_amount) : 0, + last_mint_date: isSet(object.last_mint_date) ? globalThis.String(object.last_mint_date) : "", + last_mint_height: isSet(object.last_mint_height) ? globalThis.Number(object.last_mint_height) : 0, + }; + }, + + toJSON(message: Minter): unknown { + const obj: any = {}; + if (message.start_date !== "") { + obj.start_date = message.start_date; + } + if (message.end_date !== "") { + obj.end_date = message.end_date; + } + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.total_mint_amount !== 0) { + obj.total_mint_amount = Math.round(message.total_mint_amount); + } + if (message.remaining_mint_amount !== 0) { + obj.remaining_mint_amount = Math.round(message.remaining_mint_amount); + } + if (message.last_mint_amount !== 0) { + obj.last_mint_amount = Math.round(message.last_mint_amount); + } + if (message.last_mint_date !== "") { + obj.last_mint_date = message.last_mint_date; + } + if (message.last_mint_height !== 0) { + obj.last_mint_height = Math.round(message.last_mint_height); + } + return obj; + }, + + create, I>>(base?: I): Minter { + return Minter.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Minter { + const message = createBaseMinter(); + message.start_date = object.start_date ?? ""; + message.end_date = object.end_date ?? ""; + message.denom = object.denom ?? ""; + message.total_mint_amount = object.total_mint_amount ?? 0; + message.remaining_mint_amount = object.remaining_mint_amount ?? 0; + message.last_mint_amount = object.last_mint_amount ?? 0; + message.last_mint_date = object.last_mint_date ?? ""; + message.last_mint_height = object.last_mint_height ?? 0; + return message; + }, +}; + +export const ScheduledTokenRelease: MessageFns = { + $type: "seiprotocol.seichain.mint.ScheduledTokenRelease" as const, + + encode(message: ScheduledTokenRelease, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start_date !== "") { + writer.uint32(10).string(message.start_date); + } + if (message.end_date !== "") { + writer.uint32(18).string(message.end_date); + } + if (message.token_release_amount !== 0) { + writer.uint32(24).uint64(message.token_release_amount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ScheduledTokenRelease { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseScheduledTokenRelease(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.start_date = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.end_date = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.token_release_amount = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ScheduledTokenRelease { + return { + start_date: isSet(object.start_date) ? globalThis.String(object.start_date) : "", + end_date: isSet(object.end_date) ? globalThis.String(object.end_date) : "", + token_release_amount: isSet(object.token_release_amount) ? globalThis.Number(object.token_release_amount) : 0, + }; + }, + + toJSON(message: ScheduledTokenRelease): unknown { + const obj: any = {}; + if (message.start_date !== "") { + obj.start_date = message.start_date; + } + if (message.end_date !== "") { + obj.end_date = message.end_date; + } + if (message.token_release_amount !== 0) { + obj.token_release_amount = Math.round(message.token_release_amount); + } + return obj; + }, + + create, I>>(base?: I): ScheduledTokenRelease { + return ScheduledTokenRelease.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ScheduledTokenRelease { + const message = createBaseScheduledTokenRelease(); + message.start_date = object.start_date ?? ""; + message.end_date = object.end_date ?? ""; + message.token_release_amount = object.token_release_amount ?? 0; + return message; + }, +}; + +export const Params: MessageFns = { + $type: "seiprotocol.seichain.mint.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mint_denom !== "") { + writer.uint32(10).string(message.mint_denom); + } + for (const v of message.token_release_schedule) { + ScheduledTokenRelease.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.mint_denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.token_release_schedule.push(ScheduledTokenRelease.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + mint_denom: isSet(object.mint_denom) ? globalThis.String(object.mint_denom) : "", + token_release_schedule: globalThis.Array.isArray(object?.token_release_schedule) + ? object.token_release_schedule.map((e: any) => ScheduledTokenRelease.fromJSON(e)) + : [], + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.mint_denom !== "") { + obj.mint_denom = message.mint_denom; + } + if (message.token_release_schedule?.length) { + obj.token_release_schedule = message.token_release_schedule.map((e) => ScheduledTokenRelease.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.mint_denom = object.mint_denom ?? ""; + message.token_release_schedule = object.token_release_schedule?.map((e) => ScheduledTokenRelease.fromPartial(e)) || []; + return message; + }, +}; + +export const Version2Minter: MessageFns = { + $type: "seiprotocol.seichain.mint.Version2Minter" as const, + + encode(message: Version2Minter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.last_mint_amount !== "") { + writer.uint32(10).string(message.last_mint_amount); + } + if (message.last_mint_date !== "") { + writer.uint32(18).string(message.last_mint_date); + } + if (message.last_mint_height !== 0) { + writer.uint32(24).int64(message.last_mint_height); + } + if (message.denom !== "") { + writer.uint32(34).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Version2Minter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersion2Minter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.last_mint_amount = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.last_mint_date = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.last_mint_height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Version2Minter { + return { + last_mint_amount: isSet(object.last_mint_amount) ? globalThis.String(object.last_mint_amount) : "", + last_mint_date: isSet(object.last_mint_date) ? globalThis.String(object.last_mint_date) : "", + last_mint_height: isSet(object.last_mint_height) ? globalThis.Number(object.last_mint_height) : 0, + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + }; + }, + + toJSON(message: Version2Minter): unknown { + const obj: any = {}; + if (message.last_mint_amount !== "") { + obj.last_mint_amount = message.last_mint_amount; + } + if (message.last_mint_date !== "") { + obj.last_mint_date = message.last_mint_date; + } + if (message.last_mint_height !== 0) { + obj.last_mint_height = Math.round(message.last_mint_height); + } + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): Version2Minter { + return Version2Minter.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Version2Minter { + const message = createBaseVersion2Minter(); + message.last_mint_amount = object.last_mint_amount ?? ""; + message.last_mint_date = object.last_mint_date ?? ""; + message.last_mint_height = object.last_mint_height ?? 0; + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const Version2ScheduledTokenRelease: MessageFns = { + $type: "seiprotocol.seichain.mint.Version2ScheduledTokenRelease" as const, + + encode(message: Version2ScheduledTokenRelease, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.date !== "") { + writer.uint32(10).string(message.date); + } + if (message.token_release_amount !== 0) { + writer.uint32(16).int64(message.token_release_amount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Version2ScheduledTokenRelease { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersion2ScheduledTokenRelease(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.date = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.token_release_amount = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Version2ScheduledTokenRelease { + return { + date: isSet(object.date) ? globalThis.String(object.date) : "", + token_release_amount: isSet(object.token_release_amount) ? globalThis.Number(object.token_release_amount) : 0, + }; + }, + + toJSON(message: Version2ScheduledTokenRelease): unknown { + const obj: any = {}; + if (message.date !== "") { + obj.date = message.date; + } + if (message.token_release_amount !== 0) { + obj.token_release_amount = Math.round(message.token_release_amount); + } + return obj; + }, + + create, I>>(base?: I): Version2ScheduledTokenRelease { + return Version2ScheduledTokenRelease.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Version2ScheduledTokenRelease { + const message = createBaseVersion2ScheduledTokenRelease(); + message.date = object.date ?? ""; + message.token_release_amount = object.token_release_amount ?? 0; + return message; + }, +}; + +export const Version2Params: MessageFns = { + $type: "seiprotocol.seichain.mint.Version2Params" as const, + + encode(message: Version2Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mint_denom !== "") { + writer.uint32(10).string(message.mint_denom); + } + for (const v of message.token_release_schedule) { + Version2ScheduledTokenRelease.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Version2Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersion2Params(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.mint_denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.token_release_schedule.push(Version2ScheduledTokenRelease.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Version2Params { + return { + mint_denom: isSet(object.mint_denom) ? globalThis.String(object.mint_denom) : "", + token_release_schedule: globalThis.Array.isArray(object?.token_release_schedule) + ? object.token_release_schedule.map((e: any) => Version2ScheduledTokenRelease.fromJSON(e)) + : [], + }; + }, + + toJSON(message: Version2Params): unknown { + const obj: any = {}; + if (message.mint_denom !== "") { + obj.mint_denom = message.mint_denom; + } + if (message.token_release_schedule?.length) { + obj.token_release_schedule = message.token_release_schedule.map((e) => Version2ScheduledTokenRelease.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Version2Params { + return Version2Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Version2Params { + const message = createBaseVersion2Params(); + message.mint_denom = object.mint_denom ?? ""; + message.token_release_schedule = object.token_release_schedule?.map((e) => Version2ScheduledTokenRelease.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseMinter(): Minter { + return { + start_date: "", + end_date: "", + denom: "", + total_mint_amount: 0, + remaining_mint_amount: 0, + last_mint_amount: 0, + last_mint_date: "", + last_mint_height: 0, + }; +} + +function createBaseScheduledTokenRelease(): ScheduledTokenRelease { + return { start_date: "", end_date: "", token_release_amount: 0 }; +} + +function createBaseParams(): Params { + return { mint_denom: "", token_release_schedule: [] }; +} + +function createBaseVersion2Minter(): Version2Minter { + return { last_mint_amount: "", last_mint_date: "", last_mint_height: 0, denom: "" }; +} + +function createBaseVersion2ScheduledTokenRelease(): Version2ScheduledTokenRelease { + return { date: "", token_release_amount: 0 }; +} + +function createBaseVersion2Params(): Version2Params { + return { mint_denom: "", token_release_schedule: [] }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.mint.Minter", Minter as never], + ["/seiprotocol.seichain.mint.Params", Params as never], + ["/seiprotocol.seichain.mint.Version2Minter", Version2Minter as never], + ["/seiprotocol.seichain.mint.Version2Params", Version2Params as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.mint.Minter": { + aminoType: "seiprotocol.seichain.mint.Minter", + toAmino: (message: Minter) => ({ ...message }), + fromAmino: (object: Minter) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.Params": { + aminoType: "seiprotocol.seichain.mint.Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.Version2Minter": { + aminoType: "seiprotocol.seichain.mint.Version2Minter", + toAmino: (message: Version2Minter) => ({ ...message }), + fromAmino: (object: Version2Minter) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.Version2Params": { + aminoType: "seiprotocol.seichain.mint.Version2Params", + toAmino: (message: Version2Params) => ({ ...message }), + fromAmino: (object: Version2Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/query.ts b/packages/cosmos/generated/encoding/mint/v1beta1/query.ts new file mode 100644 index 000000000..b221b624a --- /dev/null +++ b/packages/cosmos/generated/encoding/mint/v1beta1/query.ts @@ -0,0 +1,389 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Params } from "./mint"; + +import type { + QueryMinterRequest as QueryMinterRequestType, + QueryMinterResponse as QueryMinterResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, +} from "../../../types/mint/v1beta1"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryMinterRequest extends QueryMinterRequestType {} +interface QueryMinterResponse extends QueryMinterResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "seiprotocol.seichain.mint.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "seiprotocol.seichain.mint.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryMinterRequest: MessageFns = { + $type: "seiprotocol.seichain.mint.QueryMinterRequest" as const, + + encode(_: QueryMinterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryMinterRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryMinterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryMinterRequest { + return {}; + }, + + toJSON(_: QueryMinterRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryMinterRequest { + return QueryMinterRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryMinterRequest { + const message = createBaseQueryMinterRequest(); + return message; + }, +}; + +export const QueryMinterResponse: MessageFns = { + $type: "seiprotocol.seichain.mint.QueryMinterResponse" as const, + + encode(message: QueryMinterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.start_date !== "") { + writer.uint32(10).string(message.start_date); + } + if (message.end_date !== "") { + writer.uint32(18).string(message.end_date); + } + if (message.denom !== "") { + writer.uint32(26).string(message.denom); + } + if (message.total_mint_amount !== 0) { + writer.uint32(32).uint64(message.total_mint_amount); + } + if (message.remaining_mint_amount !== 0) { + writer.uint32(40).uint64(message.remaining_mint_amount); + } + if (message.last_mint_amount !== 0) { + writer.uint32(48).uint64(message.last_mint_amount); + } + if (message.last_mint_date !== "") { + writer.uint32(58).string(message.last_mint_date); + } + if (message.last_mint_height !== 0) { + writer.uint32(64).uint64(message.last_mint_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryMinterResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryMinterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.start_date = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.end_date = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.denom = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.total_mint_amount = longToNumber(reader.uint64()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.remaining_mint_amount = longToNumber(reader.uint64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.last_mint_amount = longToNumber(reader.uint64()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.last_mint_date = reader.string(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.last_mint_height = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryMinterResponse { + return { + start_date: isSet(object.start_date) ? globalThis.String(object.start_date) : "", + end_date: isSet(object.end_date) ? globalThis.String(object.end_date) : "", + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + total_mint_amount: isSet(object.total_mint_amount) ? globalThis.Number(object.total_mint_amount) : 0, + remaining_mint_amount: isSet(object.remaining_mint_amount) ? globalThis.Number(object.remaining_mint_amount) : 0, + last_mint_amount: isSet(object.last_mint_amount) ? globalThis.Number(object.last_mint_amount) : 0, + last_mint_date: isSet(object.last_mint_date) ? globalThis.String(object.last_mint_date) : "", + last_mint_height: isSet(object.last_mint_height) ? globalThis.Number(object.last_mint_height) : 0, + }; + }, + + toJSON(message: QueryMinterResponse): unknown { + const obj: any = {}; + if (message.start_date !== "") { + obj.start_date = message.start_date; + } + if (message.end_date !== "") { + obj.end_date = message.end_date; + } + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.total_mint_amount !== 0) { + obj.total_mint_amount = Math.round(message.total_mint_amount); + } + if (message.remaining_mint_amount !== 0) { + obj.remaining_mint_amount = Math.round(message.remaining_mint_amount); + } + if (message.last_mint_amount !== 0) { + obj.last_mint_amount = Math.round(message.last_mint_amount); + } + if (message.last_mint_date !== "") { + obj.last_mint_date = message.last_mint_date; + } + if (message.last_mint_height !== 0) { + obj.last_mint_height = Math.round(message.last_mint_height); + } + return obj; + }, + + create, I>>(base?: I): QueryMinterResponse { + return QueryMinterResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryMinterResponse { + const message = createBaseQueryMinterResponse(); + message.start_date = object.start_date ?? ""; + message.end_date = object.end_date ?? ""; + message.denom = object.denom ?? ""; + message.total_mint_amount = object.total_mint_amount ?? 0; + message.remaining_mint_amount = object.remaining_mint_amount ?? 0; + message.last_mint_amount = object.last_mint_amount ?? 0; + message.last_mint_date = object.last_mint_date ?? ""; + message.last_mint_height = object.last_mint_height ?? 0; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryMinterRequest(): QueryMinterRequest { + return {}; +} + +function createBaseQueryMinterResponse(): QueryMinterResponse { + return { + start_date: "", + end_date: "", + denom: "", + total_mint_amount: 0, + remaining_mint_amount: 0, + last_mint_amount: 0, + last_mint_date: "", + last_mint_height: 0, + }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.mint.QueryParamsRequest", QueryParamsRequest as never], + ["/seiprotocol.seichain.mint.QueryParamsResponse", QueryParamsResponse as never], + ["/seiprotocol.seichain.mint.QueryMinterRequest", QueryMinterRequest as never], + ["/seiprotocol.seichain.mint.QueryMinterResponse", QueryMinterResponse as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.mint.QueryParamsRequest": { + aminoType: "seiprotocol.seichain.mint.QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.QueryParamsResponse": { + aminoType: "seiprotocol.seichain.mint.QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.QueryMinterRequest": { + aminoType: "seiprotocol.seichain.mint.QueryMinterRequest", + toAmino: (message: QueryMinterRequest) => ({ ...message }), + fromAmino: (object: QueryMinterRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.mint.QueryMinterResponse": { + aminoType: "seiprotocol.seichain.mint.QueryMinterResponse", + toAmino: (message: QueryMinterResponse) => ({ ...message }), + fromAmino: (object: QueryMinterResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/oracle/genesis.ts b/packages/cosmos/generated/encoding/oracle/genesis.ts new file mode 100644 index 000000000..e93473dbe --- /dev/null +++ b/packages/cosmos/generated/encoding/oracle/genesis.ts @@ -0,0 +1,341 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { AggregateExchangeRateVote, ExchangeRateTuple, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; + +import type { FeederDelegation as FeederDelegationType, GenesisState as GenesisStateType, PenaltyCounter as PenaltyCounterType } from "../../types/oracle"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface FeederDelegation extends FeederDelegationType {} +interface PenaltyCounter extends PenaltyCounterType {} + +export const GenesisState: MessageFns = { + $type: "seiprotocol.seichain.oracle.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.feeder_delegations) { + FeederDelegation.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.exchange_rates) { + ExchangeRateTuple.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.penalty_counters) { + PenaltyCounter.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.aggregate_exchange_rate_votes) { + AggregateExchangeRateVote.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.price_snapshots) { + PriceSnapshot.encode(v!, writer.uint32(58).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.feeder_delegations.push(FeederDelegation.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.exchange_rates.push(ExchangeRateTuple.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.penalty_counters.push(PenaltyCounter.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.aggregate_exchange_rate_votes.push(AggregateExchangeRateVote.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.price_snapshots.push(PriceSnapshot.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + feeder_delegations: globalThis.Array.isArray(object?.feeder_delegations) ? object.feeder_delegations.map((e: any) => FeederDelegation.fromJSON(e)) : [], + exchange_rates: globalThis.Array.isArray(object?.exchange_rates) ? object.exchange_rates.map((e: any) => ExchangeRateTuple.fromJSON(e)) : [], + penalty_counters: globalThis.Array.isArray(object?.penalty_counters) ? object.penalty_counters.map((e: any) => PenaltyCounter.fromJSON(e)) : [], + aggregate_exchange_rate_votes: globalThis.Array.isArray(object?.aggregate_exchange_rate_votes) + ? object.aggregate_exchange_rate_votes.map((e: any) => AggregateExchangeRateVote.fromJSON(e)) + : [], + price_snapshots: globalThis.Array.isArray(object?.price_snapshots) ? object.price_snapshots.map((e: any) => PriceSnapshot.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.feeder_delegations?.length) { + obj.feeder_delegations = message.feeder_delegations.map((e) => FeederDelegation.toJSON(e)); + } + if (message.exchange_rates?.length) { + obj.exchange_rates = message.exchange_rates.map((e) => ExchangeRateTuple.toJSON(e)); + } + if (message.penalty_counters?.length) { + obj.penalty_counters = message.penalty_counters.map((e) => PenaltyCounter.toJSON(e)); + } + if (message.aggregate_exchange_rate_votes?.length) { + obj.aggregate_exchange_rate_votes = message.aggregate_exchange_rate_votes.map((e) => AggregateExchangeRateVote.toJSON(e)); + } + if (message.price_snapshots?.length) { + obj.price_snapshots = message.price_snapshots.map((e) => PriceSnapshot.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.feeder_delegations = object.feeder_delegations?.map((e) => FeederDelegation.fromPartial(e)) || []; + message.exchange_rates = object.exchange_rates?.map((e) => ExchangeRateTuple.fromPartial(e)) || []; + message.penalty_counters = object.penalty_counters?.map((e) => PenaltyCounter.fromPartial(e)) || []; + message.aggregate_exchange_rate_votes = object.aggregate_exchange_rate_votes?.map((e) => AggregateExchangeRateVote.fromPartial(e)) || []; + message.price_snapshots = object.price_snapshots?.map((e) => PriceSnapshot.fromPartial(e)) || []; + return message; + }, +}; + +export const FeederDelegation: MessageFns = { + $type: "seiprotocol.seichain.oracle.FeederDelegation" as const, + + encode(message: FeederDelegation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.feeder_address !== "") { + writer.uint32(10).string(message.feeder_address); + } + if (message.validator_address !== "") { + writer.uint32(18).string(message.validator_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): FeederDelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeederDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.feeder_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): FeederDelegation { + return { + feeder_address: isSet(object.feeder_address) ? globalThis.String(object.feeder_address) : "", + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + }; + }, + + toJSON(message: FeederDelegation): unknown { + const obj: any = {}; + if (message.feeder_address !== "") { + obj.feeder_address = message.feeder_address; + } + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + return obj; + }, + + create, I>>(base?: I): FeederDelegation { + return FeederDelegation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): FeederDelegation { + const message = createBaseFeederDelegation(); + message.feeder_address = object.feeder_address ?? ""; + message.validator_address = object.validator_address ?? ""; + return message; + }, +}; + +export const PenaltyCounter: MessageFns = { + $type: "seiprotocol.seichain.oracle.PenaltyCounter" as const, + + encode(message: PenaltyCounter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_address !== "") { + writer.uint32(10).string(message.validator_address); + } + if (message.vote_penalty_counter !== undefined) { + VotePenaltyCounter.encode(message.vote_penalty_counter, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PenaltyCounter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePenaltyCounter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.vote_penalty_counter = VotePenaltyCounter.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PenaltyCounter { + return { + validator_address: isSet(object.validator_address) ? globalThis.String(object.validator_address) : "", + vote_penalty_counter: isSet(object.vote_penalty_counter) ? VotePenaltyCounter.fromJSON(object.vote_penalty_counter) : undefined, + }; + }, + + toJSON(message: PenaltyCounter): unknown { + const obj: any = {}; + if (message.validator_address !== "") { + obj.validator_address = message.validator_address; + } + if (message.vote_penalty_counter !== undefined) { + obj.vote_penalty_counter = VotePenaltyCounter.toJSON(message.vote_penalty_counter); + } + return obj; + }, + + create, I>>(base?: I): PenaltyCounter { + return PenaltyCounter.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PenaltyCounter { + const message = createBasePenaltyCounter(); + message.validator_address = object.validator_address ?? ""; + message.vote_penalty_counter = + object.vote_penalty_counter !== undefined && object.vote_penalty_counter !== null + ? VotePenaltyCounter.fromPartial(object.vote_penalty_counter) + : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { + params: undefined, + feeder_delegations: [], + exchange_rates: [], + penalty_counters: [], + aggregate_exchange_rate_votes: [], + price_snapshots: [], + }; +} + +function createBaseFeederDelegation(): FeederDelegation { + return { feeder_address: "", validator_address: "" }; +} + +function createBasePenaltyCounter(): PenaltyCounter { + return { validator_address: "", vote_penalty_counter: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.oracle.GenesisState", GenesisState as never], + ["/seiprotocol.seichain.oracle.FeederDelegation", FeederDelegation as never], + ["/seiprotocol.seichain.oracle.PenaltyCounter", PenaltyCounter as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.oracle.GenesisState": { + aminoType: "seiprotocol.seichain.oracle.GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.FeederDelegation": { + aminoType: "seiprotocol.seichain.oracle.FeederDelegation", + toAmino: (message: FeederDelegation) => ({ ...message }), + fromAmino: (object: FeederDelegation) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.PenaltyCounter": { + aminoType: "seiprotocol.seichain.oracle.PenaltyCounter", + toAmino: (message: PenaltyCounter) => ({ ...message }), + fromAmino: (object: PenaltyCounter) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/oracle/index.ts b/packages/cosmos/generated/encoding/oracle/index.ts new file mode 100644 index 000000000..7c0e4adb0 --- /dev/null +++ b/packages/cosmos/generated/encoding/oracle/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './oracle'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/oracle/oracle.ts b/packages/cosmos/generated/encoding/oracle/oracle.ts new file mode 100644 index 000000000..f69afe4bf --- /dev/null +++ b/packages/cosmos/generated/encoding/oracle/oracle.ts @@ -0,0 +1,919 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + AggregateExchangeRateVote as AggregateExchangeRateVoteType, + Denom as DenomType, + ExchangeRateTuple as ExchangeRateTupleType, + OracleExchangeRate as OracleExchangeRateType, + OracleTwap as OracleTwapType, + Params as ParamsType, + PriceSnapshotItem as PriceSnapshotItemType, + PriceSnapshot as PriceSnapshotType, + VotePenaltyCounter as VotePenaltyCounterType, +} from "../../types/oracle"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Params extends ParamsType {} +interface Denom extends DenomType {} +interface AggregateExchangeRateVote extends AggregateExchangeRateVoteType {} +interface ExchangeRateTuple extends ExchangeRateTupleType {} +interface OracleExchangeRate extends OracleExchangeRateType {} +interface PriceSnapshotItem extends PriceSnapshotItemType {} +interface PriceSnapshot extends PriceSnapshotType {} +interface OracleTwap extends OracleTwapType {} +interface VotePenaltyCounter extends VotePenaltyCounterType {} + +export const Params: MessageFns = { + $type: "seiprotocol.seichain.oracle.Params" as const, + + encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote_period !== 0) { + writer.uint32(8).uint64(message.vote_period); + } + if (message.vote_threshold !== "") { + writer.uint32(18).string(message.vote_threshold); + } + if (message.reward_band !== "") { + writer.uint32(26).string(message.reward_band); + } + for (const v of message.whitelist) { + Denom.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.slash_fraction !== "") { + writer.uint32(42).string(message.slash_fraction); + } + if (message.slash_window !== 0) { + writer.uint32(48).uint64(message.slash_window); + } + if (message.min_valid_per_window !== "") { + writer.uint32(58).string(message.min_valid_per_window); + } + if (message.lookback_duration !== 0) { + writer.uint32(72).uint64(message.lookback_duration); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.vote_period = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.vote_threshold = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.reward_band = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.whitelist.push(Denom.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.slash_fraction = reader.string(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.slash_window = longToNumber(reader.uint64()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.min_valid_per_window = reader.string(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.lookback_duration = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + vote_period: isSet(object.vote_period) ? globalThis.Number(object.vote_period) : 0, + vote_threshold: isSet(object.vote_threshold) ? globalThis.String(object.vote_threshold) : "", + reward_band: isSet(object.reward_band) ? globalThis.String(object.reward_band) : "", + whitelist: globalThis.Array.isArray(object?.whitelist) ? object.whitelist.map((e: any) => Denom.fromJSON(e)) : [], + slash_fraction: isSet(object.slash_fraction) ? globalThis.String(object.slash_fraction) : "", + slash_window: isSet(object.slash_window) ? globalThis.Number(object.slash_window) : 0, + min_valid_per_window: isSet(object.min_valid_per_window) ? globalThis.String(object.min_valid_per_window) : "", + lookback_duration: isSet(object.lookback_duration) ? globalThis.Number(object.lookback_duration) : 0, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.vote_period !== 0) { + obj.vote_period = Math.round(message.vote_period); + } + if (message.vote_threshold !== "") { + obj.vote_threshold = message.vote_threshold; + } + if (message.reward_band !== "") { + obj.reward_band = message.reward_band; + } + if (message.whitelist?.length) { + obj.whitelist = message.whitelist.map((e) => Denom.toJSON(e)); + } + if (message.slash_fraction !== "") { + obj.slash_fraction = message.slash_fraction; + } + if (message.slash_window !== 0) { + obj.slash_window = Math.round(message.slash_window); + } + if (message.min_valid_per_window !== "") { + obj.min_valid_per_window = message.min_valid_per_window; + } + if (message.lookback_duration !== 0) { + obj.lookback_duration = Math.round(message.lookback_duration); + } + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.vote_period = object.vote_period ?? 0; + message.vote_threshold = object.vote_threshold ?? ""; + message.reward_band = object.reward_band ?? ""; + message.whitelist = object.whitelist?.map((e) => Denom.fromPartial(e)) || []; + message.slash_fraction = object.slash_fraction ?? ""; + message.slash_window = object.slash_window ?? 0; + message.min_valid_per_window = object.min_valid_per_window ?? ""; + message.lookback_duration = object.lookback_duration ?? 0; + return message; + }, +}; + +export const Denom: MessageFns = { + $type: "seiprotocol.seichain.oracle.Denom" as const, + + encode(message: Denom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Denom { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenom(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Denom { + return { name: isSet(object.name) ? globalThis.String(object.name) : "" }; + }, + + toJSON(message: Denom): unknown { + const obj: any = {}; + if (message.name !== "") { + obj.name = message.name; + } + return obj; + }, + + create, I>>(base?: I): Denom { + return Denom.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Denom { + const message = createBaseDenom(); + message.name = object.name ?? ""; + return message; + }, +}; + +export const AggregateExchangeRateVote: MessageFns = { + $type: "seiprotocol.seichain.oracle.AggregateExchangeRateVote" as const, + + encode(message: AggregateExchangeRateVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.exchange_rate_tuples) { + ExchangeRateTuple.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AggregateExchangeRateVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAggregateExchangeRateVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exchange_rate_tuples.push(ExchangeRateTuple.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.voter = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AggregateExchangeRateVote { + return { + exchange_rate_tuples: globalThis.Array.isArray(object?.exchange_rate_tuples) + ? object.exchange_rate_tuples.map((e: any) => ExchangeRateTuple.fromJSON(e)) + : [], + voter: isSet(object.voter) ? globalThis.String(object.voter) : "", + }; + }, + + toJSON(message: AggregateExchangeRateVote): unknown { + const obj: any = {}; + if (message.exchange_rate_tuples?.length) { + obj.exchange_rate_tuples = message.exchange_rate_tuples.map((e) => ExchangeRateTuple.toJSON(e)); + } + if (message.voter !== "") { + obj.voter = message.voter; + } + return obj; + }, + + create, I>>(base?: I): AggregateExchangeRateVote { + return AggregateExchangeRateVote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AggregateExchangeRateVote { + const message = createBaseAggregateExchangeRateVote(); + message.exchange_rate_tuples = object.exchange_rate_tuples?.map((e) => ExchangeRateTuple.fromPartial(e)) || []; + message.voter = object.voter ?? ""; + return message; + }, +}; + +export const ExchangeRateTuple: MessageFns = { + $type: "seiprotocol.seichain.oracle.ExchangeRateTuple" as const, + + encode(message: ExchangeRateTuple, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.exchange_rate !== "") { + writer.uint32(18).string(message.exchange_rate); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExchangeRateTuple { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExchangeRateTuple(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.exchange_rate = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExchangeRateTuple { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + exchange_rate: isSet(object.exchange_rate) ? globalThis.String(object.exchange_rate) : "", + }; + }, + + toJSON(message: ExchangeRateTuple): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.exchange_rate !== "") { + obj.exchange_rate = message.exchange_rate; + } + return obj; + }, + + create, I>>(base?: I): ExchangeRateTuple { + return ExchangeRateTuple.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExchangeRateTuple { + const message = createBaseExchangeRateTuple(); + message.denom = object.denom ?? ""; + message.exchange_rate = object.exchange_rate ?? ""; + return message; + }, +}; + +export const OracleExchangeRate: MessageFns = { + $type: "seiprotocol.seichain.oracle.OracleExchangeRate" as const, + + encode(message: OracleExchangeRate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exchange_rate !== "") { + writer.uint32(10).string(message.exchange_rate); + } + if (message.last_update !== "") { + writer.uint32(18).string(message.last_update); + } + if (message.last_update_timestamp !== 0) { + writer.uint32(24).int64(message.last_update_timestamp); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): OracleExchangeRate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOracleExchangeRate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exchange_rate = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.last_update = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.last_update_timestamp = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): OracleExchangeRate { + return { + exchange_rate: isSet(object.exchange_rate) ? globalThis.String(object.exchange_rate) : "", + last_update: isSet(object.last_update) ? globalThis.String(object.last_update) : "", + last_update_timestamp: isSet(object.last_update_timestamp) ? globalThis.Number(object.last_update_timestamp) : 0, + }; + }, + + toJSON(message: OracleExchangeRate): unknown { + const obj: any = {}; + if (message.exchange_rate !== "") { + obj.exchange_rate = message.exchange_rate; + } + if (message.last_update !== "") { + obj.last_update = message.last_update; + } + if (message.last_update_timestamp !== 0) { + obj.last_update_timestamp = Math.round(message.last_update_timestamp); + } + return obj; + }, + + create, I>>(base?: I): OracleExchangeRate { + return OracleExchangeRate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OracleExchangeRate { + const message = createBaseOracleExchangeRate(); + message.exchange_rate = object.exchange_rate ?? ""; + message.last_update = object.last_update ?? ""; + message.last_update_timestamp = object.last_update_timestamp ?? 0; + return message; + }, +}; + +export const PriceSnapshotItem: MessageFns = { + $type: "seiprotocol.seichain.oracle.PriceSnapshotItem" as const, + + encode(message: PriceSnapshotItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.oracle_exchange_rate !== undefined) { + OracleExchangeRate.encode(message.oracle_exchange_rate, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PriceSnapshotItem { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceSnapshotItem(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.oracle_exchange_rate = OracleExchangeRate.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PriceSnapshotItem { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + oracle_exchange_rate: isSet(object.oracle_exchange_rate) ? OracleExchangeRate.fromJSON(object.oracle_exchange_rate) : undefined, + }; + }, + + toJSON(message: PriceSnapshotItem): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.oracle_exchange_rate !== undefined) { + obj.oracle_exchange_rate = OracleExchangeRate.toJSON(message.oracle_exchange_rate); + } + return obj; + }, + + create, I>>(base?: I): PriceSnapshotItem { + return PriceSnapshotItem.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PriceSnapshotItem { + const message = createBasePriceSnapshotItem(); + message.denom = object.denom ?? ""; + message.oracle_exchange_rate = + object.oracle_exchange_rate !== undefined && object.oracle_exchange_rate !== null + ? OracleExchangeRate.fromPartial(object.oracle_exchange_rate) + : undefined; + return message; + }, +}; + +export const PriceSnapshot: MessageFns = { + $type: "seiprotocol.seichain.oracle.PriceSnapshot" as const, + + encode(message: PriceSnapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.snapshot_timestamp !== 0) { + writer.uint32(8).int64(message.snapshot_timestamp); + } + for (const v of message.price_snapshot_items) { + PriceSnapshotItem.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PriceSnapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.snapshot_timestamp = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.price_snapshot_items.push(PriceSnapshotItem.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PriceSnapshot { + return { + snapshot_timestamp: isSet(object.snapshot_timestamp) ? globalThis.Number(object.snapshot_timestamp) : 0, + price_snapshot_items: globalThis.Array.isArray(object?.price_snapshot_items) + ? object.price_snapshot_items.map((e: any) => PriceSnapshotItem.fromJSON(e)) + : [], + }; + }, + + toJSON(message: PriceSnapshot): unknown { + const obj: any = {}; + if (message.snapshot_timestamp !== 0) { + obj.snapshot_timestamp = Math.round(message.snapshot_timestamp); + } + if (message.price_snapshot_items?.length) { + obj.price_snapshot_items = message.price_snapshot_items.map((e) => PriceSnapshotItem.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): PriceSnapshot { + return PriceSnapshot.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PriceSnapshot { + const message = createBasePriceSnapshot(); + message.snapshot_timestamp = object.snapshot_timestamp ?? 0; + message.price_snapshot_items = object.price_snapshot_items?.map((e) => PriceSnapshotItem.fromPartial(e)) || []; + return message; + }, +}; + +export const OracleTwap: MessageFns = { + $type: "seiprotocol.seichain.oracle.OracleTwap" as const, + + encode(message: OracleTwap, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.twap !== "") { + writer.uint32(18).string(message.twap); + } + if (message.lookback_seconds !== 0) { + writer.uint32(24).int64(message.lookback_seconds); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): OracleTwap { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOracleTwap(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.twap = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.lookback_seconds = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): OracleTwap { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + twap: isSet(object.twap) ? globalThis.String(object.twap) : "", + lookback_seconds: isSet(object.lookback_seconds) ? globalThis.Number(object.lookback_seconds) : 0, + }; + }, + + toJSON(message: OracleTwap): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.twap !== "") { + obj.twap = message.twap; + } + if (message.lookback_seconds !== 0) { + obj.lookback_seconds = Math.round(message.lookback_seconds); + } + return obj; + }, + + create, I>>(base?: I): OracleTwap { + return OracleTwap.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): OracleTwap { + const message = createBaseOracleTwap(); + message.denom = object.denom ?? ""; + message.twap = object.twap ?? ""; + message.lookback_seconds = object.lookback_seconds ?? 0; + return message; + }, +}; + +export const VotePenaltyCounter: MessageFns = { + $type: "seiprotocol.seichain.oracle.VotePenaltyCounter" as const, + + encode(message: VotePenaltyCounter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.miss_count !== 0) { + writer.uint32(8).uint64(message.miss_count); + } + if (message.abstain_count !== 0) { + writer.uint32(16).uint64(message.abstain_count); + } + if (message.success_count !== 0) { + writer.uint32(24).uint64(message.success_count); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VotePenaltyCounter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotePenaltyCounter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.miss_count = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.abstain_count = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.success_count = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VotePenaltyCounter { + return { + miss_count: isSet(object.miss_count) ? globalThis.Number(object.miss_count) : 0, + abstain_count: isSet(object.abstain_count) ? globalThis.Number(object.abstain_count) : 0, + success_count: isSet(object.success_count) ? globalThis.Number(object.success_count) : 0, + }; + }, + + toJSON(message: VotePenaltyCounter): unknown { + const obj: any = {}; + if (message.miss_count !== 0) { + obj.miss_count = Math.round(message.miss_count); + } + if (message.abstain_count !== 0) { + obj.abstain_count = Math.round(message.abstain_count); + } + if (message.success_count !== 0) { + obj.success_count = Math.round(message.success_count); + } + return obj; + }, + + create, I>>(base?: I): VotePenaltyCounter { + return VotePenaltyCounter.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VotePenaltyCounter { + const message = createBaseVotePenaltyCounter(); + message.miss_count = object.miss_count ?? 0; + message.abstain_count = object.abstain_count ?? 0; + message.success_count = object.success_count ?? 0; + return message; + }, +}; + +function createBaseParams(): Params { + return { + vote_period: 0, + vote_threshold: "", + reward_band: "", + whitelist: [], + slash_fraction: "", + slash_window: 0, + min_valid_per_window: "", + lookback_duration: 0, + }; +} + +function createBaseDenom(): Denom { + return { name: "" }; +} + +function createBaseAggregateExchangeRateVote(): AggregateExchangeRateVote { + return { exchange_rate_tuples: [], voter: "" }; +} + +function createBaseExchangeRateTuple(): ExchangeRateTuple { + return { denom: "", exchange_rate: "" }; +} + +function createBaseOracleExchangeRate(): OracleExchangeRate { + return { exchange_rate: "", last_update: "", last_update_timestamp: 0 }; +} + +function createBasePriceSnapshotItem(): PriceSnapshotItem { + return { denom: "", oracle_exchange_rate: undefined }; +} + +function createBasePriceSnapshot(): PriceSnapshot { + return { snapshot_timestamp: 0, price_snapshot_items: [] }; +} + +function createBaseOracleTwap(): OracleTwap { + return { denom: "", twap: "", lookback_seconds: 0 }; +} + +function createBaseVotePenaltyCounter(): VotePenaltyCounter { + return { miss_count: 0, abstain_count: 0, success_count: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.oracle.Params", Params as never], + ["/seiprotocol.seichain.oracle.Denom", Denom as never], + ["/seiprotocol.seichain.oracle.ExchangeRateTuple", ExchangeRateTuple as never], + ["/seiprotocol.seichain.oracle.OracleExchangeRate", OracleExchangeRate as never], + ["/seiprotocol.seichain.oracle.PriceSnapshotItem", PriceSnapshotItem as never], + ["/seiprotocol.seichain.oracle.PriceSnapshot", PriceSnapshot as never], + ["/seiprotocol.seichain.oracle.OracleTwap", OracleTwap as never], + ["/seiprotocol.seichain.oracle.VotePenaltyCounter", VotePenaltyCounter as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.oracle.Params": { + aminoType: "seiprotocol.seichain.oracle.Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.Denom": { + aminoType: "seiprotocol.seichain.oracle.Denom", + toAmino: (message: Denom) => ({ ...message }), + fromAmino: (object: Denom) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.ExchangeRateTuple": { + aminoType: "seiprotocol.seichain.oracle.ExchangeRateTuple", + toAmino: (message: ExchangeRateTuple) => ({ ...message }), + fromAmino: (object: ExchangeRateTuple) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.OracleExchangeRate": { + aminoType: "seiprotocol.seichain.oracle.OracleExchangeRate", + toAmino: (message: OracleExchangeRate) => ({ ...message }), + fromAmino: (object: OracleExchangeRate) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.PriceSnapshotItem": { + aminoType: "seiprotocol.seichain.oracle.PriceSnapshotItem", + toAmino: (message: PriceSnapshotItem) => ({ ...message }), + fromAmino: (object: PriceSnapshotItem) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.PriceSnapshot": { + aminoType: "seiprotocol.seichain.oracle.PriceSnapshot", + toAmino: (message: PriceSnapshot) => ({ ...message }), + fromAmino: (object: PriceSnapshot) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.OracleTwap": { + aminoType: "seiprotocol.seichain.oracle.OracleTwap", + toAmino: (message: OracleTwap) => ({ ...message }), + fromAmino: (object: OracleTwap) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.VotePenaltyCounter": { + aminoType: "seiprotocol.seichain.oracle.VotePenaltyCounter", + toAmino: (message: VotePenaltyCounter) => ({ ...message }), + fromAmino: (object: VotePenaltyCounter) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/oracle/query.ts b/packages/cosmos/generated/encoding/oracle/query.ts new file mode 100644 index 000000000..252f9d6bf --- /dev/null +++ b/packages/cosmos/generated/encoding/oracle/query.ts @@ -0,0 +1,1304 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { OracleExchangeRate, OracleTwap, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; + +import type { + DenomOracleExchangeRatePair as DenomOracleExchangeRatePairType, + QueryActivesRequest as QueryActivesRequestType, + QueryActivesResponse as QueryActivesResponseType, + QueryExchangeRateRequest as QueryExchangeRateRequestType, + QueryExchangeRateResponse as QueryExchangeRateResponseType, + QueryExchangeRatesRequest as QueryExchangeRatesRequestType, + QueryExchangeRatesResponse as QueryExchangeRatesResponseType, + QueryFeederDelegationRequest as QueryFeederDelegationRequestType, + QueryFeederDelegationResponse as QueryFeederDelegationResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, + QueryPriceSnapshotHistoryRequest as QueryPriceSnapshotHistoryRequestType, + QueryPriceSnapshotHistoryResponse as QueryPriceSnapshotHistoryResponseType, + QuerySlashWindowRequest as QuerySlashWindowRequestType, + QuerySlashWindowResponse as QuerySlashWindowResponseType, + QueryTwapsRequest as QueryTwapsRequestType, + QueryTwapsResponse as QueryTwapsResponseType, + QueryVotePenaltyCounterRequest as QueryVotePenaltyCounterRequestType, + QueryVotePenaltyCounterResponse as QueryVotePenaltyCounterResponseType, + QueryVoteTargetsRequest as QueryVoteTargetsRequestType, + QueryVoteTargetsResponse as QueryVoteTargetsResponseType, +} from "../../types/oracle"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface QueryExchangeRateRequest extends QueryExchangeRateRequestType {} +interface QueryExchangeRateResponse extends QueryExchangeRateResponseType {} +interface QueryExchangeRatesRequest extends QueryExchangeRatesRequestType {} +interface DenomOracleExchangeRatePair extends DenomOracleExchangeRatePairType {} +interface QueryExchangeRatesResponse extends QueryExchangeRatesResponseType {} +interface QueryActivesRequest extends QueryActivesRequestType {} +interface QueryActivesResponse extends QueryActivesResponseType {} +interface QueryVoteTargetsRequest extends QueryVoteTargetsRequestType {} +interface QueryVoteTargetsResponse extends QueryVoteTargetsResponseType {} +interface QueryPriceSnapshotHistoryRequest extends QueryPriceSnapshotHistoryRequestType {} +interface QueryPriceSnapshotHistoryResponse extends QueryPriceSnapshotHistoryResponseType {} +interface QueryTwapsRequest extends QueryTwapsRequestType {} +interface QueryTwapsResponse extends QueryTwapsResponseType {} +interface QueryFeederDelegationRequest extends QueryFeederDelegationRequestType {} +interface QueryFeederDelegationResponse extends QueryFeederDelegationResponseType {} +interface QueryVotePenaltyCounterRequest extends QueryVotePenaltyCounterRequestType {} +interface QueryVotePenaltyCounterResponse extends QueryVotePenaltyCounterResponseType {} +interface QuerySlashWindowRequest extends QuerySlashWindowRequestType {} +interface QuerySlashWindowResponse extends QuerySlashWindowResponseType {} +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} + +export const QueryExchangeRateRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryExchangeRateRequest" as const, + + encode(message: QueryExchangeRateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryExchangeRateRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExchangeRateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExchangeRateRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QueryExchangeRateRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryExchangeRateRequest { + return QueryExchangeRateRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryExchangeRateRequest { + const message = createBaseQueryExchangeRateRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryExchangeRateResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryExchangeRateResponse" as const, + + encode(message: QueryExchangeRateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.oracle_exchange_rate !== undefined) { + OracleExchangeRate.encode(message.oracle_exchange_rate, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryExchangeRateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExchangeRateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.oracle_exchange_rate = OracleExchangeRate.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExchangeRateResponse { + return { + oracle_exchange_rate: isSet(object.oracle_exchange_rate) ? OracleExchangeRate.fromJSON(object.oracle_exchange_rate) : undefined, + }; + }, + + toJSON(message: QueryExchangeRateResponse): unknown { + const obj: any = {}; + if (message.oracle_exchange_rate !== undefined) { + obj.oracle_exchange_rate = OracleExchangeRate.toJSON(message.oracle_exchange_rate); + } + return obj; + }, + + create, I>>(base?: I): QueryExchangeRateResponse { + return QueryExchangeRateResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryExchangeRateResponse { + const message = createBaseQueryExchangeRateResponse(); + message.oracle_exchange_rate = + object.oracle_exchange_rate !== undefined && object.oracle_exchange_rate !== null + ? OracleExchangeRate.fromPartial(object.oracle_exchange_rate) + : undefined; + return message; + }, +}; + +export const QueryExchangeRatesRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryExchangeRatesRequest" as const, + + encode(_: QueryExchangeRatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryExchangeRatesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExchangeRatesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryExchangeRatesRequest { + return {}; + }, + + toJSON(_: QueryExchangeRatesRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryExchangeRatesRequest { + return QueryExchangeRatesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryExchangeRatesRequest { + const message = createBaseQueryExchangeRatesRequest(); + return message; + }, +}; + +export const DenomOracleExchangeRatePair: MessageFns = { + $type: "seiprotocol.seichain.oracle.DenomOracleExchangeRatePair" as const, + + encode(message: DenomOracleExchangeRatePair, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.oracle_exchange_rate !== undefined) { + OracleExchangeRate.encode(message.oracle_exchange_rate, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DenomOracleExchangeRatePair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomOracleExchangeRatePair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.oracle_exchange_rate = OracleExchangeRate.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DenomOracleExchangeRatePair { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + oracle_exchange_rate: isSet(object.oracle_exchange_rate) ? OracleExchangeRate.fromJSON(object.oracle_exchange_rate) : undefined, + }; + }, + + toJSON(message: DenomOracleExchangeRatePair): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.oracle_exchange_rate !== undefined) { + obj.oracle_exchange_rate = OracleExchangeRate.toJSON(message.oracle_exchange_rate); + } + return obj; + }, + + create, I>>(base?: I): DenomOracleExchangeRatePair { + return DenomOracleExchangeRatePair.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DenomOracleExchangeRatePair { + const message = createBaseDenomOracleExchangeRatePair(); + message.denom = object.denom ?? ""; + message.oracle_exchange_rate = + object.oracle_exchange_rate !== undefined && object.oracle_exchange_rate !== null + ? OracleExchangeRate.fromPartial(object.oracle_exchange_rate) + : undefined; + return message; + }, +}; + +export const QueryExchangeRatesResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryExchangeRatesResponse" as const, + + encode(message: QueryExchangeRatesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.denom_oracle_exchange_rate_pairs) { + DenomOracleExchangeRatePair.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryExchangeRatesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExchangeRatesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom_oracle_exchange_rate_pairs.push(DenomOracleExchangeRatePair.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExchangeRatesResponse { + return { + denom_oracle_exchange_rate_pairs: globalThis.Array.isArray(object?.denom_oracle_exchange_rate_pairs) + ? object.denom_oracle_exchange_rate_pairs.map((e: any) => DenomOracleExchangeRatePair.fromJSON(e)) + : [], + }; + }, + + toJSON(message: QueryExchangeRatesResponse): unknown { + const obj: any = {}; + if (message.denom_oracle_exchange_rate_pairs?.length) { + obj.denom_oracle_exchange_rate_pairs = message.denom_oracle_exchange_rate_pairs.map((e) => DenomOracleExchangeRatePair.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryExchangeRatesResponse { + return QueryExchangeRatesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryExchangeRatesResponse { + const message = createBaseQueryExchangeRatesResponse(); + message.denom_oracle_exchange_rate_pairs = object.denom_oracle_exchange_rate_pairs?.map((e) => DenomOracleExchangeRatePair.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryActivesRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryActivesRequest" as const, + + encode(_: QueryActivesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryActivesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryActivesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryActivesRequest { + return {}; + }, + + toJSON(_: QueryActivesRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryActivesRequest { + return QueryActivesRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryActivesRequest { + const message = createBaseQueryActivesRequest(); + return message; + }, +}; + +export const QueryActivesResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryActivesResponse" as const, + + encode(message: QueryActivesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.actives) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryActivesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryActivesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.actives.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryActivesResponse { + return { + actives: globalThis.Array.isArray(object?.actives) ? object.actives.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: QueryActivesResponse): unknown { + const obj: any = {}; + if (message.actives?.length) { + obj.actives = message.actives; + } + return obj; + }, + + create, I>>(base?: I): QueryActivesResponse { + return QueryActivesResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryActivesResponse { + const message = createBaseQueryActivesResponse(); + message.actives = object.actives?.map((e) => e) || []; + return message; + }, +}; + +export const QueryVoteTargetsRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryVoteTargetsRequest" as const, + + encode(_: QueryVoteTargetsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVoteTargetsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteTargetsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryVoteTargetsRequest { + return {}; + }, + + toJSON(_: QueryVoteTargetsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryVoteTargetsRequest { + return QueryVoteTargetsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryVoteTargetsRequest { + const message = createBaseQueryVoteTargetsRequest(); + return message; + }, +}; + +export const QueryVoteTargetsResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryVoteTargetsResponse" as const, + + encode(message: QueryVoteTargetsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.vote_targets) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVoteTargetsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteTargetsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.vote_targets.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVoteTargetsResponse { + return { + vote_targets: globalThis.Array.isArray(object?.vote_targets) ? object.vote_targets.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: QueryVoteTargetsResponse): unknown { + const obj: any = {}; + if (message.vote_targets?.length) { + obj.vote_targets = message.vote_targets; + } + return obj; + }, + + create, I>>(base?: I): QueryVoteTargetsResponse { + return QueryVoteTargetsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVoteTargetsResponse { + const message = createBaseQueryVoteTargetsResponse(); + message.vote_targets = object.vote_targets?.map((e) => e) || []; + return message; + }, +}; + +export const QueryPriceSnapshotHistoryRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryPriceSnapshotHistoryRequest" as const, + + encode(_: QueryPriceSnapshotHistoryRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPriceSnapshotHistoryRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPriceSnapshotHistoryRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryPriceSnapshotHistoryRequest { + return {}; + }, + + toJSON(_: QueryPriceSnapshotHistoryRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryPriceSnapshotHistoryRequest { + return QueryPriceSnapshotHistoryRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryPriceSnapshotHistoryRequest { + const message = createBaseQueryPriceSnapshotHistoryRequest(); + return message; + }, +}; + +export const QueryPriceSnapshotHistoryResponse: MessageFns = + { + $type: "seiprotocol.seichain.oracle.QueryPriceSnapshotHistoryResponse" as const, + + encode(message: QueryPriceSnapshotHistoryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.price_snapshots) { + PriceSnapshot.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryPriceSnapshotHistoryResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPriceSnapshotHistoryResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.price_snapshots.push(PriceSnapshot.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPriceSnapshotHistoryResponse { + return { + price_snapshots: globalThis.Array.isArray(object?.price_snapshots) ? object.price_snapshots.map((e: any) => PriceSnapshot.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryPriceSnapshotHistoryResponse): unknown { + const obj: any = {}; + if (message.price_snapshots?.length) { + obj.price_snapshots = message.price_snapshots.map((e) => PriceSnapshot.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryPriceSnapshotHistoryResponse { + return QueryPriceSnapshotHistoryResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryPriceSnapshotHistoryResponse { + const message = createBaseQueryPriceSnapshotHistoryResponse(); + message.price_snapshots = object.price_snapshots?.map((e) => PriceSnapshot.fromPartial(e)) || []; + return message; + }, + }; + +export const QueryTwapsRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryTwapsRequest" as const, + + encode(message: QueryTwapsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.lookback_seconds !== 0) { + writer.uint32(8).uint64(message.lookback_seconds); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTwapsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTwapsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.lookback_seconds = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTwapsRequest { + return { lookback_seconds: isSet(object.lookback_seconds) ? globalThis.Number(object.lookback_seconds) : 0 }; + }, + + toJSON(message: QueryTwapsRequest): unknown { + const obj: any = {}; + if (message.lookback_seconds !== 0) { + obj.lookback_seconds = Math.round(message.lookback_seconds); + } + return obj; + }, + + create, I>>(base?: I): QueryTwapsRequest { + return QueryTwapsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTwapsRequest { + const message = createBaseQueryTwapsRequest(); + message.lookback_seconds = object.lookback_seconds ?? 0; + return message; + }, +}; + +export const QueryTwapsResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryTwapsResponse" as const, + + encode(message: QueryTwapsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.oracle_twaps) { + OracleTwap.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryTwapsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTwapsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.oracle_twaps.push(OracleTwap.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryTwapsResponse { + return { + oracle_twaps: globalThis.Array.isArray(object?.oracle_twaps) ? object.oracle_twaps.map((e: any) => OracleTwap.fromJSON(e)) : [], + }; + }, + + toJSON(message: QueryTwapsResponse): unknown { + const obj: any = {}; + if (message.oracle_twaps?.length) { + obj.oracle_twaps = message.oracle_twaps.map((e) => OracleTwap.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): QueryTwapsResponse { + return QueryTwapsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryTwapsResponse { + const message = createBaseQueryTwapsResponse(); + message.oracle_twaps = object.oracle_twaps?.map((e) => OracleTwap.fromPartial(e)) || []; + return message; + }, +}; + +export const QueryFeederDelegationRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryFeederDelegationRequest" as const, + + encode(message: QueryFeederDelegationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryFeederDelegationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeederDelegationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryFeederDelegationRequest { + return { validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "" }; + }, + + toJSON(message: QueryFeederDelegationRequest): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryFeederDelegationRequest { + return QueryFeederDelegationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryFeederDelegationRequest { + const message = createBaseQueryFeederDelegationRequest(); + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryFeederDelegationResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryFeederDelegationResponse" as const, + + encode(message: QueryFeederDelegationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.feeder_addr !== "") { + writer.uint32(10).string(message.feeder_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryFeederDelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeederDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.feeder_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryFeederDelegationResponse { + return { feeder_addr: isSet(object.feeder_addr) ? globalThis.String(object.feeder_addr) : "" }; + }, + + toJSON(message: QueryFeederDelegationResponse): unknown { + const obj: any = {}; + if (message.feeder_addr !== "") { + obj.feeder_addr = message.feeder_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryFeederDelegationResponse { + return QueryFeederDelegationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryFeederDelegationResponse { + const message = createBaseQueryFeederDelegationResponse(); + message.feeder_addr = object.feeder_addr ?? ""; + return message; + }, +}; + +export const QueryVotePenaltyCounterRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryVotePenaltyCounterRequest" as const, + + encode(message: QueryVotePenaltyCounterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator_addr !== "") { + writer.uint32(10).string(message.validator_addr); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVotePenaltyCounterRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotePenaltyCounterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator_addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVotePenaltyCounterRequest { + return { validator_addr: isSet(object.validator_addr) ? globalThis.String(object.validator_addr) : "" }; + }, + + toJSON(message: QueryVotePenaltyCounterRequest): unknown { + const obj: any = {}; + if (message.validator_addr !== "") { + obj.validator_addr = message.validator_addr; + } + return obj; + }, + + create, I>>(base?: I): QueryVotePenaltyCounterRequest { + return QueryVotePenaltyCounterRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVotePenaltyCounterRequest { + const message = createBaseQueryVotePenaltyCounterRequest(); + message.validator_addr = object.validator_addr ?? ""; + return message; + }, +}; + +export const QueryVotePenaltyCounterResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryVotePenaltyCounterResponse" as const, + + encode(message: QueryVotePenaltyCounterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote_penalty_counter !== undefined) { + VotePenaltyCounter.encode(message.vote_penalty_counter, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryVotePenaltyCounterResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotePenaltyCounterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.vote_penalty_counter = VotePenaltyCounter.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryVotePenaltyCounterResponse { + return { + vote_penalty_counter: isSet(object.vote_penalty_counter) ? VotePenaltyCounter.fromJSON(object.vote_penalty_counter) : undefined, + }; + }, + + toJSON(message: QueryVotePenaltyCounterResponse): unknown { + const obj: any = {}; + if (message.vote_penalty_counter !== undefined) { + obj.vote_penalty_counter = VotePenaltyCounter.toJSON(message.vote_penalty_counter); + } + return obj; + }, + + create, I>>(base?: I): QueryVotePenaltyCounterResponse { + return QueryVotePenaltyCounterResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryVotePenaltyCounterResponse { + const message = createBaseQueryVotePenaltyCounterResponse(); + message.vote_penalty_counter = + object.vote_penalty_counter !== undefined && object.vote_penalty_counter !== null + ? VotePenaltyCounter.fromPartial(object.vote_penalty_counter) + : undefined; + return message; + }, +}; + +export const QuerySlashWindowRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QuerySlashWindowRequest" as const, + + encode(_: QuerySlashWindowRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySlashWindowRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySlashWindowRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QuerySlashWindowRequest { + return {}; + }, + + toJSON(_: QuerySlashWindowRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QuerySlashWindowRequest { + return QuerySlashWindowRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QuerySlashWindowRequest { + const message = createBaseQuerySlashWindowRequest(); + return message; + }, +}; + +export const QuerySlashWindowResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QuerySlashWindowResponse" as const, + + encode(message: QuerySlashWindowResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.window_progress !== 0) { + writer.uint32(8).uint64(message.window_progress); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QuerySlashWindowResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySlashWindowResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.window_progress = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySlashWindowResponse { + return { window_progress: isSet(object.window_progress) ? globalThis.Number(object.window_progress) : 0 }; + }, + + toJSON(message: QuerySlashWindowResponse): unknown { + const obj: any = {}; + if (message.window_progress !== 0) { + obj.window_progress = Math.round(message.window_progress); + } + return obj; + }, + + create, I>>(base?: I): QuerySlashWindowResponse { + return QuerySlashWindowResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QuerySlashWindowResponse { + const message = createBaseQuerySlashWindowResponse(); + message.window_progress = object.window_progress ?? 0; + return message; + }, +}; + +export const QueryParamsRequest: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +function createBaseQueryExchangeRateRequest(): QueryExchangeRateRequest { + return { denom: "" }; +} + +function createBaseQueryExchangeRateResponse(): QueryExchangeRateResponse { + return { oracle_exchange_rate: undefined }; +} + +function createBaseQueryExchangeRatesRequest(): QueryExchangeRatesRequest { + return {}; +} + +function createBaseDenomOracleExchangeRatePair(): DenomOracleExchangeRatePair { + return { denom: "", oracle_exchange_rate: undefined }; +} + +function createBaseQueryExchangeRatesResponse(): QueryExchangeRatesResponse { + return { denom_oracle_exchange_rate_pairs: [] }; +} + +function createBaseQueryActivesRequest(): QueryActivesRequest { + return {}; +} + +function createBaseQueryActivesResponse(): QueryActivesResponse { + return { actives: [] }; +} + +function createBaseQueryVoteTargetsRequest(): QueryVoteTargetsRequest { + return {}; +} + +function createBaseQueryVoteTargetsResponse(): QueryVoteTargetsResponse { + return { vote_targets: [] }; +} + +function createBaseQueryPriceSnapshotHistoryRequest(): QueryPriceSnapshotHistoryRequest { + return {}; +} + +function createBaseQueryPriceSnapshotHistoryResponse(): QueryPriceSnapshotHistoryResponse { + return { price_snapshots: [] }; +} + +function createBaseQueryTwapsRequest(): QueryTwapsRequest { + return { lookback_seconds: 0 }; +} + +function createBaseQueryTwapsResponse(): QueryTwapsResponse { + return { oracle_twaps: [] }; +} + +function createBaseQueryFeederDelegationRequest(): QueryFeederDelegationRequest { + return { validator_addr: "" }; +} + +function createBaseQueryFeederDelegationResponse(): QueryFeederDelegationResponse { + return { feeder_addr: "" }; +} + +function createBaseQueryVotePenaltyCounterRequest(): QueryVotePenaltyCounterRequest { + return { validator_addr: "" }; +} + +function createBaseQueryVotePenaltyCounterResponse(): QueryVotePenaltyCounterResponse { + return { vote_penalty_counter: undefined }; +} + +function createBaseQuerySlashWindowRequest(): QuerySlashWindowRequest { + return {}; +} + +function createBaseQuerySlashWindowResponse(): QuerySlashWindowResponse { + return { window_progress: 0 }; +} + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.oracle.QueryActivesRequest", QueryActivesRequest as never], + ["/seiprotocol.seichain.oracle.QueryTwapsRequest", QueryTwapsRequest as never], + ["/seiprotocol.seichain.oracle.QueryTwapsResponse", QueryTwapsResponse as never], + ["/seiprotocol.seichain.oracle.QueryParamsRequest", QueryParamsRequest as never], + ["/seiprotocol.seichain.oracle.QueryParamsResponse", QueryParamsResponse as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.oracle.QueryActivesRequest": { + aminoType: "seiprotocol.seichain.oracle.QueryActivesRequest", + toAmino: (message: QueryActivesRequest) => ({ ...message }), + fromAmino: (object: QueryActivesRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.QueryTwapsRequest": { + aminoType: "seiprotocol.seichain.oracle.QueryTwapsRequest", + toAmino: (message: QueryTwapsRequest) => ({ ...message }), + fromAmino: (object: QueryTwapsRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.QueryTwapsResponse": { + aminoType: "seiprotocol.seichain.oracle.QueryTwapsResponse", + toAmino: (message: QueryTwapsResponse) => ({ ...message }), + fromAmino: (object: QueryTwapsResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.QueryParamsRequest": { + aminoType: "seiprotocol.seichain.oracle.QueryParamsRequest", + toAmino: (message: QueryParamsRequest) => ({ ...message }), + fromAmino: (object: QueryParamsRequest) => ({ ...object }), + }, + + "/seiprotocol.seichain.oracle.QueryParamsResponse": { + aminoType: "seiprotocol.seichain.oracle.QueryParamsResponse", + toAmino: (message: QueryParamsResponse) => ({ ...message }), + fromAmino: (object: QueryParamsResponse) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/oracle/tx.ts b/packages/cosmos/generated/encoding/oracle/tx.ts new file mode 100644 index 000000000..0de0d39c6 --- /dev/null +++ b/packages/cosmos/generated/encoding/oracle/tx.ts @@ -0,0 +1,279 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + MsgAggregateExchangeRateVoteResponse as MsgAggregateExchangeRateVoteResponseType, + MsgAggregateExchangeRateVote as MsgAggregateExchangeRateVoteType, + MsgDelegateFeedConsentResponse as MsgDelegateFeedConsentResponseType, + MsgDelegateFeedConsent as MsgDelegateFeedConsentType, +} from "../../types/oracle"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface MsgAggregateExchangeRateVote extends MsgAggregateExchangeRateVoteType {} +interface MsgAggregateExchangeRateVoteResponse extends MsgAggregateExchangeRateVoteResponseType {} +interface MsgDelegateFeedConsent extends MsgDelegateFeedConsentType {} +interface MsgDelegateFeedConsentResponse extends MsgDelegateFeedConsentResponseType {} + +export const MsgAggregateExchangeRateVote: MessageFns = { + $type: "seiprotocol.seichain.oracle.MsgAggregateExchangeRateVote" as const, + + encode(message: MsgAggregateExchangeRateVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exchange_rates !== "") { + writer.uint32(18).string(message.exchange_rates); + } + if (message.feeder !== "") { + writer.uint32(26).string(message.feeder); + } + if (message.validator !== "") { + writer.uint32(34).string(message.validator); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAggregateExchangeRateVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAggregateExchangeRateVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.exchange_rates = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.feeder = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validator = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAggregateExchangeRateVote { + return { + exchange_rates: isSet(object.exchange_rates) ? globalThis.String(object.exchange_rates) : "", + feeder: isSet(object.feeder) ? globalThis.String(object.feeder) : "", + validator: isSet(object.validator) ? globalThis.String(object.validator) : "", + }; + }, + + toJSON(message: MsgAggregateExchangeRateVote): unknown { + const obj: any = {}; + if (message.exchange_rates !== "") { + obj.exchange_rates = message.exchange_rates; + } + if (message.feeder !== "") { + obj.feeder = message.feeder; + } + if (message.validator !== "") { + obj.validator = message.validator; + } + return obj; + }, + + create, I>>(base?: I): MsgAggregateExchangeRateVote { + return MsgAggregateExchangeRateVote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgAggregateExchangeRateVote { + const message = createBaseMsgAggregateExchangeRateVote(); + message.exchange_rates = object.exchange_rates ?? ""; + message.feeder = object.feeder ?? ""; + message.validator = object.validator ?? ""; + return message; + }, +}; + +export const MsgAggregateExchangeRateVoteResponse: MessageFns< + MsgAggregateExchangeRateVoteResponse, + "seiprotocol.seichain.oracle.MsgAggregateExchangeRateVoteResponse" +> = { + $type: "seiprotocol.seichain.oracle.MsgAggregateExchangeRateVoteResponse" as const, + + encode(_: MsgAggregateExchangeRateVoteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgAggregateExchangeRateVoteResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAggregateExchangeRateVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAggregateExchangeRateVoteResponse { + return {}; + }, + + toJSON(_: MsgAggregateExchangeRateVoteResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgAggregateExchangeRateVoteResponse { + return MsgAggregateExchangeRateVoteResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgAggregateExchangeRateVoteResponse { + const message = createBaseMsgAggregateExchangeRateVoteResponse(); + return message; + }, +}; + +export const MsgDelegateFeedConsent: MessageFns = { + $type: "seiprotocol.seichain.oracle.MsgDelegateFeedConsent" as const, + + encode(message: MsgDelegateFeedConsent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.operator !== "") { + writer.uint32(10).string(message.operator); + } + if (message.delegate !== "") { + writer.uint32(18).string(message.delegate); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegateFeedConsent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegateFeedConsent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.operator = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.delegate = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgDelegateFeedConsent { + return { + operator: isSet(object.operator) ? globalThis.String(object.operator) : "", + delegate: isSet(object.delegate) ? globalThis.String(object.delegate) : "", + }; + }, + + toJSON(message: MsgDelegateFeedConsent): unknown { + const obj: any = {}; + if (message.operator !== "") { + obj.operator = message.operator; + } + if (message.delegate !== "") { + obj.delegate = message.delegate; + } + return obj; + }, + + create, I>>(base?: I): MsgDelegateFeedConsent { + return MsgDelegateFeedConsent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgDelegateFeedConsent { + const message = createBaseMsgDelegateFeedConsent(); + message.operator = object.operator ?? ""; + message.delegate = object.delegate ?? ""; + return message; + }, +}; + +export const MsgDelegateFeedConsentResponse: MessageFns = { + $type: "seiprotocol.seichain.oracle.MsgDelegateFeedConsentResponse" as const, + + encode(_: MsgDelegateFeedConsentResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegateFeedConsentResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegateFeedConsentResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgDelegateFeedConsentResponse { + return {}; + }, + + toJSON(_: MsgDelegateFeedConsentResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgDelegateFeedConsentResponse { + return MsgDelegateFeedConsentResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgDelegateFeedConsentResponse { + const message = createBaseMsgDelegateFeedConsentResponse(); + return message; + }, +}; + +function createBaseMsgAggregateExchangeRateVote(): MsgAggregateExchangeRateVote { + return { exchange_rates: "", feeder: "", validator: "" }; +} + +function createBaseMsgAggregateExchangeRateVoteResponse(): MsgAggregateExchangeRateVoteResponse { + return {}; +} + +function createBaseMsgDelegateFeedConsent(): MsgDelegateFeedConsent { + return { operator: "", delegate: "" }; +} + +function createBaseMsgDelegateFeedConsentResponse(): MsgDelegateFeedConsentResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/proto.ts b/packages/cosmos/generated/encoding/proto.ts new file mode 100644 index 000000000..7435b394b --- /dev/null +++ b/packages/cosmos/generated/encoding/proto.ts @@ -0,0 +1,225 @@ +import { registry as confio_proofs_registry } from "./confio/proofs"; +import { registry as cosmos_accesscontrol_accesscontrol_registry } from "./cosmos/accesscontrol/accesscontrol"; +import { registry as cosmos_accesscontrol_x_genesis_registry } from "./cosmos/accesscontrol_x/genesis"; +import { registry as cosmos_accesscontrol_x_query_registry } from "./cosmos/accesscontrol_x/query"; +import { registry as cosmos_auth_v1beta1_auth_registry } from "./cosmos/auth/v1beta1/auth"; +import { registry as cosmos_auth_v1beta1_genesis_registry } from "./cosmos/auth/v1beta1/genesis"; +import { registry as cosmos_auth_v1beta1_query_registry } from "./cosmos/auth/v1beta1/query"; +import { registry as cosmos_authz_v1beta1_authz_registry } from "./cosmos/authz/v1beta1/authz"; +import { registry as cosmos_authz_v1beta1_event_registry } from "./cosmos/authz/v1beta1/event"; +import { registry as cosmos_authz_v1beta1_genesis_registry } from "./cosmos/authz/v1beta1/genesis"; +import { registry as cosmos_authz_v1beta1_query_registry } from "./cosmos/authz/v1beta1/query"; +import { registry as cosmos_authz_v1beta1_tx_registry } from "./cosmos/authz/v1beta1/tx"; +import { registry as cosmos_bank_v1beta1_authz_registry } from "./cosmos/bank/v1beta1/authz"; +import { registry as cosmos_bank_v1beta1_bank_registry } from "./cosmos/bank/v1beta1/bank"; +import { registry as cosmos_bank_v1beta1_genesis_registry } from "./cosmos/bank/v1beta1/genesis"; +import { registry as cosmos_bank_v1beta1_query_registry } from "./cosmos/bank/v1beta1/query"; +import { registry as cosmos_bank_v1beta1_tx_registry } from "./cosmos/bank/v1beta1/tx"; +import { registry as cosmos_base_abci_v1beta1_abci_registry } from "./cosmos/base/abci/v1beta1/abci"; +import { registry as cosmos_base_kv_v1beta1_kv_registry } from "./cosmos/base/kv/v1beta1/kv"; +import { registry as cosmos_base_query_v1beta1_pagination_registry } from "./cosmos/base/query/v1beta1/pagination"; +import { registry as cosmos_base_reflection_v2alpha1_reflection_registry } from "./cosmos/base/reflection/v2alpha1/reflection"; +import { registry as cosmos_base_snapshots_v1beta1_snapshot_registry } from "./cosmos/base/snapshots/v1beta1/snapshot"; +import { registry as cosmos_base_store_v1beta1_commit_info_registry } from "./cosmos/base/store/v1beta1/commit_info"; +import { registry as cosmos_base_store_v1beta1_listening_registry } from "./cosmos/base/store/v1beta1/listening"; +import { registry as cosmos_base_tendermint_v1beta1_query_registry } from "./cosmos/base/tendermint/v1beta1/query"; +import { registry as cosmos_base_v1beta1_coin_registry } from "./cosmos/base/v1beta1/coin"; +import { registry as cosmos_capability_v1beta1_capability_registry } from "./cosmos/capability/v1beta1/capability"; +import { registry as cosmos_capability_v1beta1_genesis_registry } from "./cosmos/capability/v1beta1/genesis"; +import { registry as cosmos_crisis_v1beta1_genesis_registry } from "./cosmos/crisis/v1beta1/genesis"; +import { registry as cosmos_crisis_v1beta1_tx_registry } from "./cosmos/crisis/v1beta1/tx"; +import { registry as cosmos_crypto_ed25519_keys_registry } from "./cosmos/crypto/ed25519/keys"; +import { registry as cosmos_crypto_multisig_keys_registry } from "./cosmos/crypto/multisig/keys"; +import { registry as cosmos_crypto_multisig_v1beta1_multisig_registry } from "./cosmos/crypto/multisig/v1beta1/multisig"; +import { registry as cosmos_crypto_secp256k1_keys_registry } from "./cosmos/crypto/secp256k1/keys"; +import { registry as cosmos_crypto_secp256r1_keys_registry } from "./cosmos/crypto/secp256r1/keys"; +import { registry as cosmos_crypto_sr25519_keys_registry } from "./cosmos/crypto/sr25519/keys"; +import { registry as cosmos_distribution_v1beta1_distribution_registry } from "./cosmos/distribution/v1beta1/distribution"; +import { registry as cosmos_distribution_v1beta1_genesis_registry } from "./cosmos/distribution/v1beta1/genesis"; +import { registry as cosmos_distribution_v1beta1_query_registry } from "./cosmos/distribution/v1beta1/query"; +import { registry as cosmos_evidence_v1beta1_evidence_registry } from "./cosmos/evidence/v1beta1/evidence"; +import { registry as cosmos_evidence_v1beta1_genesis_registry } from "./cosmos/evidence/v1beta1/genesis"; +import { registry as cosmos_evidence_v1beta1_query_registry } from "./cosmos/evidence/v1beta1/query"; +import { registry as cosmos_evidence_v1beta1_tx_registry } from "./cosmos/evidence/v1beta1/tx"; +import { registry as cosmos_feegrant_v1beta1_feegrant_registry } from "./cosmos/feegrant/v1beta1/feegrant"; +import { registry as cosmos_feegrant_v1beta1_genesis_registry } from "./cosmos/feegrant/v1beta1/genesis"; +import { registry as cosmos_feegrant_v1beta1_query_registry } from "./cosmos/feegrant/v1beta1/query"; +import { registry as cosmos_feegrant_v1beta1_tx_registry } from "./cosmos/feegrant/v1beta1/tx"; +import { registry as cosmos_genutil_v1beta1_genesis_registry } from "./cosmos/genutil/v1beta1/genesis"; +import { registry as cosmos_gov_v1beta1_genesis_registry } from "./cosmos/gov/v1beta1/genesis"; +import { registry as cosmos_gov_v1beta1_gov_registry } from "./cosmos/gov/v1beta1/gov"; +import { registry as cosmos_gov_v1beta1_query_registry } from "./cosmos/gov/v1beta1/query"; +import { registry as cosmos_gov_v1beta1_tx_registry } from "./cosmos/gov/v1beta1/tx"; +import { registry as cosmos_mint_v1beta1_genesis_registry } from "./cosmos/mint/v1beta1/genesis"; +import { registry as cosmos_mint_v1beta1_mint_registry } from "./cosmos/mint/v1beta1/mint"; +import { registry as cosmos_mint_v1beta1_query_registry } from "./cosmos/mint/v1beta1/query"; +import { registry as cosmos_params_types_types_registry } from "./cosmos/params/types/types"; +import { registry as cosmos_params_v1beta1_params_registry } from "./cosmos/params/v1beta1/params"; +import { registry as cosmos_params_v1beta1_query_registry } from "./cosmos/params/v1beta1/query"; +import { registry as cosmos_slashing_v1beta1_genesis_registry } from "./cosmos/slashing/v1beta1/genesis"; +import { registry as cosmos_slashing_v1beta1_query_registry } from "./cosmos/slashing/v1beta1/query"; +import { registry as cosmos_slashing_v1beta1_slashing_registry } from "./cosmos/slashing/v1beta1/slashing"; +import { registry as cosmos_slashing_v1beta1_tx_registry } from "./cosmos/slashing/v1beta1/tx"; +import { registry as cosmos_staking_v1beta1_authz_registry } from "./cosmos/staking/v1beta1/authz"; +import { registry as cosmos_staking_v1beta1_genesis_registry } from "./cosmos/staking/v1beta1/genesis"; +import { registry as cosmos_staking_v1beta1_query_registry } from "./cosmos/staking/v1beta1/query"; +import { registry as cosmos_staking_v1beta1_staking_registry } from "./cosmos/staking/v1beta1/staking"; +import { registry as cosmos_staking_v1beta1_tx_registry } from "./cosmos/staking/v1beta1/tx"; +import { registry as cosmos_tx_signing_v1beta1_signing_registry } from "./cosmos/tx/signing/v1beta1/signing"; +import { registry as cosmos_tx_v1beta1_service_registry } from "./cosmos/tx/v1beta1/service"; +import { registry as cosmos_tx_v1beta1_tx_registry } from "./cosmos/tx/v1beta1/tx"; +import { registry as cosmos_upgrade_v1beta1_upgrade_registry } from "./cosmos/upgrade/v1beta1/upgrade"; +import { registry as cosmos_vesting_v1beta1_vesting_registry } from "./cosmos/vesting/v1beta1/vesting"; +import { registry as epoch_epoch_registry } from "./epoch/epoch"; +import { registry as epoch_genesis_registry } from "./epoch/genesis"; +import { registry as epoch_params_registry } from "./epoch/params"; +import { registry as epoch_query_registry } from "./epoch/query"; +import { registry as eth_tx_registry } from "./eth/tx"; +import { registry as evm_config_registry } from "./evm/config"; +import { registry as evm_genesis_registry } from "./evm/genesis"; +import { registry as evm_params_registry } from "./evm/params"; +import { registry as evm_query_registry } from "./evm/query"; +import { registry as evm_receipt_registry } from "./evm/receipt"; +import { registry as evm_tx_registry } from "./evm/tx"; +import { registry as evm_types_registry } from "./evm/types"; +import { registry as google_api_http_registry } from "./google/api/http"; +import { registry as google_api_httpbody_registry } from "./google/api/httpbody"; +import { registry as google_protobuf_any_registry } from "./google/protobuf/any"; +import { registry as google_protobuf_descriptor_registry } from "./google/protobuf/descriptor"; +import { registry as google_protobuf_duration_registry } from "./google/protobuf/duration"; +import { registry as google_protobuf_timestamp_registry } from "./google/protobuf/timestamp"; +import { registry as mint_v1beta1_genesis_registry } from "./mint/v1beta1/genesis"; +import { registry as mint_v1beta1_gov_registry } from "./mint/v1beta1/gov"; +import { registry as mint_v1beta1_mint_registry } from "./mint/v1beta1/mint"; +import { registry as mint_v1beta1_query_registry } from "./mint/v1beta1/query"; +import { registry as oracle_genesis_registry } from "./oracle/genesis"; +import { registry as oracle_oracle_registry } from "./oracle/oracle"; +import { registry as oracle_query_registry } from "./oracle/query"; +import { registry as tendermint_abci_types_registry } from "./tendermint/abci/types"; +import { registry as tendermint_crypto_keys_registry } from "./tendermint/crypto/keys"; +import { registry as tendermint_crypto_proof_registry } from "./tendermint/crypto/proof"; +import { registry as tendermint_libs_bits_types_registry } from "./tendermint/libs/bits/types"; +import { registry as tendermint_p2p_types_registry } from "./tendermint/p2p/types"; +import { registry as tendermint_types_block_registry } from "./tendermint/types/block"; +import { registry as tendermint_types_evidence_registry } from "./tendermint/types/evidence"; +import { registry as tendermint_types_params_registry } from "./tendermint/types/params"; +import { registry as tendermint_types_types_registry } from "./tendermint/types/types"; +import { registry as tendermint_types_validator_registry } from "./tendermint/types/validator"; +import { registry as tendermint_version_types_registry } from "./tendermint/version/types"; +import { registry as tokenfactory_genesis_registry } from "./tokenfactory/genesis"; +import { registry as tokenfactory_params_registry } from "./tokenfactory/params"; +import { registry as tokenfactory_tx_registry } from "./tokenfactory/tx"; + +export const seiProtoRegistry = [ + ...eth_tx_registry, + ...confio_proofs_registry, + ...epoch_epoch_registry, + ...epoch_genesis_registry, + ...epoch_params_registry, + ...epoch_query_registry, + ...evm_config_registry, + ...evm_genesis_registry, + ...evm_params_registry, + ...evm_receipt_registry, + ...evm_query_registry, + ...evm_types_registry, + ...evm_tx_registry, + ...oracle_genesis_registry, + ...oracle_oracle_registry, + ...oracle_query_registry, + ...tokenfactory_params_registry, + ...tokenfactory_tx_registry, + ...tokenfactory_genesis_registry, + ...cosmos_accesscontrol_accesscontrol_registry, + ...cosmos_accesscontrol_x_genesis_registry, + ...cosmos_accesscontrol_x_query_registry, + ...mint_v1beta1_gov_registry, + ...mint_v1beta1_genesis_registry, + ...mint_v1beta1_mint_registry, + ...mint_v1beta1_query_registry, + ...google_api_http_registry, + ...google_protobuf_duration_registry, + ...google_protobuf_timestamp_registry, + ...google_api_httpbody_registry, + ...google_protobuf_descriptor_registry, + ...google_protobuf_any_registry, + ...tendermint_crypto_keys_registry, + ...tendermint_types_evidence_registry, + ...tendermint_types_block_registry, + ...tendermint_crypto_proof_registry, + ...tendermint_types_params_registry, + ...tendermint_version_types_registry, + ...tendermint_abci_types_registry, + ...tendermint_types_validator_registry, + ...tendermint_types_types_registry, + ...cosmos_authz_v1beta1_authz_registry, + ...cosmos_authz_v1beta1_event_registry, + ...tendermint_p2p_types_registry, + ...cosmos_authz_v1beta1_genesis_registry, + ...cosmos_authz_v1beta1_tx_registry, + ...cosmos_bank_v1beta1_authz_registry, + ...cosmos_authz_v1beta1_query_registry, + ...cosmos_bank_v1beta1_bank_registry, + ...cosmos_bank_v1beta1_genesis_registry, + ...cosmos_bank_v1beta1_tx_registry, + ...cosmos_bank_v1beta1_query_registry, + ...cosmos_base_v1beta1_coin_registry, + ...cosmos_capability_v1beta1_capability_registry, + ...cosmos_capability_v1beta1_genesis_registry, + ...cosmos_crypto_ed25519_keys_registry, + ...cosmos_crisis_v1beta1_genesis_registry, + ...cosmos_crisis_v1beta1_tx_registry, + ...cosmos_crypto_multisig_keys_registry, + ...cosmos_crypto_secp256k1_keys_registry, + ...cosmos_crypto_secp256r1_keys_registry, + ...cosmos_crypto_sr25519_keys_registry, + ...cosmos_distribution_v1beta1_genesis_registry, + ...cosmos_distribution_v1beta1_distribution_registry, + ...cosmos_evidence_v1beta1_evidence_registry, + ...cosmos_distribution_v1beta1_query_registry, + ...cosmos_evidence_v1beta1_genesis_registry, + ...cosmos_evidence_v1beta1_tx_registry, + ...cosmos_evidence_v1beta1_query_registry, + ...cosmos_feegrant_v1beta1_feegrant_registry, + ...cosmos_feegrant_v1beta1_query_registry, + ...cosmos_feegrant_v1beta1_genesis_registry, + ...cosmos_feegrant_v1beta1_tx_registry, + ...cosmos_gov_v1beta1_genesis_registry, + ...cosmos_genutil_v1beta1_genesis_registry, + ...cosmos_gov_v1beta1_gov_registry, + ...cosmos_gov_v1beta1_tx_registry, + ...cosmos_gov_v1beta1_query_registry, + ...cosmos_mint_v1beta1_genesis_registry, + ...cosmos_mint_v1beta1_mint_registry, + ...cosmos_mint_v1beta1_query_registry, + ...cosmos_auth_v1beta1_auth_registry, + ...cosmos_auth_v1beta1_genesis_registry, + ...cosmos_auth_v1beta1_query_registry, + ...cosmos_params_types_types_registry, + ...cosmos_params_v1beta1_params_registry, + ...cosmos_params_v1beta1_query_registry, + ...cosmos_slashing_v1beta1_genesis_registry, + ...cosmos_slashing_v1beta1_query_registry, + ...cosmos_slashing_v1beta1_tx_registry, + ...cosmos_slashing_v1beta1_slashing_registry, + ...cosmos_tx_v1beta1_service_registry, + ...cosmos_tx_v1beta1_tx_registry, + ...cosmos_upgrade_v1beta1_upgrade_registry, + ...cosmos_staking_v1beta1_genesis_registry, + ...cosmos_staking_v1beta1_authz_registry, + ...cosmos_staking_v1beta1_query_registry, + ...cosmos_staking_v1beta1_staking_registry, + ...cosmos_staking_v1beta1_tx_registry, + ...cosmos_vesting_v1beta1_vesting_registry, + ...tendermint_libs_bits_types_registry, + ...cosmos_base_abci_v1beta1_abci_registry, + ...cosmos_base_query_v1beta1_pagination_registry, + ...cosmos_base_store_v1beta1_commit_info_registry, + ...cosmos_base_store_v1beta1_listening_registry, + ...cosmos_base_snapshots_v1beta1_snapshot_registry, + ...cosmos_base_reflection_v2alpha1_reflection_registry, + ...cosmos_base_tendermint_v1beta1_query_registry, + ...cosmos_crypto_multisig_v1beta1_multisig_registry, + ...cosmos_base_kv_v1beta1_kv_registry, + ...cosmos_tx_signing_v1beta1_signing_registry, +]; diff --git a/packages/cosmos/generated/encoding/stargate.ts b/packages/cosmos/generated/encoding/stargate.ts new file mode 100644 index 000000000..793a49554 --- /dev/null +++ b/packages/cosmos/generated/encoding/stargate.ts @@ -0,0 +1,2 @@ +export * from "./amino"; +export * from "./proto"; diff --git a/packages/cosmos/generated/encoding/tendermint/abci/index.ts b/packages/cosmos/generated/encoding/tendermint/abci/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/abci/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/abci/types.ts b/packages/cosmos/generated/encoding/tendermint/abci/types.ts new file mode 100644 index 000000000..a7ef22dfa --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/abci/types.ts @@ -0,0 +1,5941 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Timestamp } from "../../google/protobuf/timestamp"; + +import { PublicKey } from "../crypto/keys"; + +import { ProofOps } from "../crypto/proof"; + +import { ConsensusParams } from "../types/params"; + +import type { + CommitInfo as CommitInfoType, + EventAttribute as EventAttributeType, + Event as EventType, + ExecTxResult as ExecTxResultType, + ExtendedCommitInfo as ExtendedCommitInfoType, + ExtendedVoteInfo as ExtendedVoteInfoType, + RequestApplySnapshotChunk as RequestApplySnapshotChunkType, + RequestCheckTx as RequestCheckTxType, + RequestCommit as RequestCommitType, + RequestEcho as RequestEchoType, + RequestExtendVote as RequestExtendVoteType, + RequestFinalizeBlock as RequestFinalizeBlockType, + RequestFlush as RequestFlushType, + RequestInfo as RequestInfoType, + RequestInitChain as RequestInitChainType, + RequestListSnapshots as RequestListSnapshotsType, + RequestLoadSnapshotChunk as RequestLoadSnapshotChunkType, + RequestOfferSnapshot as RequestOfferSnapshotType, + RequestPrepareProposal as RequestPrepareProposalType, + RequestProcessProposal as RequestProcessProposalType, + RequestQuery as RequestQueryType, + Request as RequestType, + RequestVerifyVoteExtension as RequestVerifyVoteExtensionType, + ResponseApplySnapshotChunk as ResponseApplySnapshotChunkType, + ResponseCheckTx as ResponseCheckTxType, + ResponseCommit as ResponseCommitType, + ResponseDeliverTx as ResponseDeliverTxType, + ResponseEcho as ResponseEchoType, + ResponseException as ResponseExceptionType, + ResponseExtendVote as ResponseExtendVoteType, + ResponseFinalizeBlock as ResponseFinalizeBlockType, + ResponseFlush as ResponseFlushType, + ResponseInfo as ResponseInfoType, + ResponseInitChain as ResponseInitChainType, + ResponseListSnapshots as ResponseListSnapshotsType, + ResponseLoadSnapshotChunk as ResponseLoadSnapshotChunkType, + ResponseOfferSnapshot as ResponseOfferSnapshotType, + ResponsePrepareProposal as ResponsePrepareProposalType, + ResponseProcessProposal as ResponseProcessProposalType, + ResponseQuery as ResponseQueryType, + Response as ResponseType, + ResponseVerifyVoteExtension as ResponseVerifyVoteExtensionType, + Snapshot as SnapshotType, + TxRecord as TxRecordType, + TxResult as TxResultType, + Validator as ValidatorType, + ValidatorUpdate as ValidatorUpdateType, + VoteInfo as VoteInfoType, +} from "../../../types/tendermint/abci"; + +import { + CheckTxType, + MisbehaviorType, + ResponseApplySnapshotChunkResult, + ResponseOfferSnapshotResult, + ResponseProcessProposalProposalStatus, + ResponseVerifyVoteExtensionVerifyStatus, + TxRecordTxAction, +} from "../../../types/tendermint/abci"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Request extends RequestType {} +interface RequestEcho extends RequestEchoType {} +interface RequestFlush extends RequestFlushType {} +interface RequestInfo extends RequestInfoType {} +interface RequestInitChain extends RequestInitChainType {} +interface RequestQuery extends RequestQueryType {} +interface RequestCheckTx extends RequestCheckTxType {} +interface RequestCommit extends RequestCommitType {} +interface RequestListSnapshots extends RequestListSnapshotsType {} +interface RequestOfferSnapshot extends RequestOfferSnapshotType {} +interface RequestLoadSnapshotChunk extends RequestLoadSnapshotChunkType {} +interface RequestApplySnapshotChunk extends RequestApplySnapshotChunkType {} +interface RequestPrepareProposal extends RequestPrepareProposalType {} +interface RequestProcessProposal extends RequestProcessProposalType {} +interface RequestExtendVote extends RequestExtendVoteType {} +interface RequestVerifyVoteExtension extends RequestVerifyVoteExtensionType {} +interface RequestFinalizeBlock extends RequestFinalizeBlockType {} +interface Response extends ResponseType {} +interface ResponseException extends ResponseExceptionType {} +interface ResponseEcho extends ResponseEchoType {} +interface ResponseFlush extends ResponseFlushType {} +interface ResponseInfo extends ResponseInfoType {} +interface ResponseInitChain extends ResponseInitChainType {} +interface ResponseQuery extends ResponseQueryType {} +interface ResponseCheckTx extends ResponseCheckTxType {} +interface ResponseDeliverTx extends ResponseDeliverTxType {} +interface ResponseCommit extends ResponseCommitType {} +interface ResponseListSnapshots extends ResponseListSnapshotsType {} +interface ResponseOfferSnapshot extends ResponseOfferSnapshotType {} +interface ResponseLoadSnapshotChunk extends ResponseLoadSnapshotChunkType {} +interface ResponseApplySnapshotChunk extends ResponseApplySnapshotChunkType {} +interface ResponsePrepareProposal extends ResponsePrepareProposalType {} +interface ResponseProcessProposal extends ResponseProcessProposalType {} +interface ResponseExtendVote extends ResponseExtendVoteType {} +interface ResponseVerifyVoteExtension extends ResponseVerifyVoteExtensionType {} +interface ResponseFinalizeBlock extends ResponseFinalizeBlockType {} +interface CommitInfo extends CommitInfoType {} +interface ExtendedCommitInfo extends ExtendedCommitInfoType {} +interface Event extends EventType {} +interface EventAttribute extends EventAttributeType {} +interface ExecTxResult extends ExecTxResultType {} +interface TxResult extends TxResultType {} +interface TxRecord extends TxRecordType {} +interface Validator extends ValidatorType {} +interface ValidatorUpdate extends ValidatorUpdateType {} +interface VoteInfo extends VoteInfoType {} +interface ExtendedVoteInfo extends ExtendedVoteInfoType {} +interface Misbehavior extends MisbehaviorType {} +interface Snapshot extends SnapshotType {} + +export const Request: MessageFns = { + $type: "tendermint.abci.Request" as const, + + encode(message: Request, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.echo !== undefined) { + RequestEcho.encode(message.echo, writer.uint32(10).fork()).join(); + } + if (message.flush !== undefined) { + RequestFlush.encode(message.flush, writer.uint32(18).fork()).join(); + } + if (message.info !== undefined) { + RequestInfo.encode(message.info, writer.uint32(26).fork()).join(); + } + if (message.init_chain !== undefined) { + RequestInitChain.encode(message.init_chain, writer.uint32(34).fork()).join(); + } + if (message.query !== undefined) { + RequestQuery.encode(message.query, writer.uint32(42).fork()).join(); + } + if (message.check_tx !== undefined) { + RequestCheckTx.encode(message.check_tx, writer.uint32(58).fork()).join(); + } + if (message.commit !== undefined) { + RequestCommit.encode(message.commit, writer.uint32(82).fork()).join(); + } + if (message.list_snapshots !== undefined) { + RequestListSnapshots.encode(message.list_snapshots, writer.uint32(90).fork()).join(); + } + if (message.offer_snapshot !== undefined) { + RequestOfferSnapshot.encode(message.offer_snapshot, writer.uint32(98).fork()).join(); + } + if (message.load_snapshot_chunk !== undefined) { + RequestLoadSnapshotChunk.encode(message.load_snapshot_chunk, writer.uint32(106).fork()).join(); + } + if (message.apply_snapshot_chunk !== undefined) { + RequestApplySnapshotChunk.encode(message.apply_snapshot_chunk, writer.uint32(114).fork()).join(); + } + if (message.prepare_proposal !== undefined) { + RequestPrepareProposal.encode(message.prepare_proposal, writer.uint32(122).fork()).join(); + } + if (message.process_proposal !== undefined) { + RequestProcessProposal.encode(message.process_proposal, writer.uint32(130).fork()).join(); + } + if (message.extend_vote !== undefined) { + RequestExtendVote.encode(message.extend_vote, writer.uint32(138).fork()).join(); + } + if (message.verify_vote_extension !== undefined) { + RequestVerifyVoteExtension.encode(message.verify_vote_extension, writer.uint32(146).fork()).join(); + } + if (message.finalize_block !== undefined) { + RequestFinalizeBlock.encode(message.finalize_block, writer.uint32(154).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Request { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.echo = RequestEcho.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.flush = RequestFlush.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.info = RequestInfo.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.init_chain = RequestInitChain.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.query = RequestQuery.decode(reader, reader.uint32()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.check_tx = RequestCheckTx.decode(reader, reader.uint32()); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.commit = RequestCommit.decode(reader, reader.uint32()); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.list_snapshots = RequestListSnapshots.decode(reader, reader.uint32()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.offer_snapshot = RequestOfferSnapshot.decode(reader, reader.uint32()); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.load_snapshot_chunk = RequestLoadSnapshotChunk.decode(reader, reader.uint32()); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.apply_snapshot_chunk = RequestApplySnapshotChunk.decode(reader, reader.uint32()); + continue; + case 15: + if (tag !== 122) { + break; + } + + message.prepare_proposal = RequestPrepareProposal.decode(reader, reader.uint32()); + continue; + case 16: + if (tag !== 130) { + break; + } + + message.process_proposal = RequestProcessProposal.decode(reader, reader.uint32()); + continue; + case 17: + if (tag !== 138) { + break; + } + + message.extend_vote = RequestExtendVote.decode(reader, reader.uint32()); + continue; + case 18: + if (tag !== 146) { + break; + } + + message.verify_vote_extension = RequestVerifyVoteExtension.decode(reader, reader.uint32()); + continue; + case 19: + if (tag !== 154) { + break; + } + + message.finalize_block = RequestFinalizeBlock.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Request { + return { + echo: isSet(object.echo) ? RequestEcho.fromJSON(object.echo) : undefined, + flush: isSet(object.flush) ? RequestFlush.fromJSON(object.flush) : undefined, + info: isSet(object.info) ? RequestInfo.fromJSON(object.info) : undefined, + init_chain: isSet(object.init_chain) ? RequestInitChain.fromJSON(object.init_chain) : undefined, + query: isSet(object.query) ? RequestQuery.fromJSON(object.query) : undefined, + check_tx: isSet(object.check_tx) ? RequestCheckTx.fromJSON(object.check_tx) : undefined, + commit: isSet(object.commit) ? RequestCommit.fromJSON(object.commit) : undefined, + list_snapshots: isSet(object.list_snapshots) ? RequestListSnapshots.fromJSON(object.list_snapshots) : undefined, + offer_snapshot: isSet(object.offer_snapshot) ? RequestOfferSnapshot.fromJSON(object.offer_snapshot) : undefined, + load_snapshot_chunk: isSet(object.load_snapshot_chunk) ? RequestLoadSnapshotChunk.fromJSON(object.load_snapshot_chunk) : undefined, + apply_snapshot_chunk: isSet(object.apply_snapshot_chunk) ? RequestApplySnapshotChunk.fromJSON(object.apply_snapshot_chunk) : undefined, + prepare_proposal: isSet(object.prepare_proposal) ? RequestPrepareProposal.fromJSON(object.prepare_proposal) : undefined, + process_proposal: isSet(object.process_proposal) ? RequestProcessProposal.fromJSON(object.process_proposal) : undefined, + extend_vote: isSet(object.extend_vote) ? RequestExtendVote.fromJSON(object.extend_vote) : undefined, + verify_vote_extension: isSet(object.verify_vote_extension) ? RequestVerifyVoteExtension.fromJSON(object.verify_vote_extension) : undefined, + finalize_block: isSet(object.finalize_block) ? RequestFinalizeBlock.fromJSON(object.finalize_block) : undefined, + }; + }, + + toJSON(message: Request): unknown { + const obj: any = {}; + if (message.echo !== undefined) { + obj.echo = RequestEcho.toJSON(message.echo); + } + if (message.flush !== undefined) { + obj.flush = RequestFlush.toJSON(message.flush); + } + if (message.info !== undefined) { + obj.info = RequestInfo.toJSON(message.info); + } + if (message.init_chain !== undefined) { + obj.init_chain = RequestInitChain.toJSON(message.init_chain); + } + if (message.query !== undefined) { + obj.query = RequestQuery.toJSON(message.query); + } + if (message.check_tx !== undefined) { + obj.check_tx = RequestCheckTx.toJSON(message.check_tx); + } + if (message.commit !== undefined) { + obj.commit = RequestCommit.toJSON(message.commit); + } + if (message.list_snapshots !== undefined) { + obj.list_snapshots = RequestListSnapshots.toJSON(message.list_snapshots); + } + if (message.offer_snapshot !== undefined) { + obj.offer_snapshot = RequestOfferSnapshot.toJSON(message.offer_snapshot); + } + if (message.load_snapshot_chunk !== undefined) { + obj.load_snapshot_chunk = RequestLoadSnapshotChunk.toJSON(message.load_snapshot_chunk); + } + if (message.apply_snapshot_chunk !== undefined) { + obj.apply_snapshot_chunk = RequestApplySnapshotChunk.toJSON(message.apply_snapshot_chunk); + } + if (message.prepare_proposal !== undefined) { + obj.prepare_proposal = RequestPrepareProposal.toJSON(message.prepare_proposal); + } + if (message.process_proposal !== undefined) { + obj.process_proposal = RequestProcessProposal.toJSON(message.process_proposal); + } + if (message.extend_vote !== undefined) { + obj.extend_vote = RequestExtendVote.toJSON(message.extend_vote); + } + if (message.verify_vote_extension !== undefined) { + obj.verify_vote_extension = RequestVerifyVoteExtension.toJSON(message.verify_vote_extension); + } + if (message.finalize_block !== undefined) { + obj.finalize_block = RequestFinalizeBlock.toJSON(message.finalize_block); + } + return obj; + }, + + create, I>>(base?: I): Request { + return Request.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Request { + const message = createBaseRequest(); + message.echo = object.echo !== undefined && object.echo !== null ? RequestEcho.fromPartial(object.echo) : undefined; + message.flush = object.flush !== undefined && object.flush !== null ? RequestFlush.fromPartial(object.flush) : undefined; + message.info = object.info !== undefined && object.info !== null ? RequestInfo.fromPartial(object.info) : undefined; + message.init_chain = object.init_chain !== undefined && object.init_chain !== null ? RequestInitChain.fromPartial(object.init_chain) : undefined; + message.query = object.query !== undefined && object.query !== null ? RequestQuery.fromPartial(object.query) : undefined; + message.check_tx = object.check_tx !== undefined && object.check_tx !== null ? RequestCheckTx.fromPartial(object.check_tx) : undefined; + message.commit = object.commit !== undefined && object.commit !== null ? RequestCommit.fromPartial(object.commit) : undefined; + message.list_snapshots = + object.list_snapshots !== undefined && object.list_snapshots !== null ? RequestListSnapshots.fromPartial(object.list_snapshots) : undefined; + message.offer_snapshot = + object.offer_snapshot !== undefined && object.offer_snapshot !== null ? RequestOfferSnapshot.fromPartial(object.offer_snapshot) : undefined; + message.load_snapshot_chunk = + object.load_snapshot_chunk !== undefined && object.load_snapshot_chunk !== null + ? RequestLoadSnapshotChunk.fromPartial(object.load_snapshot_chunk) + : undefined; + message.apply_snapshot_chunk = + object.apply_snapshot_chunk !== undefined && object.apply_snapshot_chunk !== null + ? RequestApplySnapshotChunk.fromPartial(object.apply_snapshot_chunk) + : undefined; + message.prepare_proposal = + object.prepare_proposal !== undefined && object.prepare_proposal !== null ? RequestPrepareProposal.fromPartial(object.prepare_proposal) : undefined; + message.process_proposal = + object.process_proposal !== undefined && object.process_proposal !== null ? RequestProcessProposal.fromPartial(object.process_proposal) : undefined; + message.extend_vote = object.extend_vote !== undefined && object.extend_vote !== null ? RequestExtendVote.fromPartial(object.extend_vote) : undefined; + message.verify_vote_extension = + object.verify_vote_extension !== undefined && object.verify_vote_extension !== null + ? RequestVerifyVoteExtension.fromPartial(object.verify_vote_extension) + : undefined; + message.finalize_block = + object.finalize_block !== undefined && object.finalize_block !== null ? RequestFinalizeBlock.fromPartial(object.finalize_block) : undefined; + return message; + }, +}; + +export const RequestEcho: MessageFns = { + $type: "tendermint.abci.RequestEcho" as const, + + encode(message: RequestEcho, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message !== "") { + writer.uint32(10).string(message.message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestEcho { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestEcho(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestEcho { + return { message: isSet(object.message) ? globalThis.String(object.message) : "" }; + }, + + toJSON(message: RequestEcho): unknown { + const obj: any = {}; + if (message.message !== "") { + obj.message = message.message; + } + return obj; + }, + + create, I>>(base?: I): RequestEcho { + return RequestEcho.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestEcho { + const message = createBaseRequestEcho(); + message.message = object.message ?? ""; + return message; + }, +}; + +export const RequestFlush: MessageFns = { + $type: "tendermint.abci.RequestFlush" as const, + + encode(_: RequestFlush, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestFlush { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestFlush(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RequestFlush { + return {}; + }, + + toJSON(_: RequestFlush): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): RequestFlush { + return RequestFlush.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): RequestFlush { + const message = createBaseRequestFlush(); + return message; + }, +}; + +export const RequestInfo: MessageFns = { + $type: "tendermint.abci.RequestInfo" as const, + + encode(message: RequestInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== "") { + writer.uint32(10).string(message.version); + } + if (message.block_version !== 0) { + writer.uint32(16).uint64(message.block_version); + } + if (message.p2p_version !== 0) { + writer.uint32(24).uint64(message.p2p_version); + } + if (message.abci_version !== "") { + writer.uint32(34).string(message.abci_version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.version = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.block_version = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.p2p_version = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.abci_version = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestInfo { + return { + version: isSet(object.version) ? globalThis.String(object.version) : "", + block_version: isSet(object.block_version) ? globalThis.Number(object.block_version) : 0, + p2p_version: isSet(object.p2p_version) ? globalThis.Number(object.p2p_version) : 0, + abci_version: isSet(object.abci_version) ? globalThis.String(object.abci_version) : "", + }; + }, + + toJSON(message: RequestInfo): unknown { + const obj: any = {}; + if (message.version !== "") { + obj.version = message.version; + } + if (message.block_version !== 0) { + obj.block_version = Math.round(message.block_version); + } + if (message.p2p_version !== 0) { + obj.p2p_version = Math.round(message.p2p_version); + } + if (message.abci_version !== "") { + obj.abci_version = message.abci_version; + } + return obj; + }, + + create, I>>(base?: I): RequestInfo { + return RequestInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestInfo { + const message = createBaseRequestInfo(); + message.version = object.version ?? ""; + message.block_version = object.block_version ?? 0; + message.p2p_version = object.p2p_version ?? 0; + message.abci_version = object.abci_version ?? ""; + return message; + }, +}; + +export const RequestInitChain: MessageFns = { + $type: "tendermint.abci.RequestInitChain" as const, + + encode(message: RequestInitChain, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(10).fork()).join(); + } + if (message.chain_id !== "") { + writer.uint32(18).string(message.chain_id); + } + if (message.consensus_params !== undefined) { + ConsensusParams.encode(message.consensus_params, writer.uint32(26).fork()).join(); + } + for (const v of message.validators) { + ValidatorUpdate.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.app_state_bytes.length !== 0) { + writer.uint32(42).bytes(message.app_state_bytes); + } + if (message.initial_height !== 0) { + writer.uint32(48).int64(message.initial_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestInitChain { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestInitChain(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.chain_id = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.consensus_params = ConsensusParams.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validators.push(ValidatorUpdate.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.app_state_bytes = reader.bytes(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.initial_height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestInitChain { + return { + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + consensus_params: isSet(object.consensus_params) ? ConsensusParams.fromJSON(object.consensus_params) : undefined, + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => ValidatorUpdate.fromJSON(e)) : [], + app_state_bytes: isSet(object.app_state_bytes) ? bytesFromBase64(object.app_state_bytes) : new Uint8Array(0), + initial_height: isSet(object.initial_height) ? globalThis.Number(object.initial_height) : 0, + }; + }, + + toJSON(message: RequestInitChain): unknown { + const obj: any = {}; + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.consensus_params !== undefined) { + obj.consensus_params = ConsensusParams.toJSON(message.consensus_params); + } + if (message.validators?.length) { + obj.validators = message.validators.map((e) => ValidatorUpdate.toJSON(e)); + } + if (message.app_state_bytes.length !== 0) { + obj.app_state_bytes = base64FromBytes(message.app_state_bytes); + } + if (message.initial_height !== 0) { + obj.initial_height = Math.round(message.initial_height); + } + return obj; + }, + + create, I>>(base?: I): RequestInitChain { + return RequestInitChain.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestInitChain { + const message = createBaseRequestInitChain(); + message.time = object.time ?? undefined; + message.chain_id = object.chain_id ?? ""; + message.consensus_params = + object.consensus_params !== undefined && object.consensus_params !== null ? ConsensusParams.fromPartial(object.consensus_params) : undefined; + message.validators = object.validators?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.app_state_bytes = object.app_state_bytes ?? new Uint8Array(0); + message.initial_height = object.initial_height ?? 0; + return message; + }, +}; + +export const RequestQuery: MessageFns = { + $type: "tendermint.abci.RequestQuery" as const, + + encode(message: RequestQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + if (message.path !== "") { + writer.uint32(18).string(message.path); + } + if (message.height !== 0) { + writer.uint32(24).int64(message.height); + } + if (message.prove !== false) { + writer.uint32(32).bool(message.prove); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestQuery { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestQuery(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.path = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.prove = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestQuery { + return { + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + path: isSet(object.path) ? globalThis.String(object.path) : "", + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + prove: isSet(object.prove) ? globalThis.Boolean(object.prove) : false, + }; + }, + + toJSON(message: RequestQuery): unknown { + const obj: any = {}; + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.path !== "") { + obj.path = message.path; + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.prove !== false) { + obj.prove = message.prove; + } + return obj; + }, + + create, I>>(base?: I): RequestQuery { + return RequestQuery.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestQuery { + const message = createBaseRequestQuery(); + message.data = object.data ?? new Uint8Array(0); + message.path = object.path ?? ""; + message.height = object.height ?? 0; + message.prove = object.prove ?? false; + return message; + }, +}; + +export const RequestCheckTx: MessageFns = { + $type: "tendermint.abci.RequestCheckTx" as const, + + encode(message: RequestCheckTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx.length !== 0) { + writer.uint32(10).bytes(message.tx); + } + if (message.type !== 0) { + writer.uint32(16).int32(message.type); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestCheckTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestCheckTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.type = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestCheckTx { + return { + tx: isSet(object.tx) ? bytesFromBase64(object.tx) : new Uint8Array(0), + type: isSet(object.type) ? checkTxTypeFromJSON(object.type) : 0, + }; + }, + + toJSON(message: RequestCheckTx): unknown { + const obj: any = {}; + if (message.tx.length !== 0) { + obj.tx = base64FromBytes(message.tx); + } + if (message.type !== 0) { + obj.type = checkTxTypeToJSON(message.type); + } + return obj; + }, + + create, I>>(base?: I): RequestCheckTx { + return RequestCheckTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestCheckTx { + const message = createBaseRequestCheckTx(); + message.tx = object.tx ?? new Uint8Array(0); + message.type = object.type ?? 0; + return message; + }, +}; + +export const RequestCommit: MessageFns = { + $type: "tendermint.abci.RequestCommit" as const, + + encode(_: RequestCommit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RequestCommit { + return {}; + }, + + toJSON(_: RequestCommit): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): RequestCommit { + return RequestCommit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): RequestCommit { + const message = createBaseRequestCommit(); + return message; + }, +}; + +export const RequestListSnapshots: MessageFns = { + $type: "tendermint.abci.RequestListSnapshots" as const, + + encode(_: RequestListSnapshots, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestListSnapshots { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestListSnapshots(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RequestListSnapshots { + return {}; + }, + + toJSON(_: RequestListSnapshots): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): RequestListSnapshots { + return RequestListSnapshots.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): RequestListSnapshots { + const message = createBaseRequestListSnapshots(); + return message; + }, +}; + +export const RequestOfferSnapshot: MessageFns = { + $type: "tendermint.abci.RequestOfferSnapshot" as const, + + encode(message: RequestOfferSnapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.snapshot !== undefined) { + Snapshot.encode(message.snapshot, writer.uint32(10).fork()).join(); + } + if (message.app_hash.length !== 0) { + writer.uint32(18).bytes(message.app_hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestOfferSnapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestOfferSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.snapshot = Snapshot.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.app_hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestOfferSnapshot { + return { + snapshot: isSet(object.snapshot) ? Snapshot.fromJSON(object.snapshot) : undefined, + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + }; + }, + + toJSON(message: RequestOfferSnapshot): unknown { + const obj: any = {}; + if (message.snapshot !== undefined) { + obj.snapshot = Snapshot.toJSON(message.snapshot); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + return obj; + }, + + create, I>>(base?: I): RequestOfferSnapshot { + return RequestOfferSnapshot.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestOfferSnapshot { + const message = createBaseRequestOfferSnapshot(); + message.snapshot = object.snapshot !== undefined && object.snapshot !== null ? Snapshot.fromPartial(object.snapshot) : undefined; + message.app_hash = object.app_hash ?? new Uint8Array(0); + return message; + }, +}; + +export const RequestLoadSnapshotChunk: MessageFns = { + $type: "tendermint.abci.RequestLoadSnapshotChunk" as const, + + encode(message: RequestLoadSnapshotChunk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).uint64(message.height); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + if (message.chunk !== 0) { + writer.uint32(24).uint32(message.chunk); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestLoadSnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestLoadSnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.format = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.chunk = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestLoadSnapshotChunk { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + format: isSet(object.format) ? globalThis.Number(object.format) : 0, + chunk: isSet(object.chunk) ? globalThis.Number(object.chunk) : 0, + }; + }, + + toJSON(message: RequestLoadSnapshotChunk): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.format !== 0) { + obj.format = Math.round(message.format); + } + if (message.chunk !== 0) { + obj.chunk = Math.round(message.chunk); + } + return obj; + }, + + create, I>>(base?: I): RequestLoadSnapshotChunk { + return RequestLoadSnapshotChunk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestLoadSnapshotChunk { + const message = createBaseRequestLoadSnapshotChunk(); + message.height = object.height ?? 0; + message.format = object.format ?? 0; + message.chunk = object.chunk ?? 0; + return message; + }, +}; + +export const RequestApplySnapshotChunk: MessageFns = { + $type: "tendermint.abci.RequestApplySnapshotChunk" as const, + + encode(message: RequestApplySnapshotChunk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint32(message.index); + } + if (message.chunk.length !== 0) { + writer.uint32(18).bytes(message.chunk); + } + if (message.sender !== "") { + writer.uint32(26).string(message.sender); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestApplySnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestApplySnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.chunk = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.sender = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestApplySnapshotChunk { + return { + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + chunk: isSet(object.chunk) ? bytesFromBase64(object.chunk) : new Uint8Array(0), + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + }; + }, + + toJSON(message: RequestApplySnapshotChunk): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.chunk.length !== 0) { + obj.chunk = base64FromBytes(message.chunk); + } + if (message.sender !== "") { + obj.sender = message.sender; + } + return obj; + }, + + create, I>>(base?: I): RequestApplySnapshotChunk { + return RequestApplySnapshotChunk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestApplySnapshotChunk { + const message = createBaseRequestApplySnapshotChunk(); + message.index = object.index ?? 0; + message.chunk = object.chunk ?? new Uint8Array(0); + message.sender = object.sender ?? ""; + return message; + }, +}; + +export const RequestPrepareProposal: MessageFns = { + $type: "tendermint.abci.RequestPrepareProposal" as const, + + encode(message: RequestPrepareProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.max_tx_bytes !== 0) { + writer.uint32(8).int64(message.max_tx_bytes); + } + for (const v of message.txs) { + writer.uint32(18).bytes(v!); + } + if (message.local_last_commit !== undefined) { + ExtendedCommitInfo.encode(message.local_last_commit, writer.uint32(26).fork()).join(); + } + for (const v of message.byzantine_validators) { + Misbehavior.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.height !== 0) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).join(); + } + if (message.next_validators_hash.length !== 0) { + writer.uint32(58).bytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + writer.uint32(66).bytes(message.proposer_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestPrepareProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestPrepareProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.max_tx_bytes = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.txs.push(reader.bytes()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.local_last_commit = ExtendedCommitInfo.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.byzantine_validators.push(Misbehavior.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.next_validators_hash = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.proposer_address = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestPrepareProposal { + return { + max_tx_bytes: isSet(object.max_tx_bytes) ? globalThis.Number(object.max_tx_bytes) : 0, + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => bytesFromBase64(e)) : [], + local_last_commit: isSet(object.local_last_commit) ? ExtendedCommitInfo.fromJSON(object.local_last_commit) : undefined, + byzantine_validators: globalThis.Array.isArray(object?.byzantine_validators) ? object.byzantine_validators.map((e: any) => Misbehavior.fromJSON(e)) : [], + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + next_validators_hash: isSet(object.next_validators_hash) ? bytesFromBase64(object.next_validators_hash) : new Uint8Array(0), + proposer_address: isSet(object.proposer_address) ? bytesFromBase64(object.proposer_address) : new Uint8Array(0), + }; + }, + + toJSON(message: RequestPrepareProposal): unknown { + const obj: any = {}; + if (message.max_tx_bytes !== 0) { + obj.max_tx_bytes = Math.round(message.max_tx_bytes); + } + if (message.txs?.length) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } + if (message.local_last_commit !== undefined) { + obj.local_last_commit = ExtendedCommitInfo.toJSON(message.local_last_commit); + } + if (message.byzantine_validators?.length) { + obj.byzantine_validators = message.byzantine_validators.map((e) => Misbehavior.toJSON(e)); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.next_validators_hash.length !== 0) { + obj.next_validators_hash = base64FromBytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + obj.proposer_address = base64FromBytes(message.proposer_address); + } + return obj; + }, + + create, I>>(base?: I): RequestPrepareProposal { + return RequestPrepareProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestPrepareProposal { + const message = createBaseRequestPrepareProposal(); + message.max_tx_bytes = object.max_tx_bytes ?? 0; + message.txs = object.txs?.map((e) => e) || []; + message.local_last_commit = + object.local_last_commit !== undefined && object.local_last_commit !== null ? ExtendedCommitInfo.fromPartial(object.local_last_commit) : undefined; + message.byzantine_validators = object.byzantine_validators?.map((e) => Misbehavior.fromPartial(e)) || []; + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.next_validators_hash = object.next_validators_hash ?? new Uint8Array(0); + message.proposer_address = object.proposer_address ?? new Uint8Array(0); + return message; + }, +}; + +export const RequestProcessProposal: MessageFns = { + $type: "tendermint.abci.RequestProcessProposal" as const, + + encode(message: RequestProcessProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + if (message.proposed_last_commit !== undefined) { + CommitInfo.encode(message.proposed_last_commit, writer.uint32(18).fork()).join(); + } + for (const v of message.byzantine_validators) { + Misbehavior.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.height !== 0) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).join(); + } + if (message.next_validators_hash.length !== 0) { + writer.uint32(58).bytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + writer.uint32(66).bytes(message.proposer_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestProcessProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestProcessProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.txs.push(reader.bytes()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.proposed_last_commit = CommitInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.byzantine_validators.push(Misbehavior.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.next_validators_hash = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.proposer_address = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestProcessProposal { + return { + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => bytesFromBase64(e)) : [], + proposed_last_commit: isSet(object.proposed_last_commit) ? CommitInfo.fromJSON(object.proposed_last_commit) : undefined, + byzantine_validators: globalThis.Array.isArray(object?.byzantine_validators) ? object.byzantine_validators.map((e: any) => Misbehavior.fromJSON(e)) : [], + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + next_validators_hash: isSet(object.next_validators_hash) ? bytesFromBase64(object.next_validators_hash) : new Uint8Array(0), + proposer_address: isSet(object.proposer_address) ? bytesFromBase64(object.proposer_address) : new Uint8Array(0), + }; + }, + + toJSON(message: RequestProcessProposal): unknown { + const obj: any = {}; + if (message.txs?.length) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } + if (message.proposed_last_commit !== undefined) { + obj.proposed_last_commit = CommitInfo.toJSON(message.proposed_last_commit); + } + if (message.byzantine_validators?.length) { + obj.byzantine_validators = message.byzantine_validators.map((e) => Misbehavior.toJSON(e)); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.next_validators_hash.length !== 0) { + obj.next_validators_hash = base64FromBytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + obj.proposer_address = base64FromBytes(message.proposer_address); + } + return obj; + }, + + create, I>>(base?: I): RequestProcessProposal { + return RequestProcessProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestProcessProposal { + const message = createBaseRequestProcessProposal(); + message.txs = object.txs?.map((e) => e) || []; + message.proposed_last_commit = + object.proposed_last_commit !== undefined && object.proposed_last_commit !== null ? CommitInfo.fromPartial(object.proposed_last_commit) : undefined; + message.byzantine_validators = object.byzantine_validators?.map((e) => Misbehavior.fromPartial(e)) || []; + message.hash = object.hash ?? new Uint8Array(0); + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.next_validators_hash = object.next_validators_hash ?? new Uint8Array(0); + message.proposer_address = object.proposer_address ?? new Uint8Array(0); + return message; + }, +}; + +export const RequestExtendVote: MessageFns = { + $type: "tendermint.abci.RequestExtendVote" as const, + + encode(message: RequestExtendVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.height !== 0) { + writer.uint32(16).int64(message.height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestExtendVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestExtendVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hash = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestExtendVote { + return { + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + }; + }, + + toJSON(message: RequestExtendVote): unknown { + const obj: any = {}; + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + return obj; + }, + + create, I>>(base?: I): RequestExtendVote { + return RequestExtendVote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestExtendVote { + const message = createBaseRequestExtendVote(); + message.hash = object.hash ?? new Uint8Array(0); + message.height = object.height ?? 0; + return message; + }, +}; + +export const RequestVerifyVoteExtension: MessageFns = { + $type: "tendermint.abci.RequestVerifyVoteExtension" as const, + + encode(message: RequestVerifyVoteExtension, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.validator_address.length !== 0) { + writer.uint32(18).bytes(message.validator_address); + } + if (message.height !== 0) { + writer.uint32(24).int64(message.height); + } + if (message.vote_extension.length !== 0) { + writer.uint32(34).bytes(message.vote_extension); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestVerifyVoteExtension { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestVerifyVoteExtension(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hash = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.bytes(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.vote_extension = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestVerifyVoteExtension { + return { + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + validator_address: isSet(object.validator_address) ? bytesFromBase64(object.validator_address) : new Uint8Array(0), + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + vote_extension: isSet(object.vote_extension) ? bytesFromBase64(object.vote_extension) : new Uint8Array(0), + }; + }, + + toJSON(message: RequestVerifyVoteExtension): unknown { + const obj: any = {}; + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.validator_address.length !== 0) { + obj.validator_address = base64FromBytes(message.validator_address); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.vote_extension.length !== 0) { + obj.vote_extension = base64FromBytes(message.vote_extension); + } + return obj; + }, + + create, I>>(base?: I): RequestVerifyVoteExtension { + return RequestVerifyVoteExtension.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestVerifyVoteExtension { + const message = createBaseRequestVerifyVoteExtension(); + message.hash = object.hash ?? new Uint8Array(0); + message.validator_address = object.validator_address ?? new Uint8Array(0); + message.height = object.height ?? 0; + message.vote_extension = object.vote_extension ?? new Uint8Array(0); + return message; + }, +}; + +export const RequestFinalizeBlock: MessageFns = { + $type: "tendermint.abci.RequestFinalizeBlock" as const, + + encode(message: RequestFinalizeBlock, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + if (message.decided_last_commit !== undefined) { + CommitInfo.encode(message.decided_last_commit, writer.uint32(18).fork()).join(); + } + for (const v of message.byzantine_validators) { + Misbehavior.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.height !== 0) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).join(); + } + if (message.next_validators_hash.length !== 0) { + writer.uint32(58).bytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + writer.uint32(66).bytes(message.proposer_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RequestFinalizeBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestFinalizeBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.txs.push(reader.bytes()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.decided_last_commit = CommitInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.byzantine_validators.push(Misbehavior.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.next_validators_hash = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.proposer_address = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RequestFinalizeBlock { + return { + txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => bytesFromBase64(e)) : [], + decided_last_commit: isSet(object.decided_last_commit) ? CommitInfo.fromJSON(object.decided_last_commit) : undefined, + byzantine_validators: globalThis.Array.isArray(object?.byzantine_validators) ? object.byzantine_validators.map((e: any) => Misbehavior.fromJSON(e)) : [], + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + next_validators_hash: isSet(object.next_validators_hash) ? bytesFromBase64(object.next_validators_hash) : new Uint8Array(0), + proposer_address: isSet(object.proposer_address) ? bytesFromBase64(object.proposer_address) : new Uint8Array(0), + }; + }, + + toJSON(message: RequestFinalizeBlock): unknown { + const obj: any = {}; + if (message.txs?.length) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } + if (message.decided_last_commit !== undefined) { + obj.decided_last_commit = CommitInfo.toJSON(message.decided_last_commit); + } + if (message.byzantine_validators?.length) { + obj.byzantine_validators = message.byzantine_validators.map((e) => Misbehavior.toJSON(e)); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.next_validators_hash.length !== 0) { + obj.next_validators_hash = base64FromBytes(message.next_validators_hash); + } + if (message.proposer_address.length !== 0) { + obj.proposer_address = base64FromBytes(message.proposer_address); + } + return obj; + }, + + create, I>>(base?: I): RequestFinalizeBlock { + return RequestFinalizeBlock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RequestFinalizeBlock { + const message = createBaseRequestFinalizeBlock(); + message.txs = object.txs?.map((e) => e) || []; + message.decided_last_commit = + object.decided_last_commit !== undefined && object.decided_last_commit !== null ? CommitInfo.fromPartial(object.decided_last_commit) : undefined; + message.byzantine_validators = object.byzantine_validators?.map((e) => Misbehavior.fromPartial(e)) || []; + message.hash = object.hash ?? new Uint8Array(0); + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.next_validators_hash = object.next_validators_hash ?? new Uint8Array(0); + message.proposer_address = object.proposer_address ?? new Uint8Array(0); + return message; + }, +}; + +export const Response: MessageFns = { + $type: "tendermint.abci.Response" as const, + + encode(message: Response, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.exception !== undefined) { + ResponseException.encode(message.exception, writer.uint32(10).fork()).join(); + } + if (message.echo !== undefined) { + ResponseEcho.encode(message.echo, writer.uint32(18).fork()).join(); + } + if (message.flush !== undefined) { + ResponseFlush.encode(message.flush, writer.uint32(26).fork()).join(); + } + if (message.info !== undefined) { + ResponseInfo.encode(message.info, writer.uint32(34).fork()).join(); + } + if (message.init_chain !== undefined) { + ResponseInitChain.encode(message.init_chain, writer.uint32(42).fork()).join(); + } + if (message.query !== undefined) { + ResponseQuery.encode(message.query, writer.uint32(50).fork()).join(); + } + if (message.check_tx !== undefined) { + ResponseCheckTx.encode(message.check_tx, writer.uint32(66).fork()).join(); + } + if (message.commit !== undefined) { + ResponseCommit.encode(message.commit, writer.uint32(90).fork()).join(); + } + if (message.list_snapshots !== undefined) { + ResponseListSnapshots.encode(message.list_snapshots, writer.uint32(98).fork()).join(); + } + if (message.offer_snapshot !== undefined) { + ResponseOfferSnapshot.encode(message.offer_snapshot, writer.uint32(106).fork()).join(); + } + if (message.load_snapshot_chunk !== undefined) { + ResponseLoadSnapshotChunk.encode(message.load_snapshot_chunk, writer.uint32(114).fork()).join(); + } + if (message.apply_snapshot_chunk !== undefined) { + ResponseApplySnapshotChunk.encode(message.apply_snapshot_chunk, writer.uint32(122).fork()).join(); + } + if (message.prepare_proposal !== undefined) { + ResponsePrepareProposal.encode(message.prepare_proposal, writer.uint32(130).fork()).join(); + } + if (message.process_proposal !== undefined) { + ResponseProcessProposal.encode(message.process_proposal, writer.uint32(138).fork()).join(); + } + if (message.extend_vote !== undefined) { + ResponseExtendVote.encode(message.extend_vote, writer.uint32(146).fork()).join(); + } + if (message.verify_vote_extension !== undefined) { + ResponseVerifyVoteExtension.encode(message.verify_vote_extension, writer.uint32(154).fork()).join(); + } + if (message.finalize_block !== undefined) { + ResponseFinalizeBlock.encode(message.finalize_block, writer.uint32(162).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Response { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.exception = ResponseException.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.echo = ResponseEcho.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.flush = ResponseFlush.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.info = ResponseInfo.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.init_chain = ResponseInitChain.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.query = ResponseQuery.decode(reader, reader.uint32()); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.check_tx = ResponseCheckTx.decode(reader, reader.uint32()); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.commit = ResponseCommit.decode(reader, reader.uint32()); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.list_snapshots = ResponseListSnapshots.decode(reader, reader.uint32()); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.offer_snapshot = ResponseOfferSnapshot.decode(reader, reader.uint32()); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.load_snapshot_chunk = ResponseLoadSnapshotChunk.decode(reader, reader.uint32()); + continue; + case 15: + if (tag !== 122) { + break; + } + + message.apply_snapshot_chunk = ResponseApplySnapshotChunk.decode(reader, reader.uint32()); + continue; + case 16: + if (tag !== 130) { + break; + } + + message.prepare_proposal = ResponsePrepareProposal.decode(reader, reader.uint32()); + continue; + case 17: + if (tag !== 138) { + break; + } + + message.process_proposal = ResponseProcessProposal.decode(reader, reader.uint32()); + continue; + case 18: + if (tag !== 146) { + break; + } + + message.extend_vote = ResponseExtendVote.decode(reader, reader.uint32()); + continue; + case 19: + if (tag !== 154) { + break; + } + + message.verify_vote_extension = ResponseVerifyVoteExtension.decode(reader, reader.uint32()); + continue; + case 20: + if (tag !== 162) { + break; + } + + message.finalize_block = ResponseFinalizeBlock.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Response { + return { + exception: isSet(object.exception) ? ResponseException.fromJSON(object.exception) : undefined, + echo: isSet(object.echo) ? ResponseEcho.fromJSON(object.echo) : undefined, + flush: isSet(object.flush) ? ResponseFlush.fromJSON(object.flush) : undefined, + info: isSet(object.info) ? ResponseInfo.fromJSON(object.info) : undefined, + init_chain: isSet(object.init_chain) ? ResponseInitChain.fromJSON(object.init_chain) : undefined, + query: isSet(object.query) ? ResponseQuery.fromJSON(object.query) : undefined, + check_tx: isSet(object.check_tx) ? ResponseCheckTx.fromJSON(object.check_tx) : undefined, + commit: isSet(object.commit) ? ResponseCommit.fromJSON(object.commit) : undefined, + list_snapshots: isSet(object.list_snapshots) ? ResponseListSnapshots.fromJSON(object.list_snapshots) : undefined, + offer_snapshot: isSet(object.offer_snapshot) ? ResponseOfferSnapshot.fromJSON(object.offer_snapshot) : undefined, + load_snapshot_chunk: isSet(object.load_snapshot_chunk) ? ResponseLoadSnapshotChunk.fromJSON(object.load_snapshot_chunk) : undefined, + apply_snapshot_chunk: isSet(object.apply_snapshot_chunk) ? ResponseApplySnapshotChunk.fromJSON(object.apply_snapshot_chunk) : undefined, + prepare_proposal: isSet(object.prepare_proposal) ? ResponsePrepareProposal.fromJSON(object.prepare_proposal) : undefined, + process_proposal: isSet(object.process_proposal) ? ResponseProcessProposal.fromJSON(object.process_proposal) : undefined, + extend_vote: isSet(object.extend_vote) ? ResponseExtendVote.fromJSON(object.extend_vote) : undefined, + verify_vote_extension: isSet(object.verify_vote_extension) ? ResponseVerifyVoteExtension.fromJSON(object.verify_vote_extension) : undefined, + finalize_block: isSet(object.finalize_block) ? ResponseFinalizeBlock.fromJSON(object.finalize_block) : undefined, + }; + }, + + toJSON(message: Response): unknown { + const obj: any = {}; + if (message.exception !== undefined) { + obj.exception = ResponseException.toJSON(message.exception); + } + if (message.echo !== undefined) { + obj.echo = ResponseEcho.toJSON(message.echo); + } + if (message.flush !== undefined) { + obj.flush = ResponseFlush.toJSON(message.flush); + } + if (message.info !== undefined) { + obj.info = ResponseInfo.toJSON(message.info); + } + if (message.init_chain !== undefined) { + obj.init_chain = ResponseInitChain.toJSON(message.init_chain); + } + if (message.query !== undefined) { + obj.query = ResponseQuery.toJSON(message.query); + } + if (message.check_tx !== undefined) { + obj.check_tx = ResponseCheckTx.toJSON(message.check_tx); + } + if (message.commit !== undefined) { + obj.commit = ResponseCommit.toJSON(message.commit); + } + if (message.list_snapshots !== undefined) { + obj.list_snapshots = ResponseListSnapshots.toJSON(message.list_snapshots); + } + if (message.offer_snapshot !== undefined) { + obj.offer_snapshot = ResponseOfferSnapshot.toJSON(message.offer_snapshot); + } + if (message.load_snapshot_chunk !== undefined) { + obj.load_snapshot_chunk = ResponseLoadSnapshotChunk.toJSON(message.load_snapshot_chunk); + } + if (message.apply_snapshot_chunk !== undefined) { + obj.apply_snapshot_chunk = ResponseApplySnapshotChunk.toJSON(message.apply_snapshot_chunk); + } + if (message.prepare_proposal !== undefined) { + obj.prepare_proposal = ResponsePrepareProposal.toJSON(message.prepare_proposal); + } + if (message.process_proposal !== undefined) { + obj.process_proposal = ResponseProcessProposal.toJSON(message.process_proposal); + } + if (message.extend_vote !== undefined) { + obj.extend_vote = ResponseExtendVote.toJSON(message.extend_vote); + } + if (message.verify_vote_extension !== undefined) { + obj.verify_vote_extension = ResponseVerifyVoteExtension.toJSON(message.verify_vote_extension); + } + if (message.finalize_block !== undefined) { + obj.finalize_block = ResponseFinalizeBlock.toJSON(message.finalize_block); + } + return obj; + }, + + create, I>>(base?: I): Response { + return Response.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Response { + const message = createBaseResponse(); + message.exception = object.exception !== undefined && object.exception !== null ? ResponseException.fromPartial(object.exception) : undefined; + message.echo = object.echo !== undefined && object.echo !== null ? ResponseEcho.fromPartial(object.echo) : undefined; + message.flush = object.flush !== undefined && object.flush !== null ? ResponseFlush.fromPartial(object.flush) : undefined; + message.info = object.info !== undefined && object.info !== null ? ResponseInfo.fromPartial(object.info) : undefined; + message.init_chain = object.init_chain !== undefined && object.init_chain !== null ? ResponseInitChain.fromPartial(object.init_chain) : undefined; + message.query = object.query !== undefined && object.query !== null ? ResponseQuery.fromPartial(object.query) : undefined; + message.check_tx = object.check_tx !== undefined && object.check_tx !== null ? ResponseCheckTx.fromPartial(object.check_tx) : undefined; + message.commit = object.commit !== undefined && object.commit !== null ? ResponseCommit.fromPartial(object.commit) : undefined; + message.list_snapshots = + object.list_snapshots !== undefined && object.list_snapshots !== null ? ResponseListSnapshots.fromPartial(object.list_snapshots) : undefined; + message.offer_snapshot = + object.offer_snapshot !== undefined && object.offer_snapshot !== null ? ResponseOfferSnapshot.fromPartial(object.offer_snapshot) : undefined; + message.load_snapshot_chunk = + object.load_snapshot_chunk !== undefined && object.load_snapshot_chunk !== null + ? ResponseLoadSnapshotChunk.fromPartial(object.load_snapshot_chunk) + : undefined; + message.apply_snapshot_chunk = + object.apply_snapshot_chunk !== undefined && object.apply_snapshot_chunk !== null + ? ResponseApplySnapshotChunk.fromPartial(object.apply_snapshot_chunk) + : undefined; + message.prepare_proposal = + object.prepare_proposal !== undefined && object.prepare_proposal !== null ? ResponsePrepareProposal.fromPartial(object.prepare_proposal) : undefined; + message.process_proposal = + object.process_proposal !== undefined && object.process_proposal !== null ? ResponseProcessProposal.fromPartial(object.process_proposal) : undefined; + message.extend_vote = object.extend_vote !== undefined && object.extend_vote !== null ? ResponseExtendVote.fromPartial(object.extend_vote) : undefined; + message.verify_vote_extension = + object.verify_vote_extension !== undefined && object.verify_vote_extension !== null + ? ResponseVerifyVoteExtension.fromPartial(object.verify_vote_extension) + : undefined; + message.finalize_block = + object.finalize_block !== undefined && object.finalize_block !== null ? ResponseFinalizeBlock.fromPartial(object.finalize_block) : undefined; + return message; + }, +}; + +export const ResponseException: MessageFns = { + $type: "tendermint.abci.ResponseException" as const, + + encode(message: ResponseException, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.error !== "") { + writer.uint32(10).string(message.error); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseException { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseException(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.error = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseException { + return { error: isSet(object.error) ? globalThis.String(object.error) : "" }; + }, + + toJSON(message: ResponseException): unknown { + const obj: any = {}; + if (message.error !== "") { + obj.error = message.error; + } + return obj; + }, + + create, I>>(base?: I): ResponseException { + return ResponseException.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseException { + const message = createBaseResponseException(); + message.error = object.error ?? ""; + return message; + }, +}; + +export const ResponseEcho: MessageFns = { + $type: "tendermint.abci.ResponseEcho" as const, + + encode(message: ResponseEcho, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message !== "") { + writer.uint32(10).string(message.message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseEcho { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseEcho(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseEcho { + return { message: isSet(object.message) ? globalThis.String(object.message) : "" }; + }, + + toJSON(message: ResponseEcho): unknown { + const obj: any = {}; + if (message.message !== "") { + obj.message = message.message; + } + return obj; + }, + + create, I>>(base?: I): ResponseEcho { + return ResponseEcho.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseEcho { + const message = createBaseResponseEcho(); + message.message = object.message ?? ""; + return message; + }, +}; + +export const ResponseFlush: MessageFns = { + $type: "tendermint.abci.ResponseFlush" as const, + + encode(_: ResponseFlush, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseFlush { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseFlush(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): ResponseFlush { + return {}; + }, + + toJSON(_: ResponseFlush): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): ResponseFlush { + return ResponseFlush.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): ResponseFlush { + const message = createBaseResponseFlush(); + return message; + }, +}; + +export const ResponseInfo: MessageFns = { + $type: "tendermint.abci.ResponseInfo" as const, + + encode(message: ResponseInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.data !== "") { + writer.uint32(10).string(message.data); + } + if (message.version !== "") { + writer.uint32(18).string(message.version); + } + if (message.app_version !== 0) { + writer.uint32(24).uint64(message.app_version); + } + if (message.last_block_height !== 0) { + writer.uint32(32).int64(message.last_block_height); + } + if (message.last_block_app_hash.length !== 0) { + writer.uint32(42).bytes(message.last_block_app_hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.version = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.app_version = longToNumber(reader.uint64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.last_block_height = longToNumber(reader.int64()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.last_block_app_hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseInfo { + return { + data: isSet(object.data) ? globalThis.String(object.data) : "", + version: isSet(object.version) ? globalThis.String(object.version) : "", + app_version: isSet(object.app_version) ? globalThis.Number(object.app_version) : 0, + last_block_height: isSet(object.last_block_height) ? globalThis.Number(object.last_block_height) : 0, + last_block_app_hash: isSet(object.last_block_app_hash) ? bytesFromBase64(object.last_block_app_hash) : new Uint8Array(0), + }; + }, + + toJSON(message: ResponseInfo): unknown { + const obj: any = {}; + if (message.data !== "") { + obj.data = message.data; + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.app_version !== 0) { + obj.app_version = Math.round(message.app_version); + } + if (message.last_block_height !== 0) { + obj.last_block_height = Math.round(message.last_block_height); + } + if (message.last_block_app_hash.length !== 0) { + obj.last_block_app_hash = base64FromBytes(message.last_block_app_hash); + } + return obj; + }, + + create, I>>(base?: I): ResponseInfo { + return ResponseInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseInfo { + const message = createBaseResponseInfo(); + message.data = object.data ?? ""; + message.version = object.version ?? ""; + message.app_version = object.app_version ?? 0; + message.last_block_height = object.last_block_height ?? 0; + message.last_block_app_hash = object.last_block_app_hash ?? new Uint8Array(0); + return message; + }, +}; + +export const ResponseInitChain: MessageFns = { + $type: "tendermint.abci.ResponseInitChain" as const, + + encode(message: ResponseInitChain, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.consensus_params !== undefined) { + ConsensusParams.encode(message.consensus_params, writer.uint32(10).fork()).join(); + } + for (const v of message.validators) { + ValidatorUpdate.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.app_hash.length !== 0) { + writer.uint32(26).bytes(message.app_hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseInitChain { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseInitChain(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.consensus_params = ConsensusParams.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validators.push(ValidatorUpdate.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.app_hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseInitChain { + return { + consensus_params: isSet(object.consensus_params) ? ConsensusParams.fromJSON(object.consensus_params) : undefined, + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => ValidatorUpdate.fromJSON(e)) : [], + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + }; + }, + + toJSON(message: ResponseInitChain): unknown { + const obj: any = {}; + if (message.consensus_params !== undefined) { + obj.consensus_params = ConsensusParams.toJSON(message.consensus_params); + } + if (message.validators?.length) { + obj.validators = message.validators.map((e) => ValidatorUpdate.toJSON(e)); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + return obj; + }, + + create, I>>(base?: I): ResponseInitChain { + return ResponseInitChain.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseInitChain { + const message = createBaseResponseInitChain(); + message.consensus_params = + object.consensus_params !== undefined && object.consensus_params !== null ? ConsensusParams.fromPartial(object.consensus_params) : undefined; + message.validators = object.validators?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.app_hash = object.app_hash ?? new Uint8Array(0); + return message; + }, +}; + +export const ResponseQuery: MessageFns = { + $type: "tendermint.abci.ResponseQuery" as const, + + encode(message: ResponseQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.log !== "") { + writer.uint32(26).string(message.log); + } + if (message.info !== "") { + writer.uint32(34).string(message.info); + } + if (message.index !== 0) { + writer.uint32(40).int64(message.index); + } + if (message.key.length !== 0) { + writer.uint32(50).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(58).bytes(message.value); + } + if (message.proof_ops !== undefined) { + ProofOps.encode(message.proof_ops, writer.uint32(66).fork()).join(); + } + if (message.height !== 0) { + writer.uint32(72).int64(message.height); + } + if (message.codespace !== "") { + writer.uint32(82).string(message.codespace); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseQuery { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseQuery(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.code = reader.uint32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.log = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.info = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.index = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.key = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.value = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.proof_ops = ProofOps.decode(reader, reader.uint32()); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.codespace = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseQuery { + return { + code: isSet(object.code) ? globalThis.Number(object.code) : 0, + log: isSet(object.log) ? globalThis.String(object.log) : "", + info: isSet(object.info) ? globalThis.String(object.info) : "", + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + proof_ops: isSet(object.proof_ops) ? ProofOps.fromJSON(object.proof_ops) : undefined, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + codespace: isSet(object.codespace) ? globalThis.String(object.codespace) : "", + }; + }, + + toJSON(message: ResponseQuery): unknown { + const obj: any = {}; + if (message.code !== 0) { + obj.code = Math.round(message.code); + } + if (message.log !== "") { + obj.log = message.log; + } + if (message.info !== "") { + obj.info = message.info; + } + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + if (message.proof_ops !== undefined) { + obj.proof_ops = ProofOps.toJSON(message.proof_ops); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.codespace !== "") { + obj.codespace = message.codespace; + } + return obj; + }, + + create, I>>(base?: I): ResponseQuery { + return ResponseQuery.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseQuery { + const message = createBaseResponseQuery(); + message.code = object.code ?? 0; + message.log = object.log ?? ""; + message.info = object.info ?? ""; + message.index = object.index ?? 0; + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + message.proof_ops = object.proof_ops !== undefined && object.proof_ops !== null ? ProofOps.fromPartial(object.proof_ops) : undefined; + message.height = object.height ?? 0; + message.codespace = object.codespace ?? ""; + return message; + }, +}; + +export const ResponseCheckTx: MessageFns = { + $type: "tendermint.abci.ResponseCheckTx" as const, + + encode(message: ResponseCheckTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.gas_wanted !== 0) { + writer.uint32(40).int64(message.gas_wanted); + } + if (message.codespace !== "") { + writer.uint32(66).string(message.codespace); + } + if (message.sender !== "") { + writer.uint32(74).string(message.sender); + } + if (message.priority !== 0) { + writer.uint32(80).int64(message.priority); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseCheckTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseCheckTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.code = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_wanted = longToNumber(reader.int64()); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.codespace = reader.string(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.sender = reader.string(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.priority = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseCheckTx { + return { + code: isSet(object.code) ? globalThis.Number(object.code) : 0, + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + gas_wanted: isSet(object.gas_wanted) ? globalThis.Number(object.gas_wanted) : 0, + codespace: isSet(object.codespace) ? globalThis.String(object.codespace) : "", + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + priority: isSet(object.priority) ? globalThis.Number(object.priority) : 0, + }; + }, + + toJSON(message: ResponseCheckTx): unknown { + const obj: any = {}; + if (message.code !== 0) { + obj.code = Math.round(message.code); + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.gas_wanted !== 0) { + obj.gas_wanted = Math.round(message.gas_wanted); + } + if (message.codespace !== "") { + obj.codespace = message.codespace; + } + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.priority !== 0) { + obj.priority = Math.round(message.priority); + } + return obj; + }, + + create, I>>(base?: I): ResponseCheckTx { + return ResponseCheckTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseCheckTx { + const message = createBaseResponseCheckTx(); + message.code = object.code ?? 0; + message.data = object.data ?? new Uint8Array(0); + message.gas_wanted = object.gas_wanted ?? 0; + message.codespace = object.codespace ?? ""; + message.sender = object.sender ?? ""; + message.priority = object.priority ?? 0; + return message; + }, +}; + +export const ResponseDeliverTx: MessageFns = { + $type: "tendermint.abci.ResponseDeliverTx" as const, + + encode(message: ResponseDeliverTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.log !== "") { + writer.uint32(26).string(message.log); + } + if (message.info !== "") { + writer.uint32(34).string(message.info); + } + if (message.gas_wanted !== 0) { + writer.uint32(40).int64(message.gas_wanted); + } + if (message.gas_used !== 0) { + writer.uint32(48).int64(message.gas_used); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.codespace !== "") { + writer.uint32(66).string(message.codespace); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseDeliverTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseDeliverTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.code = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.log = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.info = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_wanted = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.gas_used = longToNumber(reader.int64()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.events.push(Event.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.codespace = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseDeliverTx { + return { + code: isSet(object.code) ? globalThis.Number(object.code) : 0, + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + log: isSet(object.log) ? globalThis.String(object.log) : "", + info: isSet(object.info) ? globalThis.String(object.info) : "", + gas_wanted: isSet(object.gas_wanted) ? globalThis.Number(object.gas_wanted) : 0, + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], + codespace: isSet(object.codespace) ? globalThis.String(object.codespace) : "", + }; + }, + + toJSON(message: ResponseDeliverTx): unknown { + const obj: any = {}; + if (message.code !== 0) { + obj.code = Math.round(message.code); + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.log !== "") { + obj.log = message.log; + } + if (message.info !== "") { + obj.info = message.info; + } + if (message.gas_wanted !== 0) { + obj.gas_wanted = Math.round(message.gas_wanted); + } + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + if (message.events?.length) { + obj.events = message.events.map((e) => Event.toJSON(e)); + } + if (message.codespace !== "") { + obj.codespace = message.codespace; + } + return obj; + }, + + create, I>>(base?: I): ResponseDeliverTx { + return ResponseDeliverTx.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseDeliverTx { + const message = createBaseResponseDeliverTx(); + message.code = object.code ?? 0; + message.data = object.data ?? new Uint8Array(0); + message.log = object.log ?? ""; + message.info = object.info ?? ""; + message.gas_wanted = object.gas_wanted ?? 0; + message.gas_used = object.gas_used ?? 0; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.codespace = object.codespace ?? ""; + return message; + }, +}; + +export const ResponseCommit: MessageFns = { + $type: "tendermint.abci.ResponseCommit" as const, + + encode(message: ResponseCommit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.retain_height !== 0) { + writer.uint32(24).int64(message.retain_height); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (tag !== 24) { + break; + } + + message.retain_height = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseCommit { + return { retain_height: isSet(object.retain_height) ? globalThis.Number(object.retain_height) : 0 }; + }, + + toJSON(message: ResponseCommit): unknown { + const obj: any = {}; + if (message.retain_height !== 0) { + obj.retain_height = Math.round(message.retain_height); + } + return obj; + }, + + create, I>>(base?: I): ResponseCommit { + return ResponseCommit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseCommit { + const message = createBaseResponseCommit(); + message.retain_height = object.retain_height ?? 0; + return message; + }, +}; + +export const ResponseListSnapshots: MessageFns = { + $type: "tendermint.abci.ResponseListSnapshots" as const, + + encode(message: ResponseListSnapshots, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.snapshots) { + Snapshot.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseListSnapshots { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseListSnapshots(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.snapshots.push(Snapshot.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseListSnapshots { + return { + snapshots: globalThis.Array.isArray(object?.snapshots) ? object.snapshots.map((e: any) => Snapshot.fromJSON(e)) : [], + }; + }, + + toJSON(message: ResponseListSnapshots): unknown { + const obj: any = {}; + if (message.snapshots?.length) { + obj.snapshots = message.snapshots.map((e) => Snapshot.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ResponseListSnapshots { + return ResponseListSnapshots.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseListSnapshots { + const message = createBaseResponseListSnapshots(); + message.snapshots = object.snapshots?.map((e) => Snapshot.fromPartial(e)) || []; + return message; + }, +}; + +export const ResponseOfferSnapshot: MessageFns = { + $type: "tendermint.abci.ResponseOfferSnapshot" as const, + + encode(message: ResponseOfferSnapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.result !== 0) { + writer.uint32(8).int32(message.result); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseOfferSnapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseOfferSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.result = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseOfferSnapshot { + return { result: isSet(object.result) ? responseOfferSnapshotResultFromJSON(object.result) : 0 }; + }, + + toJSON(message: ResponseOfferSnapshot): unknown { + const obj: any = {}; + if (message.result !== 0) { + obj.result = responseOfferSnapshotResultToJSON(message.result); + } + return obj; + }, + + create, I>>(base?: I): ResponseOfferSnapshot { + return ResponseOfferSnapshot.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseOfferSnapshot { + const message = createBaseResponseOfferSnapshot(); + message.result = object.result ?? 0; + return message; + }, +}; + +export const ResponseLoadSnapshotChunk: MessageFns = { + $type: "tendermint.abci.ResponseLoadSnapshotChunk" as const, + + encode(message: ResponseLoadSnapshotChunk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chunk.length !== 0) { + writer.uint32(10).bytes(message.chunk); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseLoadSnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseLoadSnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.chunk = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseLoadSnapshotChunk { + return { chunk: isSet(object.chunk) ? bytesFromBase64(object.chunk) : new Uint8Array(0) }; + }, + + toJSON(message: ResponseLoadSnapshotChunk): unknown { + const obj: any = {}; + if (message.chunk.length !== 0) { + obj.chunk = base64FromBytes(message.chunk); + } + return obj; + }, + + create, I>>(base?: I): ResponseLoadSnapshotChunk { + return ResponseLoadSnapshotChunk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseLoadSnapshotChunk { + const message = createBaseResponseLoadSnapshotChunk(); + message.chunk = object.chunk ?? new Uint8Array(0); + return message; + }, +}; + +export const ResponseApplySnapshotChunk: MessageFns = { + $type: "tendermint.abci.ResponseApplySnapshotChunk" as const, + + encode(message: ResponseApplySnapshotChunk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.result !== 0) { + writer.uint32(8).int32(message.result); + } + writer.uint32(18).fork(); + for (const v of message.refetch_chunks) { + writer.uint32(v); + } + writer.join(); + for (const v of message.reject_senders) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseApplySnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseApplySnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.result = reader.int32() as any; + continue; + case 2: + if (tag === 16) { + message.refetch_chunks.push(reader.uint32()); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.refetch_chunks.push(reader.uint32()); + } + + continue; + } + + break; + case 3: + if (tag !== 26) { + break; + } + + message.reject_senders.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseApplySnapshotChunk { + return { + result: isSet(object.result) ? responseApplySnapshotChunkResultFromJSON(object.result) : 0, + refetch_chunks: globalThis.Array.isArray(object?.refetch_chunks) ? object.refetch_chunks.map((e: any) => globalThis.Number(e)) : [], + reject_senders: globalThis.Array.isArray(object?.reject_senders) ? object.reject_senders.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: ResponseApplySnapshotChunk): unknown { + const obj: any = {}; + if (message.result !== 0) { + obj.result = responseApplySnapshotChunkResultToJSON(message.result); + } + if (message.refetch_chunks?.length) { + obj.refetch_chunks = message.refetch_chunks.map((e) => Math.round(e)); + } + if (message.reject_senders?.length) { + obj.reject_senders = message.reject_senders; + } + return obj; + }, + + create, I>>(base?: I): ResponseApplySnapshotChunk { + return ResponseApplySnapshotChunk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseApplySnapshotChunk { + const message = createBaseResponseApplySnapshotChunk(); + message.result = object.result ?? 0; + message.refetch_chunks = object.refetch_chunks?.map((e) => e) || []; + message.reject_senders = object.reject_senders?.map((e) => e) || []; + return message; + }, +}; + +export const ResponsePrepareProposal: MessageFns = { + $type: "tendermint.abci.ResponsePrepareProposal" as const, + + encode(message: ResponsePrepareProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.tx_records) { + TxRecord.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.app_hash.length !== 0) { + writer.uint32(18).bytes(message.app_hash); + } + for (const v of message.tx_results) { + ExecTxResult.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.validator_updates) { + ValidatorUpdate.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.consensus_param_updates !== undefined) { + ConsensusParams.encode(message.consensus_param_updates, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponsePrepareProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponsePrepareProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx_records.push(TxRecord.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.app_hash = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tx_results.push(ExecTxResult.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validator_updates.push(ValidatorUpdate.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.consensus_param_updates = ConsensusParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponsePrepareProposal { + return { + tx_records: globalThis.Array.isArray(object?.tx_records) ? object.tx_records.map((e: any) => TxRecord.fromJSON(e)) : [], + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + tx_results: globalThis.Array.isArray(object?.tx_results) ? object.tx_results.map((e: any) => ExecTxResult.fromJSON(e)) : [], + validator_updates: globalThis.Array.isArray(object?.validator_updates) ? object.validator_updates.map((e: any) => ValidatorUpdate.fromJSON(e)) : [], + consensus_param_updates: isSet(object.consensus_param_updates) ? ConsensusParams.fromJSON(object.consensus_param_updates) : undefined, + }; + }, + + toJSON(message: ResponsePrepareProposal): unknown { + const obj: any = {}; + if (message.tx_records?.length) { + obj.tx_records = message.tx_records.map((e) => TxRecord.toJSON(e)); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + if (message.tx_results?.length) { + obj.tx_results = message.tx_results.map((e) => ExecTxResult.toJSON(e)); + } + if (message.validator_updates?.length) { + obj.validator_updates = message.validator_updates.map((e) => ValidatorUpdate.toJSON(e)); + } + if (message.consensus_param_updates !== undefined) { + obj.consensus_param_updates = ConsensusParams.toJSON(message.consensus_param_updates); + } + return obj; + }, + + create, I>>(base?: I): ResponsePrepareProposal { + return ResponsePrepareProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponsePrepareProposal { + const message = createBaseResponsePrepareProposal(); + message.tx_records = object.tx_records?.map((e) => TxRecord.fromPartial(e)) || []; + message.app_hash = object.app_hash ?? new Uint8Array(0); + message.tx_results = object.tx_results?.map((e) => ExecTxResult.fromPartial(e)) || []; + message.validator_updates = object.validator_updates?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.consensus_param_updates = + object.consensus_param_updates !== undefined && object.consensus_param_updates !== null + ? ConsensusParams.fromPartial(object.consensus_param_updates) + : undefined; + return message; + }, +}; + +export const ResponseProcessProposal: MessageFns = { + $type: "tendermint.abci.ResponseProcessProposal" as const, + + encode(message: ResponseProcessProposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + if (message.app_hash.length !== 0) { + writer.uint32(18).bytes(message.app_hash); + } + for (const v of message.tx_results) { + ExecTxResult.encode(v!, writer.uint32(26).fork()).join(); + } + for (const v of message.validator_updates) { + ValidatorUpdate.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.consensus_param_updates !== undefined) { + ConsensusParams.encode(message.consensus_param_updates, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseProcessProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseProcessProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.app_hash = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tx_results.push(ExecTxResult.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.validator_updates.push(ValidatorUpdate.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.consensus_param_updates = ConsensusParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseProcessProposal { + return { + status: isSet(object.status) ? responseProcessProposalProposalStatusFromJSON(object.status) : 0, + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + tx_results: globalThis.Array.isArray(object?.tx_results) ? object.tx_results.map((e: any) => ExecTxResult.fromJSON(e)) : [], + validator_updates: globalThis.Array.isArray(object?.validator_updates) ? object.validator_updates.map((e: any) => ValidatorUpdate.fromJSON(e)) : [], + consensus_param_updates: isSet(object.consensus_param_updates) ? ConsensusParams.fromJSON(object.consensus_param_updates) : undefined, + }; + }, + + toJSON(message: ResponseProcessProposal): unknown { + const obj: any = {}; + if (message.status !== 0) { + obj.status = responseProcessProposalProposalStatusToJSON(message.status); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + if (message.tx_results?.length) { + obj.tx_results = message.tx_results.map((e) => ExecTxResult.toJSON(e)); + } + if (message.validator_updates?.length) { + obj.validator_updates = message.validator_updates.map((e) => ValidatorUpdate.toJSON(e)); + } + if (message.consensus_param_updates !== undefined) { + obj.consensus_param_updates = ConsensusParams.toJSON(message.consensus_param_updates); + } + return obj; + }, + + create, I>>(base?: I): ResponseProcessProposal { + return ResponseProcessProposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseProcessProposal { + const message = createBaseResponseProcessProposal(); + message.status = object.status ?? 0; + message.app_hash = object.app_hash ?? new Uint8Array(0); + message.tx_results = object.tx_results?.map((e) => ExecTxResult.fromPartial(e)) || []; + message.validator_updates = object.validator_updates?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.consensus_param_updates = + object.consensus_param_updates !== undefined && object.consensus_param_updates !== null + ? ConsensusParams.fromPartial(object.consensus_param_updates) + : undefined; + return message; + }, +}; + +export const ResponseExtendVote: MessageFns = { + $type: "tendermint.abci.ResponseExtendVote" as const, + + encode(message: ResponseExtendVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote_extension.length !== 0) { + writer.uint32(10).bytes(message.vote_extension); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseExtendVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseExtendVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.vote_extension = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseExtendVote { + return { + vote_extension: isSet(object.vote_extension) ? bytesFromBase64(object.vote_extension) : new Uint8Array(0), + }; + }, + + toJSON(message: ResponseExtendVote): unknown { + const obj: any = {}; + if (message.vote_extension.length !== 0) { + obj.vote_extension = base64FromBytes(message.vote_extension); + } + return obj; + }, + + create, I>>(base?: I): ResponseExtendVote { + return ResponseExtendVote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseExtendVote { + const message = createBaseResponseExtendVote(); + message.vote_extension = object.vote_extension ?? new Uint8Array(0); + return message; + }, +}; + +export const ResponseVerifyVoteExtension: MessageFns = { + $type: "tendermint.abci.ResponseVerifyVoteExtension" as const, + + encode(message: ResponseVerifyVoteExtension, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseVerifyVoteExtension { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseVerifyVoteExtension(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseVerifyVoteExtension { + return { status: isSet(object.status) ? responseVerifyVoteExtensionVerifyStatusFromJSON(object.status) : 0 }; + }, + + toJSON(message: ResponseVerifyVoteExtension): unknown { + const obj: any = {}; + if (message.status !== 0) { + obj.status = responseVerifyVoteExtensionVerifyStatusToJSON(message.status); + } + return obj; + }, + + create, I>>(base?: I): ResponseVerifyVoteExtension { + return ResponseVerifyVoteExtension.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseVerifyVoteExtension { + const message = createBaseResponseVerifyVoteExtension(); + message.status = object.status ?? 0; + return message; + }, +}; + +export const ResponseFinalizeBlock: MessageFns = { + $type: "tendermint.abci.ResponseFinalizeBlock" as const, + + encode(message: ResponseFinalizeBlock, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.events) { + Event.encode(v!, writer.uint32(10).fork()).join(); + } + for (const v of message.tx_results) { + ExecTxResult.encode(v!, writer.uint32(18).fork()).join(); + } + for (const v of message.validator_updates) { + ValidatorUpdate.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.consensus_param_updates !== undefined) { + ConsensusParams.encode(message.consensus_param_updates, writer.uint32(34).fork()).join(); + } + if (message.app_hash.length !== 0) { + writer.uint32(42).bytes(message.app_hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ResponseFinalizeBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseFinalizeBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.events.push(Event.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx_results.push(ExecTxResult.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.validator_updates.push(ValidatorUpdate.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.consensus_param_updates = ConsensusParams.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.app_hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ResponseFinalizeBlock { + return { + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], + tx_results: globalThis.Array.isArray(object?.tx_results) ? object.tx_results.map((e: any) => ExecTxResult.fromJSON(e)) : [], + validator_updates: globalThis.Array.isArray(object?.validator_updates) ? object.validator_updates.map((e: any) => ValidatorUpdate.fromJSON(e)) : [], + consensus_param_updates: isSet(object.consensus_param_updates) ? ConsensusParams.fromJSON(object.consensus_param_updates) : undefined, + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + }; + }, + + toJSON(message: ResponseFinalizeBlock): unknown { + const obj: any = {}; + if (message.events?.length) { + obj.events = message.events.map((e) => Event.toJSON(e)); + } + if (message.tx_results?.length) { + obj.tx_results = message.tx_results.map((e) => ExecTxResult.toJSON(e)); + } + if (message.validator_updates?.length) { + obj.validator_updates = message.validator_updates.map((e) => ValidatorUpdate.toJSON(e)); + } + if (message.consensus_param_updates !== undefined) { + obj.consensus_param_updates = ConsensusParams.toJSON(message.consensus_param_updates); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + return obj; + }, + + create, I>>(base?: I): ResponseFinalizeBlock { + return ResponseFinalizeBlock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ResponseFinalizeBlock { + const message = createBaseResponseFinalizeBlock(); + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.tx_results = object.tx_results?.map((e) => ExecTxResult.fromPartial(e)) || []; + message.validator_updates = object.validator_updates?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.consensus_param_updates = + object.consensus_param_updates !== undefined && object.consensus_param_updates !== null + ? ConsensusParams.fromPartial(object.consensus_param_updates) + : undefined; + message.app_hash = object.app_hash ?? new Uint8Array(0); + return message; + }, +}; + +export const CommitInfo: MessageFns = { + $type: "tendermint.abci.CommitInfo" as const, + + encode(message: CommitInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.round !== 0) { + writer.uint32(8).int32(message.round); + } + for (const v of message.votes) { + VoteInfo.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommitInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.round = reader.int32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.votes.push(VoteInfo.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommitInfo { + return { + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + votes: globalThis.Array.isArray(object?.votes) ? object.votes.map((e: any) => VoteInfo.fromJSON(e)) : [], + }; + }, + + toJSON(message: CommitInfo): unknown { + const obj: any = {}; + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.votes?.length) { + obj.votes = message.votes.map((e) => VoteInfo.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): CommitInfo { + return CommitInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommitInfo { + const message = createBaseCommitInfo(); + message.round = object.round ?? 0; + message.votes = object.votes?.map((e) => VoteInfo.fromPartial(e)) || []; + return message; + }, +}; + +export const ExtendedCommitInfo: MessageFns = { + $type: "tendermint.abci.ExtendedCommitInfo" as const, + + encode(message: ExtendedCommitInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.round !== 0) { + writer.uint32(8).int32(message.round); + } + for (const v of message.votes) { + ExtendedVoteInfo.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommitInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommitInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.round = reader.int32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.votes.push(ExtendedVoteInfo.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtendedCommitInfo { + return { + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + votes: globalThis.Array.isArray(object?.votes) ? object.votes.map((e: any) => ExtendedVoteInfo.fromJSON(e)) : [], + }; + }, + + toJSON(message: ExtendedCommitInfo): unknown { + const obj: any = {}; + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.votes?.length) { + obj.votes = message.votes.map((e) => ExtendedVoteInfo.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ExtendedCommitInfo { + return ExtendedCommitInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtendedCommitInfo { + const message = createBaseExtendedCommitInfo(); + message.round = object.round ?? 0; + message.votes = object.votes?.map((e) => ExtendedVoteInfo.fromPartial(e)) || []; + return message; + }, +}; + +export const Event: MessageFns = { + $type: "tendermint.abci.Event" as const, + + encode(message: Event, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== "") { + writer.uint32(10).string(message.type); + } + for (const v of message.attributes) { + EventAttribute.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Event { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.type = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.attributes.push(EventAttribute.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Event { + return { + type: isSet(object.type) ? globalThis.String(object.type) : "", + attributes: globalThis.Array.isArray(object?.attributes) ? object.attributes.map((e: any) => EventAttribute.fromJSON(e)) : [], + }; + }, + + toJSON(message: Event): unknown { + const obj: any = {}; + if (message.type !== "") { + obj.type = message.type; + } + if (message.attributes?.length) { + obj.attributes = message.attributes.map((e) => EventAttribute.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Event { + return Event.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Event { + const message = createBaseEvent(); + message.type = object.type ?? ""; + message.attributes = object.attributes?.map((e) => EventAttribute.fromPartial(e)) || []; + return message; + }, +}; + +export const EventAttribute: MessageFns = { + $type: "tendermint.abci.EventAttribute" as const, + + encode(message: EventAttribute, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + if (message.index !== false) { + writer.uint32(24).bool(message.index); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EventAttribute { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventAttribute(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.index = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventAttribute { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + index: isSet(object.index) ? globalThis.Boolean(object.index) : false, + }; + }, + + toJSON(message: EventAttribute): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== "") { + obj.value = message.value; + } + if (message.index !== false) { + obj.index = message.index; + } + return obj; + }, + + create, I>>(base?: I): EventAttribute { + return EventAttribute.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EventAttribute { + const message = createBaseEventAttribute(); + message.key = object.key ?? ""; + message.value = object.value ?? ""; + message.index = object.index ?? false; + return message; + }, +}; + +export const ExecTxResult: MessageFns = { + $type: "tendermint.abci.ExecTxResult" as const, + + encode(message: ExecTxResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.log !== "") { + writer.uint32(26).string(message.log); + } + if (message.info !== "") { + writer.uint32(34).string(message.info); + } + if (message.gas_wanted !== 0) { + writer.uint32(40).int64(message.gas_wanted); + } + if (message.gas_used !== 0) { + writer.uint32(48).int64(message.gas_used); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(58).fork()).join(); + } + if (message.codespace !== "") { + writer.uint32(66).string(message.codespace); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExecTxResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExecTxResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.code = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.log = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.info = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.gas_wanted = longToNumber(reader.int64()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.gas_used = longToNumber(reader.int64()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.events.push(Event.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.codespace = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExecTxResult { + return { + code: isSet(object.code) ? globalThis.Number(object.code) : 0, + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + log: isSet(object.log) ? globalThis.String(object.log) : "", + info: isSet(object.info) ? globalThis.String(object.info) : "", + gas_wanted: isSet(object.gas_wanted) ? globalThis.Number(object.gas_wanted) : 0, + gas_used: isSet(object.gas_used) ? globalThis.Number(object.gas_used) : 0, + events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], + codespace: isSet(object.codespace) ? globalThis.String(object.codespace) : "", + }; + }, + + toJSON(message: ExecTxResult): unknown { + const obj: any = {}; + if (message.code !== 0) { + obj.code = Math.round(message.code); + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.log !== "") { + obj.log = message.log; + } + if (message.info !== "") { + obj.info = message.info; + } + if (message.gas_wanted !== 0) { + obj.gas_wanted = Math.round(message.gas_wanted); + } + if (message.gas_used !== 0) { + obj.gas_used = Math.round(message.gas_used); + } + if (message.events?.length) { + obj.events = message.events.map((e) => Event.toJSON(e)); + } + if (message.codespace !== "") { + obj.codespace = message.codespace; + } + return obj; + }, + + create, I>>(base?: I): ExecTxResult { + return ExecTxResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExecTxResult { + const message = createBaseExecTxResult(); + message.code = object.code ?? 0; + message.data = object.data ?? new Uint8Array(0); + message.log = object.log ?? ""; + message.info = object.info ?? ""; + message.gas_wanted = object.gas_wanted ?? 0; + message.gas_used = object.gas_used ?? 0; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.codespace = object.codespace ?? ""; + return message; + }, +}; + +export const TxResult: MessageFns = { + $type: "tendermint.abci.TxResult" as const, + + encode(message: TxResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.index !== 0) { + writer.uint32(16).uint32(message.index); + } + if (message.tx.length !== 0) { + writer.uint32(26).bytes(message.tx); + } + if (message.result !== undefined) { + ExecTxResult.encode(message.result, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.index = reader.uint32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tx = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.result = ExecTxResult.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxResult { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + tx: isSet(object.tx) ? bytesFromBase64(object.tx) : new Uint8Array(0), + result: isSet(object.result) ? ExecTxResult.fromJSON(object.result) : undefined, + }; + }, + + toJSON(message: TxResult): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.tx.length !== 0) { + obj.tx = base64FromBytes(message.tx); + } + if (message.result !== undefined) { + obj.result = ExecTxResult.toJSON(message.result); + } + return obj; + }, + + create, I>>(base?: I): TxResult { + return TxResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxResult { + const message = createBaseTxResult(); + message.height = object.height ?? 0; + message.index = object.index ?? 0; + message.tx = object.tx ?? new Uint8Array(0); + message.result = object.result !== undefined && object.result !== null ? ExecTxResult.fromPartial(object.result) : undefined; + return message; + }, +}; + +export const TxRecord: MessageFns = { + $type: "tendermint.abci.TxRecord" as const, + + encode(message: TxRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.action !== 0) { + writer.uint32(8).int32(message.action); + } + if (message.tx.length !== 0) { + writer.uint32(18).bytes(message.tx); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.action = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.tx = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxRecord { + return { + action: isSet(object.action) ? txRecordTxActionFromJSON(object.action) : 0, + tx: isSet(object.tx) ? bytesFromBase64(object.tx) : new Uint8Array(0), + }; + }, + + toJSON(message: TxRecord): unknown { + const obj: any = {}; + if (message.action !== 0) { + obj.action = txRecordTxActionToJSON(message.action); + } + if (message.tx.length !== 0) { + obj.tx = base64FromBytes(message.tx); + } + return obj; + }, + + create, I>>(base?: I): TxRecord { + return TxRecord.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxRecord { + const message = createBaseTxRecord(); + message.action = object.action ?? 0; + message.tx = object.tx ?? new Uint8Array(0); + return message; + }, +}; + +export const Validator: MessageFns = { + $type: "tendermint.abci.Validator" as const, + + encode(message: Validator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address.length !== 0) { + writer.uint32(10).bytes(message.address); + } + if (message.power !== 0) { + writer.uint32(24).int64(message.power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.bytes(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Validator { + return { + address: isSet(object.address) ? bytesFromBase64(object.address) : new Uint8Array(0), + power: isSet(object.power) ? globalThis.Number(object.power) : 0, + }; + }, + + toJSON(message: Validator): unknown { + const obj: any = {}; + if (message.address.length !== 0) { + obj.address = base64FromBytes(message.address); + } + if (message.power !== 0) { + obj.power = Math.round(message.power); + } + return obj; + }, + + create, I>>(base?: I): Validator { + return Validator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Validator { + const message = createBaseValidator(); + message.address = object.address ?? new Uint8Array(0); + message.power = object.power ?? 0; + return message; + }, +}; + +export const ValidatorUpdate: MessageFns = { + $type: "tendermint.abci.ValidatorUpdate" as const, + + encode(message: ValidatorUpdate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pub_key !== undefined) { + PublicKey.encode(message.pub_key, writer.uint32(10).fork()).join(); + } + if (message.power !== 0) { + writer.uint32(16).int64(message.power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorUpdate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pub_key = PublicKey.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorUpdate { + return { + pub_key: isSet(object.pub_key) ? PublicKey.fromJSON(object.pub_key) : undefined, + power: isSet(object.power) ? globalThis.Number(object.power) : 0, + }; + }, + + toJSON(message: ValidatorUpdate): unknown { + const obj: any = {}; + if (message.pub_key !== undefined) { + obj.pub_key = PublicKey.toJSON(message.pub_key); + } + if (message.power !== 0) { + obj.power = Math.round(message.power); + } + return obj; + }, + + create, I>>(base?: I): ValidatorUpdate { + return ValidatorUpdate.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorUpdate { + const message = createBaseValidatorUpdate(); + message.pub_key = object.pub_key !== undefined && object.pub_key !== null ? PublicKey.fromPartial(object.pub_key) : undefined; + message.power = object.power ?? 0; + return message; + }, +}; + +export const VoteInfo: MessageFns = { + $type: "tendermint.abci.VoteInfo" as const, + + encode(message: VoteInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).join(); + } + if (message.signed_last_block !== false) { + writer.uint32(16).bool(message.signed_last_block); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VoteInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVoteInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator = Validator.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.signed_last_block = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VoteInfo { + return { + validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined, + signed_last_block: isSet(object.signed_last_block) ? globalThis.Boolean(object.signed_last_block) : false, + }; + }, + + toJSON(message: VoteInfo): unknown { + const obj: any = {}; + if (message.validator !== undefined) { + obj.validator = Validator.toJSON(message.validator); + } + if (message.signed_last_block !== false) { + obj.signed_last_block = message.signed_last_block; + } + return obj; + }, + + create, I>>(base?: I): VoteInfo { + return VoteInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VoteInfo { + const message = createBaseVoteInfo(); + message.validator = object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.signed_last_block = object.signed_last_block ?? false; + return message; + }, +}; + +export const ExtendedVoteInfo: MessageFns = { + $type: "tendermint.abci.ExtendedVoteInfo" as const, + + encode(message: ExtendedVoteInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).join(); + } + if (message.signed_last_block !== false) { + writer.uint32(16).bool(message.signed_last_block); + } + if (message.vote_extension.length !== 0) { + writer.uint32(26).bytes(message.vote_extension); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedVoteInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedVoteInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validator = Validator.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.signed_last_block = reader.bool(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.vote_extension = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtendedVoteInfo { + return { + validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined, + signed_last_block: isSet(object.signed_last_block) ? globalThis.Boolean(object.signed_last_block) : false, + vote_extension: isSet(object.vote_extension) ? bytesFromBase64(object.vote_extension) : new Uint8Array(0), + }; + }, + + toJSON(message: ExtendedVoteInfo): unknown { + const obj: any = {}; + if (message.validator !== undefined) { + obj.validator = Validator.toJSON(message.validator); + } + if (message.signed_last_block !== false) { + obj.signed_last_block = message.signed_last_block; + } + if (message.vote_extension.length !== 0) { + obj.vote_extension = base64FromBytes(message.vote_extension); + } + return obj; + }, + + create, I>>(base?: I): ExtendedVoteInfo { + return ExtendedVoteInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtendedVoteInfo { + const message = createBaseExtendedVoteInfo(); + message.validator = object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.signed_last_block = object.signed_last_block ?? false; + message.vote_extension = object.vote_extension ?? new Uint8Array(0); + return message; + }, +}; + +export const Misbehavior: MessageFns = { + $type: "tendermint.abci.Misbehavior" as const, + + encode(message: Misbehavior, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(18).fork()).join(); + } + if (message.height !== 0) { + writer.uint32(24).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(34).fork()).join(); + } + if (message.total_voting_power !== 0) { + writer.uint32(40).int64(message.total_voting_power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Misbehavior { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMisbehavior(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.type = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator = Validator.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.total_voting_power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Misbehavior { + return { + type: isSet(object.type) ? misbehaviorTypeFromJSON(object.type) : 0, + validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + total_voting_power: isSet(object.total_voting_power) ? globalThis.Number(object.total_voting_power) : 0, + }; + }, + + toJSON(message: Misbehavior): unknown { + const obj: any = {}; + if (message.type !== 0) { + obj.type = misbehaviorTypeToJSON(message.type); + } + if (message.validator !== undefined) { + obj.validator = Validator.toJSON(message.validator); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.total_voting_power !== 0) { + obj.total_voting_power = Math.round(message.total_voting_power); + } + return obj; + }, + + create, I>>(base?: I): Misbehavior { + return Misbehavior.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Misbehavior { + const message = createBaseMisbehavior(); + message.type = object.type ?? 0; + message.validator = object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.total_voting_power = object.total_voting_power ?? 0; + return message; + }, +}; + +export const Snapshot: MessageFns = { + $type: "tendermint.abci.Snapshot" as const, + + encode(message: Snapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).uint64(message.height); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + if (message.chunks !== 0) { + writer.uint32(24).uint32(message.chunks); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.metadata.length !== 0) { + writer.uint32(42).bytes(message.metadata); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Snapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.format = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.chunks = reader.uint32(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.hash = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.metadata = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Snapshot { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + format: isSet(object.format) ? globalThis.Number(object.format) : 0, + chunks: isSet(object.chunks) ? globalThis.Number(object.chunks) : 0, + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + metadata: isSet(object.metadata) ? bytesFromBase64(object.metadata) : new Uint8Array(0), + }; + }, + + toJSON(message: Snapshot): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.format !== 0) { + obj.format = Math.round(message.format); + } + if (message.chunks !== 0) { + obj.chunks = Math.round(message.chunks); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.metadata.length !== 0) { + obj.metadata = base64FromBytes(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): Snapshot { + return Snapshot.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Snapshot { + const message = createBaseSnapshot(); + message.height = object.height ?? 0; + message.format = object.format ?? 0; + message.chunks = object.chunks ?? 0; + message.hash = object.hash ?? new Uint8Array(0); + message.metadata = object.metadata ?? new Uint8Array(0); + return message; + }, +}; + +export function checkTxTypeFromJSON(object: any): CheckTxType { + switch (object) { + case 0: + case "NEW": + return CheckTxType.NEW; + case 1: + case "RECHECK": + return CheckTxType.RECHECK; + case -1: + case "UNRECOGNIZED": + default: + return CheckTxType.UNRECOGNIZED; + } +} + +export function checkTxTypeToJSON(object: CheckTxType): string { + switch (object) { + case CheckTxType.NEW: + return "NEW"; + case CheckTxType.RECHECK: + return "RECHECK"; + case CheckTxType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function misbehaviorTypeFromJSON(object: any): MisbehaviorType { + switch (object) { + case 0: + case "UNKNOWN": + return MisbehaviorType.UNKNOWN; + case 1: + case "DUPLICATE_VOTE": + return MisbehaviorType.DUPLICATE_VOTE; + case 2: + case "LIGHT_CLIENT_ATTACK": + return MisbehaviorType.LIGHT_CLIENT_ATTACK; + case -1: + case "UNRECOGNIZED": + default: + return MisbehaviorType.UNRECOGNIZED; + } +} + +export function misbehaviorTypeToJSON(object: MisbehaviorType): string { + switch (object) { + case MisbehaviorType.UNKNOWN: + return "UNKNOWN"; + case MisbehaviorType.DUPLICATE_VOTE: + return "DUPLICATE_VOTE"; + case MisbehaviorType.LIGHT_CLIENT_ATTACK: + return "LIGHT_CLIENT_ATTACK"; + case MisbehaviorType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function responseOfferSnapshotResultFromJSON(object: any): ResponseOfferSnapshotResult { + switch (object) { + case 0: + case "UNKNOWN": + return ResponseOfferSnapshotResult.UNKNOWN; + case 1: + case "ACCEPT": + return ResponseOfferSnapshotResult.ACCEPT; + case 2: + case "ABORT": + return ResponseOfferSnapshotResult.ABORT; + case 3: + case "REJECT": + return ResponseOfferSnapshotResult.REJECT; + case 4: + case "REJECT_FORMAT": + return ResponseOfferSnapshotResult.REJECT_FORMAT; + case 5: + case "REJECT_SENDER": + return ResponseOfferSnapshotResult.REJECT_SENDER; + case -1: + case "UNRECOGNIZED": + default: + return ResponseOfferSnapshotResult.UNRECOGNIZED; + } +} + +export function responseOfferSnapshotResultToJSON(object: ResponseOfferSnapshotResult): string { + switch (object) { + case ResponseOfferSnapshotResult.UNKNOWN: + return "UNKNOWN"; + case ResponseOfferSnapshotResult.ACCEPT: + return "ACCEPT"; + case ResponseOfferSnapshotResult.ABORT: + return "ABORT"; + case ResponseOfferSnapshotResult.REJECT: + return "REJECT"; + case ResponseOfferSnapshotResult.REJECT_FORMAT: + return "REJECT_FORMAT"; + case ResponseOfferSnapshotResult.REJECT_SENDER: + return "REJECT_SENDER"; + case ResponseOfferSnapshotResult.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function responseApplySnapshotChunkResultFromJSON(object: any): ResponseApplySnapshotChunkResult { + switch (object) { + case 0: + case "UNKNOWN": + return ResponseApplySnapshotChunkResult.UNKNOWN; + case 1: + case "ACCEPT": + return ResponseApplySnapshotChunkResult.ACCEPT; + case 2: + case "ABORT": + return ResponseApplySnapshotChunkResult.ABORT; + case 3: + case "RETRY": + return ResponseApplySnapshotChunkResult.RETRY; + case 4: + case "RETRY_SNAPSHOT": + return ResponseApplySnapshotChunkResult.RETRY_SNAPSHOT; + case 5: + case "REJECT_SNAPSHOT": + return ResponseApplySnapshotChunkResult.REJECT_SNAPSHOT; + case -1: + case "UNRECOGNIZED": + default: + return ResponseApplySnapshotChunkResult.UNRECOGNIZED; + } +} + +export function responseApplySnapshotChunkResultToJSON(object: ResponseApplySnapshotChunkResult): string { + switch (object) { + case ResponseApplySnapshotChunkResult.UNKNOWN: + return "UNKNOWN"; + case ResponseApplySnapshotChunkResult.ACCEPT: + return "ACCEPT"; + case ResponseApplySnapshotChunkResult.ABORT: + return "ABORT"; + case ResponseApplySnapshotChunkResult.RETRY: + return "RETRY"; + case ResponseApplySnapshotChunkResult.RETRY_SNAPSHOT: + return "RETRY_SNAPSHOT"; + case ResponseApplySnapshotChunkResult.REJECT_SNAPSHOT: + return "REJECT_SNAPSHOT"; + case ResponseApplySnapshotChunkResult.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function responseProcessProposalProposalStatusFromJSON(object: any): ResponseProcessProposalProposalStatus { + switch (object) { + case 0: + case "UNKNOWN": + return ResponseProcessProposalProposalStatus.UNKNOWN; + case 1: + case "ACCEPT": + return ResponseProcessProposalProposalStatus.ACCEPT; + case 2: + case "REJECT": + return ResponseProcessProposalProposalStatus.REJECT; + case -1: + case "UNRECOGNIZED": + default: + return ResponseProcessProposalProposalStatus.UNRECOGNIZED; + } +} + +export function responseProcessProposalProposalStatusToJSON(object: ResponseProcessProposalProposalStatus): string { + switch (object) { + case ResponseProcessProposalProposalStatus.UNKNOWN: + return "UNKNOWN"; + case ResponseProcessProposalProposalStatus.ACCEPT: + return "ACCEPT"; + case ResponseProcessProposalProposalStatus.REJECT: + return "REJECT"; + case ResponseProcessProposalProposalStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function responseVerifyVoteExtensionVerifyStatusFromJSON(object: any): ResponseVerifyVoteExtensionVerifyStatus { + switch (object) { + case 0: + case "UNKNOWN": + return ResponseVerifyVoteExtensionVerifyStatus.UNKNOWN; + case 1: + case "ACCEPT": + return ResponseVerifyVoteExtensionVerifyStatus.ACCEPT; + case 2: + case "REJECT": + return ResponseVerifyVoteExtensionVerifyStatus.REJECT; + case -1: + case "UNRECOGNIZED": + default: + return ResponseVerifyVoteExtensionVerifyStatus.UNRECOGNIZED; + } +} + +export function responseVerifyVoteExtensionVerifyStatusToJSON(object: ResponseVerifyVoteExtensionVerifyStatus): string { + switch (object) { + case ResponseVerifyVoteExtensionVerifyStatus.UNKNOWN: + return "UNKNOWN"; + case ResponseVerifyVoteExtensionVerifyStatus.ACCEPT: + return "ACCEPT"; + case ResponseVerifyVoteExtensionVerifyStatus.REJECT: + return "REJECT"; + case ResponseVerifyVoteExtensionVerifyStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function txRecordTxActionFromJSON(object: any): TxRecordTxAction { + switch (object) { + case 0: + case "UNKNOWN": + return TxRecordTxAction.UNKNOWN; + case 1: + case "UNMODIFIED": + return TxRecordTxAction.UNMODIFIED; + case 2: + case "ADDED": + return TxRecordTxAction.ADDED; + case 3: + case "REMOVED": + return TxRecordTxAction.REMOVED; + case -1: + case "UNRECOGNIZED": + default: + return TxRecordTxAction.UNRECOGNIZED; + } +} + +export function txRecordTxActionToJSON(object: TxRecordTxAction): string { + switch (object) { + case TxRecordTxAction.UNKNOWN: + return "UNKNOWN"; + case TxRecordTxAction.UNMODIFIED: + return "UNMODIFIED"; + case TxRecordTxAction.ADDED: + return "ADDED"; + case TxRecordTxAction.REMOVED: + return "REMOVED"; + case TxRecordTxAction.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBaseRequest(): Request { + return { + echo: undefined, + flush: undefined, + info: undefined, + init_chain: undefined, + query: undefined, + check_tx: undefined, + commit: undefined, + list_snapshots: undefined, + offer_snapshot: undefined, + load_snapshot_chunk: undefined, + apply_snapshot_chunk: undefined, + prepare_proposal: undefined, + process_proposal: undefined, + extend_vote: undefined, + verify_vote_extension: undefined, + finalize_block: undefined, + }; +} + +function createBaseRequestEcho(): RequestEcho { + return { message: "" }; +} + +function createBaseRequestFlush(): RequestFlush { + return {}; +} + +function createBaseRequestInfo(): RequestInfo { + return { version: "", block_version: 0, p2p_version: 0, abci_version: "" }; +} + +function createBaseRequestInitChain(): RequestInitChain { + return { + time: undefined, + chain_id: "", + consensus_params: undefined, + validators: [], + app_state_bytes: new Uint8Array(0), + initial_height: 0, + }; +} + +function createBaseRequestQuery(): RequestQuery { + return { data: new Uint8Array(0), path: "", height: 0, prove: false }; +} + +function createBaseRequestCheckTx(): RequestCheckTx { + return { tx: new Uint8Array(0), type: 0 }; +} + +function createBaseRequestCommit(): RequestCommit { + return {}; +} + +function createBaseRequestListSnapshots(): RequestListSnapshots { + return {}; +} + +function createBaseRequestOfferSnapshot(): RequestOfferSnapshot { + return { snapshot: undefined, app_hash: new Uint8Array(0) }; +} + +function createBaseRequestLoadSnapshotChunk(): RequestLoadSnapshotChunk { + return { height: 0, format: 0, chunk: 0 }; +} + +function createBaseRequestApplySnapshotChunk(): RequestApplySnapshotChunk { + return { index: 0, chunk: new Uint8Array(0), sender: "" }; +} + +function createBaseRequestPrepareProposal(): RequestPrepareProposal { + return { + max_tx_bytes: 0, + txs: [], + local_last_commit: undefined, + byzantine_validators: [], + height: 0, + time: undefined, + next_validators_hash: new Uint8Array(0), + proposer_address: new Uint8Array(0), + }; +} + +function createBaseRequestProcessProposal(): RequestProcessProposal { + return { + txs: [], + proposed_last_commit: undefined, + byzantine_validators: [], + hash: new Uint8Array(0), + height: 0, + time: undefined, + next_validators_hash: new Uint8Array(0), + proposer_address: new Uint8Array(0), + }; +} + +function createBaseRequestExtendVote(): RequestExtendVote { + return { hash: new Uint8Array(0), height: 0 }; +} + +function createBaseRequestVerifyVoteExtension(): RequestVerifyVoteExtension { + return { + hash: new Uint8Array(0), + validator_address: new Uint8Array(0), + height: 0, + vote_extension: new Uint8Array(0), + }; +} + +function createBaseRequestFinalizeBlock(): RequestFinalizeBlock { + return { + txs: [], + decided_last_commit: undefined, + byzantine_validators: [], + hash: new Uint8Array(0), + height: 0, + time: undefined, + next_validators_hash: new Uint8Array(0), + proposer_address: new Uint8Array(0), + }; +} + +function createBaseResponse(): Response { + return { + exception: undefined, + echo: undefined, + flush: undefined, + info: undefined, + init_chain: undefined, + query: undefined, + check_tx: undefined, + commit: undefined, + list_snapshots: undefined, + offer_snapshot: undefined, + load_snapshot_chunk: undefined, + apply_snapshot_chunk: undefined, + prepare_proposal: undefined, + process_proposal: undefined, + extend_vote: undefined, + verify_vote_extension: undefined, + finalize_block: undefined, + }; +} + +function createBaseResponseException(): ResponseException { + return { error: "" }; +} + +function createBaseResponseEcho(): ResponseEcho { + return { message: "" }; +} + +function createBaseResponseFlush(): ResponseFlush { + return {}; +} + +function createBaseResponseInfo(): ResponseInfo { + return { data: "", version: "", app_version: 0, last_block_height: 0, last_block_app_hash: new Uint8Array(0) }; +} + +function createBaseResponseInitChain(): ResponseInitChain { + return { consensus_params: undefined, validators: [], app_hash: new Uint8Array(0) }; +} + +function createBaseResponseQuery(): ResponseQuery { + return { + code: 0, + log: "", + info: "", + index: 0, + key: new Uint8Array(0), + value: new Uint8Array(0), + proof_ops: undefined, + height: 0, + codespace: "", + }; +} + +function createBaseResponseCheckTx(): ResponseCheckTx { + return { code: 0, data: new Uint8Array(0), gas_wanted: 0, codespace: "", sender: "", priority: 0 }; +} + +function createBaseResponseDeliverTx(): ResponseDeliverTx { + return { code: 0, data: new Uint8Array(0), log: "", info: "", gas_wanted: 0, gas_used: 0, events: [], codespace: "" }; +} + +function createBaseResponseCommit(): ResponseCommit { + return { retain_height: 0 }; +} + +function createBaseResponseListSnapshots(): ResponseListSnapshots { + return { snapshots: [] }; +} + +function createBaseResponseOfferSnapshot(): ResponseOfferSnapshot { + return { result: 0 }; +} + +function createBaseResponseLoadSnapshotChunk(): ResponseLoadSnapshotChunk { + return { chunk: new Uint8Array(0) }; +} + +function createBaseResponseApplySnapshotChunk(): ResponseApplySnapshotChunk { + return { result: 0, refetch_chunks: [], reject_senders: [] }; +} + +function createBaseResponsePrepareProposal(): ResponsePrepareProposal { + return { + tx_records: [], + app_hash: new Uint8Array(0), + tx_results: [], + validator_updates: [], + consensus_param_updates: undefined, + }; +} + +function createBaseResponseProcessProposal(): ResponseProcessProposal { + return { + status: 0, + app_hash: new Uint8Array(0), + tx_results: [], + validator_updates: [], + consensus_param_updates: undefined, + }; +} + +function createBaseResponseExtendVote(): ResponseExtendVote { + return { vote_extension: new Uint8Array(0) }; +} + +function createBaseResponseVerifyVoteExtension(): ResponseVerifyVoteExtension { + return { status: 0 }; +} + +function createBaseResponseFinalizeBlock(): ResponseFinalizeBlock { + return { + events: [], + tx_results: [], + validator_updates: [], + consensus_param_updates: undefined, + app_hash: new Uint8Array(0), + }; +} + +function createBaseCommitInfo(): CommitInfo { + return { round: 0, votes: [] }; +} + +function createBaseExtendedCommitInfo(): ExtendedCommitInfo { + return { round: 0, votes: [] }; +} + +function createBaseEvent(): Event { + return { type: "", attributes: [] }; +} + +function createBaseEventAttribute(): EventAttribute { + return { key: "", value: "", index: false }; +} + +function createBaseExecTxResult(): ExecTxResult { + return { code: 0, data: new Uint8Array(0), log: "", info: "", gas_wanted: 0, gas_used: 0, events: [], codespace: "" }; +} + +function createBaseTxResult(): TxResult { + return { height: 0, index: 0, tx: new Uint8Array(0), result: undefined }; +} + +function createBaseTxRecord(): TxRecord { + return { action: 0, tx: new Uint8Array(0) }; +} + +function createBaseValidator(): Validator { + return { address: new Uint8Array(0), power: 0 }; +} + +function createBaseValidatorUpdate(): ValidatorUpdate { + return { pub_key: undefined, power: 0 }; +} + +function createBaseVoteInfo(): VoteInfo { + return { validator: undefined, signed_last_block: false }; +} + +function createBaseExtendedVoteInfo(): ExtendedVoteInfo { + return { validator: undefined, signed_last_block: false, vote_extension: new Uint8Array(0) }; +} + +function createBaseMisbehavior(): Misbehavior { + return { type: 0, validator: undefined, height: 0, time: undefined, total_voting_power: 0 }; +} + +function createBaseSnapshot(): Snapshot { + return { height: 0, format: 0, chunks: 0, hash: new Uint8Array(0), metadata: new Uint8Array(0) }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.abci.Request", Request as never], + ["/tendermint.abci.RequestEcho", RequestEcho as never], + ["/tendermint.abci.RequestFlush", RequestFlush as never], + ["/tendermint.abci.RequestInfo", RequestInfo as never], + ["/tendermint.abci.RequestInitChain", RequestInitChain as never], + ["/tendermint.abci.RequestQuery", RequestQuery as never], + ["/tendermint.abci.RequestCheckTx", RequestCheckTx as never], + ["/tendermint.abci.RequestCommit", RequestCommit as never], + ["/tendermint.abci.RequestListSnapshots", RequestListSnapshots as never], + ["/tendermint.abci.RequestOfferSnapshot", RequestOfferSnapshot as never], + ["/tendermint.abci.RequestPrepareProposal", RequestPrepareProposal as never], + ["/tendermint.abci.RequestProcessProposal", RequestProcessProposal as never], + ["/tendermint.abci.RequestExtendVote", RequestExtendVote as never], + ["/tendermint.abci.RequestFinalizeBlock", RequestFinalizeBlock as never], + ["/tendermint.abci.Response", Response as never], + ["/tendermint.abci.ResponseException", ResponseException as never], + ["/tendermint.abci.ResponseEcho", ResponseEcho as never], + ["/tendermint.abci.ResponseFlush", ResponseFlush as never], + ["/tendermint.abci.ResponseInfo", ResponseInfo as never], + ["/tendermint.abci.ResponseInitChain", ResponseInitChain as never], + ["/tendermint.abci.ResponseQuery", ResponseQuery as never], + ["/tendermint.abci.ResponseCheckTx", ResponseCheckTx as never], + ["/tendermint.abci.ResponseDeliverTx", ResponseDeliverTx as never], + ["/tendermint.abci.ResponseCommit", ResponseCommit as never], + ["/tendermint.abci.ResponseListSnapshots", ResponseListSnapshots as never], + ["/tendermint.abci.ResponseOfferSnapshot", ResponseOfferSnapshot as never], + ["/tendermint.abci.ResponsePrepareProposal", ResponsePrepareProposal as never], + ["/tendermint.abci.ResponseProcessProposal", ResponseProcessProposal as never], + ["/tendermint.abci.ResponseExtendVote", ResponseExtendVote as never], + ["/tendermint.abci.ResponseFinalizeBlock", ResponseFinalizeBlock as never], + ["/tendermint.abci.CommitInfo", CommitInfo as never], + ["/tendermint.abci.ExtendedCommitInfo", ExtendedCommitInfo as never], + ["/tendermint.abci.Event", Event as never], + ["/tendermint.abci.EventAttribute", EventAttribute as never], + ["/tendermint.abci.ExecTxResult", ExecTxResult as never], + ["/tendermint.abci.TxResult", TxResult as never], + ["/tendermint.abci.TxRecord", TxRecord as never], + ["/tendermint.abci.Validator", Validator as never], + ["/tendermint.abci.ValidatorUpdate", ValidatorUpdate as never], + ["/tendermint.abci.VoteInfo", VoteInfo as never], + ["/tendermint.abci.ExtendedVoteInfo", ExtendedVoteInfo as never], + ["/tendermint.abci.Misbehavior", Misbehavior as never], + ["/tendermint.abci.Snapshot", Snapshot as never], +]; +export const aminoConverters = { + "/tendermint.abci.Request": { + aminoType: "tendermint.abci.Request", + toAmino: (message: Request) => ({ ...message }), + fromAmino: (object: Request) => ({ ...object }), + }, + + "/tendermint.abci.RequestEcho": { + aminoType: "tendermint.abci.RequestEcho", + toAmino: (message: RequestEcho) => ({ ...message }), + fromAmino: (object: RequestEcho) => ({ ...object }), + }, + + "/tendermint.abci.RequestFlush": { + aminoType: "tendermint.abci.RequestFlush", + toAmino: (message: RequestFlush) => ({ ...message }), + fromAmino: (object: RequestFlush) => ({ ...object }), + }, + + "/tendermint.abci.RequestInfo": { + aminoType: "tendermint.abci.RequestInfo", + toAmino: (message: RequestInfo) => ({ ...message }), + fromAmino: (object: RequestInfo) => ({ ...object }), + }, + + "/tendermint.abci.RequestInitChain": { + aminoType: "tendermint.abci.RequestInitChain", + toAmino: (message: RequestInitChain) => ({ ...message }), + fromAmino: (object: RequestInitChain) => ({ ...object }), + }, + + "/tendermint.abci.RequestQuery": { + aminoType: "tendermint.abci.RequestQuery", + toAmino: (message: RequestQuery) => ({ ...message }), + fromAmino: (object: RequestQuery) => ({ ...object }), + }, + + "/tendermint.abci.RequestCheckTx": { + aminoType: "tendermint.abci.RequestCheckTx", + toAmino: (message: RequestCheckTx) => ({ ...message }), + fromAmino: (object: RequestCheckTx) => ({ ...object }), + }, + + "/tendermint.abci.RequestCommit": { + aminoType: "tendermint.abci.RequestCommit", + toAmino: (message: RequestCommit) => ({ ...message }), + fromAmino: (object: RequestCommit) => ({ ...object }), + }, + + "/tendermint.abci.RequestListSnapshots": { + aminoType: "tendermint.abci.RequestListSnapshots", + toAmino: (message: RequestListSnapshots) => ({ ...message }), + fromAmino: (object: RequestListSnapshots) => ({ ...object }), + }, + + "/tendermint.abci.RequestOfferSnapshot": { + aminoType: "tendermint.abci.RequestOfferSnapshot", + toAmino: (message: RequestOfferSnapshot) => ({ ...message }), + fromAmino: (object: RequestOfferSnapshot) => ({ ...object }), + }, + + "/tendermint.abci.RequestPrepareProposal": { + aminoType: "tendermint.abci.RequestPrepareProposal", + toAmino: (message: RequestPrepareProposal) => ({ ...message }), + fromAmino: (object: RequestPrepareProposal) => ({ ...object }), + }, + + "/tendermint.abci.RequestProcessProposal": { + aminoType: "tendermint.abci.RequestProcessProposal", + toAmino: (message: RequestProcessProposal) => ({ ...message }), + fromAmino: (object: RequestProcessProposal) => ({ ...object }), + }, + + "/tendermint.abci.RequestExtendVote": { + aminoType: "tendermint.abci.RequestExtendVote", + toAmino: (message: RequestExtendVote) => ({ ...message }), + fromAmino: (object: RequestExtendVote) => ({ ...object }), + }, + + "/tendermint.abci.RequestFinalizeBlock": { + aminoType: "tendermint.abci.RequestFinalizeBlock", + toAmino: (message: RequestFinalizeBlock) => ({ ...message }), + fromAmino: (object: RequestFinalizeBlock) => ({ ...object }), + }, + + "/tendermint.abci.Response": { + aminoType: "tendermint.abci.Response", + toAmino: (message: Response) => ({ ...message }), + fromAmino: (object: Response) => ({ ...object }), + }, + + "/tendermint.abci.ResponseException": { + aminoType: "tendermint.abci.ResponseException", + toAmino: (message: ResponseException) => ({ ...message }), + fromAmino: (object: ResponseException) => ({ ...object }), + }, + + "/tendermint.abci.ResponseEcho": { + aminoType: "tendermint.abci.ResponseEcho", + toAmino: (message: ResponseEcho) => ({ ...message }), + fromAmino: (object: ResponseEcho) => ({ ...object }), + }, + + "/tendermint.abci.ResponseFlush": { + aminoType: "tendermint.abci.ResponseFlush", + toAmino: (message: ResponseFlush) => ({ ...message }), + fromAmino: (object: ResponseFlush) => ({ ...object }), + }, + + "/tendermint.abci.ResponseInfo": { + aminoType: "tendermint.abci.ResponseInfo", + toAmino: (message: ResponseInfo) => ({ ...message }), + fromAmino: (object: ResponseInfo) => ({ ...object }), + }, + + "/tendermint.abci.ResponseInitChain": { + aminoType: "tendermint.abci.ResponseInitChain", + toAmino: (message: ResponseInitChain) => ({ ...message }), + fromAmino: (object: ResponseInitChain) => ({ ...object }), + }, + + "/tendermint.abci.ResponseQuery": { + aminoType: "tendermint.abci.ResponseQuery", + toAmino: (message: ResponseQuery) => ({ ...message }), + fromAmino: (object: ResponseQuery) => ({ ...object }), + }, + + "/tendermint.abci.ResponseCheckTx": { + aminoType: "tendermint.abci.ResponseCheckTx", + toAmino: (message: ResponseCheckTx) => ({ ...message }), + fromAmino: (object: ResponseCheckTx) => ({ ...object }), + }, + + "/tendermint.abci.ResponseDeliverTx": { + aminoType: "tendermint.abci.ResponseDeliverTx", + toAmino: (message: ResponseDeliverTx) => ({ ...message }), + fromAmino: (object: ResponseDeliverTx) => ({ ...object }), + }, + + "/tendermint.abci.ResponseCommit": { + aminoType: "tendermint.abci.ResponseCommit", + toAmino: (message: ResponseCommit) => ({ ...message }), + fromAmino: (object: ResponseCommit) => ({ ...object }), + }, + + "/tendermint.abci.ResponseListSnapshots": { + aminoType: "tendermint.abci.ResponseListSnapshots", + toAmino: (message: ResponseListSnapshots) => ({ ...message }), + fromAmino: (object: ResponseListSnapshots) => ({ ...object }), + }, + + "/tendermint.abci.ResponseOfferSnapshot": { + aminoType: "tendermint.abci.ResponseOfferSnapshot", + toAmino: (message: ResponseOfferSnapshot) => ({ ...message }), + fromAmino: (object: ResponseOfferSnapshot) => ({ ...object }), + }, + + "/tendermint.abci.ResponsePrepareProposal": { + aminoType: "tendermint.abci.ResponsePrepareProposal", + toAmino: (message: ResponsePrepareProposal) => ({ ...message }), + fromAmino: (object: ResponsePrepareProposal) => ({ ...object }), + }, + + "/tendermint.abci.ResponseProcessProposal": { + aminoType: "tendermint.abci.ResponseProcessProposal", + toAmino: (message: ResponseProcessProposal) => ({ ...message }), + fromAmino: (object: ResponseProcessProposal) => ({ ...object }), + }, + + "/tendermint.abci.ResponseExtendVote": { + aminoType: "tendermint.abci.ResponseExtendVote", + toAmino: (message: ResponseExtendVote) => ({ ...message }), + fromAmino: (object: ResponseExtendVote) => ({ ...object }), + }, + + "/tendermint.abci.ResponseFinalizeBlock": { + aminoType: "tendermint.abci.ResponseFinalizeBlock", + toAmino: (message: ResponseFinalizeBlock) => ({ ...message }), + fromAmino: (object: ResponseFinalizeBlock) => ({ ...object }), + }, + + "/tendermint.abci.CommitInfo": { + aminoType: "tendermint.abci.CommitInfo", + toAmino: (message: CommitInfo) => ({ ...message }), + fromAmino: (object: CommitInfo) => ({ ...object }), + }, + + "/tendermint.abci.ExtendedCommitInfo": { + aminoType: "tendermint.abci.ExtendedCommitInfo", + toAmino: (message: ExtendedCommitInfo) => ({ ...message }), + fromAmino: (object: ExtendedCommitInfo) => ({ ...object }), + }, + + "/tendermint.abci.Event": { + aminoType: "tendermint.abci.Event", + toAmino: (message: Event) => ({ ...message }), + fromAmino: (object: Event) => ({ ...object }), + }, + + "/tendermint.abci.EventAttribute": { + aminoType: "tendermint.abci.EventAttribute", + toAmino: (message: EventAttribute) => ({ ...message }), + fromAmino: (object: EventAttribute) => ({ ...object }), + }, + + "/tendermint.abci.ExecTxResult": { + aminoType: "tendermint.abci.ExecTxResult", + toAmino: (message: ExecTxResult) => ({ ...message }), + fromAmino: (object: ExecTxResult) => ({ ...object }), + }, + + "/tendermint.abci.TxResult": { + aminoType: "tendermint.abci.TxResult", + toAmino: (message: TxResult) => ({ ...message }), + fromAmino: (object: TxResult) => ({ ...object }), + }, + + "/tendermint.abci.TxRecord": { + aminoType: "tendermint.abci.TxRecord", + toAmino: (message: TxRecord) => ({ ...message }), + fromAmino: (object: TxRecord) => ({ ...object }), + }, + + "/tendermint.abci.Validator": { + aminoType: "tendermint.abci.Validator", + toAmino: (message: Validator) => ({ ...message }), + fromAmino: (object: Validator) => ({ ...object }), + }, + + "/tendermint.abci.ValidatorUpdate": { + aminoType: "tendermint.abci.ValidatorUpdate", + toAmino: (message: ValidatorUpdate) => ({ ...message }), + fromAmino: (object: ValidatorUpdate) => ({ ...object }), + }, + + "/tendermint.abci.VoteInfo": { + aminoType: "tendermint.abci.VoteInfo", + toAmino: (message: VoteInfo) => ({ ...message }), + fromAmino: (object: VoteInfo) => ({ ...object }), + }, + + "/tendermint.abci.ExtendedVoteInfo": { + aminoType: "tendermint.abci.ExtendedVoteInfo", + toAmino: (message: ExtendedVoteInfo) => ({ ...message }), + fromAmino: (object: ExtendedVoteInfo) => ({ ...object }), + }, + + "/tendermint.abci.Misbehavior": { + aminoType: "tendermint.abci.Misbehavior", + toAmino: (message: Misbehavior) => ({ ...message }), + fromAmino: (object: Misbehavior) => ({ ...object }), + }, + + "/tendermint.abci.Snapshot": { + aminoType: "tendermint.abci.Snapshot", + toAmino: (message: Snapshot) => ({ ...message }), + fromAmino: (object: Snapshot) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/crypto/index.ts b/packages/cosmos/generated/encoding/tendermint/crypto/index.ts new file mode 100644 index 000000000..409b039e7 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/crypto/index.ts @@ -0,0 +1,2 @@ +export * from './keys'; +export * from './proof'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts b/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts new file mode 100644 index 000000000..85c33695c --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts @@ -0,0 +1,137 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { PublicKey as PublicKeyType } from "../../../types/tendermint/crypto"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface PublicKey extends PublicKeyType {} + +export const PublicKey: MessageFns = { + $type: "tendermint.crypto.PublicKey" as const, + + encode(message: PublicKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.ed25519 !== undefined) { + writer.uint32(10).bytes(message.ed25519); + } + if (message.secp256k1 !== undefined) { + writer.uint32(18).bytes(message.secp256k1); + } + if (message.sr25519 !== undefined) { + writer.uint32(26).bytes(message.sr25519); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PublicKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePublicKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.ed25519 = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.secp256k1 = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.sr25519 = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PublicKey { + return { + ed25519: isSet(object.ed25519) ? bytesFromBase64(object.ed25519) : undefined, + secp256k1: isSet(object.secp256k1) ? bytesFromBase64(object.secp256k1) : undefined, + sr25519: isSet(object.sr25519) ? bytesFromBase64(object.sr25519) : undefined, + }; + }, + + toJSON(message: PublicKey): unknown { + const obj: any = {}; + if (message.ed25519 !== undefined) { + obj.ed25519 = base64FromBytes(message.ed25519); + } + if (message.secp256k1 !== undefined) { + obj.secp256k1 = base64FromBytes(message.secp256k1); + } + if (message.sr25519 !== undefined) { + obj.sr25519 = base64FromBytes(message.sr25519); + } + return obj; + }, + + create, I>>(base?: I): PublicKey { + return PublicKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PublicKey { + const message = createBasePublicKey(); + message.ed25519 = object.ed25519 ?? undefined; + message.secp256k1 = object.secp256k1 ?? undefined; + message.sr25519 = object.sr25519 ?? undefined; + return message; + }, +}; + +function createBasePublicKey(): PublicKey { + return { ed25519: undefined, secp256k1: undefined, sr25519: undefined }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/tendermint.crypto.PublicKey", PublicKey as never]]; +export const aminoConverters = { + "/tendermint.crypto.PublicKey": { + aminoType: "tendermint.crypto.PublicKey", + toAmino: (message: PublicKey) => ({ ...message }), + fromAmino: (object: PublicKey) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts b/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts new file mode 100644 index 000000000..b01b58baf --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts @@ -0,0 +1,520 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { + DominoOp as DominoOpType, + ProofOp as ProofOpType, + ProofOps as ProofOpsType, + Proof as ProofType, + ValueOp as ValueOpType, +} from "../../../types/tendermint/crypto"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Proof extends ProofType {} +interface ValueOp extends ValueOpType {} +interface DominoOp extends DominoOpType {} +interface ProofOp extends ProofOpType {} +interface ProofOps extends ProofOpsType {} + +export const Proof: MessageFns = { + $type: "tendermint.crypto.Proof" as const, + + encode(message: Proof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.total !== 0) { + writer.uint32(8).int64(message.total); + } + if (message.index !== 0) { + writer.uint32(16).int64(message.index); + } + if (message.leaf_hash.length !== 0) { + writer.uint32(26).bytes(message.leaf_hash); + } + for (const v of message.aunts) { + writer.uint32(34).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Proof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.total = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.index = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.leaf_hash = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.aunts.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Proof { + return { + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + leaf_hash: isSet(object.leaf_hash) ? bytesFromBase64(object.leaf_hash) : new Uint8Array(0), + aunts: globalThis.Array.isArray(object?.aunts) ? object.aunts.map((e: any) => bytesFromBase64(e)) : [], + }; + }, + + toJSON(message: Proof): unknown { + const obj: any = {}; + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.leaf_hash.length !== 0) { + obj.leaf_hash = base64FromBytes(message.leaf_hash); + } + if (message.aunts?.length) { + obj.aunts = message.aunts.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): Proof { + return Proof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Proof { + const message = createBaseProof(); + message.total = object.total ?? 0; + message.index = object.index ?? 0; + message.leaf_hash = object.leaf_hash ?? new Uint8Array(0); + message.aunts = object.aunts?.map((e) => e) || []; + return message; + }, +}; + +export const ValueOp: MessageFns = { + $type: "tendermint.crypto.ValueOp" as const, + + encode(message: ValueOp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValueOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValueOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.proof = Proof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValueOp { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined, + }; + }, + + toJSON(message: ValueOp): unknown { + const obj: any = {}; + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.proof !== undefined) { + obj.proof = Proof.toJSON(message.proof); + } + return obj; + }, + + create, I>>(base?: I): ValueOp { + return ValueOp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValueOp { + const message = createBaseValueOp(); + message.key = object.key ?? new Uint8Array(0); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, +}; + +export const DominoOp: MessageFns = { + $type: "tendermint.crypto.DominoOp" as const, + + encode(message: DominoOp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.input !== "") { + writer.uint32(18).string(message.input); + } + if (message.output !== "") { + writer.uint32(26).string(message.output); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DominoOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDominoOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.input = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.output = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DominoOp { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + input: isSet(object.input) ? globalThis.String(object.input) : "", + output: isSet(object.output) ? globalThis.String(object.output) : "", + }; + }, + + toJSON(message: DominoOp): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.input !== "") { + obj.input = message.input; + } + if (message.output !== "") { + obj.output = message.output; + } + return obj; + }, + + create, I>>(base?: I): DominoOp { + return DominoOp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DominoOp { + const message = createBaseDominoOp(); + message.key = object.key ?? ""; + message.input = object.input ?? ""; + message.output = object.output ?? ""; + return message; + }, +}; + +export const ProofOp: MessageFns = { + $type: "tendermint.crypto.ProofOp" as const, + + encode(message: ProofOp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== "") { + writer.uint32(10).string(message.type); + } + if (message.key.length !== 0) { + writer.uint32(18).bytes(message.key); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ProofOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.type = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.key = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ProofOp { + return { + type: isSet(object.type) ? globalThis.String(object.type) : "", + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: ProofOp): unknown { + const obj: any = {}; + if (message.type !== "") { + obj.type = message.type; + } + if (message.key.length !== 0) { + obj.key = base64FromBytes(message.key); + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + return obj; + }, + + create, I>>(base?: I): ProofOp { + return ProofOp.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ProofOp { + const message = createBaseProofOp(); + message.type = object.type ?? ""; + message.key = object.key ?? new Uint8Array(0); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +export const ProofOps: MessageFns = { + $type: "tendermint.crypto.ProofOps" as const, + + encode(message: ProofOps, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.ops) { + ProofOp.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ProofOps { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofOps(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.ops.push(ProofOp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ProofOps { + return { ops: globalThis.Array.isArray(object?.ops) ? object.ops.map((e: any) => ProofOp.fromJSON(e)) : [] }; + }, + + toJSON(message: ProofOps): unknown { + const obj: any = {}; + if (message.ops?.length) { + obj.ops = message.ops.map((e) => ProofOp.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ProofOps { + return ProofOps.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ProofOps { + const message = createBaseProofOps(); + message.ops = object.ops?.map((e) => ProofOp.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseProof(): Proof { + return { total: 0, index: 0, leaf_hash: new Uint8Array(0), aunts: [] }; +} + +function createBaseValueOp(): ValueOp { + return { key: new Uint8Array(0), proof: undefined }; +} + +function createBaseDominoOp(): DominoOp { + return { key: "", input: "", output: "" }; +} + +function createBaseProofOp(): ProofOp { + return { type: "", key: new Uint8Array(0), data: new Uint8Array(0) }; +} + +function createBaseProofOps(): ProofOps { + return { ops: [] }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.crypto.Proof", Proof as never], + ["/tendermint.crypto.ValueOp", ValueOp as never], + ["/tendermint.crypto.DominoOp", DominoOp as never], + ["/tendermint.crypto.ProofOp", ProofOp as never], + ["/tendermint.crypto.ProofOps", ProofOps as never], +]; +export const aminoConverters = { + "/tendermint.crypto.Proof": { + aminoType: "tendermint.crypto.Proof", + toAmino: (message: Proof) => ({ ...message }), + fromAmino: (object: Proof) => ({ ...object }), + }, + + "/tendermint.crypto.ValueOp": { + aminoType: "tendermint.crypto.ValueOp", + toAmino: (message: ValueOp) => ({ ...message }), + fromAmino: (object: ValueOp) => ({ ...object }), + }, + + "/tendermint.crypto.DominoOp": { + aminoType: "tendermint.crypto.DominoOp", + toAmino: (message: DominoOp) => ({ ...message }), + fromAmino: (object: DominoOp) => ({ ...object }), + }, + + "/tendermint.crypto.ProofOp": { + aminoType: "tendermint.crypto.ProofOp", + toAmino: (message: ProofOp) => ({ ...message }), + fromAmino: (object: ProofOp) => ({ ...object }), + }, + + "/tendermint.crypto.ProofOps": { + aminoType: "tendermint.crypto.ProofOps", + toAmino: (message: ProofOps) => ({ ...message }), + fromAmino: (object: ProofOps) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/libs/bits/index.ts b/packages/cosmos/generated/encoding/tendermint/libs/bits/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/libs/bits/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts b/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts new file mode 100644 index 000000000..95684b3d2 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts @@ -0,0 +1,120 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { BitArray as BitArrayType } from "../../../../types/tendermint/libs/bits"; + +import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; + +interface BitArray extends BitArrayType {} + +export const BitArray: MessageFns = { + $type: "tendermint.libs.bits.BitArray" as const, + + encode(message: BitArray, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.bits !== 0) { + writer.uint32(8).int64(message.bits); + } + writer.uint32(18).fork(); + for (const v of message.elems) { + writer.uint64(v); + } + writer.join(); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BitArray { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBitArray(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.bits = longToNumber(reader.int64()); + continue; + case 2: + if (tag === 16) { + message.elems.push(longToNumber(reader.uint64())); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.elems.push(longToNumber(reader.uint64())); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BitArray { + return { + bits: isSet(object.bits) ? globalThis.Number(object.bits) : 0, + elems: globalThis.Array.isArray(object?.elems) ? object.elems.map((e: any) => globalThis.Number(e)) : [], + }; + }, + + toJSON(message: BitArray): unknown { + const obj: any = {}; + if (message.bits !== 0) { + obj.bits = Math.round(message.bits); + } + if (message.elems?.length) { + obj.elems = message.elems.map((e) => Math.round(e)); + } + return obj; + }, + + create, I>>(base?: I): BitArray { + return BitArray.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BitArray { + const message = createBaseBitArray(); + message.bits = object.bits ?? 0; + message.elems = object.elems?.map((e) => e) || []; + return message; + }, +}; + +function createBaseBitArray(): BitArray { + return { bits: 0, elems: [] }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/tendermint.libs.bits.BitArray", BitArray as never]]; +export const aminoConverters = { + "/tendermint.libs.bits.BitArray": { + aminoType: "tendermint.libs.bits.BitArray", + toAmino: (message: BitArray) => ({ ...message }), + fromAmino: (object: BitArray) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/p2p/index.ts b/packages/cosmos/generated/encoding/tendermint/p2p/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/p2p/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/p2p/types.ts b/packages/cosmos/generated/encoding/tendermint/p2p/types.ts new file mode 100644 index 000000000..d63f34752 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/p2p/types.ts @@ -0,0 +1,661 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Timestamp } from "../../google/protobuf/timestamp"; + +import type { + NodeInfoOther as NodeInfoOtherType, + NodeInfo as NodeInfoType, + PeerAddressInfo as PeerAddressInfoType, + PeerInfo as PeerInfoType, + ProtocolVersion as ProtocolVersionType, +} from "../../../types/tendermint/p2p"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface ProtocolVersion extends ProtocolVersionType {} +interface NodeInfo extends NodeInfoType {} +interface NodeInfoOther extends NodeInfoOtherType {} +interface PeerInfo extends PeerInfoType {} +interface PeerAddressInfo extends PeerAddressInfoType {} + +export const ProtocolVersion: MessageFns = { + $type: "tendermint.p2p.ProtocolVersion" as const, + + encode(message: ProtocolVersion, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.p2p !== 0) { + writer.uint32(8).uint64(message.p2p); + } + if (message.block !== 0) { + writer.uint32(16).uint64(message.block); + } + if (message.app !== 0) { + writer.uint32(24).uint64(message.app); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ProtocolVersion { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProtocolVersion(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.p2p = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.block = longToNumber(reader.uint64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.app = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ProtocolVersion { + return { + p2p: isSet(object.p2p) ? globalThis.Number(object.p2p) : 0, + block: isSet(object.block) ? globalThis.Number(object.block) : 0, + app: isSet(object.app) ? globalThis.Number(object.app) : 0, + }; + }, + + toJSON(message: ProtocolVersion): unknown { + const obj: any = {}; + if (message.p2p !== 0) { + obj.p2p = Math.round(message.p2p); + } + if (message.block !== 0) { + obj.block = Math.round(message.block); + } + if (message.app !== 0) { + obj.app = Math.round(message.app); + } + return obj; + }, + + create, I>>(base?: I): ProtocolVersion { + return ProtocolVersion.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ProtocolVersion { + const message = createBaseProtocolVersion(); + message.p2p = object.p2p ?? 0; + message.block = object.block ?? 0; + message.app = object.app ?? 0; + return message; + }, +}; + +export const NodeInfo: MessageFns = { + $type: "tendermint.p2p.NodeInfo" as const, + + encode(message: NodeInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.protocol_version !== undefined) { + ProtocolVersion.encode(message.protocol_version, writer.uint32(10).fork()).join(); + } + if (message.node_id !== "") { + writer.uint32(18).string(message.node_id); + } + if (message.listen_addr !== "") { + writer.uint32(26).string(message.listen_addr); + } + if (message.network !== "") { + writer.uint32(34).string(message.network); + } + if (message.version !== "") { + writer.uint32(42).string(message.version); + } + if (message.channels.length !== 0) { + writer.uint32(50).bytes(message.channels); + } + if (message.moniker !== "") { + writer.uint32(58).string(message.moniker); + } + if (message.other !== undefined) { + NodeInfoOther.encode(message.other, writer.uint32(66).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): NodeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.protocol_version = ProtocolVersion.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.node_id = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.listen_addr = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.network = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.version = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.channels = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.moniker = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.other = NodeInfoOther.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): NodeInfo { + return { + protocol_version: isSet(object.protocol_version) ? ProtocolVersion.fromJSON(object.protocol_version) : undefined, + node_id: isSet(object.node_id) ? globalThis.String(object.node_id) : "", + listen_addr: isSet(object.listen_addr) ? globalThis.String(object.listen_addr) : "", + network: isSet(object.network) ? globalThis.String(object.network) : "", + version: isSet(object.version) ? globalThis.String(object.version) : "", + channels: isSet(object.channels) ? bytesFromBase64(object.channels) : new Uint8Array(0), + moniker: isSet(object.moniker) ? globalThis.String(object.moniker) : "", + other: isSet(object.other) ? NodeInfoOther.fromJSON(object.other) : undefined, + }; + }, + + toJSON(message: NodeInfo): unknown { + const obj: any = {}; + if (message.protocol_version !== undefined) { + obj.protocol_version = ProtocolVersion.toJSON(message.protocol_version); + } + if (message.node_id !== "") { + obj.node_id = message.node_id; + } + if (message.listen_addr !== "") { + obj.listen_addr = message.listen_addr; + } + if (message.network !== "") { + obj.network = message.network; + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.channels.length !== 0) { + obj.channels = base64FromBytes(message.channels); + } + if (message.moniker !== "") { + obj.moniker = message.moniker; + } + if (message.other !== undefined) { + obj.other = NodeInfoOther.toJSON(message.other); + } + return obj; + }, + + create, I>>(base?: I): NodeInfo { + return NodeInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): NodeInfo { + const message = createBaseNodeInfo(); + message.protocol_version = + object.protocol_version !== undefined && object.protocol_version !== null ? ProtocolVersion.fromPartial(object.protocol_version) : undefined; + message.node_id = object.node_id ?? ""; + message.listen_addr = object.listen_addr ?? ""; + message.network = object.network ?? ""; + message.version = object.version ?? ""; + message.channels = object.channels ?? new Uint8Array(0); + message.moniker = object.moniker ?? ""; + message.other = object.other !== undefined && object.other !== null ? NodeInfoOther.fromPartial(object.other) : undefined; + return message; + }, +}; + +export const NodeInfoOther: MessageFns = { + $type: "tendermint.p2p.NodeInfoOther" as const, + + encode(message: NodeInfoOther, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.tx_index !== "") { + writer.uint32(10).string(message.tx_index); + } + if (message.rpc_address !== "") { + writer.uint32(18).string(message.rpc_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): NodeInfoOther { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNodeInfoOther(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.tx_index = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.rpc_address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): NodeInfoOther { + return { + tx_index: isSet(object.tx_index) ? globalThis.String(object.tx_index) : "", + rpc_address: isSet(object.rpc_address) ? globalThis.String(object.rpc_address) : "", + }; + }, + + toJSON(message: NodeInfoOther): unknown { + const obj: any = {}; + if (message.tx_index !== "") { + obj.tx_index = message.tx_index; + } + if (message.rpc_address !== "") { + obj.rpc_address = message.rpc_address; + } + return obj; + }, + + create, I>>(base?: I): NodeInfoOther { + return NodeInfoOther.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): NodeInfoOther { + const message = createBaseNodeInfoOther(); + message.tx_index = object.tx_index ?? ""; + message.rpc_address = object.rpc_address ?? ""; + return message; + }, +}; + +export const PeerInfo: MessageFns = { + $type: "tendermint.p2p.PeerInfo" as const, + + encode(message: PeerInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + for (const v of message.address_info) { + PeerAddressInfo.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.last_connected !== undefined) { + Timestamp.encode(toTimestamp(message.last_connected), writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PeerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.address_info.push(PeerAddressInfo.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.last_connected = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerInfo { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + address_info: globalThis.Array.isArray(object?.address_info) ? object.address_info.map((e: any) => PeerAddressInfo.fromJSON(e)) : [], + last_connected: isSet(object.last_connected) ? fromJsonTimestamp(object.last_connected) : undefined, + }; + }, + + toJSON(message: PeerInfo): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.address_info?.length) { + obj.address_info = message.address_info.map((e) => PeerAddressInfo.toJSON(e)); + } + if (message.last_connected !== undefined) { + obj.last_connected = message.last_connected.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): PeerInfo { + return PeerInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerInfo { + const message = createBasePeerInfo(); + message.id = object.id ?? ""; + message.address_info = object.address_info?.map((e) => PeerAddressInfo.fromPartial(e)) || []; + message.last_connected = object.last_connected ?? undefined; + return message; + }, +}; + +export const PeerAddressInfo: MessageFns = { + $type: "tendermint.p2p.PeerAddressInfo" as const, + + encode(message: PeerAddressInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.last_dial_success !== undefined) { + Timestamp.encode(toTimestamp(message.last_dial_success), writer.uint32(18).fork()).join(); + } + if (message.last_dial_failure !== undefined) { + Timestamp.encode(toTimestamp(message.last_dial_failure), writer.uint32(26).fork()).join(); + } + if (message.dial_failures !== 0) { + writer.uint32(32).uint32(message.dial_failures); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PeerAddressInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePeerAddressInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.last_dial_success = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.last_dial_failure = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.dial_failures = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PeerAddressInfo { + return { + address: isSet(object.address) ? globalThis.String(object.address) : "", + last_dial_success: isSet(object.last_dial_success) ? fromJsonTimestamp(object.last_dial_success) : undefined, + last_dial_failure: isSet(object.last_dial_failure) ? fromJsonTimestamp(object.last_dial_failure) : undefined, + dial_failures: isSet(object.dial_failures) ? globalThis.Number(object.dial_failures) : 0, + }; + }, + + toJSON(message: PeerAddressInfo): unknown { + const obj: any = {}; + if (message.address !== "") { + obj.address = message.address; + } + if (message.last_dial_success !== undefined) { + obj.last_dial_success = message.last_dial_success.toISOString(); + } + if (message.last_dial_failure !== undefined) { + obj.last_dial_failure = message.last_dial_failure.toISOString(); + } + if (message.dial_failures !== 0) { + obj.dial_failures = Math.round(message.dial_failures); + } + return obj; + }, + + create, I>>(base?: I): PeerAddressInfo { + return PeerAddressInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PeerAddressInfo { + const message = createBasePeerAddressInfo(); + message.address = object.address ?? ""; + message.last_dial_success = object.last_dial_success ?? undefined; + message.last_dial_failure = object.last_dial_failure ?? undefined; + message.dial_failures = object.dial_failures ?? 0; + return message; + }, +}; + +function createBaseProtocolVersion(): ProtocolVersion { + return { p2p: 0, block: 0, app: 0 }; +} + +function createBaseNodeInfo(): NodeInfo { + return { + protocol_version: undefined, + node_id: "", + listen_addr: "", + network: "", + version: "", + channels: new Uint8Array(0), + moniker: "", + other: undefined, + }; +} + +function createBaseNodeInfoOther(): NodeInfoOther { + return { tx_index: "", rpc_address: "" }; +} + +function createBasePeerInfo(): PeerInfo { + return { id: "", address_info: [], last_connected: undefined }; +} + +function createBasePeerAddressInfo(): PeerAddressInfo { + return { address: "", last_dial_success: undefined, last_dial_failure: undefined, dial_failures: 0 }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.p2p.ProtocolVersion", ProtocolVersion as never], + ["/tendermint.p2p.NodeInfo", NodeInfo as never], + ["/tendermint.p2p.NodeInfoOther", NodeInfoOther as never], + ["/tendermint.p2p.PeerInfo", PeerInfo as never], + ["/tendermint.p2p.PeerAddressInfo", PeerAddressInfo as never], +]; +export const aminoConverters = { + "/tendermint.p2p.ProtocolVersion": { + aminoType: "tendermint.p2p.ProtocolVersion", + toAmino: (message: ProtocolVersion) => ({ ...message }), + fromAmino: (object: ProtocolVersion) => ({ ...object }), + }, + + "/tendermint.p2p.NodeInfo": { + aminoType: "tendermint.p2p.NodeInfo", + toAmino: (message: NodeInfo) => ({ ...message }), + fromAmino: (object: NodeInfo) => ({ ...object }), + }, + + "/tendermint.p2p.NodeInfoOther": { + aminoType: "tendermint.p2p.NodeInfoOther", + toAmino: (message: NodeInfoOther) => ({ ...message }), + fromAmino: (object: NodeInfoOther) => ({ ...object }), + }, + + "/tendermint.p2p.PeerInfo": { + aminoType: "tendermint.p2p.PeerInfo", + toAmino: (message: PeerInfo) => ({ ...message }), + fromAmino: (object: PeerInfo) => ({ ...object }), + }, + + "/tendermint.p2p.PeerAddressInfo": { + aminoType: "tendermint.p2p.PeerAddressInfo", + toAmino: (message: PeerAddressInfo) => ({ ...message }), + fromAmino: (object: PeerAddressInfo) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/types/block.ts b/packages/cosmos/generated/encoding/tendermint/types/block.ts new file mode 100644 index 000000000..c439d71cc --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/block.ts @@ -0,0 +1,131 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { EvidenceList } from "./evidence"; + +import { Commit, Data, Header } from "./types"; + +import type { Block as BlockType } from "../../../types/tendermint/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Block extends BlockType {} + +export const Block: MessageFns = { + $type: "tendermint.types.Block" as const, + + encode(message: Block, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).join(); + } + if (message.data !== undefined) { + Data.encode(message.data, writer.uint32(18).fork()).join(); + } + if (message.evidence !== undefined) { + EvidenceList.encode(message.evidence, writer.uint32(26).fork()).join(); + } + if (message.last_commit !== undefined) { + Commit.encode(message.last_commit, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Block { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.header = Header.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = Data.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.evidence = EvidenceList.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.last_commit = Commit.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Block { + return { + header: isSet(object.header) ? Header.fromJSON(object.header) : undefined, + data: isSet(object.data) ? Data.fromJSON(object.data) : undefined, + evidence: isSet(object.evidence) ? EvidenceList.fromJSON(object.evidence) : undefined, + last_commit: isSet(object.last_commit) ? Commit.fromJSON(object.last_commit) : undefined, + }; + }, + + toJSON(message: Block): unknown { + const obj: any = {}; + if (message.header !== undefined) { + obj.header = Header.toJSON(message.header); + } + if (message.data !== undefined) { + obj.data = Data.toJSON(message.data); + } + if (message.evidence !== undefined) { + obj.evidence = EvidenceList.toJSON(message.evidence); + } + if (message.last_commit !== undefined) { + obj.last_commit = Commit.toJSON(message.last_commit); + } + return obj; + }, + + create, I>>(base?: I): Block { + return Block.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Block { + const message = createBaseBlock(); + message.header = object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.data = object.data !== undefined && object.data !== null ? Data.fromPartial(object.data) : undefined; + message.evidence = object.evidence !== undefined && object.evidence !== null ? EvidenceList.fromPartial(object.evidence) : undefined; + message.last_commit = object.last_commit !== undefined && object.last_commit !== null ? Commit.fromPartial(object.last_commit) : undefined; + return message; + }, +}; + +function createBaseBlock(): Block { + return { header: undefined, data: undefined, evidence: undefined, last_commit: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [["/tendermint.types.Block", Block as never]]; +export const aminoConverters = { + "/tendermint.types.Block": { + aminoType: "tendermint.types.Block", + toAmino: (message: Block) => ({ ...message }), + fromAmino: (object: Block) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/types/evidence.ts b/packages/cosmos/generated/encoding/tendermint/types/evidence.ts new file mode 100644 index 000000000..14cbd19d0 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/evidence.ts @@ -0,0 +1,478 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Timestamp } from "../../google/protobuf/timestamp"; + +import { LightBlock, Vote } from "./types"; + +import { Validator } from "./validator"; + +import type { + DuplicateVoteEvidence as DuplicateVoteEvidenceType, + EvidenceList as EvidenceListType, + Evidence as EvidenceType, + LightClientAttackEvidence as LightClientAttackEvidenceType, +} from "../../../types/tendermint/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface Evidence extends EvidenceType {} +interface DuplicateVoteEvidence extends DuplicateVoteEvidenceType {} +interface LightClientAttackEvidence extends LightClientAttackEvidenceType {} +interface EvidenceList extends EvidenceListType {} + +export const Evidence: MessageFns = { + $type: "tendermint.types.Evidence" as const, + + encode(message: Evidence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.duplicate_vote_evidence !== undefined) { + DuplicateVoteEvidence.encode(message.duplicate_vote_evidence, writer.uint32(10).fork()).join(); + } + if (message.light_client_attack_evidence !== undefined) { + LightClientAttackEvidence.encode(message.light_client_attack_evidence, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Evidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.duplicate_vote_evidence = DuplicateVoteEvidence.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.light_client_attack_evidence = LightClientAttackEvidence.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Evidence { + return { + duplicate_vote_evidence: isSet(object.duplicate_vote_evidence) ? DuplicateVoteEvidence.fromJSON(object.duplicate_vote_evidence) : undefined, + light_client_attack_evidence: isSet(object.light_client_attack_evidence) + ? LightClientAttackEvidence.fromJSON(object.light_client_attack_evidence) + : undefined, + }; + }, + + toJSON(message: Evidence): unknown { + const obj: any = {}; + if (message.duplicate_vote_evidence !== undefined) { + obj.duplicate_vote_evidence = DuplicateVoteEvidence.toJSON(message.duplicate_vote_evidence); + } + if (message.light_client_attack_evidence !== undefined) { + obj.light_client_attack_evidence = LightClientAttackEvidence.toJSON(message.light_client_attack_evidence); + } + return obj; + }, + + create, I>>(base?: I): Evidence { + return Evidence.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Evidence { + const message = createBaseEvidence(); + message.duplicate_vote_evidence = + object.duplicate_vote_evidence !== undefined && object.duplicate_vote_evidence !== null + ? DuplicateVoteEvidence.fromPartial(object.duplicate_vote_evidence) + : undefined; + message.light_client_attack_evidence = + object.light_client_attack_evidence !== undefined && object.light_client_attack_evidence !== null + ? LightClientAttackEvidence.fromPartial(object.light_client_attack_evidence) + : undefined; + return message; + }, +}; + +export const DuplicateVoteEvidence: MessageFns = { + $type: "tendermint.types.DuplicateVoteEvidence" as const, + + encode(message: DuplicateVoteEvidence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote_a !== undefined) { + Vote.encode(message.vote_a, writer.uint32(10).fork()).join(); + } + if (message.vote_b !== undefined) { + Vote.encode(message.vote_b, writer.uint32(18).fork()).join(); + } + if (message.total_voting_power !== 0) { + writer.uint32(24).int64(message.total_voting_power); + } + if (message.validator_power !== 0) { + writer.uint32(32).int64(message.validator_power); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DuplicateVoteEvidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDuplicateVoteEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.vote_a = Vote.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.vote_b = Vote.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.total_voting_power = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.validator_power = longToNumber(reader.int64()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DuplicateVoteEvidence { + return { + vote_a: isSet(object.vote_a) ? Vote.fromJSON(object.vote_a) : undefined, + vote_b: isSet(object.vote_b) ? Vote.fromJSON(object.vote_b) : undefined, + total_voting_power: isSet(object.total_voting_power) ? globalThis.Number(object.total_voting_power) : 0, + validator_power: isSet(object.validator_power) ? globalThis.Number(object.validator_power) : 0, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + }; + }, + + toJSON(message: DuplicateVoteEvidence): unknown { + const obj: any = {}; + if (message.vote_a !== undefined) { + obj.vote_a = Vote.toJSON(message.vote_a); + } + if (message.vote_b !== undefined) { + obj.vote_b = Vote.toJSON(message.vote_b); + } + if (message.total_voting_power !== 0) { + obj.total_voting_power = Math.round(message.total_voting_power); + } + if (message.validator_power !== 0) { + obj.validator_power = Math.round(message.validator_power); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): DuplicateVoteEvidence { + return DuplicateVoteEvidence.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DuplicateVoteEvidence { + const message = createBaseDuplicateVoteEvidence(); + message.vote_a = object.vote_a !== undefined && object.vote_a !== null ? Vote.fromPartial(object.vote_a) : undefined; + message.vote_b = object.vote_b !== undefined && object.vote_b !== null ? Vote.fromPartial(object.vote_b) : undefined; + message.total_voting_power = object.total_voting_power ?? 0; + message.validator_power = object.validator_power ?? 0; + message.timestamp = object.timestamp ?? undefined; + return message; + }, +}; + +export const LightClientAttackEvidence: MessageFns = { + $type: "tendermint.types.LightClientAttackEvidence" as const, + + encode(message: LightClientAttackEvidence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.conflicting_block !== undefined) { + LightBlock.encode(message.conflicting_block, writer.uint32(10).fork()).join(); + } + if (message.common_height !== 0) { + writer.uint32(16).int64(message.common_height); + } + for (const v of message.byzantine_validators) { + Validator.encode(v!, writer.uint32(26).fork()).join(); + } + if (message.total_voting_power !== 0) { + writer.uint32(32).int64(message.total_voting_power); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LightClientAttackEvidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLightClientAttackEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.conflicting_block = LightBlock.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.common_height = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.byzantine_validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.total_voting_power = longToNumber(reader.int64()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LightClientAttackEvidence { + return { + conflicting_block: isSet(object.conflicting_block) ? LightBlock.fromJSON(object.conflicting_block) : undefined, + common_height: isSet(object.common_height) ? globalThis.Number(object.common_height) : 0, + byzantine_validators: globalThis.Array.isArray(object?.byzantine_validators) ? object.byzantine_validators.map((e: any) => Validator.fromJSON(e)) : [], + total_voting_power: isSet(object.total_voting_power) ? globalThis.Number(object.total_voting_power) : 0, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + }; + }, + + toJSON(message: LightClientAttackEvidence): unknown { + const obj: any = {}; + if (message.conflicting_block !== undefined) { + obj.conflicting_block = LightBlock.toJSON(message.conflicting_block); + } + if (message.common_height !== 0) { + obj.common_height = Math.round(message.common_height); + } + if (message.byzantine_validators?.length) { + obj.byzantine_validators = message.byzantine_validators.map((e) => Validator.toJSON(e)); + } + if (message.total_voting_power !== 0) { + obj.total_voting_power = Math.round(message.total_voting_power); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): LightClientAttackEvidence { + return LightClientAttackEvidence.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LightClientAttackEvidence { + const message = createBaseLightClientAttackEvidence(); + message.conflicting_block = + object.conflicting_block !== undefined && object.conflicting_block !== null ? LightBlock.fromPartial(object.conflicting_block) : undefined; + message.common_height = object.common_height ?? 0; + message.byzantine_validators = object.byzantine_validators?.map((e) => Validator.fromPartial(e)) || []; + message.total_voting_power = object.total_voting_power ?? 0; + message.timestamp = object.timestamp ?? undefined; + return message; + }, +}; + +export const EvidenceList: MessageFns = { + $type: "tendermint.types.EvidenceList" as const, + + encode(message: EvidenceList, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.evidence) { + Evidence.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EvidenceList { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidenceList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.evidence.push(Evidence.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EvidenceList { + return { + evidence: globalThis.Array.isArray(object?.evidence) ? object.evidence.map((e: any) => Evidence.fromJSON(e)) : [], + }; + }, + + toJSON(message: EvidenceList): unknown { + const obj: any = {}; + if (message.evidence?.length) { + obj.evidence = message.evidence.map((e) => Evidence.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EvidenceList { + return EvidenceList.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EvidenceList { + const message = createBaseEvidenceList(); + message.evidence = object.evidence?.map((e) => Evidence.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEvidence(): Evidence { + return { duplicate_vote_evidence: undefined, light_client_attack_evidence: undefined }; +} + +function createBaseDuplicateVoteEvidence(): DuplicateVoteEvidence { + return { vote_a: undefined, vote_b: undefined, total_voting_power: 0, validator_power: 0, timestamp: undefined }; +} + +function createBaseLightClientAttackEvidence(): LightClientAttackEvidence { + return { + conflicting_block: undefined, + common_height: 0, + byzantine_validators: [], + total_voting_power: 0, + timestamp: undefined, + }; +} + +function createBaseEvidenceList(): EvidenceList { + return { evidence: [] }; +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.types.Evidence", Evidence as never], + ["/tendermint.types.DuplicateVoteEvidence", DuplicateVoteEvidence as never], + ["/tendermint.types.EvidenceList", EvidenceList as never], +]; +export const aminoConverters = { + "/tendermint.types.Evidence": { + aminoType: "tendermint.types.Evidence", + toAmino: (message: Evidence) => ({ ...message }), + fromAmino: (object: Evidence) => ({ ...object }), + }, + + "/tendermint.types.DuplicateVoteEvidence": { + aminoType: "tendermint.types.DuplicateVoteEvidence", + toAmino: (message: DuplicateVoteEvidence) => ({ ...message }), + fromAmino: (object: DuplicateVoteEvidence) => ({ ...object }), + }, + + "/tendermint.types.EvidenceList": { + aminoType: "tendermint.types.EvidenceList", + toAmino: (message: EvidenceList) => ({ ...message }), + fromAmino: (object: EvidenceList) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/types/index.ts b/packages/cosmos/generated/encoding/tendermint/types/index.ts new file mode 100644 index 000000000..063bfd675 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/index.ts @@ -0,0 +1,5 @@ +export * from './block'; +export * from './evidence'; +export * from './params'; +export * from './types'; +export * from './validator'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/types/params.ts b/packages/cosmos/generated/encoding/tendermint/types/params.ts new file mode 100644 index 000000000..8f8bac421 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/params.ts @@ -0,0 +1,928 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Duration } from "../../google/protobuf/duration"; + +import type { + ABCIParams as ABCIParamsType, + BlockParams as BlockParamsType, + ConsensusParams as ConsensusParamsType, + EvidenceParams as EvidenceParamsType, + HashedParams as HashedParamsType, + SynchronyParams as SynchronyParamsType, + TimeoutParams as TimeoutParamsType, + ValidatorParams as ValidatorParamsType, + VersionParams as VersionParamsType, +} from "../../../types/tendermint/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface ConsensusParams extends ConsensusParamsType {} +interface BlockParams extends BlockParamsType {} +interface EvidenceParams extends EvidenceParamsType {} +interface ValidatorParams extends ValidatorParamsType {} +interface VersionParams extends VersionParamsType {} +interface HashedParams extends HashedParamsType {} +interface SynchronyParams extends SynchronyParamsType {} +interface TimeoutParams extends TimeoutParamsType {} +interface ABCIParams extends ABCIParamsType {} + +export const ConsensusParams: MessageFns = { + $type: "tendermint.types.ConsensusParams" as const, + + encode(message: ConsensusParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block !== undefined) { + BlockParams.encode(message.block, writer.uint32(10).fork()).join(); + } + if (message.evidence !== undefined) { + EvidenceParams.encode(message.evidence, writer.uint32(18).fork()).join(); + } + if (message.validator !== undefined) { + ValidatorParams.encode(message.validator, writer.uint32(26).fork()).join(); + } + if (message.version !== undefined) { + VersionParams.encode(message.version, writer.uint32(34).fork()).join(); + } + if (message.synchrony !== undefined) { + SynchronyParams.encode(message.synchrony, writer.uint32(42).fork()).join(); + } + if (message.timeout !== undefined) { + TimeoutParams.encode(message.timeout, writer.uint32(50).fork()).join(); + } + if (message.abci !== undefined) { + ABCIParams.encode(message.abci, writer.uint32(58).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ConsensusParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensusParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.block = BlockParams.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.evidence = EvidenceParams.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.validator = ValidatorParams.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.version = VersionParams.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.synchrony = SynchronyParams.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.timeout = TimeoutParams.decode(reader, reader.uint32()); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.abci = ABCIParams.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ConsensusParams { + return { + block: isSet(object.block) ? BlockParams.fromJSON(object.block) : undefined, + evidence: isSet(object.evidence) ? EvidenceParams.fromJSON(object.evidence) : undefined, + validator: isSet(object.validator) ? ValidatorParams.fromJSON(object.validator) : undefined, + version: isSet(object.version) ? VersionParams.fromJSON(object.version) : undefined, + synchrony: isSet(object.synchrony) ? SynchronyParams.fromJSON(object.synchrony) : undefined, + timeout: isSet(object.timeout) ? TimeoutParams.fromJSON(object.timeout) : undefined, + abci: isSet(object.abci) ? ABCIParams.fromJSON(object.abci) : undefined, + }; + }, + + toJSON(message: ConsensusParams): unknown { + const obj: any = {}; + if (message.block !== undefined) { + obj.block = BlockParams.toJSON(message.block); + } + if (message.evidence !== undefined) { + obj.evidence = EvidenceParams.toJSON(message.evidence); + } + if (message.validator !== undefined) { + obj.validator = ValidatorParams.toJSON(message.validator); + } + if (message.version !== undefined) { + obj.version = VersionParams.toJSON(message.version); + } + if (message.synchrony !== undefined) { + obj.synchrony = SynchronyParams.toJSON(message.synchrony); + } + if (message.timeout !== undefined) { + obj.timeout = TimeoutParams.toJSON(message.timeout); + } + if (message.abci !== undefined) { + obj.abci = ABCIParams.toJSON(message.abci); + } + return obj; + }, + + create, I>>(base?: I): ConsensusParams { + return ConsensusParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ConsensusParams { + const message = createBaseConsensusParams(); + message.block = object.block !== undefined && object.block !== null ? BlockParams.fromPartial(object.block) : undefined; + message.evidence = object.evidence !== undefined && object.evidence !== null ? EvidenceParams.fromPartial(object.evidence) : undefined; + message.validator = object.validator !== undefined && object.validator !== null ? ValidatorParams.fromPartial(object.validator) : undefined; + message.version = object.version !== undefined && object.version !== null ? VersionParams.fromPartial(object.version) : undefined; + message.synchrony = object.synchrony !== undefined && object.synchrony !== null ? SynchronyParams.fromPartial(object.synchrony) : undefined; + message.timeout = object.timeout !== undefined && object.timeout !== null ? TimeoutParams.fromPartial(object.timeout) : undefined; + message.abci = object.abci !== undefined && object.abci !== null ? ABCIParams.fromPartial(object.abci) : undefined; + return message; + }, +}; + +export const BlockParams: MessageFns = { + $type: "tendermint.types.BlockParams" as const, + + encode(message: BlockParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.max_bytes !== 0) { + writer.uint32(8).int64(message.max_bytes); + } + if (message.max_gas !== 0) { + writer.uint32(16).int64(message.max_gas); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BlockParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.max_bytes = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.max_gas = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BlockParams { + return { + max_bytes: isSet(object.max_bytes) ? globalThis.Number(object.max_bytes) : 0, + max_gas: isSet(object.max_gas) ? globalThis.Number(object.max_gas) : 0, + }; + }, + + toJSON(message: BlockParams): unknown { + const obj: any = {}; + if (message.max_bytes !== 0) { + obj.max_bytes = Math.round(message.max_bytes); + } + if (message.max_gas !== 0) { + obj.max_gas = Math.round(message.max_gas); + } + return obj; + }, + + create, I>>(base?: I): BlockParams { + return BlockParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BlockParams { + const message = createBaseBlockParams(); + message.max_bytes = object.max_bytes ?? 0; + message.max_gas = object.max_gas ?? 0; + return message; + }, +}; + +export const EvidenceParams: MessageFns = { + $type: "tendermint.types.EvidenceParams" as const, + + encode(message: EvidenceParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.max_age_num_blocks !== 0) { + writer.uint32(8).int64(message.max_age_num_blocks); + } + if (message.max_age_duration !== undefined) { + Duration.encode(message.max_age_duration, writer.uint32(18).fork()).join(); + } + if (message.max_bytes !== 0) { + writer.uint32(24).int64(message.max_bytes); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EvidenceParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidenceParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.max_age_num_blocks = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.max_age_duration = Duration.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.max_bytes = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EvidenceParams { + return { + max_age_num_blocks: isSet(object.max_age_num_blocks) ? globalThis.Number(object.max_age_num_blocks) : 0, + max_age_duration: isSet(object.max_age_duration) ? Duration.fromJSON(object.max_age_duration) : undefined, + max_bytes: isSet(object.max_bytes) ? globalThis.Number(object.max_bytes) : 0, + }; + }, + + toJSON(message: EvidenceParams): unknown { + const obj: any = {}; + if (message.max_age_num_blocks !== 0) { + obj.max_age_num_blocks = Math.round(message.max_age_num_blocks); + } + if (message.max_age_duration !== undefined) { + obj.max_age_duration = Duration.toJSON(message.max_age_duration); + } + if (message.max_bytes !== 0) { + obj.max_bytes = Math.round(message.max_bytes); + } + return obj; + }, + + create, I>>(base?: I): EvidenceParams { + return EvidenceParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EvidenceParams { + const message = createBaseEvidenceParams(); + message.max_age_num_blocks = object.max_age_num_blocks ?? 0; + message.max_age_duration = + object.max_age_duration !== undefined && object.max_age_duration !== null ? Duration.fromPartial(object.max_age_duration) : undefined; + message.max_bytes = object.max_bytes ?? 0; + return message; + }, +}; + +export const ValidatorParams: MessageFns = { + $type: "tendermint.types.ValidatorParams" as const, + + encode(message: ValidatorParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.pub_key_types) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pub_key_types.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorParams { + return { + pub_key_types: globalThis.Array.isArray(object?.pub_key_types) ? object.pub_key_types.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: ValidatorParams): unknown { + const obj: any = {}; + if (message.pub_key_types?.length) { + obj.pub_key_types = message.pub_key_types; + } + return obj; + }, + + create, I>>(base?: I): ValidatorParams { + return ValidatorParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorParams { + const message = createBaseValidatorParams(); + message.pub_key_types = object.pub_key_types?.map((e) => e) || []; + return message; + }, +}; + +export const VersionParams: MessageFns = { + $type: "tendermint.types.VersionParams" as const, + + encode(message: VersionParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.app_version !== 0) { + writer.uint32(8).uint64(message.app_version); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VersionParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersionParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.app_version = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VersionParams { + return { app_version: isSet(object.app_version) ? globalThis.Number(object.app_version) : 0 }; + }, + + toJSON(message: VersionParams): unknown { + const obj: any = {}; + if (message.app_version !== 0) { + obj.app_version = Math.round(message.app_version); + } + return obj; + }, + + create, I>>(base?: I): VersionParams { + return VersionParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VersionParams { + const message = createBaseVersionParams(); + message.app_version = object.app_version ?? 0; + return message; + }, +}; + +export const HashedParams: MessageFns = { + $type: "tendermint.types.HashedParams" as const, + + encode(message: HashedParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_max_bytes !== 0) { + writer.uint32(8).int64(message.block_max_bytes); + } + if (message.block_max_gas !== 0) { + writer.uint32(16).int64(message.block_max_gas); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): HashedParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHashedParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block_max_bytes = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.block_max_gas = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): HashedParams { + return { + block_max_bytes: isSet(object.block_max_bytes) ? globalThis.Number(object.block_max_bytes) : 0, + block_max_gas: isSet(object.block_max_gas) ? globalThis.Number(object.block_max_gas) : 0, + }; + }, + + toJSON(message: HashedParams): unknown { + const obj: any = {}; + if (message.block_max_bytes !== 0) { + obj.block_max_bytes = Math.round(message.block_max_bytes); + } + if (message.block_max_gas !== 0) { + obj.block_max_gas = Math.round(message.block_max_gas); + } + return obj; + }, + + create, I>>(base?: I): HashedParams { + return HashedParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): HashedParams { + const message = createBaseHashedParams(); + message.block_max_bytes = object.block_max_bytes ?? 0; + message.block_max_gas = object.block_max_gas ?? 0; + return message; + }, +}; + +export const SynchronyParams: MessageFns = { + $type: "tendermint.types.SynchronyParams" as const, + + encode(message: SynchronyParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.message_delay !== undefined) { + Duration.encode(message.message_delay, writer.uint32(10).fork()).join(); + } + if (message.precision !== undefined) { + Duration.encode(message.precision, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SynchronyParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSynchronyParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.message_delay = Duration.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.precision = Duration.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SynchronyParams { + return { + message_delay: isSet(object.message_delay) ? Duration.fromJSON(object.message_delay) : undefined, + precision: isSet(object.precision) ? Duration.fromJSON(object.precision) : undefined, + }; + }, + + toJSON(message: SynchronyParams): unknown { + const obj: any = {}; + if (message.message_delay !== undefined) { + obj.message_delay = Duration.toJSON(message.message_delay); + } + if (message.precision !== undefined) { + obj.precision = Duration.toJSON(message.precision); + } + return obj; + }, + + create, I>>(base?: I): SynchronyParams { + return SynchronyParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SynchronyParams { + const message = createBaseSynchronyParams(); + message.message_delay = object.message_delay !== undefined && object.message_delay !== null ? Duration.fromPartial(object.message_delay) : undefined; + message.precision = object.precision !== undefined && object.precision !== null ? Duration.fromPartial(object.precision) : undefined; + return message; + }, +}; + +export const TimeoutParams: MessageFns = { + $type: "tendermint.types.TimeoutParams" as const, + + encode(message: TimeoutParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.propose !== undefined) { + Duration.encode(message.propose, writer.uint32(10).fork()).join(); + } + if (message.propose_delta !== undefined) { + Duration.encode(message.propose_delta, writer.uint32(18).fork()).join(); + } + if (message.vote !== undefined) { + Duration.encode(message.vote, writer.uint32(26).fork()).join(); + } + if (message.vote_delta !== undefined) { + Duration.encode(message.vote_delta, writer.uint32(34).fork()).join(); + } + if (message.commit !== undefined) { + Duration.encode(message.commit, writer.uint32(42).fork()).join(); + } + if (message.bypass_commit_timeout !== false) { + writer.uint32(48).bool(message.bypass_commit_timeout); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TimeoutParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimeoutParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.propose = Duration.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.propose_delta = Duration.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.vote = Duration.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.vote_delta = Duration.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.commit = Duration.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.bypass_commit_timeout = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TimeoutParams { + return { + propose: isSet(object.propose) ? Duration.fromJSON(object.propose) : undefined, + propose_delta: isSet(object.propose_delta) ? Duration.fromJSON(object.propose_delta) : undefined, + vote: isSet(object.vote) ? Duration.fromJSON(object.vote) : undefined, + vote_delta: isSet(object.vote_delta) ? Duration.fromJSON(object.vote_delta) : undefined, + commit: isSet(object.commit) ? Duration.fromJSON(object.commit) : undefined, + bypass_commit_timeout: isSet(object.bypass_commit_timeout) ? globalThis.Boolean(object.bypass_commit_timeout) : false, + }; + }, + + toJSON(message: TimeoutParams): unknown { + const obj: any = {}; + if (message.propose !== undefined) { + obj.propose = Duration.toJSON(message.propose); + } + if (message.propose_delta !== undefined) { + obj.propose_delta = Duration.toJSON(message.propose_delta); + } + if (message.vote !== undefined) { + obj.vote = Duration.toJSON(message.vote); + } + if (message.vote_delta !== undefined) { + obj.vote_delta = Duration.toJSON(message.vote_delta); + } + if (message.commit !== undefined) { + obj.commit = Duration.toJSON(message.commit); + } + if (message.bypass_commit_timeout !== false) { + obj.bypass_commit_timeout = message.bypass_commit_timeout; + } + return obj; + }, + + create, I>>(base?: I): TimeoutParams { + return TimeoutParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TimeoutParams { + const message = createBaseTimeoutParams(); + message.propose = object.propose !== undefined && object.propose !== null ? Duration.fromPartial(object.propose) : undefined; + message.propose_delta = object.propose_delta !== undefined && object.propose_delta !== null ? Duration.fromPartial(object.propose_delta) : undefined; + message.vote = object.vote !== undefined && object.vote !== null ? Duration.fromPartial(object.vote) : undefined; + message.vote_delta = object.vote_delta !== undefined && object.vote_delta !== null ? Duration.fromPartial(object.vote_delta) : undefined; + message.commit = object.commit !== undefined && object.commit !== null ? Duration.fromPartial(object.commit) : undefined; + message.bypass_commit_timeout = object.bypass_commit_timeout ?? false; + return message; + }, +}; + +export const ABCIParams: MessageFns = { + $type: "tendermint.types.ABCIParams" as const, + + encode(message: ABCIParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vote_extensions_enable_height !== 0) { + writer.uint32(8).int64(message.vote_extensions_enable_height); + } + if (message.recheck_tx !== false) { + writer.uint32(16).bool(message.recheck_tx); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ABCIParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseABCIParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.vote_extensions_enable_height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.recheck_tx = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ABCIParams { + return { + vote_extensions_enable_height: isSet(object.vote_extensions_enable_height) ? globalThis.Number(object.vote_extensions_enable_height) : 0, + recheck_tx: isSet(object.recheck_tx) ? globalThis.Boolean(object.recheck_tx) : false, + }; + }, + + toJSON(message: ABCIParams): unknown { + const obj: any = {}; + if (message.vote_extensions_enable_height !== 0) { + obj.vote_extensions_enable_height = Math.round(message.vote_extensions_enable_height); + } + if (message.recheck_tx !== false) { + obj.recheck_tx = message.recheck_tx; + } + return obj; + }, + + create, I>>(base?: I): ABCIParams { + return ABCIParams.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ABCIParams { + const message = createBaseABCIParams(); + message.vote_extensions_enable_height = object.vote_extensions_enable_height ?? 0; + message.recheck_tx = object.recheck_tx ?? false; + return message; + }, +}; + +function createBaseConsensusParams(): ConsensusParams { + return { + block: undefined, + evidence: undefined, + validator: undefined, + version: undefined, + synchrony: undefined, + timeout: undefined, + abci: undefined, + }; +} + +function createBaseBlockParams(): BlockParams { + return { max_bytes: 0, max_gas: 0 }; +} + +function createBaseEvidenceParams(): EvidenceParams { + return { max_age_num_blocks: 0, max_age_duration: undefined, max_bytes: 0 }; +} + +function createBaseValidatorParams(): ValidatorParams { + return { pub_key_types: [] }; +} + +function createBaseVersionParams(): VersionParams { + return { app_version: 0 }; +} + +function createBaseHashedParams(): HashedParams { + return { block_max_bytes: 0, block_max_gas: 0 }; +} + +function createBaseSynchronyParams(): SynchronyParams { + return { message_delay: undefined, precision: undefined }; +} + +function createBaseTimeoutParams(): TimeoutParams { + return { + propose: undefined, + propose_delta: undefined, + vote: undefined, + vote_delta: undefined, + commit: undefined, + bypass_commit_timeout: false, + }; +} + +function createBaseABCIParams(): ABCIParams { + return { vote_extensions_enable_height: 0, recheck_tx: false }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.types.ConsensusParams", ConsensusParams as never], + ["/tendermint.types.BlockParams", BlockParams as never], + ["/tendermint.types.EvidenceParams", EvidenceParams as never], + ["/tendermint.types.ValidatorParams", ValidatorParams as never], + ["/tendermint.types.VersionParams", VersionParams as never], + ["/tendermint.types.HashedParams", HashedParams as never], + ["/tendermint.types.SynchronyParams", SynchronyParams as never], + ["/tendermint.types.TimeoutParams", TimeoutParams as never], + ["/tendermint.types.ABCIParams", ABCIParams as never], +]; +export const aminoConverters = { + "/tendermint.types.ConsensusParams": { + aminoType: "tendermint.types.ConsensusParams", + toAmino: (message: ConsensusParams) => ({ ...message }), + fromAmino: (object: ConsensusParams) => ({ ...object }), + }, + + "/tendermint.types.BlockParams": { + aminoType: "tendermint.types.BlockParams", + toAmino: (message: BlockParams) => ({ ...message }), + fromAmino: (object: BlockParams) => ({ ...object }), + }, + + "/tendermint.types.EvidenceParams": { + aminoType: "tendermint.types.EvidenceParams", + toAmino: (message: EvidenceParams) => ({ ...message }), + fromAmino: (object: EvidenceParams) => ({ ...object }), + }, + + "/tendermint.types.ValidatorParams": { + aminoType: "tendermint.types.ValidatorParams", + toAmino: (message: ValidatorParams) => ({ ...message }), + fromAmino: (object: ValidatorParams) => ({ ...object }), + }, + + "/tendermint.types.VersionParams": { + aminoType: "tendermint.types.VersionParams", + toAmino: (message: VersionParams) => ({ ...message }), + fromAmino: (object: VersionParams) => ({ ...object }), + }, + + "/tendermint.types.HashedParams": { + aminoType: "tendermint.types.HashedParams", + toAmino: (message: HashedParams) => ({ ...message }), + fromAmino: (object: HashedParams) => ({ ...object }), + }, + + "/tendermint.types.SynchronyParams": { + aminoType: "tendermint.types.SynchronyParams", + toAmino: (message: SynchronyParams) => ({ ...message }), + fromAmino: (object: SynchronyParams) => ({ ...object }), + }, + + "/tendermint.types.TimeoutParams": { + aminoType: "tendermint.types.TimeoutParams", + toAmino: (message: TimeoutParams) => ({ ...message }), + fromAmino: (object: TimeoutParams) => ({ ...object }), + }, + + "/tendermint.types.ABCIParams": { + aminoType: "tendermint.types.ABCIParams", + toAmino: (message: ABCIParams) => ({ ...message }), + fromAmino: (object: ABCIParams) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/types/types.ts b/packages/cosmos/generated/encoding/tendermint/types/types.ts new file mode 100644 index 000000000..6bb48566a --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/types.ts @@ -0,0 +1,2045 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { Timestamp } from "../../google/protobuf/timestamp"; + +import { Proof } from "../crypto/proof"; + +import { Consensus } from "../version/types"; + +import { ValidatorSet } from "./validator"; + +import type { + BlockID as BlockIDType, + BlockMeta as BlockMetaType, + CommitSig as CommitSigType, + Commit as CommitType, + Data as DataType, + ExtendedCommitSig as ExtendedCommitSigType, + ExtendedCommit as ExtendedCommitType, + Header as HeaderType, + LightBlock as LightBlockType, + PartSetHeader as PartSetHeaderType, + Part as PartType, + Proposal as ProposalType, + SignedHeader as SignedHeaderType, + TxProof as TxProofType, + Vote as VoteType, +} from "../../../types/tendermint/types"; + +import { BlockIDFlag, SignedMsgType } from "../../../types/tendermint/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface PartSetHeader extends PartSetHeaderType {} +interface Part extends PartType {} +interface BlockID extends BlockIDType {} +interface Header extends HeaderType {} +interface Data extends DataType {} +interface Vote extends VoteType {} +interface Commit extends CommitType {} +interface CommitSig extends CommitSigType {} +interface ExtendedCommit extends ExtendedCommitType {} +interface ExtendedCommitSig extends ExtendedCommitSigType {} +interface Proposal extends ProposalType {} +interface SignedHeader extends SignedHeaderType {} +interface LightBlock extends LightBlockType {} +interface BlockMeta extends BlockMetaType {} +interface TxProof extends TxProofType {} + +export const PartSetHeader: MessageFns = { + $type: "tendermint.types.PartSetHeader" as const, + + encode(message: PartSetHeader, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.total !== 0) { + writer.uint32(8).uint32(message.total); + } + if (message.hash.length !== 0) { + writer.uint32(18).bytes(message.hash); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PartSetHeader { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePartSetHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.total = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.hash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PartSetHeader { + return { + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + }; + }, + + toJSON(message: PartSetHeader): unknown { + const obj: any = {}; + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + return obj; + }, + + create, I>>(base?: I): PartSetHeader { + return PartSetHeader.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PartSetHeader { + const message = createBasePartSetHeader(); + message.total = object.total ?? 0; + message.hash = object.hash ?? new Uint8Array(0); + return message; + }, +}; + +export const Part: MessageFns = { + $type: "tendermint.types.Part" as const, + + encode(message: Part, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint32(message.index); + } + if (message.bytes.length !== 0) { + writer.uint32(18).bytes(message.bytes); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Part { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePart(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.index = reader.uint32(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.bytes = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = Proof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Part { + return { + index: isSet(object.index) ? globalThis.Number(object.index) : 0, + bytes: isSet(object.bytes) ? bytesFromBase64(object.bytes) : new Uint8Array(0), + proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined, + }; + }, + + toJSON(message: Part): unknown { + const obj: any = {}; + if (message.index !== 0) { + obj.index = Math.round(message.index); + } + if (message.bytes.length !== 0) { + obj.bytes = base64FromBytes(message.bytes); + } + if (message.proof !== undefined) { + obj.proof = Proof.toJSON(message.proof); + } + return obj; + }, + + create, I>>(base?: I): Part { + return Part.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Part { + const message = createBasePart(); + message.index = object.index ?? 0; + message.bytes = object.bytes ?? new Uint8Array(0); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, +}; + +export const BlockID: MessageFns = { + $type: "tendermint.types.BlockID" as const, + + encode(message: BlockID, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.part_set_header !== undefined) { + PartSetHeader.encode(message.part_set_header, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BlockID { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockID(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hash = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.part_set_header = PartSetHeader.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BlockID { + return { + hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0), + part_set_header: isSet(object.part_set_header) ? PartSetHeader.fromJSON(object.part_set_header) : undefined, + }; + }, + + toJSON(message: BlockID): unknown { + const obj: any = {}; + if (message.hash.length !== 0) { + obj.hash = base64FromBytes(message.hash); + } + if (message.part_set_header !== undefined) { + obj.part_set_header = PartSetHeader.toJSON(message.part_set_header); + } + return obj; + }, + + create, I>>(base?: I): BlockID { + return BlockID.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BlockID { + const message = createBaseBlockID(); + message.hash = object.hash ?? new Uint8Array(0); + message.part_set_header = + object.part_set_header !== undefined && object.part_set_header !== null ? PartSetHeader.fromPartial(object.part_set_header) : undefined; + return message; + }, +}; + +export const Header: MessageFns = { + $type: "tendermint.types.Header" as const, + + encode(message: Header, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== undefined) { + Consensus.encode(message.version, writer.uint32(10).fork()).join(); + } + if (message.chain_id !== "") { + writer.uint32(18).string(message.chain_id); + } + if (message.height !== 0) { + writer.uint32(24).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(34).fork()).join(); + } + if (message.last_block_id !== undefined) { + BlockID.encode(message.last_block_id, writer.uint32(42).fork()).join(); + } + if (message.last_commit_hash.length !== 0) { + writer.uint32(50).bytes(message.last_commit_hash); + } + if (message.data_hash.length !== 0) { + writer.uint32(58).bytes(message.data_hash); + } + if (message.validators_hash.length !== 0) { + writer.uint32(66).bytes(message.validators_hash); + } + if (message.next_validators_hash.length !== 0) { + writer.uint32(74).bytes(message.next_validators_hash); + } + if (message.consensus_hash.length !== 0) { + writer.uint32(82).bytes(message.consensus_hash); + } + if (message.app_hash.length !== 0) { + writer.uint32(90).bytes(message.app_hash); + } + if (message.last_results_hash.length !== 0) { + writer.uint32(98).bytes(message.last_results_hash); + } + if (message.evidence_hash.length !== 0) { + writer.uint32(106).bytes(message.evidence_hash); + } + if (message.proposer_address.length !== 0) { + writer.uint32(114).bytes(message.proposer_address); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Header { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.version = Consensus.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.chain_id = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.last_block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.last_commit_hash = reader.bytes(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.data_hash = reader.bytes(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.validators_hash = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.next_validators_hash = reader.bytes(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.consensus_hash = reader.bytes(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.app_hash = reader.bytes(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.last_results_hash = reader.bytes(); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.evidence_hash = reader.bytes(); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.proposer_address = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Header { + return { + version: isSet(object.version) ? Consensus.fromJSON(object.version) : undefined, + chain_id: isSet(object.chain_id) ? globalThis.String(object.chain_id) : "", + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined, + last_block_id: isSet(object.last_block_id) ? BlockID.fromJSON(object.last_block_id) : undefined, + last_commit_hash: isSet(object.last_commit_hash) ? bytesFromBase64(object.last_commit_hash) : new Uint8Array(0), + data_hash: isSet(object.data_hash) ? bytesFromBase64(object.data_hash) : new Uint8Array(0), + validators_hash: isSet(object.validators_hash) ? bytesFromBase64(object.validators_hash) : new Uint8Array(0), + next_validators_hash: isSet(object.next_validators_hash) ? bytesFromBase64(object.next_validators_hash) : new Uint8Array(0), + consensus_hash: isSet(object.consensus_hash) ? bytesFromBase64(object.consensus_hash) : new Uint8Array(0), + app_hash: isSet(object.app_hash) ? bytesFromBase64(object.app_hash) : new Uint8Array(0), + last_results_hash: isSet(object.last_results_hash) ? bytesFromBase64(object.last_results_hash) : new Uint8Array(0), + evidence_hash: isSet(object.evidence_hash) ? bytesFromBase64(object.evidence_hash) : new Uint8Array(0), + proposer_address: isSet(object.proposer_address) ? bytesFromBase64(object.proposer_address) : new Uint8Array(0), + }; + }, + + toJSON(message: Header): unknown { + const obj: any = {}; + if (message.version !== undefined) { + obj.version = Consensus.toJSON(message.version); + } + if (message.chain_id !== "") { + obj.chain_id = message.chain_id; + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.time !== undefined) { + obj.time = message.time.toISOString(); + } + if (message.last_block_id !== undefined) { + obj.last_block_id = BlockID.toJSON(message.last_block_id); + } + if (message.last_commit_hash.length !== 0) { + obj.last_commit_hash = base64FromBytes(message.last_commit_hash); + } + if (message.data_hash.length !== 0) { + obj.data_hash = base64FromBytes(message.data_hash); + } + if (message.validators_hash.length !== 0) { + obj.validators_hash = base64FromBytes(message.validators_hash); + } + if (message.next_validators_hash.length !== 0) { + obj.next_validators_hash = base64FromBytes(message.next_validators_hash); + } + if (message.consensus_hash.length !== 0) { + obj.consensus_hash = base64FromBytes(message.consensus_hash); + } + if (message.app_hash.length !== 0) { + obj.app_hash = base64FromBytes(message.app_hash); + } + if (message.last_results_hash.length !== 0) { + obj.last_results_hash = base64FromBytes(message.last_results_hash); + } + if (message.evidence_hash.length !== 0) { + obj.evidence_hash = base64FromBytes(message.evidence_hash); + } + if (message.proposer_address.length !== 0) { + obj.proposer_address = base64FromBytes(message.proposer_address); + } + return obj; + }, + + create, I>>(base?: I): Header { + return Header.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Header { + const message = createBaseHeader(); + message.version = object.version !== undefined && object.version !== null ? Consensus.fromPartial(object.version) : undefined; + message.chain_id = object.chain_id ?? ""; + message.height = object.height ?? 0; + message.time = object.time ?? undefined; + message.last_block_id = object.last_block_id !== undefined && object.last_block_id !== null ? BlockID.fromPartial(object.last_block_id) : undefined; + message.last_commit_hash = object.last_commit_hash ?? new Uint8Array(0); + message.data_hash = object.data_hash ?? new Uint8Array(0); + message.validators_hash = object.validators_hash ?? new Uint8Array(0); + message.next_validators_hash = object.next_validators_hash ?? new Uint8Array(0); + message.consensus_hash = object.consensus_hash ?? new Uint8Array(0); + message.app_hash = object.app_hash ?? new Uint8Array(0); + message.last_results_hash = object.last_results_hash ?? new Uint8Array(0); + message.evidence_hash = object.evidence_hash ?? new Uint8Array(0); + message.proposer_address = object.proposer_address ?? new Uint8Array(0); + return message; + }, +}; + +export const Data: MessageFns = { + $type: "tendermint.types.Data" as const, + + encode(message: Data, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Data { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.txs.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Data { + return { txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e: any) => bytesFromBase64(e)) : [] }; + }, + + toJSON(message: Data): unknown { + const obj: any = {}; + if (message.txs?.length) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } + return obj; + }, + + create, I>>(base?: I): Data { + return Data.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Data { + const message = createBaseData(); + message.txs = object.txs?.map((e) => e) || []; + return message; + }, +}; + +export const Vote: MessageFns = { + $type: "tendermint.types.Vote" as const, + + encode(message: Vote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.height !== 0) { + writer.uint32(16).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(24).int32(message.round); + } + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(34).fork()).join(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).join(); + } + if (message.validator_address.length !== 0) { + writer.uint32(50).bytes(message.validator_address); + } + if (message.validator_index !== 0) { + writer.uint32(56).int32(message.validator_index); + } + if (message.signature.length !== 0) { + writer.uint32(66).bytes(message.signature); + } + if (message.extension.length !== 0) { + writer.uint32(74).bytes(message.extension); + } + if (message.extension_signature.length !== 0) { + writer.uint32(82).bytes(message.extension_signature); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.type = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.round = reader.int32(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.validator_address = reader.bytes(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.validator_index = reader.int32(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.signature = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.extension = reader.bytes(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.extension_signature = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Vote { + return { + type: isSet(object.type) ? signedMsgTypeFromJSON(object.type) : 0, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + validator_address: isSet(object.validator_address) ? bytesFromBase64(object.validator_address) : new Uint8Array(0), + validator_index: isSet(object.validator_index) ? globalThis.Number(object.validator_index) : 0, + signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0), + extension: isSet(object.extension) ? bytesFromBase64(object.extension) : new Uint8Array(0), + extension_signature: isSet(object.extension_signature) ? bytesFromBase64(object.extension_signature) : new Uint8Array(0), + }; + }, + + toJSON(message: Vote): unknown { + const obj: any = {}; + if (message.type !== 0) { + obj.type = signedMsgTypeToJSON(message.type); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + if (message.validator_address.length !== 0) { + obj.validator_address = base64FromBytes(message.validator_address); + } + if (message.validator_index !== 0) { + obj.validator_index = Math.round(message.validator_index); + } + if (message.signature.length !== 0) { + obj.signature = base64FromBytes(message.signature); + } + if (message.extension.length !== 0) { + obj.extension = base64FromBytes(message.extension); + } + if (message.extension_signature.length !== 0) { + obj.extension_signature = base64FromBytes(message.extension_signature); + } + return obj; + }, + + create, I>>(base?: I): Vote { + return Vote.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Vote { + const message = createBaseVote(); + message.type = object.type ?? 0; + message.height = object.height ?? 0; + message.round = object.round ?? 0; + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.timestamp = object.timestamp ?? undefined; + message.validator_address = object.validator_address ?? new Uint8Array(0); + message.validator_index = object.validator_index ?? 0; + message.signature = object.signature ?? new Uint8Array(0); + message.extension = object.extension ?? new Uint8Array(0); + message.extension_signature = object.extension_signature ?? new Uint8Array(0); + return message; + }, +}; + +export const Commit: MessageFns = { + $type: "tendermint.types.Commit" as const, + + encode(message: Commit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(16).int32(message.round); + } + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(26).fork()).join(); + } + for (const v of message.signatures) { + CommitSig.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Commit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.round = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.signatures.push(CommitSig.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Commit { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + signatures: globalThis.Array.isArray(object?.signatures) ? object.signatures.map((e: any) => CommitSig.fromJSON(e)) : [], + }; + }, + + toJSON(message: Commit): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.signatures?.length) { + obj.signatures = message.signatures.map((e) => CommitSig.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): Commit { + return Commit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Commit { + const message = createBaseCommit(); + message.height = object.height ?? 0; + message.round = object.round ?? 0; + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.signatures = object.signatures?.map((e) => CommitSig.fromPartial(e)) || []; + return message; + }, +}; + +export const CommitSig: MessageFns = { + $type: "tendermint.types.CommitSig" as const, + + encode(message: CommitSig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_id_flag !== 0) { + writer.uint32(8).int32(message.block_id_flag); + } + if (message.validator_address.length !== 0) { + writer.uint32(18).bytes(message.validator_address); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(26).fork()).join(); + } + if (message.signature.length !== 0) { + writer.uint32(34).bytes(message.signature); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommitSig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitSig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block_id_flag = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.signature = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommitSig { + return { + block_id_flag: isSet(object.block_id_flag) ? blockIDFlagFromJSON(object.block_id_flag) : 0, + validator_address: isSet(object.validator_address) ? bytesFromBase64(object.validator_address) : new Uint8Array(0), + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0), + }; + }, + + toJSON(message: CommitSig): unknown { + const obj: any = {}; + if (message.block_id_flag !== 0) { + obj.block_id_flag = blockIDFlagToJSON(message.block_id_flag); + } + if (message.validator_address.length !== 0) { + obj.validator_address = base64FromBytes(message.validator_address); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + if (message.signature.length !== 0) { + obj.signature = base64FromBytes(message.signature); + } + return obj; + }, + + create, I>>(base?: I): CommitSig { + return CommitSig.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommitSig { + const message = createBaseCommitSig(); + message.block_id_flag = object.block_id_flag ?? 0; + message.validator_address = object.validator_address ?? new Uint8Array(0); + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(0); + return message; + }, +}; + +export const ExtendedCommit: MessageFns = { + $type: "tendermint.types.ExtendedCommit" as const, + + encode(message: ExtendedCommit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.height !== 0) { + writer.uint32(8).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(16).int32(message.round); + } + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(26).fork()).join(); + } + for (const v of message.extended_signatures) { + ExtendedCommitSig.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.round = reader.int32(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.extended_signatures.push(ExtendedCommitSig.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtendedCommit { + return { + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + extended_signatures: globalThis.Array.isArray(object?.extended_signatures) + ? object.extended_signatures.map((e: any) => ExtendedCommitSig.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ExtendedCommit): unknown { + const obj: any = {}; + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.extended_signatures?.length) { + obj.extended_signatures = message.extended_signatures.map((e) => ExtendedCommitSig.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): ExtendedCommit { + return ExtendedCommit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtendedCommit { + const message = createBaseExtendedCommit(); + message.height = object.height ?? 0; + message.round = object.round ?? 0; + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.extended_signatures = object.extended_signatures?.map((e) => ExtendedCommitSig.fromPartial(e)) || []; + return message; + }, +}; + +export const ExtendedCommitSig: MessageFns = { + $type: "tendermint.types.ExtendedCommitSig" as const, + + encode(message: ExtendedCommitSig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_id_flag !== 0) { + writer.uint32(8).int32(message.block_id_flag); + } + if (message.validator_address.length !== 0) { + writer.uint32(18).bytes(message.validator_address); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(26).fork()).join(); + } + if (message.signature.length !== 0) { + writer.uint32(34).bytes(message.signature); + } + if (message.extension.length !== 0) { + writer.uint32(42).bytes(message.extension); + } + if (message.extension_signature.length !== 0) { + writer.uint32(50).bytes(message.extension_signature); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommitSig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommitSig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block_id_flag = reader.int32() as any; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_address = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.signature = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.extension = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.extension_signature = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExtendedCommitSig { + return { + block_id_flag: isSet(object.block_id_flag) ? blockIDFlagFromJSON(object.block_id_flag) : 0, + validator_address: isSet(object.validator_address) ? bytesFromBase64(object.validator_address) : new Uint8Array(0), + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0), + extension: isSet(object.extension) ? bytesFromBase64(object.extension) : new Uint8Array(0), + extension_signature: isSet(object.extension_signature) ? bytesFromBase64(object.extension_signature) : new Uint8Array(0), + }; + }, + + toJSON(message: ExtendedCommitSig): unknown { + const obj: any = {}; + if (message.block_id_flag !== 0) { + obj.block_id_flag = blockIDFlagToJSON(message.block_id_flag); + } + if (message.validator_address.length !== 0) { + obj.validator_address = base64FromBytes(message.validator_address); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + if (message.signature.length !== 0) { + obj.signature = base64FromBytes(message.signature); + } + if (message.extension.length !== 0) { + obj.extension = base64FromBytes(message.extension); + } + if (message.extension_signature.length !== 0) { + obj.extension_signature = base64FromBytes(message.extension_signature); + } + return obj; + }, + + create, I>>(base?: I): ExtendedCommitSig { + return ExtendedCommitSig.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExtendedCommitSig { + const message = createBaseExtendedCommitSig(); + message.block_id_flag = object.block_id_flag ?? 0; + message.validator_address = object.validator_address ?? new Uint8Array(0); + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(0); + message.extension = object.extension ?? new Uint8Array(0); + message.extension_signature = object.extension_signature ?? new Uint8Array(0); + return message; + }, +}; + +export const Proposal: MessageFns = { + $type: "tendermint.types.Proposal" as const, + + encode(message: Proposal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.height !== 0) { + writer.uint32(16).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(24).int32(message.round); + } + if (message.pol_round !== 0) { + writer.uint32(32).int32(message.pol_round); + } + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(42).fork()).join(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(50).fork()).join(); + } + if (message.signature.length !== 0) { + writer.uint32(58).bytes(message.signature); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.type = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.height = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.round = reader.int32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.pol_round = reader.int32(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.signature = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Proposal { + return { + type: isSet(object.type) ? signedMsgTypeFromJSON(object.type) : 0, + height: isSet(object.height) ? globalThis.Number(object.height) : 0, + round: isSet(object.round) ? globalThis.Number(object.round) : 0, + pol_round: isSet(object.pol_round) ? globalThis.Number(object.pol_round) : 0, + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0), + }; + }, + + toJSON(message: Proposal): unknown { + const obj: any = {}; + if (message.type !== 0) { + obj.type = signedMsgTypeToJSON(message.type); + } + if (message.height !== 0) { + obj.height = Math.round(message.height); + } + if (message.round !== 0) { + obj.round = Math.round(message.round); + } + if (message.pol_round !== 0) { + obj.pol_round = Math.round(message.pol_round); + } + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + if (message.signature.length !== 0) { + obj.signature = base64FromBytes(message.signature); + } + return obj; + }, + + create, I>>(base?: I): Proposal { + return Proposal.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Proposal { + const message = createBaseProposal(); + message.type = object.type ?? 0; + message.height = object.height ?? 0; + message.round = object.round ?? 0; + message.pol_round = object.pol_round ?? 0; + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(0); + return message; + }, +}; + +export const SignedHeader: MessageFns = { + $type: "tendermint.types.SignedHeader" as const, + + encode(message: SignedHeader, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).join(); + } + if (message.commit !== undefined) { + Commit.encode(message.commit, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SignedHeader { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignedHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.header = Header.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.commit = Commit.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SignedHeader { + return { + header: isSet(object.header) ? Header.fromJSON(object.header) : undefined, + commit: isSet(object.commit) ? Commit.fromJSON(object.commit) : undefined, + }; + }, + + toJSON(message: SignedHeader): unknown { + const obj: any = {}; + if (message.header !== undefined) { + obj.header = Header.toJSON(message.header); + } + if (message.commit !== undefined) { + obj.commit = Commit.toJSON(message.commit); + } + return obj; + }, + + create, I>>(base?: I): SignedHeader { + return SignedHeader.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SignedHeader { + const message = createBaseSignedHeader(); + message.header = object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.commit = object.commit !== undefined && object.commit !== null ? Commit.fromPartial(object.commit) : undefined; + return message; + }, +}; + +export const LightBlock: MessageFns = { + $type: "tendermint.types.LightBlock" as const, + + encode(message: LightBlock, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.signed_header !== undefined) { + SignedHeader.encode(message.signed_header, writer.uint32(10).fork()).join(); + } + if (message.validator_set !== undefined) { + ValidatorSet.encode(message.validator_set, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LightBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLightBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.signed_header = SignedHeader.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.validator_set = ValidatorSet.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LightBlock { + return { + signed_header: isSet(object.signed_header) ? SignedHeader.fromJSON(object.signed_header) : undefined, + validator_set: isSet(object.validator_set) ? ValidatorSet.fromJSON(object.validator_set) : undefined, + }; + }, + + toJSON(message: LightBlock): unknown { + const obj: any = {}; + if (message.signed_header !== undefined) { + obj.signed_header = SignedHeader.toJSON(message.signed_header); + } + if (message.validator_set !== undefined) { + obj.validator_set = ValidatorSet.toJSON(message.validator_set); + } + return obj; + }, + + create, I>>(base?: I): LightBlock { + return LightBlock.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): LightBlock { + const message = createBaseLightBlock(); + message.signed_header = object.signed_header !== undefined && object.signed_header !== null ? SignedHeader.fromPartial(object.signed_header) : undefined; + message.validator_set = object.validator_set !== undefined && object.validator_set !== null ? ValidatorSet.fromPartial(object.validator_set) : undefined; + return message; + }, +}; + +export const BlockMeta: MessageFns = { + $type: "tendermint.types.BlockMeta" as const, + + encode(message: BlockMeta, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block_id !== undefined) { + BlockID.encode(message.block_id, writer.uint32(10).fork()).join(); + } + if (message.block_size !== 0) { + writer.uint32(16).int64(message.block_size); + } + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(26).fork()).join(); + } + if (message.num_txs !== 0) { + writer.uint32(32).int64(message.num_txs); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): BlockMeta { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockMeta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.block_id = BlockID.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.block_size = longToNumber(reader.int64()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.header = Header.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.num_txs = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): BlockMeta { + return { + block_id: isSet(object.block_id) ? BlockID.fromJSON(object.block_id) : undefined, + block_size: isSet(object.block_size) ? globalThis.Number(object.block_size) : 0, + header: isSet(object.header) ? Header.fromJSON(object.header) : undefined, + num_txs: isSet(object.num_txs) ? globalThis.Number(object.num_txs) : 0, + }; + }, + + toJSON(message: BlockMeta): unknown { + const obj: any = {}; + if (message.block_id !== undefined) { + obj.block_id = BlockID.toJSON(message.block_id); + } + if (message.block_size !== 0) { + obj.block_size = Math.round(message.block_size); + } + if (message.header !== undefined) { + obj.header = Header.toJSON(message.header); + } + if (message.num_txs !== 0) { + obj.num_txs = Math.round(message.num_txs); + } + return obj; + }, + + create, I>>(base?: I): BlockMeta { + return BlockMeta.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): BlockMeta { + const message = createBaseBlockMeta(); + message.block_id = object.block_id !== undefined && object.block_id !== null ? BlockID.fromPartial(object.block_id) : undefined; + message.block_size = object.block_size ?? 0; + message.header = object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.num_txs = object.num_txs ?? 0; + return message; + }, +}; + +export const TxProof: MessageFns = { + $type: "tendermint.types.TxProof" as const, + + encode(message: TxProof, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.root_hash.length !== 0) { + writer.uint32(10).bytes(message.root_hash); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TxProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.root_hash = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = Proof.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TxProof { + return { + root_hash: isSet(object.root_hash) ? bytesFromBase64(object.root_hash) : new Uint8Array(0), + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined, + }; + }, + + toJSON(message: TxProof): unknown { + const obj: any = {}; + if (message.root_hash.length !== 0) { + obj.root_hash = base64FromBytes(message.root_hash); + } + if (message.data.length !== 0) { + obj.data = base64FromBytes(message.data); + } + if (message.proof !== undefined) { + obj.proof = Proof.toJSON(message.proof); + } + return obj; + }, + + create, I>>(base?: I): TxProof { + return TxProof.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): TxProof { + const message = createBaseTxProof(); + message.root_hash = object.root_hash ?? new Uint8Array(0); + message.data = object.data ?? new Uint8Array(0); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, +}; + +export function blockIDFlagFromJSON(object: any): BlockIDFlag { + switch (object) { + case 0: + case "BLOCK_ID_FLAG_UNKNOWN": + return BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN; + case 1: + case "BLOCK_ID_FLAG_ABSENT": + return BlockIDFlag.BLOCK_ID_FLAG_ABSENT; + case 2: + case "BLOCK_ID_FLAG_COMMIT": + return BlockIDFlag.BLOCK_ID_FLAG_COMMIT; + case 3: + case "BLOCK_ID_FLAG_NIL": + return BlockIDFlag.BLOCK_ID_FLAG_NIL; + case -1: + case "UNRECOGNIZED": + default: + return BlockIDFlag.UNRECOGNIZED; + } +} + +export function blockIDFlagToJSON(object: BlockIDFlag): string { + switch (object) { + case BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN: + return "BLOCK_ID_FLAG_UNKNOWN"; + case BlockIDFlag.BLOCK_ID_FLAG_ABSENT: + return "BLOCK_ID_FLAG_ABSENT"; + case BlockIDFlag.BLOCK_ID_FLAG_COMMIT: + return "BLOCK_ID_FLAG_COMMIT"; + case BlockIDFlag.BLOCK_ID_FLAG_NIL: + return "BLOCK_ID_FLAG_NIL"; + case BlockIDFlag.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export function signedMsgTypeFromJSON(object: any): SignedMsgType { + switch (object) { + case 0: + case "SIGNED_MSG_TYPE_UNKNOWN": + return SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN; + case 1: + case "SIGNED_MSG_TYPE_PREVOTE": + return SignedMsgType.SIGNED_MSG_TYPE_PREVOTE; + case 2: + case "SIGNED_MSG_TYPE_PRECOMMIT": + return SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT; + case 32: + case "SIGNED_MSG_TYPE_PROPOSAL": + return SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL; + case -1: + case "UNRECOGNIZED": + default: + return SignedMsgType.UNRECOGNIZED; + } +} + +export function signedMsgTypeToJSON(object: SignedMsgType): string { + switch (object) { + case SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN: + return "SIGNED_MSG_TYPE_UNKNOWN"; + case SignedMsgType.SIGNED_MSG_TYPE_PREVOTE: + return "SIGNED_MSG_TYPE_PREVOTE"; + case SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT: + return "SIGNED_MSG_TYPE_PRECOMMIT"; + case SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL: + return "SIGNED_MSG_TYPE_PROPOSAL"; + case SignedMsgType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +function createBasePartSetHeader(): PartSetHeader { + return { total: 0, hash: new Uint8Array(0) }; +} + +function createBasePart(): Part { + return { index: 0, bytes: new Uint8Array(0), proof: undefined }; +} + +function createBaseBlockID(): BlockID { + return { hash: new Uint8Array(0), part_set_header: undefined }; +} + +function createBaseHeader(): Header { + return { + version: undefined, + chain_id: "", + height: 0, + time: undefined, + last_block_id: undefined, + last_commit_hash: new Uint8Array(0), + data_hash: new Uint8Array(0), + validators_hash: new Uint8Array(0), + next_validators_hash: new Uint8Array(0), + consensus_hash: new Uint8Array(0), + app_hash: new Uint8Array(0), + last_results_hash: new Uint8Array(0), + evidence_hash: new Uint8Array(0), + proposer_address: new Uint8Array(0), + }; +} + +function createBaseData(): Data { + return { txs: [] }; +} + +function createBaseVote(): Vote { + return { + type: 0, + height: 0, + round: 0, + block_id: undefined, + timestamp: undefined, + validator_address: new Uint8Array(0), + validator_index: 0, + signature: new Uint8Array(0), + extension: new Uint8Array(0), + extension_signature: new Uint8Array(0), + }; +} + +function createBaseCommit(): Commit { + return { height: 0, round: 0, block_id: undefined, signatures: [] }; +} + +function createBaseCommitSig(): CommitSig { + return { block_id_flag: 0, validator_address: new Uint8Array(0), timestamp: undefined, signature: new Uint8Array(0) }; +} + +function createBaseExtendedCommit(): ExtendedCommit { + return { height: 0, round: 0, block_id: undefined, extended_signatures: [] }; +} + +function createBaseExtendedCommitSig(): ExtendedCommitSig { + return { + block_id_flag: 0, + validator_address: new Uint8Array(0), + timestamp: undefined, + signature: new Uint8Array(0), + extension: new Uint8Array(0), + extension_signature: new Uint8Array(0), + }; +} + +function createBaseProposal(): Proposal { + return { + type: 0, + height: 0, + round: 0, + pol_round: 0, + block_id: undefined, + timestamp: undefined, + signature: new Uint8Array(0), + }; +} + +function createBaseSignedHeader(): SignedHeader { + return { header: undefined, commit: undefined }; +} + +function createBaseLightBlock(): LightBlock { + return { signed_header: undefined, validator_set: undefined }; +} + +function createBaseBlockMeta(): BlockMeta { + return { block_id: undefined, block_size: 0, header: undefined, num_txs: 0 }; +} + +function createBaseTxProof(): TxProof { + return { root_hash: new Uint8Array(0), data: new Uint8Array(0), proof: undefined }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.types.PartSetHeader", PartSetHeader as never], + ["/tendermint.types.Part", Part as never], + ["/tendermint.types.BlockID", BlockID as never], + ["/tendermint.types.Header", Header as never], + ["/tendermint.types.Data", Data as never], + ["/tendermint.types.Vote", Vote as never], + ["/tendermint.types.Commit", Commit as never], + ["/tendermint.types.CommitSig", CommitSig as never], + ["/tendermint.types.ExtendedCommit", ExtendedCommit as never], + ["/tendermint.types.ExtendedCommitSig", ExtendedCommitSig as never], + ["/tendermint.types.Proposal", Proposal as never], + ["/tendermint.types.SignedHeader", SignedHeader as never], + ["/tendermint.types.LightBlock", LightBlock as never], + ["/tendermint.types.BlockMeta", BlockMeta as never], + ["/tendermint.types.TxProof", TxProof as never], +]; +export const aminoConverters = { + "/tendermint.types.PartSetHeader": { + aminoType: "tendermint.types.PartSetHeader", + toAmino: (message: PartSetHeader) => ({ ...message }), + fromAmino: (object: PartSetHeader) => ({ ...object }), + }, + + "/tendermint.types.Part": { + aminoType: "tendermint.types.Part", + toAmino: (message: Part) => ({ ...message }), + fromAmino: (object: Part) => ({ ...object }), + }, + + "/tendermint.types.BlockID": { + aminoType: "tendermint.types.BlockID", + toAmino: (message: BlockID) => ({ ...message }), + fromAmino: (object: BlockID) => ({ ...object }), + }, + + "/tendermint.types.Header": { + aminoType: "tendermint.types.Header", + toAmino: (message: Header) => ({ ...message }), + fromAmino: (object: Header) => ({ ...object }), + }, + + "/tendermint.types.Data": { + aminoType: "tendermint.types.Data", + toAmino: (message: Data) => ({ ...message }), + fromAmino: (object: Data) => ({ ...object }), + }, + + "/tendermint.types.Vote": { + aminoType: "tendermint.types.Vote", + toAmino: (message: Vote) => ({ ...message }), + fromAmino: (object: Vote) => ({ ...object }), + }, + + "/tendermint.types.Commit": { + aminoType: "tendermint.types.Commit", + toAmino: (message: Commit) => ({ ...message }), + fromAmino: (object: Commit) => ({ ...object }), + }, + + "/tendermint.types.CommitSig": { + aminoType: "tendermint.types.CommitSig", + toAmino: (message: CommitSig) => ({ ...message }), + fromAmino: (object: CommitSig) => ({ ...object }), + }, + + "/tendermint.types.ExtendedCommit": { + aminoType: "tendermint.types.ExtendedCommit", + toAmino: (message: ExtendedCommit) => ({ ...message }), + fromAmino: (object: ExtendedCommit) => ({ ...object }), + }, + + "/tendermint.types.ExtendedCommitSig": { + aminoType: "tendermint.types.ExtendedCommitSig", + toAmino: (message: ExtendedCommitSig) => ({ ...message }), + fromAmino: (object: ExtendedCommitSig) => ({ ...object }), + }, + + "/tendermint.types.Proposal": { + aminoType: "tendermint.types.Proposal", + toAmino: (message: Proposal) => ({ ...message }), + fromAmino: (object: Proposal) => ({ ...object }), + }, + + "/tendermint.types.SignedHeader": { + aminoType: "tendermint.types.SignedHeader", + toAmino: (message: SignedHeader) => ({ ...message }), + fromAmino: (object: SignedHeader) => ({ ...object }), + }, + + "/tendermint.types.LightBlock": { + aminoType: "tendermint.types.LightBlock", + toAmino: (message: LightBlock) => ({ ...message }), + fromAmino: (object: LightBlock) => ({ ...object }), + }, + + "/tendermint.types.BlockMeta": { + aminoType: "tendermint.types.BlockMeta", + toAmino: (message: BlockMeta) => ({ ...message }), + fromAmino: (object: BlockMeta) => ({ ...object }), + }, + + "/tendermint.types.TxProof": { + aminoType: "tendermint.types.TxProof", + toAmino: (message: TxProof) => ({ ...message }), + fromAmino: (object: TxProof) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/types/validator.ts b/packages/cosmos/generated/encoding/tendermint/types/validator.ts new file mode 100644 index 000000000..2382b0cba --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/types/validator.ts @@ -0,0 +1,350 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { PublicKey } from "../crypto/keys"; + +import type { SimpleValidator as SimpleValidatorType, ValidatorSet as ValidatorSetType, Validator as ValidatorType } from "../../../types/tendermint/types"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface ValidatorSet extends ValidatorSetType {} +interface Validator extends ValidatorType {} +interface SimpleValidator extends SimpleValidatorType {} + +export const ValidatorSet: MessageFns = { + $type: "tendermint.types.ValidatorSet" as const, + + encode(message: ValidatorSet, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.proposer !== undefined) { + Validator.encode(message.proposer, writer.uint32(18).fork()).join(); + } + if (message.total_voting_power !== 0) { + writer.uint32(24).int64(message.total_voting_power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.validators.push(Validator.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.proposer = Validator.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.total_voting_power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ValidatorSet { + return { + validators: globalThis.Array.isArray(object?.validators) ? object.validators.map((e: any) => Validator.fromJSON(e)) : [], + proposer: isSet(object.proposer) ? Validator.fromJSON(object.proposer) : undefined, + total_voting_power: isSet(object.total_voting_power) ? globalThis.Number(object.total_voting_power) : 0, + }; + }, + + toJSON(message: ValidatorSet): unknown { + const obj: any = {}; + if (message.validators?.length) { + obj.validators = message.validators.map((e) => Validator.toJSON(e)); + } + if (message.proposer !== undefined) { + obj.proposer = Validator.toJSON(message.proposer); + } + if (message.total_voting_power !== 0) { + obj.total_voting_power = Math.round(message.total_voting_power); + } + return obj; + }, + + create, I>>(base?: I): ValidatorSet { + return ValidatorSet.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ValidatorSet { + const message = createBaseValidatorSet(); + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.proposer = object.proposer !== undefined && object.proposer !== null ? Validator.fromPartial(object.proposer) : undefined; + message.total_voting_power = object.total_voting_power ?? 0; + return message; + }, +}; + +export const Validator: MessageFns = { + $type: "tendermint.types.Validator" as const, + + encode(message: Validator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.address.length !== 0) { + writer.uint32(10).bytes(message.address); + } + if (message.pub_key !== undefined) { + PublicKey.encode(message.pub_key, writer.uint32(18).fork()).join(); + } + if (message.voting_power !== 0) { + writer.uint32(24).int64(message.voting_power); + } + if (message.proposer_priority !== 0) { + writer.uint32(32).int64(message.proposer_priority); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pub_key = PublicKey.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.voting_power = longToNumber(reader.int64()); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.proposer_priority = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Validator { + return { + address: isSet(object.address) ? bytesFromBase64(object.address) : new Uint8Array(0), + pub_key: isSet(object.pub_key) ? PublicKey.fromJSON(object.pub_key) : undefined, + voting_power: isSet(object.voting_power) ? globalThis.Number(object.voting_power) : 0, + proposer_priority: isSet(object.proposer_priority) ? globalThis.Number(object.proposer_priority) : 0, + }; + }, + + toJSON(message: Validator): unknown { + const obj: any = {}; + if (message.address.length !== 0) { + obj.address = base64FromBytes(message.address); + } + if (message.pub_key !== undefined) { + obj.pub_key = PublicKey.toJSON(message.pub_key); + } + if (message.voting_power !== 0) { + obj.voting_power = Math.round(message.voting_power); + } + if (message.proposer_priority !== 0) { + obj.proposer_priority = Math.round(message.proposer_priority); + } + return obj; + }, + + create, I>>(base?: I): Validator { + return Validator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Validator { + const message = createBaseValidator(); + message.address = object.address ?? new Uint8Array(0); + message.pub_key = object.pub_key !== undefined && object.pub_key !== null ? PublicKey.fromPartial(object.pub_key) : undefined; + message.voting_power = object.voting_power ?? 0; + message.proposer_priority = object.proposer_priority ?? 0; + return message; + }, +}; + +export const SimpleValidator: MessageFns = { + $type: "tendermint.types.SimpleValidator" as const, + + encode(message: SimpleValidator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pub_key !== undefined) { + PublicKey.encode(message.pub_key, writer.uint32(10).fork()).join(); + } + if (message.voting_power !== 0) { + writer.uint32(16).int64(message.voting_power); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SimpleValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimpleValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pub_key = PublicKey.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.voting_power = longToNumber(reader.int64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SimpleValidator { + return { + pub_key: isSet(object.pub_key) ? PublicKey.fromJSON(object.pub_key) : undefined, + voting_power: isSet(object.voting_power) ? globalThis.Number(object.voting_power) : 0, + }; + }, + + toJSON(message: SimpleValidator): unknown { + const obj: any = {}; + if (message.pub_key !== undefined) { + obj.pub_key = PublicKey.toJSON(message.pub_key); + } + if (message.voting_power !== 0) { + obj.voting_power = Math.round(message.voting_power); + } + return obj; + }, + + create, I>>(base?: I): SimpleValidator { + return SimpleValidator.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SimpleValidator { + const message = createBaseSimpleValidator(); + message.pub_key = object.pub_key !== undefined && object.pub_key !== null ? PublicKey.fromPartial(object.pub_key) : undefined; + message.voting_power = object.voting_power ?? 0; + return message; + }, +}; + +function createBaseValidatorSet(): ValidatorSet { + return { validators: [], proposer: undefined, total_voting_power: 0 }; +} + +function createBaseValidator(): Validator { + return { address: new Uint8Array(0), pub_key: undefined, voting_power: 0, proposer_priority: 0 }; +} + +function createBaseSimpleValidator(): SimpleValidator { + return { pub_key: undefined, voting_power: 0 }; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.types.ValidatorSet", ValidatorSet as never], + ["/tendermint.types.Validator", Validator as never], + ["/tendermint.types.SimpleValidator", SimpleValidator as never], +]; +export const aminoConverters = { + "/tendermint.types.ValidatorSet": { + aminoType: "tendermint.types.ValidatorSet", + toAmino: (message: ValidatorSet) => ({ ...message }), + fromAmino: (object: ValidatorSet) => ({ ...object }), + }, + + "/tendermint.types.Validator": { + aminoType: "tendermint.types.Validator", + toAmino: (message: Validator) => ({ ...message }), + fromAmino: (object: Validator) => ({ ...object }), + }, + + "/tendermint.types.SimpleValidator": { + aminoType: "tendermint.types.SimpleValidator", + toAmino: (message: SimpleValidator) => ({ ...message }), + fromAmino: (object: SimpleValidator) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tendermint/version/index.ts b/packages/cosmos/generated/encoding/tendermint/version/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/version/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tendermint/version/types.ts b/packages/cosmos/generated/encoding/tendermint/version/types.ts new file mode 100644 index 000000000..cac372f0c --- /dev/null +++ b/packages/cosmos/generated/encoding/tendermint/version/types.ts @@ -0,0 +1,194 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { App as AppType, Consensus as ConsensusType } from "../../../types/tendermint/version"; + +import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; + +interface App extends AppType {} +interface Consensus extends ConsensusType {} + +export const App: MessageFns = { + $type: "tendermint.version.App" as const, + + encode(message: App, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.protocol !== 0) { + writer.uint32(8).uint64(message.protocol); + } + if (message.software !== "") { + writer.uint32(18).string(message.software); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): App { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseApp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.protocol = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.software = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): App { + return { + protocol: isSet(object.protocol) ? globalThis.Number(object.protocol) : 0, + software: isSet(object.software) ? globalThis.String(object.software) : "", + }; + }, + + toJSON(message: App): unknown { + const obj: any = {}; + if (message.protocol !== 0) { + obj.protocol = Math.round(message.protocol); + } + if (message.software !== "") { + obj.software = message.software; + } + return obj; + }, + + create, I>>(base?: I): App { + return App.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): App { + const message = createBaseApp(); + message.protocol = object.protocol ?? 0; + message.software = object.software ?? ""; + return message; + }, +}; + +export const Consensus: MessageFns = { + $type: "tendermint.version.Consensus" as const, + + encode(message: Consensus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.block !== 0) { + writer.uint32(8).uint64(message.block); + } + if (message.app !== 0) { + writer.uint32(16).uint64(message.app); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Consensus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.block = longToNumber(reader.uint64()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.app = longToNumber(reader.uint64()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Consensus { + return { + block: isSet(object.block) ? globalThis.Number(object.block) : 0, + app: isSet(object.app) ? globalThis.Number(object.app) : 0, + }; + }, + + toJSON(message: Consensus): unknown { + const obj: any = {}; + if (message.block !== 0) { + obj.block = Math.round(message.block); + } + if (message.app !== 0) { + obj.app = Math.round(message.app); + } + return obj; + }, + + create, I>>(base?: I): Consensus { + return Consensus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Consensus { + const message = createBaseConsensus(); + message.block = object.block ?? 0; + message.app = object.app ?? 0; + return message; + }, +}; + +function createBaseApp(): App { + return { protocol: 0, software: "" }; +} + +function createBaseConsensus(): Consensus { + return { block: 0, app: 0 }; +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/tendermint.version.App", App as never], + ["/tendermint.version.Consensus", Consensus as never], +]; +export const aminoConverters = { + "/tendermint.version.App": { + aminoType: "tendermint.version.App", + toAmino: (message: App) => ({ ...message }), + fromAmino: (object: App) => ({ ...object }), + }, + + "/tendermint.version.Consensus": { + aminoType: "tendermint.version.Consensus", + toAmino: (message: Consensus) => ({ ...message }), + fromAmino: (object: Consensus) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts b/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts new file mode 100644 index 000000000..0f4656f89 --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts @@ -0,0 +1,70 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { DenomAuthorityMetadata as DenomAuthorityMetadataType } from "../../types/tokenfactory"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface DenomAuthorityMetadata extends DenomAuthorityMetadataType {} + +export const DenomAuthorityMetadata: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.DenomAuthorityMetadata" as const, + + encode(message: DenomAuthorityMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DenomAuthorityMetadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomAuthorityMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.admin = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DenomAuthorityMetadata { + return { admin: isSet(object.admin) ? globalThis.String(object.admin) : "" }; + }, + + toJSON(message: DenomAuthorityMetadata): unknown { + const obj: any = {}; + if (message.admin !== "") { + obj.admin = message.admin; + } + return obj; + }, + + create, I>>(base?: I): DenomAuthorityMetadata { + return DenomAuthorityMetadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DenomAuthorityMetadata { + const message = createBaseDenomAuthorityMetadata(); + message.admin = object.admin ?? ""; + return message; + }, +}; + +function createBaseDenomAuthorityMetadata(): DenomAuthorityMetadata { + return { admin: "" }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/tokenfactory/genesis.ts b/packages/cosmos/generated/encoding/tokenfactory/genesis.ts new file mode 100644 index 000000000..25cc716f8 --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/genesis.ts @@ -0,0 +1,188 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { DenomAuthorityMetadata } from "./authorityMetadata"; + +import { Params } from "./params"; + +import type { GenesisDenom as GenesisDenomType, GenesisState as GenesisStateType } from "../../types/tokenfactory"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface GenesisState extends GenesisStateType {} +interface GenesisDenom extends GenesisDenomType {} + +export const GenesisState: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.GenesisState" as const, + + encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + for (const v of message.factory_denoms) { + GenesisDenom.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.factory_denoms.push(GenesisDenom.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + factory_denoms: globalThis.Array.isArray(object?.factory_denoms) ? object.factory_denoms.map((e: any) => GenesisDenom.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.factory_denoms?.length) { + obj.factory_denoms = message.factory_denoms.map((e) => GenesisDenom.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + message.factory_denoms = object.factory_denoms?.map((e) => GenesisDenom.fromPartial(e)) || []; + return message; + }, +}; + +export const GenesisDenom: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.GenesisDenom" as const, + + encode(message: GenesisDenom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.authority_metadata !== undefined) { + DenomAuthorityMetadata.encode(message.authority_metadata, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GenesisDenom { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisDenom(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.authority_metadata = DenomAuthorityMetadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisDenom { + return { + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + authority_metadata: isSet(object.authority_metadata) ? DenomAuthorityMetadata.fromJSON(object.authority_metadata) : undefined, + }; + }, + + toJSON(message: GenesisDenom): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.authority_metadata !== undefined) { + obj.authority_metadata = DenomAuthorityMetadata.toJSON(message.authority_metadata); + } + return obj; + }, + + create, I>>(base?: I): GenesisDenom { + return GenesisDenom.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GenesisDenom { + const message = createBaseGenesisDenom(); + message.denom = object.denom ?? ""; + message.authority_metadata = + object.authority_metadata !== undefined && object.authority_metadata !== null ? DenomAuthorityMetadata.fromPartial(object.authority_metadata) : undefined; + return message; + }, +}; + +function createBaseGenesisState(): GenesisState { + return { params: undefined, factory_denoms: [] }; +} + +function createBaseGenesisDenom(): GenesisDenom { + return { denom: "", authority_metadata: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.tokenfactory.GenesisState", GenesisState as never], + ["/seiprotocol.seichain.tokenfactory.GenesisDenom", GenesisDenom as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.tokenfactory.GenesisState": { + aminoType: "seiprotocol.seichain.tokenfactory.GenesisState", + toAmino: (message: GenesisState) => ({ ...message }), + fromAmino: (object: GenesisState) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.GenesisDenom": { + aminoType: "seiprotocol.seichain.tokenfactory.GenesisDenom", + toAmino: (message: GenesisDenom) => ({ ...message }), + fromAmino: (object: GenesisDenom) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tokenfactory/index.ts b/packages/cosmos/generated/encoding/tokenfactory/index.ts new file mode 100644 index 000000000..8de7ed11d --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/index.ts @@ -0,0 +1,5 @@ +export * from './authorityMetadata'; +export * from './genesis'; +export * from './params'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/encoding/tokenfactory/params.ts b/packages/cosmos/generated/encoding/tokenfactory/params.ts new file mode 100644 index 000000000..e4b40e6c9 --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/params.ts @@ -0,0 +1,62 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import type { Params as ParamsType } from "../../types/tokenfactory"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface Params extends ParamsType {} + +export const Params: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.Params" as const, + + encode(_: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): Params { + return {}; + }, + + toJSON(_: Params): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): Params { + const message = createBaseParams(); + return message; + }, +}; + +function createBaseParams(): Params { + return {}; +} +export const registry: Array<[string, GeneratedType]> = [["/seiprotocol.seichain.tokenfactory.Params", Params as never]]; +export const aminoConverters = { + "/seiprotocol.seichain.tokenfactory.Params": { + aminoType: "seiprotocol.seichain.tokenfactory.Params", + toAmino: (message: Params) => ({ ...message }), + fromAmino: (object: Params) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/encoding/tokenfactory/query.ts b/packages/cosmos/generated/encoding/tokenfactory/query.ts new file mode 100644 index 000000000..a47dc7189 --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/query.ts @@ -0,0 +1,624 @@ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { AllowList, Metadata } from "../cosmos/bank/v1beta1/bank"; + +import { DenomAuthorityMetadata } from "./authorityMetadata"; + +import { Params } from "./params"; + +import type { + QueryDenomAllowListRequest as QueryDenomAllowListRequestType, + QueryDenomAllowListResponse as QueryDenomAllowListResponseType, + QueryDenomAuthorityMetadataRequest as QueryDenomAuthorityMetadataRequestType, + QueryDenomAuthorityMetadataResponse as QueryDenomAuthorityMetadataResponseType, + QueryDenomMetadataRequest as QueryDenomMetadataRequestType, + QueryDenomMetadataResponse as QueryDenomMetadataResponseType, + QueryDenomsFromCreatorRequest as QueryDenomsFromCreatorRequestType, + QueryDenomsFromCreatorResponse as QueryDenomsFromCreatorResponseType, + QueryParamsRequest as QueryParamsRequestType, + QueryParamsResponse as QueryParamsResponseType, +} from "../../types/tokenfactory"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface QueryParamsRequest extends QueryParamsRequestType {} +interface QueryParamsResponse extends QueryParamsResponseType {} +interface QueryDenomAuthorityMetadataRequest extends QueryDenomAuthorityMetadataRequestType {} +interface QueryDenomAuthorityMetadataResponse extends QueryDenomAuthorityMetadataResponseType {} +interface QueryDenomsFromCreatorRequest extends QueryDenomsFromCreatorRequestType {} +interface QueryDenomsFromCreatorResponse extends QueryDenomsFromCreatorResponseType {} +interface QueryDenomMetadataRequest extends QueryDenomMetadataRequestType {} +interface QueryDenomMetadataResponse extends QueryDenomMetadataResponseType {} +interface QueryDenomAllowListRequest extends QueryDenomAllowListRequestType {} +interface QueryDenomAllowListResponse extends QueryDenomAllowListResponseType {} + +export const QueryParamsRequest: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryParamsRequest" as const, + + encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +export const QueryParamsResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryParamsResponse" as const, + + encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, +}; + +export const QueryDenomAuthorityMetadataRequest: MessageFns< + QueryDenomAuthorityMetadataRequest, + "seiprotocol.seichain.tokenfactory.QueryDenomAuthorityMetadataRequest" +> = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomAuthorityMetadataRequest" as const, + + encode(message: QueryDenomAuthorityMetadataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomAuthorityMetadataRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomAuthorityMetadataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomAuthorityMetadataRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QueryDenomAuthorityMetadataRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomAuthorityMetadataRequest { + return QueryDenomAuthorityMetadataRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomAuthorityMetadataRequest { + const message = createBaseQueryDenomAuthorityMetadataRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryDenomAuthorityMetadataResponse: MessageFns< + QueryDenomAuthorityMetadataResponse, + "seiprotocol.seichain.tokenfactory.QueryDenomAuthorityMetadataResponse" +> = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomAuthorityMetadataResponse" as const, + + encode(message: QueryDenomAuthorityMetadataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.authority_metadata !== undefined) { + DenomAuthorityMetadata.encode(message.authority_metadata, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomAuthorityMetadataResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomAuthorityMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority_metadata = DenomAuthorityMetadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomAuthorityMetadataResponse { + return { + authority_metadata: isSet(object.authority_metadata) ? DenomAuthorityMetadata.fromJSON(object.authority_metadata) : undefined, + }; + }, + + toJSON(message: QueryDenomAuthorityMetadataResponse): unknown { + const obj: any = {}; + if (message.authority_metadata !== undefined) { + obj.authority_metadata = DenomAuthorityMetadata.toJSON(message.authority_metadata); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomAuthorityMetadataResponse { + return QueryDenomAuthorityMetadataResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomAuthorityMetadataResponse { + const message = createBaseQueryDenomAuthorityMetadataResponse(); + message.authority_metadata = + object.authority_metadata !== undefined && object.authority_metadata !== null ? DenomAuthorityMetadata.fromPartial(object.authority_metadata) : undefined; + return message; + }, +}; + +export const QueryDenomsFromCreatorRequest: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomsFromCreatorRequest" as const, + + encode(message: QueryDenomsFromCreatorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.creator !== "") { + writer.uint32(10).string(message.creator); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsFromCreatorRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomsFromCreatorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.creator = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomsFromCreatorRequest { + return { creator: isSet(object.creator) ? globalThis.String(object.creator) : "" }; + }, + + toJSON(message: QueryDenomsFromCreatorRequest): unknown { + const obj: any = {}; + if (message.creator !== "") { + obj.creator = message.creator; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomsFromCreatorRequest { + return QueryDenomsFromCreatorRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomsFromCreatorRequest { + const message = createBaseQueryDenomsFromCreatorRequest(); + message.creator = object.creator ?? ""; + return message; + }, +}; + +export const QueryDenomsFromCreatorResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomsFromCreatorResponse" as const, + + encode(message: QueryDenomsFromCreatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.denoms) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsFromCreatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomsFromCreatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denoms.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomsFromCreatorResponse { + return { + denoms: globalThis.Array.isArray(object?.denoms) ? object.denoms.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: QueryDenomsFromCreatorResponse): unknown { + const obj: any = {}; + if (message.denoms?.length) { + obj.denoms = message.denoms; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomsFromCreatorResponse { + return QueryDenomsFromCreatorResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomsFromCreatorResponse { + const message = createBaseQueryDenomsFromCreatorResponse(); + message.denoms = object.denoms?.map((e) => e) || []; + return message; + }, +}; + +export const QueryDenomMetadataRequest: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomMetadataRequest" as const, + + encode(message: QueryDenomMetadataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomMetadataRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomMetadataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomMetadataRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QueryDenomMetadataRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomMetadataRequest { + return QueryDenomMetadataRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomMetadataRequest { + const message = createBaseQueryDenomMetadataRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryDenomMetadataResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomMetadataResponse" as const, + + encode(message: QueryDenomMetadataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.metadata !== undefined) { + Metadata.encode(message.metadata, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomMetadataResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.metadata = Metadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomMetadataResponse { + return { metadata: isSet(object.metadata) ? Metadata.fromJSON(object.metadata) : undefined }; + }, + + toJSON(message: QueryDenomMetadataResponse): unknown { + const obj: any = {}; + if (message.metadata !== undefined) { + obj.metadata = Metadata.toJSON(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomMetadataResponse { + return QueryDenomMetadataResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomMetadataResponse { + const message = createBaseQueryDenomMetadataResponse(); + message.metadata = object.metadata !== undefined && object.metadata !== null ? Metadata.fromPartial(object.metadata) : undefined; + return message; + }, +}; + +export const QueryDenomAllowListRequest: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomAllowListRequest" as const, + + encode(message: QueryDenomAllowListRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomAllowListRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomAllowListRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomAllowListRequest { + return { denom: isSet(object.denom) ? globalThis.String(object.denom) : "" }; + }, + + toJSON(message: QueryDenomAllowListRequest): unknown { + const obj: any = {}; + if (message.denom !== "") { + obj.denom = message.denom; + } + return obj; + }, + + create, I>>(base?: I): QueryDenomAllowListRequest { + return QueryDenomAllowListRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomAllowListRequest { + const message = createBaseQueryDenomAllowListRequest(); + message.denom = object.denom ?? ""; + return message; + }, +}; + +export const QueryDenomAllowListResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.QueryDenomAllowListResponse" as const, + + encode(message: QueryDenomAllowListResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.allow_list !== undefined) { + AllowList.encode(message.allow_list, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomAllowListResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDenomAllowListResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.allow_list = AllowList.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDenomAllowListResponse { + return { allow_list: isSet(object.allow_list) ? AllowList.fromJSON(object.allow_list) : undefined }; + }, + + toJSON(message: QueryDenomAllowListResponse): unknown { + const obj: any = {}; + if (message.allow_list !== undefined) { + obj.allow_list = AllowList.toJSON(message.allow_list); + } + return obj; + }, + + create, I>>(base?: I): QueryDenomAllowListResponse { + return QueryDenomAllowListResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): QueryDenomAllowListResponse { + const message = createBaseQueryDenomAllowListResponse(); + message.allow_list = object.allow_list !== undefined && object.allow_list !== null ? AllowList.fromPartial(object.allow_list) : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +function createBaseQueryDenomAuthorityMetadataRequest(): QueryDenomAuthorityMetadataRequest { + return { denom: "" }; +} + +function createBaseQueryDenomAuthorityMetadataResponse(): QueryDenomAuthorityMetadataResponse { + return { authority_metadata: undefined }; +} + +function createBaseQueryDenomsFromCreatorRequest(): QueryDenomsFromCreatorRequest { + return { creator: "" }; +} + +function createBaseQueryDenomsFromCreatorResponse(): QueryDenomsFromCreatorResponse { + return { denoms: [] }; +} + +function createBaseQueryDenomMetadataRequest(): QueryDenomMetadataRequest { + return { denom: "" }; +} + +function createBaseQueryDenomMetadataResponse(): QueryDenomMetadataResponse { + return { metadata: undefined }; +} + +function createBaseQueryDenomAllowListRequest(): QueryDenomAllowListRequest { + return { denom: "" }; +} + +function createBaseQueryDenomAllowListResponse(): QueryDenomAllowListResponse { + return { allow_list: undefined }; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/packages/cosmos/generated/encoding/tokenfactory/tx.ts b/packages/cosmos/generated/encoding/tokenfactory/tx.ts new file mode 100644 index 000000000..c5fbdc1ad --- /dev/null +++ b/packages/cosmos/generated/encoding/tokenfactory/tx.ts @@ -0,0 +1,878 @@ +import type { GeneratedType } from "@cosmjs/proto-signing"; + +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +import { AllowList, Metadata } from "../cosmos/bank/v1beta1/bank"; + +import { Coin } from "../cosmos/base/v1beta1/coin"; + +import type { + MsgBurnResponse as MsgBurnResponseType, + MsgBurn as MsgBurnType, + MsgChangeAdminResponse as MsgChangeAdminResponseType, + MsgChangeAdmin as MsgChangeAdminType, + MsgCreateDenomResponse as MsgCreateDenomResponseType, + MsgCreateDenom as MsgCreateDenomType, + MsgMintResponse as MsgMintResponseType, + MsgMint as MsgMintType, + MsgSetDenomMetadataResponse as MsgSetDenomMetadataResponseType, + MsgSetDenomMetadata as MsgSetDenomMetadataType, + MsgUpdateDenomResponse as MsgUpdateDenomResponseType, + MsgUpdateDenom as MsgUpdateDenomType, +} from "../../types/tokenfactory"; + +import type { DeepPartial, Exact, MessageFns } from "../common.ts"; + +interface MsgCreateDenom extends MsgCreateDenomType {} +interface MsgCreateDenomResponse extends MsgCreateDenomResponseType {} +interface MsgMint extends MsgMintType {} +interface MsgMintResponse extends MsgMintResponseType {} +interface MsgBurn extends MsgBurnType {} +interface MsgBurnResponse extends MsgBurnResponseType {} +interface MsgChangeAdmin extends MsgChangeAdminType {} +interface MsgChangeAdminResponse extends MsgChangeAdminResponseType {} +interface MsgSetDenomMetadata extends MsgSetDenomMetadataType {} +interface MsgSetDenomMetadataResponse extends MsgSetDenomMetadataResponseType {} +interface MsgUpdateDenom extends MsgUpdateDenomType {} +interface MsgUpdateDenomResponse extends MsgUpdateDenomResponseType {} + +export const MsgCreateDenom: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgCreateDenom" as const, + + encode(message: MsgCreateDenom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.subdenom !== "") { + writer.uint32(18).string(message.subdenom); + } + if (message.allow_list !== undefined) { + AllowList.encode(message.allow_list, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDenom { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDenom(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.subdenom = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.allow_list = AllowList.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgCreateDenom { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + subdenom: isSet(object.subdenom) ? globalThis.String(object.subdenom) : "", + allow_list: isSet(object.allow_list) ? AllowList.fromJSON(object.allow_list) : undefined, + }; + }, + + toJSON(message: MsgCreateDenom): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.subdenom !== "") { + obj.subdenom = message.subdenom; + } + if (message.allow_list !== undefined) { + obj.allow_list = AllowList.toJSON(message.allow_list); + } + return obj; + }, + + create, I>>(base?: I): MsgCreateDenom { + return MsgCreateDenom.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgCreateDenom { + const message = createBaseMsgCreateDenom(); + message.sender = object.sender ?? ""; + message.subdenom = object.subdenom ?? ""; + message.allow_list = object.allow_list !== undefined && object.allow_list !== null ? AllowList.fromPartial(object.allow_list) : undefined; + return message; + }, +}; + +export const MsgCreateDenomResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgCreateDenomResponse" as const, + + encode(message: MsgCreateDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.new_token_denom !== "") { + writer.uint32(10).string(message.new_token_denom); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDenomResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDenomResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.new_token_denom = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgCreateDenomResponse { + return { new_token_denom: isSet(object.new_token_denom) ? globalThis.String(object.new_token_denom) : "" }; + }, + + toJSON(message: MsgCreateDenomResponse): unknown { + const obj: any = {}; + if (message.new_token_denom !== "") { + obj.new_token_denom = message.new_token_denom; + } + return obj; + }, + + create, I>>(base?: I): MsgCreateDenomResponse { + return MsgCreateDenomResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgCreateDenomResponse { + const message = createBaseMsgCreateDenomResponse(); + message.new_token_denom = object.new_token_denom ?? ""; + return message; + }, +}; + +export const MsgMint: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgMint" as const, + + encode(message: MsgMint, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgMint { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMint(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgMint { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined, + }; + }, + + toJSON(message: MsgMint): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): MsgMint { + return MsgMint.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgMint { + const message = createBaseMsgMint(); + message.sender = object.sender ?? ""; + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const MsgMintResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgMintResponse" as const, + + encode(_: MsgMintResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgMintResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMintResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgMintResponse { + return {}; + }, + + toJSON(_: MsgMintResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgMintResponse { + return MsgMintResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgMintResponse { + const message = createBaseMsgMintResponse(); + return message; + }, +}; + +export const MsgBurn: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgBurn" as const, + + encode(message: MsgBurn, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgBurn { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBurn(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amount = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgBurn { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined, + }; + }, + + toJSON(message: MsgBurn): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.amount !== undefined) { + obj.amount = Coin.toJSON(message.amount); + } + return obj; + }, + + create, I>>(base?: I): MsgBurn { + return MsgBurn.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgBurn { + const message = createBaseMsgBurn(); + message.sender = object.sender ?? ""; + message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, +}; + +export const MsgBurnResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgBurnResponse" as const, + + encode(_: MsgBurnResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgBurnResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBurnResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgBurnResponse { + return {}; + }, + + toJSON(_: MsgBurnResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgBurnResponse { + return MsgBurnResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgBurnResponse { + const message = createBaseMsgBurnResponse(); + return message; + }, +}; + +export const MsgChangeAdmin: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgChangeAdmin" as const, + + encode(message: MsgChangeAdmin, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.denom !== "") { + writer.uint32(18).string(message.denom); + } + if (message.new_admin !== "") { + writer.uint32(26).string(message.new_admin); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgChangeAdmin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgChangeAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.denom = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.new_admin = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgChangeAdmin { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + new_admin: isSet(object.new_admin) ? globalThis.String(object.new_admin) : "", + }; + }, + + toJSON(message: MsgChangeAdmin): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.new_admin !== "") { + obj.new_admin = message.new_admin; + } + return obj; + }, + + create, I>>(base?: I): MsgChangeAdmin { + return MsgChangeAdmin.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgChangeAdmin { + const message = createBaseMsgChangeAdmin(); + message.sender = object.sender ?? ""; + message.denom = object.denom ?? ""; + message.new_admin = object.new_admin ?? ""; + return message; + }, +}; + +export const MsgChangeAdminResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgChangeAdminResponse" as const, + + encode(_: MsgChangeAdminResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgChangeAdminResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgChangeAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgChangeAdminResponse { + return {}; + }, + + toJSON(_: MsgChangeAdminResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgChangeAdminResponse { + return MsgChangeAdminResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgChangeAdminResponse { + const message = createBaseMsgChangeAdminResponse(); + return message; + }, +}; + +export const MsgSetDenomMetadata: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgSetDenomMetadata" as const, + + encode(message: MsgSetDenomMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.metadata !== undefined) { + Metadata.encode(message.metadata, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetDenomMetadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetDenomMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.metadata = Metadata.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSetDenomMetadata { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + metadata: isSet(object.metadata) ? Metadata.fromJSON(object.metadata) : undefined, + }; + }, + + toJSON(message: MsgSetDenomMetadata): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.metadata !== undefined) { + obj.metadata = Metadata.toJSON(message.metadata); + } + return obj; + }, + + create, I>>(base?: I): MsgSetDenomMetadata { + return MsgSetDenomMetadata.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgSetDenomMetadata { + const message = createBaseMsgSetDenomMetadata(); + message.sender = object.sender ?? ""; + message.metadata = object.metadata !== undefined && object.metadata !== null ? Metadata.fromPartial(object.metadata) : undefined; + return message; + }, +}; + +export const MsgSetDenomMetadataResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgSetDenomMetadataResponse" as const, + + encode(_: MsgSetDenomMetadataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetDenomMetadataResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetDenomMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgSetDenomMetadataResponse { + return {}; + }, + + toJSON(_: MsgSetDenomMetadataResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgSetDenomMetadataResponse { + return MsgSetDenomMetadataResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgSetDenomMetadataResponse { + const message = createBaseMsgSetDenomMetadataResponse(); + return message; + }, +}; + +export const MsgUpdateDenom: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgUpdateDenom" as const, + + encode(message: MsgUpdateDenom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.denom !== "") { + writer.uint32(18).string(message.denom); + } + if (message.allow_list !== undefined) { + AllowList.encode(message.allow_list, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateDenom { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateDenom(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.denom = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.allow_list = AllowList.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateDenom { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + denom: isSet(object.denom) ? globalThis.String(object.denom) : "", + allow_list: isSet(object.allow_list) ? AllowList.fromJSON(object.allow_list) : undefined, + }; + }, + + toJSON(message: MsgUpdateDenom): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.denom !== "") { + obj.denom = message.denom; + } + if (message.allow_list !== undefined) { + obj.allow_list = AllowList.toJSON(message.allow_list); + } + return obj; + }, + + create, I>>(base?: I): MsgUpdateDenom { + return MsgUpdateDenom.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): MsgUpdateDenom { + const message = createBaseMsgUpdateDenom(); + message.sender = object.sender ?? ""; + message.denom = object.denom ?? ""; + message.allow_list = object.allow_list !== undefined && object.allow_list !== null ? AllowList.fromPartial(object.allow_list) : undefined; + return message; + }, +}; + +export const MsgUpdateDenomResponse: MessageFns = { + $type: "seiprotocol.seichain.tokenfactory.MsgUpdateDenomResponse" as const, + + encode(_: MsgUpdateDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateDenomResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateDenomResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateDenomResponse { + return {}; + }, + + toJSON(_: MsgUpdateDenomResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUpdateDenomResponse { + return MsgUpdateDenomResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): MsgUpdateDenomResponse { + const message = createBaseMsgUpdateDenomResponse(); + return message; + }, +}; + +function createBaseMsgCreateDenom(): MsgCreateDenom { + return { sender: "", subdenom: "", allow_list: undefined }; +} + +function createBaseMsgCreateDenomResponse(): MsgCreateDenomResponse { + return { new_token_denom: "" }; +} + +function createBaseMsgMint(): MsgMint { + return { sender: "", amount: undefined }; +} + +function createBaseMsgMintResponse(): MsgMintResponse { + return {}; +} + +function createBaseMsgBurn(): MsgBurn { + return { sender: "", amount: undefined }; +} + +function createBaseMsgBurnResponse(): MsgBurnResponse { + return {}; +} + +function createBaseMsgChangeAdmin(): MsgChangeAdmin { + return { sender: "", denom: "", new_admin: "" }; +} + +function createBaseMsgChangeAdminResponse(): MsgChangeAdminResponse { + return {}; +} + +function createBaseMsgSetDenomMetadata(): MsgSetDenomMetadata { + return { sender: "", metadata: undefined }; +} + +function createBaseMsgSetDenomMetadataResponse(): MsgSetDenomMetadataResponse { + return {}; +} + +function createBaseMsgUpdateDenom(): MsgUpdateDenom { + return { sender: "", denom: "", allow_list: undefined }; +} + +function createBaseMsgUpdateDenomResponse(): MsgUpdateDenomResponse { + return {}; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} +export const registry: Array<[string, GeneratedType]> = [ + ["/seiprotocol.seichain.tokenfactory.MsgCreateDenom", MsgCreateDenom as never], + ["/seiprotocol.seichain.tokenfactory.MsgMint", MsgMint as never], + ["/seiprotocol.seichain.tokenfactory.MsgMintResponse", MsgMintResponse as never], + ["/seiprotocol.seichain.tokenfactory.MsgBurn", MsgBurn as never], + ["/seiprotocol.seichain.tokenfactory.MsgBurnResponse", MsgBurnResponse as never], + ["/seiprotocol.seichain.tokenfactory.MsgChangeAdmin", MsgChangeAdmin as never], + ["/seiprotocol.seichain.tokenfactory.MsgUpdateDenom", MsgUpdateDenom as never], +]; +export const aminoConverters = { + "/seiprotocol.seichain.tokenfactory.MsgCreateDenom": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgCreateDenom", + toAmino: (message: MsgCreateDenom) => ({ ...message }), + fromAmino: (object: MsgCreateDenom) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgMint": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgMint", + toAmino: (message: MsgMint) => ({ ...message }), + fromAmino: (object: MsgMint) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgMintResponse": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgMintResponse", + toAmino: (message: MsgMintResponse) => ({ ...message }), + fromAmino: (object: MsgMintResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgBurn": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgBurn", + toAmino: (message: MsgBurn) => ({ ...message }), + fromAmino: (object: MsgBurn) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgBurnResponse": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgBurnResponse", + toAmino: (message: MsgBurnResponse) => ({ ...message }), + fromAmino: (object: MsgBurnResponse) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgChangeAdmin": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgChangeAdmin", + toAmino: (message: MsgChangeAdmin) => ({ ...message }), + fromAmino: (object: MsgChangeAdmin) => ({ ...object }), + }, + + "/seiprotocol.seichain.tokenfactory.MsgUpdateDenom": { + aminoType: "seiprotocol.seichain.tokenfactory.MsgUpdateDenom", + toAmino: (message: MsgUpdateDenom) => ({ ...message }), + fromAmino: (object: MsgUpdateDenom) => ({ ...object }), + }, +}; diff --git a/packages/cosmos/generated/rest/cosmos/accesscontrol_x/query.ts b/packages/cosmos/generated/rest/cosmos/accesscontrol_x/query.ts new file mode 100644 index 000000000..1f3473f2b --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/accesscontrol_x/query.ts @@ -0,0 +1,50 @@ +import * as fm from "../../fetch"; + +import type { + ListResourceDependencyMappingRequest, + ListResourceDependencyMappingResponse, + ListWasmDependencyMappingRequest, + ListWasmDependencyMappingResponse, + QueryParamsRequest, + QueryParamsResponse, + ResourceDependencyMappingFromMessageKeyRequest, + ResourceDependencyMappingFromMessageKeyResponse, + WasmDependencyMappingRequest, + WasmDependencyMappingResponse, +} from "../../../types/cosmos/accesscontrol_x/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/cosmos-sdk/accesscontrol/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static ResourceDependencyMappingFromMessageKey( + req: ResourceDependencyMappingFromMessageKeyRequest, + initReq?: fm.InitReq, + ): Promise { + return fm.fetchReq( + `/cosmos/cosmos-sdk/accesscontrol/resource_dependency_mapping_from_message_key/${req["message_key"]}?${fm.renderURLSearchParams(req, ["message_key"])}`, + { ...initReq, method: "GET" }, + ); + } + static ListResourceDependencyMapping(req: ListResourceDependencyMappingRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/cosmos-sdk/accesscontrol/list_resource_dependency_mapping?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static WasmDependencyMapping(req: WasmDependencyMappingRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/cosmos-sdk/accesscontrol/wasm_dependency_mapping/${req["contract_address"]}?${fm.renderURLSearchParams(req, ["contract_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static ListWasmDependencyMapping(req: ListWasmDependencyMappingRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/cosmos-sdk/accesscontrol/list_wasm_dependency_mapping?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/auth/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/auth/v1beta1/query.ts new file mode 100644 index 000000000..a015913aa --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/auth/v1beta1/query.ts @@ -0,0 +1,39 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAccountRequest, + QueryAccountResponse, + QueryAccountsRequest, + QueryAccountsResponse, + QueryNextAccountNumberRequest, + QueryNextAccountNumberResponse, + QueryParamsRequest, + QueryParamsResponse, +} from "../../../../types/cosmos/auth/v1beta1/query.ts"; + +export class Query { + static Accounts(req: QueryAccountsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/auth/v1beta1/accounts?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Account(req: QueryAccountRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/auth/v1beta1/accounts/${req["address"]}?${fm.renderURLSearchParams(req, ["address"])}`, + { ...initReq, method: "GET" }, + ); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/auth/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static NextAccountNumber(req: QueryNextAccountNumberRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/auth/v1beta1/nextaccountnumber?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/authz/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/authz/v1beta1/query.ts new file mode 100644 index 000000000..ce3e39f09 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/authz/v1beta1/query.ts @@ -0,0 +1,31 @@ +import * as fm from "../../../fetch"; + +import type { + QueryGranteeGrantsRequest, + QueryGranteeGrantsResponse, + QueryGranterGrantsRequest, + QueryGranterGrantsResponse, + QueryGrantsRequest, + QueryGrantsResponse, +} from "../../../../types/cosmos/authz/v1beta1/query.ts"; + +export class Query { + static Grants(req: QueryGrantsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/authz/v1beta1/grants?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static GranterGrants(req: QueryGranterGrantsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/authz/v1beta1/grants/granter/${req["granter"]}?${fm.renderURLSearchParams(req, ["granter"])}`, + { ...initReq, method: "GET" }, + ); + } + static GranteeGrants(req: QueryGranteeGrantsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/authz/v1beta1/grants/grantee/${req["grantee"]}?${fm.renderURLSearchParams(req, ["grantee"])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/bank/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/bank/v1beta1/query.ts new file mode 100644 index 000000000..58447552f --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/bank/v1beta1/query.ts @@ -0,0 +1,71 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAllBalancesRequest, + QueryAllBalancesResponse, + QueryBalanceRequest, + QueryBalanceResponse, + QueryDenomMetadataRequest, + QueryDenomMetadataResponse, + QueryDenomsMetadataRequest, + QueryDenomsMetadataResponse, + QueryParamsRequest, + QueryParamsResponse, + QuerySpendableBalancesRequest, + QuerySpendableBalancesResponse, + QuerySupplyOfRequest, + QuerySupplyOfResponse, + QueryTotalSupplyRequest, + QueryTotalSupplyResponse, +} from "../../../../types/cosmos/bank/v1beta1/query.ts"; + +export class Query { + static Balance(req: QueryBalanceRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/bank/v1beta1/balances/${req["address"]}/by_denom?${fm.renderURLSearchParams(req, ["address"])}`, + { ...initReq, method: "GET" }, + ); + } + static AllBalances(req: QueryAllBalancesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/bank/v1beta1/balances/${req["address"]}?${fm.renderURLSearchParams(req, ["address"])}`, + { ...initReq, method: "GET" }, + ); + } + static SpendableBalances(req: QuerySpendableBalancesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/bank/v1beta1/spendable_balances/${req["address"]}?${fm.renderURLSearchParams(req, ["address"])}`, + { ...initReq, method: "GET" }, + ); + } + static TotalSupply(req: QueryTotalSupplyRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/bank/v1beta1/supply?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static SupplyOf(req: QuerySupplyOfRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/bank/v1beta1/supply/${req["denom"]}?${fm.renderURLSearchParams(req, ["denom"])}`, { + ...initReq, + method: "GET", + }); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/bank/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static DenomMetadata(req: QueryDenomMetadataRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/bank/v1beta1/denoms_metadata/${req["denom"]}?${fm.renderURLSearchParams(req, ["denom"])}`, + { ...initReq, method: "GET" }, + ); + } + static DenomsMetadata(req: QueryDenomsMetadataRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/bank/v1beta1/denoms_metadata?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/distribution/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/distribution/v1beta1/query.ts new file mode 100644 index 000000000..ea886d542 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/distribution/v1beta1/query.ts @@ -0,0 +1,79 @@ +import * as fm from "../../../fetch"; + +import type { + QueryCommunityPoolRequest, + QueryCommunityPoolResponse, + QueryDelegationRewardsRequest, + QueryDelegationRewardsResponse, + QueryDelegationTotalRewardsRequest, + QueryDelegationTotalRewardsResponse, + QueryDelegatorValidatorsRequest, + QueryDelegatorValidatorsResponse, + QueryDelegatorWithdrawAddressRequest, + QueryDelegatorWithdrawAddressResponse, + QueryParamsRequest, + QueryParamsResponse, + QueryValidatorCommissionRequest, + QueryValidatorCommissionResponse, + QueryValidatorOutstandingRewardsRequest, + QueryValidatorOutstandingRewardsResponse, + QueryValidatorSlashesRequest, + QueryValidatorSlashesResponse, +} from "../../../../types/cosmos/distribution/v1beta1/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/distribution/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static ValidatorOutstandingRewards(req: QueryValidatorOutstandingRewardsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/validators/${req["validator_address"]}/outstanding_rewards?${fm.renderURLSearchParams(req, ["validator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static ValidatorCommission(req: QueryValidatorCommissionRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/validators/${req["validator_address"]}/commission?${fm.renderURLSearchParams(req, ["validator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static ValidatorSlashes(req: QueryValidatorSlashesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/validators/${req["validator_address"]}/slashes?${fm.renderURLSearchParams(req, ["validator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegationRewards(req: QueryDelegationRewardsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/delegators/${req["delegator_address"]}/rewards/${req["validator_address"]}?${fm.renderURLSearchParams(req, ["delegator_address", "validator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegationTotalRewards(req: QueryDelegationTotalRewardsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/delegators/${req["delegator_address"]}/rewards?${fm.renderURLSearchParams(req, ["delegator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorValidators(req: QueryDelegatorValidatorsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/delegators/${req["delegator_address"]}/validators?${fm.renderURLSearchParams(req, ["delegator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorWithdrawAddress(req: QueryDelegatorWithdrawAddressRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/delegators/${req["delegator_address"]}/withdraw_address?${fm.renderURLSearchParams(req, ["delegator_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static CommunityPool(req: QueryCommunityPoolRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/distribution/v1beta1/community_pool?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/evidence/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/evidence/v1beta1/query.ts new file mode 100644 index 000000000..2f39b3454 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/evidence/v1beta1/query.ts @@ -0,0 +1,23 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAllEvidenceRequest, + QueryAllEvidenceResponse, + QueryEvidenceRequest, + QueryEvidenceResponse, +} from "../../../../types/cosmos/evidence/v1beta1/query.ts"; + +export class Query { + static Evidence(req: QueryEvidenceRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/evidence/v1beta1/evidence/${req["evidence_hash"]}?${fm.renderURLSearchParams(req, ["evidence_hash"])}`, + { ...initReq, method: "GET" }, + ); + } + static AllEvidence(req: QueryAllEvidenceRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/evidence/v1beta1/evidence?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/feegrant/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/feegrant/v1beta1/query.ts new file mode 100644 index 000000000..17651dae9 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/feegrant/v1beta1/query.ts @@ -0,0 +1,31 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAllowanceRequest, + QueryAllowanceResponse, + QueryAllowancesByGranterRequest, + QueryAllowancesByGranterResponse, + QueryAllowancesRequest, + QueryAllowancesResponse, +} from "../../../../types/cosmos/feegrant/v1beta1/query.ts"; + +export class Query { + static Allowance(req: QueryAllowanceRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/feegrant/v1beta1/allowance/${req["granter"]}/${req["grantee"]}?${fm.renderURLSearchParams(req, ["granter", "grantee"])}`, + { ...initReq, method: "GET" }, + ); + } + static Allowances(req: QueryAllowancesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/feegrant/v1beta1/allowances/${req["grantee"]}?${fm.renderURLSearchParams(req, ["grantee"])}`, + { ...initReq, method: "GET" }, + ); + } + static AllowancesByGranter(req: QueryAllowancesByGranterRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/feegrant/v1beta1/issued/${req["granter"]}?${fm.renderURLSearchParams(req, ["granter"])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/gov/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/gov/v1beta1/query.ts new file mode 100644 index 000000000..f97aabaef --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/gov/v1beta1/query.ts @@ -0,0 +1,71 @@ +import * as fm from "../../../fetch"; + +import type { + QueryDepositRequest, + QueryDepositResponse, + QueryDepositsRequest, + QueryDepositsResponse, + QueryParamsRequest, + QueryParamsResponse, + QueryProposalRequest, + QueryProposalResponse, + QueryProposalsRequest, + QueryProposalsResponse, + QueryTallyResultRequest, + QueryTallyResultResponse, + QueryVoteRequest, + QueryVoteResponse, + QueryVotesRequest, + QueryVotesResponse, +} from "../../../../types/cosmos/gov/v1beta1/query.ts"; + +export class Query { + static Proposal(req: QueryProposalRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}?${fm.renderURLSearchParams(req, ["proposal_id"])}`, + { ...initReq, method: "GET" }, + ); + } + static Proposals(req: QueryProposalsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/gov/v1beta1/proposals?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Vote(req: QueryVoteRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}/votes/${req["voter"]}?${fm.renderURLSearchParams(req, ["proposal_id", "voter"])}`, + { ...initReq, method: "GET" }, + ); + } + static Votes(req: QueryVotesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}/votes?${fm.renderURLSearchParams(req, ["proposal_id"])}`, + { ...initReq, method: "GET" }, + ); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/params/${req["params_type"]}?${fm.renderURLSearchParams(req, ["params_type"])}`, + { ...initReq, method: "GET" }, + ); + } + static Deposit(req: QueryDepositRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}/deposits/${req["depositor"]}?${fm.renderURLSearchParams(req, ["proposal_id", "depositor"])}`, + { ...initReq, method: "GET" }, + ); + } + static Deposits(req: QueryDepositsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}/deposits?${fm.renderURLSearchParams(req, ["proposal_id"])}`, + { ...initReq, method: "GET" }, + ); + } + static TallyResult(req: QueryTallyResultRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/gov/v1beta1/proposals/${req["proposal_id"]}/tally?${fm.renderURLSearchParams(req, ["proposal_id"])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/mint/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/mint/v1beta1/query.ts new file mode 100644 index 000000000..347a82b6e --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/mint/v1beta1/query.ts @@ -0,0 +1,31 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAnnualProvisionsRequest, + QueryAnnualProvisionsResponse, + QueryInflationRequest, + QueryInflationResponse, + QueryParamsRequest, + QueryParamsResponse, +} from "../../../../types/cosmos/mint/v1beta1/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/mint/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Inflation(req: QueryInflationRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/mint/v1beta1/inflation?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static AnnualProvisions(req: QueryAnnualProvisionsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/mint/v1beta1/annual_provisions?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/params/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/params/v1beta1/query.ts new file mode 100644 index 000000000..2367631f6 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/params/v1beta1/query.ts @@ -0,0 +1,12 @@ +import * as fm from "../../../fetch"; + +import type { QueryParamsRequest, QueryParamsResponse } from "../../../../types/cosmos/params/v1beta1/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/params/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/slashing/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/slashing/v1beta1/query.ts new file mode 100644 index 000000000..c815c5c15 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/slashing/v1beta1/query.ts @@ -0,0 +1,31 @@ +import * as fm from "../../../fetch"; + +import type { + QueryParamsRequest, + QueryParamsResponse, + QuerySigningInfoRequest, + QuerySigningInfoResponse, + QuerySigningInfosRequest, + QuerySigningInfosResponse, +} from "../../../../types/cosmos/slashing/v1beta1/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/slashing/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static SigningInfo(req: QuerySigningInfoRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/slashing/v1beta1/signing_infos/${req["cons_address"]}?${fm.renderURLSearchParams(req, ["cons_address"])}`, + { ...initReq, method: "GET" }, + ); + } + static SigningInfos(req: QuerySigningInfosRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/slashing/v1beta1/signing_infos?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/staking/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/staking/v1beta1/query.ts new file mode 100644 index 000000000..4f18da4e4 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/staking/v1beta1/query.ts @@ -0,0 +1,122 @@ +import * as fm from "../../../fetch"; + +import type { + QueryDelegationRequest, + QueryDelegationResponse, + QueryDelegatorDelegationsRequest, + QueryDelegatorDelegationsResponse, + QueryDelegatorUnbondingDelegationsRequest, + QueryDelegatorUnbondingDelegationsResponse, + QueryDelegatorValidatorRequest, + QueryDelegatorValidatorResponse, + QueryDelegatorValidatorsRequest, + QueryDelegatorValidatorsResponse, + QueryHistoricalInfoRequest, + QueryHistoricalInfoResponse, + QueryParamsRequest, + QueryParamsResponse, + QueryPoolRequest, + QueryPoolResponse, + QueryRedelegationsRequest, + QueryRedelegationsResponse, + QueryUnbondingDelegationRequest, + QueryUnbondingDelegationResponse, + QueryValidatorDelegationsRequest, + QueryValidatorDelegationsResponse, + QueryValidatorRequest, + QueryValidatorResponse, + QueryValidatorUnbondingDelegationsRequest, + QueryValidatorUnbondingDelegationsResponse, + QueryValidatorsRequest, + QueryValidatorsResponse, +} from "../../../../types/cosmos/staking/v1beta1/query.ts"; + +export class Query { + static Validators(req: QueryValidatorsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/staking/v1beta1/validators?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Validator(req: QueryValidatorRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/validators/${req["validator_addr"]}?${fm.renderURLSearchParams(req, ["validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static ValidatorDelegations(req: QueryValidatorDelegationsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/validators/${req["validator_addr"]}/delegations?${fm.renderURLSearchParams(req, ["validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static ValidatorUnbondingDelegations( + req: QueryValidatorUnbondingDelegationsRequest, + initReq?: fm.InitReq, + ): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/validators/${req["validator_addr"]}/unbonding_delegations?${fm.renderURLSearchParams(req, ["validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static Delegation(req: QueryDelegationRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/validators/${req["validator_addr"]}/delegations/${req["delegator_addr"]}?${fm.renderURLSearchParams(req, ["validator_addr", "delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static UnbondingDelegation(req: QueryUnbondingDelegationRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/validators/${req["validator_addr"]}/delegations/${req["delegator_addr"]}/unbonding_delegation?${fm.renderURLSearchParams(req, ["validator_addr", "delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorDelegations(req: QueryDelegatorDelegationsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/delegations/${req["delegator_addr"]}?${fm.renderURLSearchParams(req, ["delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorUnbondingDelegations( + req: QueryDelegatorUnbondingDelegationsRequest, + initReq?: fm.InitReq, + ): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/delegators/${req["delegator_addr"]}/unbonding_delegations?${fm.renderURLSearchParams(req, ["delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static Redelegations(req: QueryRedelegationsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/delegators/${req["delegator_addr"]}/redelegations?${fm.renderURLSearchParams(req, ["delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorValidators(req: QueryDelegatorValidatorsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/delegators/${req["delegator_addr"]}/validators?${fm.renderURLSearchParams(req, ["delegator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static DelegatorValidator(req: QueryDelegatorValidatorRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/delegators/${req["delegator_addr"]}/validators/${req["validator_addr"]}?${fm.renderURLSearchParams(req, ["delegator_addr", "validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static HistoricalInfo(req: QueryHistoricalInfoRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/staking/v1beta1/historical_info/${req["height"]}?${fm.renderURLSearchParams(req, ["height"])}`, + { ...initReq, method: "GET" }, + ); + } + static Pool(req: QueryPoolRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/staking/v1beta1/pool?${fm.renderURLSearchParams(req, [])}`, { ...initReq, method: "GET" }); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/staking/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/cosmos/upgrade/v1beta1/query.ts b/packages/cosmos/generated/rest/cosmos/upgrade/v1beta1/query.ts new file mode 100644 index 000000000..fce188095 --- /dev/null +++ b/packages/cosmos/generated/rest/cosmos/upgrade/v1beta1/query.ts @@ -0,0 +1,39 @@ +import * as fm from "../../../fetch"; + +import type { + QueryAppliedPlanRequest, + QueryAppliedPlanResponse, + QueryCurrentPlanRequest, + QueryCurrentPlanResponse, + QueryModuleVersionsRequest, + QueryModuleVersionsResponse, + QueryUpgradedConsensusStateRequest, + QueryUpgradedConsensusStateResponse, +} from "../../../../types/cosmos/upgrade/v1beta1/query.ts"; + +export class Query { + static CurrentPlan(req: QueryCurrentPlanRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/cosmos/upgrade/v1beta1/current_plan?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static AppliedPlan(req: QueryAppliedPlanRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/upgrade/v1beta1/applied_plan/${req["name"]}?${fm.renderURLSearchParams(req, ["name"])}`, + { ...initReq, method: "GET" }, + ); + } + static UpgradedConsensusState(req: QueryUpgradedConsensusStateRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/upgrade/v1beta1/upgraded_consensus_state/${req["last_height"]}?${fm.renderURLSearchParams(req, ["last_height"])}`, + { ...initReq, method: "GET" }, + ); + } + static ModuleVersions(req: QueryModuleVersionsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/cosmos/upgrade/v1beta1/module_versions?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/rest/epoch/query.ts b/packages/cosmos/generated/rest/epoch/query.ts new file mode 100644 index 000000000..f2b5f9236 --- /dev/null +++ b/packages/cosmos/generated/rest/epoch/query.ts @@ -0,0 +1,18 @@ +import * as fm from "../fetch"; + +import type { QueryEpochRequest, QueryEpochResponse, QueryParamsRequest, QueryParamsResponse } from "../../types/epoch/query.ts"; + +export class Query { + static Epoch(req: QueryEpochRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/epoch/epoch?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/epoch/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/evm/query.ts b/packages/cosmos/generated/rest/evm/query.ts new file mode 100644 index 000000000..cc6899b1f --- /dev/null +++ b/packages/cosmos/generated/rest/evm/query.ts @@ -0,0 +1,55 @@ +import * as fm from "../fetch"; + +import type { + QueryEVMAddressBySeiAddressRequest, + QueryEVMAddressBySeiAddressResponse, + QueryPointeeRequest, + QueryPointeeResponse, + QueryPointerRequest, + QueryPointerResponse, + QueryPointerVersionRequest, + QueryPointerVersionResponse, + QuerySeiAddressByEVMAddressRequest, + QuerySeiAddressByEVMAddressResponse, + QueryStaticCallRequest, + QueryStaticCallResponse, +} from "../../types/evm/query.ts"; + +export class Query { + static SeiAddressByEVMAddress(req: QuerySeiAddressByEVMAddressRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/evm/sei_address?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static EVMAddressBySeiAddress(req: QueryEVMAddressBySeiAddressRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/evm/evm_address?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static StaticCall(req: QueryStaticCallRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/evm/static_call?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Pointer(req: QueryPointerRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/evm/pointer?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static PointerVersion(req: QueryPointerVersionRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/evm/pointer_version?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static Pointee(req: QueryPointeeRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/evm/pointee?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/fetch.ts b/packages/cosmos/generated/rest/fetch.ts new file mode 100644 index 000000000..08d74d196 --- /dev/null +++ b/packages/cosmos/generated/rest/fetch.ts @@ -0,0 +1,82 @@ +export interface InitReq extends RequestInit { + pathPrefix?: string; +} + +export function fetchReq<_I, O>(path: string, init?: InitReq): Promise { + const { pathPrefix, ...req } = init || {}; + + const url = pathPrefix ? `${pathPrefix}${path}` : path; + + return fetch(url, req).then((r) => + r.json().then((body: O) => { + if (!r.ok) { + throw body; + } + return body; + }), + ) as Promise; +} + +type Primitive = string | boolean | number; +type RequestPayload = Record; +type FlattenedRequestPayload = Record>; + +function isPlainObject(value: unknown): boolean { + const isObject = Object.prototype.toString.call(value).slice(8, -1) === "Object"; + const isObjLike = value !== null && isObject; + + if (!isObjLike || !isObject) { + return false; + } + + const proto = Object.getPrototypeOf(value); + + return typeof proto === "object" && proto.constructor === Object.prototype.constructor; +} + +function isPrimitive(value: unknown): boolean { + return typeof value === "string" || typeof value === "number" || typeof value === "boolean"; +} + +function isZeroValuePrimitive(value: Primitive): boolean { + return value === false || value === 0 || value === ""; +} + +function flattenRequestPayload(requestPayload: T, path = ""): FlattenedRequestPayload { + return Object.keys(requestPayload).reduce((acc: FlattenedRequestPayload, key: string): FlattenedRequestPayload => { + const value = requestPayload[key]; + const newPath = path ? [path, key].join(".") : key; + + const isNonEmptyPrimitiveArray = Array.isArray(value) && value.every((v) => isPrimitive(v)) && value.length > 0; + const isNonZeroValuePrimitive = isPrimitive(value) && !isZeroValuePrimitive(value as Primitive); + + if (isPlainObject(value)) { + // Recursively flatten objects + const nested = flattenRequestPayload(value as RequestPayload, newPath); + Object.assign(acc, nested); // Merge nested results into accumulator + } else if (isNonZeroValuePrimitive || isNonEmptyPrimitiveArray) { + // Add non-zero primitives or non-empty primitive arrays + acc[newPath] = value as Primitive | Primitive[]; + } + + return acc; + }, {} as FlattenedRequestPayload); +} +export function renderURLSearchParams(requestPayload: any, urlPathParams: string[] = []): string { + const flattenedRequestPayload = flattenRequestPayload(requestPayload); + + const urlSearchParams = Object.keys(flattenedRequestPayload).reduce((acc: string[][], key: string): string[][] => { + // key should not be present in the url path as a parameter + const value = flattenedRequestPayload[key]; + if (!urlPathParams.includes(key)) { + if (Array.isArray(value)) { + value.forEach((m) => acc.push([key, m.toString()])); + } else { + acc.push([key, value.toString()]); + } + } + return acc; + }, [] as string[][]); + + return new URLSearchParams(urlSearchParams).toString(); +} diff --git a/packages/cosmos/generated/rest/index.ts b/packages/cosmos/generated/rest/index.ts new file mode 100644 index 000000000..c91f1d23b --- /dev/null +++ b/packages/cosmos/generated/rest/index.ts @@ -0,0 +1,41 @@ +import { Query as cosmos_accesscontrol_x } from "./cosmos/accesscontrol_x/query"; +import { Query as cosmos_auth_v1beta1 } from "./cosmos/auth/v1beta1/query"; +import { Query as cosmos_authz_v1beta1 } from "./cosmos/authz/v1beta1/query"; +import { Query as cosmos_bank_v1beta1 } from "./cosmos/bank/v1beta1/query"; +import { Query as cosmos_distribution_v1beta1 } from "./cosmos/distribution/v1beta1/query"; +import { Query as cosmos_evidence_v1beta1 } from "./cosmos/evidence/v1beta1/query"; +import { Query as cosmos_feegrant_v1beta1 } from "./cosmos/feegrant/v1beta1/query"; +import { Query as cosmos_gov_v1beta1 } from "./cosmos/gov/v1beta1/query"; +import { Query as cosmos_mint_v1beta1 } from "./cosmos/mint/v1beta1/query"; +import { Query as cosmos_params_v1beta1 } from "./cosmos/params/v1beta1/query"; +import { Query as cosmos_slashing_v1beta1 } from "./cosmos/slashing/v1beta1/query"; +import { Query as cosmos_staking_v1beta1 } from "./cosmos/staking/v1beta1/query"; +import { Query as cosmos_upgrade_v1beta1 } from "./cosmos/upgrade/v1beta1/query"; +import { Query as epoch } from "./epoch/query"; +import { Query as evm } from "./evm/query"; +import { Query as mint_v1beta1 } from "./mint/v1beta1/query"; +import { Query as oracle } from "./oracle/query"; +import { Query as tokenfactory } from "./tokenfactory/query"; + +export const Querier = { + cosmos: { + accesscontrol_x: cosmos_accesscontrol_x, + auth: { v1beta1: cosmos_auth_v1beta1 }, + authz: { v1beta1: cosmos_authz_v1beta1 }, + bank: { v1beta1: cosmos_bank_v1beta1 }, + distribution: { v1beta1: cosmos_distribution_v1beta1 }, + evidence: { v1beta1: cosmos_evidence_v1beta1 }, + feegrant: { v1beta1: cosmos_feegrant_v1beta1 }, + gov: { v1beta1: cosmos_gov_v1beta1 }, + mint: { v1beta1: cosmos_mint_v1beta1 }, + params: { v1beta1: cosmos_params_v1beta1 }, + slashing: { v1beta1: cosmos_slashing_v1beta1 }, + staking: { v1beta1: cosmos_staking_v1beta1 }, + upgrade: { v1beta1: cosmos_upgrade_v1beta1 }, + }, + epoch: epoch, + evm: evm, + mint: { v1beta1: mint_v1beta1 }, + oracle: oracle, + tokenfactory: tokenfactory, +}; diff --git a/packages/cosmos/generated/rest/mint/v1beta1/query.ts b/packages/cosmos/generated/rest/mint/v1beta1/query.ts new file mode 100644 index 000000000..d893d5010 --- /dev/null +++ b/packages/cosmos/generated/rest/mint/v1beta1/query.ts @@ -0,0 +1,18 @@ +import * as fm from "../../fetch"; + +import type { QueryMinterRequest, QueryMinterResponse, QueryParamsRequest, QueryParamsResponse } from "../../../types/mint/v1beta1/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/seichain/mint/v1beta1/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Minter(req: QueryMinterRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/seichain/mint/v1beta1/minter?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/oracle/query.ts b/packages/cosmos/generated/rest/oracle/query.ts new file mode 100644 index 000000000..dd2de0904 --- /dev/null +++ b/packages/cosmos/generated/rest/oracle/query.ts @@ -0,0 +1,87 @@ +import * as fm from "../fetch"; + +import type { + QueryActivesRequest, + QueryActivesResponse, + QueryExchangeRateRequest, + QueryExchangeRateResponse, + QueryExchangeRatesRequest, + QueryExchangeRatesResponse, + QueryFeederDelegationRequest, + QueryFeederDelegationResponse, + QueryParamsRequest, + QueryParamsResponse, + QueryPriceSnapshotHistoryRequest, + QueryPriceSnapshotHistoryResponse, + QuerySlashWindowRequest, + QuerySlashWindowResponse, + QueryTwapsRequest, + QueryTwapsResponse, + QueryVotePenaltyCounterRequest, + QueryVotePenaltyCounterResponse, + QueryVoteTargetsRequest, + QueryVoteTargetsResponse, +} from "../../types/oracle/query.ts"; + +export class Query { + static ExchangeRate(req: QueryExchangeRateRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/denoms/${req["denom"]}/exchange_rate?${fm.renderURLSearchParams(req, ["denom"])}`, + { ...initReq, method: "GET" }, + ); + } + static ExchangeRates(req: QueryExchangeRatesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/denoms/exchange_rates?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static Actives(req: QueryActivesRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/sei-chain/oracle/denoms/actives?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static VoteTargets(req: QueryVoteTargetsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/denoms/vote_targets?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static PriceSnapshotHistory(req: QueryPriceSnapshotHistoryRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/denoms/price_snapshot_history?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static Twaps(req: QueryTwapsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/denoms/twaps/${req["lookback_seconds"]}?${fm.renderURLSearchParams(req, ["lookback_seconds"])}`, + { ...initReq, method: "GET" }, + ); + } + static FeederDelegation(req: QueryFeederDelegationRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/validators/${req["validator_addr"]}/feeder?${fm.renderURLSearchParams(req, ["validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static VotePenaltyCounter(req: QueryVotePenaltyCounterRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/sei-chain/oracle/validators/${req["validator_addr"]}/vote_penalty_counter?${fm.renderURLSearchParams(req, ["validator_addr"])}`, + { ...initReq, method: "GET" }, + ); + } + static SlashWindow(req: QuerySlashWindowRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/sei-chain/oracle/slash_window?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/sei-chain/oracle/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } +} diff --git a/packages/cosmos/generated/rest/tokenfactory/query.ts b/packages/cosmos/generated/rest/tokenfactory/query.ts new file mode 100644 index 000000000..a213aebee --- /dev/null +++ b/packages/cosmos/generated/rest/tokenfactory/query.ts @@ -0,0 +1,47 @@ +import * as fm from "../fetch"; + +import type { + QueryDenomAllowListRequest, + QueryDenomAllowListResponse, + QueryDenomAuthorityMetadataRequest, + QueryDenomAuthorityMetadataResponse, + QueryDenomMetadataRequest, + QueryDenomMetadataResponse, + QueryDenomsFromCreatorRequest, + QueryDenomsFromCreatorResponse, + QueryParamsRequest, + QueryParamsResponse, +} from "../../types/tokenfactory/query.ts"; + +export class Query { + static Params(req: QueryParamsRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq(`/sei-protocol/seichain/tokenfactory/params?${fm.renderURLSearchParams(req, [])}`, { + ...initReq, + method: "GET", + }); + } + static DenomAuthorityMetadata(req: QueryDenomAuthorityMetadataRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/tokenfactory/denoms/${req["denom"]}/authority_metadata?${fm.renderURLSearchParams(req, ["denom"])}`, + { ...initReq, method: "GET" }, + ); + } + static DenomMetadata(req: QueryDenomMetadataRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/tokenfactory/denoms/metadata?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } + static DenomsFromCreator(req: QueryDenomsFromCreatorRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/tokenfactory/denoms_from_creator/${req["creator"]}?${fm.renderURLSearchParams(req, ["creator"])}`, + { ...initReq, method: "GET" }, + ); + } + static DenomAllowList(req: QueryDenomAllowListRequest, initReq?: fm.InitReq): Promise { + return fm.fetchReq( + `/sei-protocol/seichain/tokenfactory/denoms/allow_list?${fm.renderURLSearchParams(req, [])}`, + { ...initReq, method: "GET" }, + ); + } +} diff --git a/packages/cosmos/generated/types/confio/index.ts b/packages/cosmos/generated/types/confio/index.ts new file mode 100644 index 000000000..9cd629664 --- /dev/null +++ b/packages/cosmos/generated/types/confio/index.ts @@ -0,0 +1 @@ +export * from './proofs'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/confio/proofs.ts b/packages/cosmos/generated/types/confio/proofs.ts new file mode 100644 index 000000000..30d7259c1 --- /dev/null +++ b/packages/cosmos/generated/types/confio/proofs.ts @@ -0,0 +1,135 @@ +export enum HashOp { + /** NO_HASH - NO_HASH is the default if no data passed. Note this is an illegal argument some places. */ + NO_HASH = 0, + SHA256 = 1, + SHA512 = 2, + KECCAK = 3, + RIPEMD160 = 4, + /** BITCOIN - ripemd160(sha256(x)) */ + BITCOIN = 5, + UNRECOGNIZED = -1, +} + +export enum LengthOp { + /** NO_PREFIX - NO_PREFIX don't include any length info */ + NO_PREFIX = 0, + /** VAR_PROTO - VAR_PROTO uses protobuf (and go-amino) varint encoding of the length */ + VAR_PROTO = 1, + /** VAR_RLP - VAR_RLP uses rlp int encoding of the length */ + VAR_RLP = 2, + /** FIXED32_BIG - FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer */ + FIXED32_BIG = 3, + /** FIXED32_LITTLE - FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer */ + FIXED32_LITTLE = 4, + /** FIXED64_BIG - FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer */ + FIXED64_BIG = 5, + /** FIXED64_LITTLE - FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer */ + FIXED64_LITTLE = 6, + /** REQUIRE_32_BYTES - REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) */ + REQUIRE_32_BYTES = 7, + /** REQUIRE_64_BYTES - REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output) */ + REQUIRE_64_BYTES = 8, + UNRECOGNIZED = -1, +} + +export interface ExistenceProof { + key: Uint8Array; + value: Uint8Array; + leaf?: LeafOp; + path: InnerOp[]; +} + +export interface NonExistenceProof { + /** TODO: remove this as unnecessary??? we prove a range */ + key: Uint8Array; + left?: ExistenceProof; + right?: ExistenceProof; +} + +export interface CommitmentProof { + exist?: ExistenceProof; + nonexist?: NonExistenceProof; + batch?: BatchProof; + compressed?: CompressedBatchProof; +} + +export interface LeafOp { + hash: HashOp; + prehash_key: HashOp; + prehash_value: HashOp; + length: LengthOp; + /** + * prefix is a fixed bytes that may optionally be included at the beginning to differentiate + * a leaf node from an inner node. + */ + prefix: Uint8Array; +} + +export interface InnerOp { + hash: HashOp; + prefix: Uint8Array; + suffix: Uint8Array; +} + +export interface ProofSpec { + /** + * any field in the ExistenceProof must be the same as in this spec. + * except Prefix, which is just the first bytes of prefix (spec can be longer) + */ + leaf_spec?: LeafOp; + inner_spec?: InnerSpec; + /** max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries) */ + max_depth: number; + /** min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries) */ + min_depth: number; +} + +export interface InnerSpec { + /** + * Child order is the ordering of the children node, must count from 0 + * iavl tree is [0, 1] (left then right) + * merk is [0, 2, 1] (left, right, here) + */ + child_order: number[]; + child_size: number; + min_prefix_length: number; + max_prefix_length: number; + /** empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0) */ + empty_child: Uint8Array; + /** hash is the algorithm that must be used for each InnerOp */ + hash: HashOp; +} + +export interface BatchProof { + entries: BatchEntry[]; +} + +export interface BatchEntry { + exist?: ExistenceProof; + nonexist?: NonExistenceProof; +} + +export interface CompressedBatchProof { + entries: CompressedBatchEntry[]; + lookup_inners: InnerOp[]; +} + +export interface CompressedBatchEntry { + exist?: CompressedExistenceProof; + nonexist?: CompressedNonExistenceProof; +} + +export interface CompressedExistenceProof { + key: Uint8Array; + value: Uint8Array; + leaf?: LeafOp; + /** these are indexes into the lookup_inners table in CompressedBatchProof */ + path: number[]; +} + +export interface CompressedNonExistenceProof { + /** TODO: remove this as unnecessary??? we prove a range */ + key: Uint8Array; + left?: CompressedExistenceProof; + right?: CompressedExistenceProof; +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol/accesscontrol.ts b/packages/cosmos/generated/types/cosmos/accesscontrol/accesscontrol.ts new file mode 100644 index 000000000..f7af7a7fa --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol/accesscontrol.ts @@ -0,0 +1,47 @@ +import type { AccessOperationSelectorType, AccessType, ResourceType, WasmMessageSubtype } from "./constants"; + +export interface AccessOperation { + access_type: AccessType; + resource_type: ResourceType; + identifier_template: string; +} + +export interface WasmAccessOperation { + operation?: AccessOperation; + selector_type: AccessOperationSelectorType; + selector: string; +} + +export interface WasmContractReference { + contract_address: string; + message_type: WasmMessageSubtype; + message_name: string; + json_translation_template: string; +} + +export interface WasmContractReferences { + message_name: string; + contract_references: WasmContractReference[]; +} + +export interface WasmAccessOperations { + message_name: string; + wasm_operations: WasmAccessOperation[]; +} + +export interface MessageDependencyMapping { + message_key: string; + access_ops: AccessOperation[]; + dynamic_enabled: boolean; +} + +export interface WasmDependencyMapping { + base_access_ops: WasmAccessOperation[]; + query_access_ops: WasmAccessOperations[]; + execute_access_ops: WasmAccessOperations[]; + base_contract_references: WasmContractReference[]; + query_contract_references: WasmContractReferences[]; + execute_contract_references: WasmContractReferences[]; + reset_reason: string; + contract_address: string; +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol/constants.ts b/packages/cosmos/generated/types/cosmos/accesscontrol/constants.ts new file mode 100644 index 000000000..491355ec7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol/constants.ts @@ -0,0 +1,190 @@ +export enum AccessType { + UNKNOWN = 0, + READ = 1, + WRITE = 2, + COMMIT = 3, + UNRECOGNIZED = -1, +} + +export enum AccessOperationSelectorType { + NONE = 0, + JQ = 1, + JQ_BECH32_ADDRESS = 2, + JQ_LENGTH_PREFIXED_ADDRESS = 3, + SENDER_BECH32_ADDRESS = 4, + SENDER_LENGTH_PREFIXED_ADDRESS = 5, + CONTRACT_ADDRESS = 6, + JQ_MESSAGE_CONDITIONAL = 7, + CONSTANT_STRING_TO_HEX = 8, + CONTRACT_REFERENCE = 9, + UNRECOGNIZED = -1, +} + +export enum ResourceType { + ANY = 0, + /** KV - child of ANY */ + KV = 1, + /** Mem - child of ANY */ + Mem = 2, + /** KV_BANK - child of KV */ + KV_BANK = 4, + /** KV_STAKING - child of KV */ + KV_STAKING = 5, + /** KV_WASM - child of KV */ + KV_WASM = 6, + /** KV_ORACLE - child of KV */ + KV_ORACLE = 7, + /** KV_EPOCH - child of KV */ + KV_EPOCH = 9, + /** KV_TOKENFACTORY - child of KV */ + KV_TOKENFACTORY = 10, + /** KV_ORACLE_VOTE_TARGETS - child of KV_ORACLE */ + KV_ORACLE_VOTE_TARGETS = 11, + /** KV_ORACLE_AGGREGATE_VOTES - child of KV_ORACLE */ + KV_ORACLE_AGGREGATE_VOTES = 12, + /** KV_ORACLE_FEEDERS - child of KV_ORACLE */ + KV_ORACLE_FEEDERS = 13, + /** KV_STAKING_DELEGATION - child of KV_STAKING */ + KV_STAKING_DELEGATION = 14, + /** KV_STAKING_VALIDATOR - child of KV_STAKING */ + KV_STAKING_VALIDATOR = 15, + /** KV_AUTH - child of KV */ + KV_AUTH = 16, + /** KV_AUTH_ADDRESS_STORE - child of KV */ + KV_AUTH_ADDRESS_STORE = 17, + /** KV_BANK_SUPPLY - child of KV_BANK */ + KV_BANK_SUPPLY = 18, + /** KV_BANK_DENOM - child of KV_BANK */ + KV_BANK_DENOM = 19, + /** KV_BANK_BALANCES - child of KV_BANK */ + KV_BANK_BALANCES = 20, + /** KV_TOKENFACTORY_DENOM - child of KV_TOKENFACTORY */ + KV_TOKENFACTORY_DENOM = 21, + /** KV_TOKENFACTORY_METADATA - child of KV_TOKENFACTORY */ + KV_TOKENFACTORY_METADATA = 22, + /** KV_TOKENFACTORY_ADMIN - child of KV_TOKENFACTORY */ + KV_TOKENFACTORY_ADMIN = 23, + /** KV_TOKENFACTORY_CREATOR - child of KV_TOKENFACTORY */ + KV_TOKENFACTORY_CREATOR = 24, + /** KV_ORACLE_EXCHANGE_RATE - child of KV_ORACLE */ + KV_ORACLE_EXCHANGE_RATE = 25, + /** KV_ORACLE_VOTE_PENALTY_COUNTER - child of KV_ORACLE */ + KV_ORACLE_VOTE_PENALTY_COUNTER = 26, + /** KV_ORACLE_PRICE_SNAPSHOT - child of KV_ORACLE */ + KV_ORACLE_PRICE_SNAPSHOT = 27, + /** KV_STAKING_VALIDATION_POWER - child of KV_STAKING */ + KV_STAKING_VALIDATION_POWER = 28, + /** KV_STAKING_TOTAL_POWER - child of KV_STAKING */ + KV_STAKING_TOTAL_POWER = 29, + /** KV_STAKING_VALIDATORS_CON_ADDR - child of KV_STAKING */ + KV_STAKING_VALIDATORS_CON_ADDR = 30, + /** KV_STAKING_UNBONDING_DELEGATION - child of KV_STAKING */ + KV_STAKING_UNBONDING_DELEGATION = 31, + /** KV_STAKING_UNBONDING_DELEGATION_VAL - child of KV_STAKING */ + KV_STAKING_UNBONDING_DELEGATION_VAL = 32, + /** KV_STAKING_REDELEGATION - child of KV_STAKING */ + KV_STAKING_REDELEGATION = 33, + /** KV_STAKING_REDELEGATION_VAL_SRC - child of KV_STAKING */ + KV_STAKING_REDELEGATION_VAL_SRC = 34, + /** KV_STAKING_REDELEGATION_VAL_DST - child of KV_STAKING */ + KV_STAKING_REDELEGATION_VAL_DST = 35, + /** KV_STAKING_REDELEGATION_QUEUE - child of KV_STAKING */ + KV_STAKING_REDELEGATION_QUEUE = 36, + /** KV_STAKING_VALIDATOR_QUEUE - child of KV_STAKING */ + KV_STAKING_VALIDATOR_QUEUE = 37, + /** KV_STAKING_HISTORICAL_INFO - child of KV_STAKING */ + KV_STAKING_HISTORICAL_INFO = 38, + /** KV_STAKING_UNBONDING - child of KV_STAKING */ + KV_STAKING_UNBONDING = 39, + /** KV_STAKING_VALIDATORS_BY_POWER - child of KV_STAKING */ + KV_STAKING_VALIDATORS_BY_POWER = 41, + /** KV_DISTRIBUTION - child of KV */ + KV_DISTRIBUTION = 40, + /** KV_DISTRIBUTION_FEE_POOL - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_FEE_POOL = 42, + /** KV_DISTRIBUTION_PROPOSER_KEY - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_PROPOSER_KEY = 43, + /** KV_DISTRIBUTION_OUTSTANDING_REWARDS - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_OUTSTANDING_REWARDS = 44, + /** KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_DELEGATOR_WITHDRAW_ADDR = 45, + /** KV_DISTRIBUTION_DELEGATOR_STARTING_INFO - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_DELEGATOR_STARTING_INFO = 46, + /** KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_VAL_HISTORICAL_REWARDS = 47, + /** KV_DISTRIBUTION_VAL_CURRENT_REWARDS - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_VAL_CURRENT_REWARDS = 48, + /** KV_DISTRIBUTION_VAL_ACCUM_COMMISSION - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_VAL_ACCUM_COMMISSION = 49, + /** KV_DISTRIBUTION_SLASH_EVENT - child of KV_DISTRIBUTION */ + KV_DISTRIBUTION_SLASH_EVENT = 50, + /** KV_ACCESSCONTROL - child of KV */ + KV_ACCESSCONTROL = 71, + /** KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING - child of KV_ACCESSCONTROL */ + KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING = 72, + /** KV_WASM_CODE - child of KV_WASM */ + KV_WASM_CODE = 73, + /** KV_WASM_CONTRACT_ADDRESS - child of KV_WASM */ + KV_WASM_CONTRACT_ADDRESS = 74, + /** KV_WASM_CONTRACT_STORE - child of KV_WASM */ + KV_WASM_CONTRACT_STORE = 75, + /** KV_WASM_SEQUENCE_KEY - child of KV_WASM */ + KV_WASM_SEQUENCE_KEY = 76, + /** KV_WASM_CONTRACT_CODE_HISTORY - child of KV_WASM */ + KV_WASM_CONTRACT_CODE_HISTORY = 77, + /** KV_WASM_CONTRACT_BY_CODE_ID - child of KV_WASM */ + KV_WASM_CONTRACT_BY_CODE_ID = 78, + /** KV_WASM_PINNED_CODE_INDEX - child of KV_WASM */ + KV_WASM_PINNED_CODE_INDEX = 79, + /** KV_AUTH_GLOBAL_ACCOUNT_NUMBER - child of KV_AUTH */ + KV_AUTH_GLOBAL_ACCOUNT_NUMBER = 80, + /** KV_AUTHZ - child of KV */ + KV_AUTHZ = 81, + /** KV_FEEGRANT - child of KV */ + KV_FEEGRANT = 82, + /** KV_FEEGRANT_ALLOWANCE - child of KV_FEEGRANT */ + KV_FEEGRANT_ALLOWANCE = 83, + /** KV_SLASHING - child of KV */ + KV_SLASHING = 84, + /** KV_SLASHING_VAL_SIGNING_INFO - child of KV_SLASHING */ + KV_SLASHING_VAL_SIGNING_INFO = 85, + /** KV_SLASHING_ADDR_PUBKEY_RELATION_KEY - child of KV_SLASHING */ + KV_SLASHING_ADDR_PUBKEY_RELATION_KEY = 86, + /** KV_BANK_DEFERRED - child of KV */ + KV_BANK_DEFERRED = 93, + /** KV_BANK_DEFERRED_MODULE_TX_INDEX - child of KV_BANK_DEFERRED */ + KV_BANK_DEFERRED_MODULE_TX_INDEX = 95, + /** KV_EVM - child of KV */ + KV_EVM = 96, + /** KV_EVM_BALANCE - child of KV_EVM; deprecated */ + KV_EVM_BALANCE = 97, + /** KV_EVM_TRANSIENT - child of KV_EVM */ + KV_EVM_TRANSIENT = 98, + /** KV_EVM_ACCOUNT_TRANSIENT - child of KV_EVM */ + KV_EVM_ACCOUNT_TRANSIENT = 99, + /** KV_EVM_MODULE_TRANSIENT - child of KV_EVM */ + KV_EVM_MODULE_TRANSIENT = 100, + /** KV_EVM_NONCE - child of KV_EVM */ + KV_EVM_NONCE = 101, + /** KV_EVM_RECEIPT - child of KV_EVM */ + KV_EVM_RECEIPT = 102, + /** KV_EVM_S2E - child of KV_EVM */ + KV_EVM_S2E = 103, + /** KV_EVM_E2S - child of KV_EVM */ + KV_EVM_E2S = 104, + /** KV_EVM_CODE_HASH - child of KV_EVM */ + KV_EVM_CODE_HASH = 105, + /** KV_EVM_CODE - child of KV_EVM */ + KV_EVM_CODE = 106, + /** KV_EVM_CODE_SIZE - child of KV_EVM */ + KV_EVM_CODE_SIZE = 107, + /** KV_BANK_WEI_BALANCE - child of KV_BANK */ + KV_BANK_WEI_BALANCE = 108, + UNRECOGNIZED = -1, +} + +export enum WasmMessageSubtype { + QUERY = 0, + EXECUTE = 1, + UNRECOGNIZED = -1, +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol/index.ts b/packages/cosmos/generated/types/cosmos/accesscontrol/index.ts new file mode 100644 index 000000000..640c59a25 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol/index.ts @@ -0,0 +1,3 @@ +export * from './accesscontrol'; +export * from './constants'; +export * from './legacy'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol/legacy.ts b/packages/cosmos/generated/types/cosmos/accesscontrol/legacy.ts new file mode 100644 index 000000000..83b519c15 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol/legacy.ts @@ -0,0 +1,16 @@ +import type { AccessOperation } from "./accesscontrol"; + +import type { AccessOperationSelectorType } from "./constants"; + +export interface LegacyAccessOperationWithSelector { + operation?: AccessOperation; + selector_type: AccessOperationSelectorType; + selector: string; +} + +export interface LegacyWasmDependencyMapping { + enabled: boolean; + access_ops: LegacyAccessOperationWithSelector[]; + reset_reason: string; + contract_address: string; +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol_x/genesis.ts b/packages/cosmos/generated/types/cosmos/accesscontrol_x/genesis.ts new file mode 100644 index 000000000..4633d07ef --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol_x/genesis.ts @@ -0,0 +1,10 @@ +import type { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +export interface GenesisState { + params?: Params; + /** mapping between every message type and its predetermined resource read/write sequence */ + message_dependency_mapping: MessageDependencyMapping[]; + wasm_dependency_mappings: WasmDependencyMapping[]; +} + +export type Params = {}; diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol_x/gov.ts b/packages/cosmos/generated/types/cosmos/accesscontrol_x/gov.ts new file mode 100644 index 000000000..2b3994cb8 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol_x/gov.ts @@ -0,0 +1,31 @@ +import type { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +export interface MsgUpdateResourceDependencyMappingProposal { + title: string; + description: string; + message_dependency_mapping: MessageDependencyMapping[]; +} + +export interface MsgUpdateResourceDependencyMappingProposalJsonFile { + title: string; + description: string; + deposit: string; + message_dependency_mapping: MessageDependencyMapping[]; +} + +export type MsgUpdateResourceDependencyMappingProposalResponse = {}; + +export interface MsgUpdateWasmDependencyMappingProposal { + title: string; + description: string; + contract_address: string; + wasm_dependency_mapping?: WasmDependencyMapping; +} + +export interface MsgUpdateWasmDependencyMappingProposalJsonFile { + title: string; + description: string; + deposit: string; + contract_address: string; + wasm_dependency_mapping?: WasmDependencyMapping; +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol_x/index.ts b/packages/cosmos/generated/types/cosmos/accesscontrol_x/index.ts new file mode 100644 index 000000000..00479ae19 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol_x/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol_x/query.ts b/packages/cosmos/generated/types/cosmos/accesscontrol_x/query.ts new file mode 100644 index 000000000..cec0fc08c --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol_x/query.ts @@ -0,0 +1,38 @@ +import type { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +import type { Params } from "./genesis"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export interface ResourceDependencyMappingFromMessageKeyRequest { + message_key: string; +} + +export interface ResourceDependencyMappingFromMessageKeyResponse { + message_dependency_mapping?: MessageDependencyMapping; +} + +export interface WasmDependencyMappingRequest { + contract_address: string; +} + +export interface WasmDependencyMappingResponse { + wasm_dependency_mapping?: WasmDependencyMapping; +} + +export type ListResourceDependencyMappingRequest = {}; + +export interface ListResourceDependencyMappingResponse { + message_dependency_mapping_list: MessageDependencyMapping[]; +} + +export type ListWasmDependencyMappingRequest = {}; + +export interface ListWasmDependencyMappingResponse { + wasm_dependency_mapping_list: WasmDependencyMapping[]; +} diff --git a/packages/cosmos/generated/types/cosmos/accesscontrol_x/tx.ts b/packages/cosmos/generated/types/cosmos/accesscontrol_x/tx.ts new file mode 100644 index 000000000..97f3a8cbc --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/accesscontrol_x/tx.ts @@ -0,0 +1,12 @@ +import type { WasmDependencyMapping } from "../accesscontrol/accesscontrol"; + +export interface RegisterWasmDependencyJSONFile { + wasm_dependency_mapping?: WasmDependencyMapping; +} + +export interface MsgRegisterWasmDependency { + from_address: string; + wasm_dependency_mapping?: WasmDependencyMapping; +} + +export type MsgRegisterWasmDependencyResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/auth/v1beta1/auth.ts b/packages/cosmos/generated/types/cosmos/auth/v1beta1/auth.ts new file mode 100644 index 000000000..129810165 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/auth/v1beta1/auth.ts @@ -0,0 +1,23 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface BaseAccount { + address: string; + pub_key?: Any; + account_number: number; + sequence: number; +} + +export interface ModuleAccount { + base_account?: BaseAccount; + name: string; + permissions: string[]; +} + +export interface Params { + max_memo_characters: number; + tx_sig_limit: number; + tx_size_cost_per_byte: number; + sig_verify_cost_ed25519: number; + sig_verify_cost_secp256k1: number; + disable_seqno_check: boolean; +} diff --git a/packages/cosmos/generated/types/cosmos/auth/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/auth/v1beta1/genesis.ts new file mode 100644 index 000000000..4148a1be4 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/auth/v1beta1/genesis.ts @@ -0,0 +1,10 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Params } from "./auth"; + +export interface GenesisState { + /** params defines all the paramaters of the module. */ + params?: Params; + /** accounts are the accounts present at genesis. */ + accounts: Any[]; +} diff --git a/packages/cosmos/generated/types/cosmos/auth/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/auth/v1beta1/index.ts new file mode 100644 index 000000000..554d5edb1 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/auth/v1beta1/index.ts @@ -0,0 +1,3 @@ +export * from './auth'; +export * from './genesis'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/auth/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/auth/v1beta1/query.ts new file mode 100644 index 000000000..6431f59ef --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/auth/v1beta1/query.ts @@ -0,0 +1,41 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Params } from "./auth"; + +export interface QueryAccountsRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryAccountsResponse { + /** accounts are the existing accounts */ + accounts: Any[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryAccountRequest { + /** address defines the address to query for. */ + address: string; +} + +export interface QueryAccountResponse { + /** account defines the account of the corresponding address. */ + account?: Any; +} + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export type QueryNextAccountNumberRequest = {}; + +export interface QueryNextAccountNumberResponse { + /** count defines the next account number. */ + count: number; +} diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/authz.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/authz.ts new file mode 100644 index 000000000..5ee6d91cb --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/authz.ts @@ -0,0 +1,18 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface GenericAuthorization { + /** Msg, identified by it's type URL, to grant unrestricted permissions to execute */ + msg: string; +} + +export interface Grant { + authorization?: Any; + expiration?: Date; +} + +export interface GrantAuthorization { + granter: string; + grantee: string; + authorization?: Any; + expiration?: Date; +} diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/event.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/event.ts new file mode 100644 index 000000000..bf460417c --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/event.ts @@ -0,0 +1,17 @@ +export interface EventGrant { + /** Msg type URL for which an autorization is granted */ + msg_type_url: string; + /** Granter account address */ + granter: string; + /** Grantee account address */ + grantee: string; +} + +export interface EventRevoke { + /** Msg type URL for which an autorization is revoked */ + msg_type_url: string; + /** Granter account address */ + granter: string; + /** Grantee account address */ + grantee: string; +} diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/genesis.ts new file mode 100644 index 000000000..762007141 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/genesis.ts @@ -0,0 +1,5 @@ +import type { GrantAuthorization } from "./authz"; + +export interface GenesisState { + authorization: GrantAuthorization[]; +} diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/index.ts new file mode 100644 index 000000000..450933087 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './event'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/query.ts new file mode 100644 index 000000000..341d14e8e --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/query.ts @@ -0,0 +1,45 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Grant, GrantAuthorization } from "./authz"; + +export interface QueryGrantsRequest { + granter: string; + grantee: string; + /** Optional, msg_type_url, when set, will query only grants matching given msg type. */ + msg_type_url: string; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryGrantsResponse { + /** authorizations is a list of grants granted for grantee by granter. */ + grants: Grant[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} + +export interface QueryGranterGrantsRequest { + granter: string; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryGranterGrantsResponse { + /** grants is a list of grants granted by the granter. */ + grants: GrantAuthorization[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} + +export interface QueryGranteeGrantsRequest { + grantee: string; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryGranteeGrantsResponse { + /** grants is a list of grants granted to the grantee. */ + grants: GrantAuthorization[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} diff --git a/packages/cosmos/generated/types/cosmos/authz/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/authz/v1beta1/tx.ts new file mode 100644 index 000000000..d311cfba7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/authz/v1beta1/tx.ts @@ -0,0 +1,33 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Grant } from "./authz"; + +export interface MsgGrant { + granter: string; + grantee: string; + grant?: Grant; +} + +export interface MsgExecResponse { + results: Uint8Array[]; +} + +export interface MsgExec { + grantee: string; + /** + * Authorization Msg requests to execute. Each msg must implement Authorization interface + * The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) + * triple and validate it. + */ + msgs: Any[]; +} + +export type MsgGrantResponse = {}; + +export interface MsgRevoke { + granter: string; + grantee: string; + msg_type_url: string; +} + +export type MsgRevokeResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/authz.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/authz.ts new file mode 100644 index 000000000..0f52f6b5a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/authz.ts @@ -0,0 +1,5 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export interface SendAuthorization { + spend_limit: Coin[]; +} diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/bank.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/bank.ts new file mode 100644 index 000000000..7cdcc2a4e --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/bank.ts @@ -0,0 +1,71 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export interface Params { + send_enabled: SendEnabled[]; + default_send_enabled: boolean; +} + +export interface SendEnabled { + denom: string; + enabled: boolean; +} + +export interface Input { + address: string; + coins: Coin[]; +} + +export interface Output { + address: string; + coins: Coin[]; +} + +export interface Supply { + total: Coin[]; +} + +export interface DenomUnit { + /** denom represents the string name of the given denom unit (e.g uatom). */ + denom: string; + /** + * exponent represents power of 10 exponent that one must + * raise the base_denom to in order to equal the given DenomUnit's denom + * 1 denom = 1^exponent base_denom + * (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with + * exponent = 6, thus: 1 atom = 10^6 uatom). + */ + exponent: number; + /** aliases is a list of string aliases for the given denom */ + aliases: string[]; +} + +export interface Metadata { + description: string; + /** denom_units represents the list of DenomUnit's for a given coin */ + denom_units: DenomUnit[]; + /** base represents the base denom (should be the DenomUnit with exponent = 0). */ + base: string; + /** + * display indicates the suggested denom that should be + * displayed in clients. + */ + display: string; + /** + * name defines the name of the token (eg: Cosmos Atom) + * + * Since: cosmos-sdk 0.43 + */ + name: string; + /** + * symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + * be the same as the display. + * + * Since: cosmos-sdk 0.43 + */ + symbol: string; +} + +export interface AllowList { + /** Can be empty for no admin, or a valid sei address */ + addresses: string[]; +} diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/genesis.ts new file mode 100644 index 000000000..f7b447a28 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/genesis.ts @@ -0,0 +1,33 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +import type { Metadata, Params } from "./bank"; + +export interface GenesisState { + /** params defines all the paramaters of the module. */ + params?: Params; + /** balances is an array containing the balances of all the accounts. */ + balances: Balance[]; + /** + * supply represents the total supply. If it is left empty, then supply will be calculated based on the provided + * balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. + */ + supply: Coin[]; + /** denom_metadata defines the metadata of the differents coins. */ + denom_metadata: Metadata[]; + /** wei balances */ + wei_balances: WeiBalance[]; +} + +export interface Balance { + /** address is the address of the balance holder. */ + address: string; + /** coins defines the different coins this balance holds. */ + coins: Coin[]; +} + +export interface WeiBalance { + /** address is the address of the balance holder. */ + address: string; + /** wei balance amount. */ + amount: string; +} diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/index.ts new file mode 100644 index 000000000..406a84fbc --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './bank'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/query.ts new file mode 100644 index 000000000..66416e79b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/query.ts @@ -0,0 +1,103 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Coin } from "../../base/v1beta1/coin"; + +import type { Metadata, Params } from "./bank"; + +export interface QueryBalanceRequest { + /** address is the address to query balances for. */ + address: string; + /** denom is the coin denom to query balances for. */ + denom: string; +} + +export interface QueryBalanceResponse { + /** balance is the balance of the coin. */ + balance?: Coin; +} + +export interface QueryAllBalancesRequest { + /** address is the address to query balances for. */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryAllBalancesResponse { + /** balances is the balances of all the coins. */ + balances: Coin[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QuerySpendableBalancesRequest { + /** address is the address to query spendable balances for. */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QuerySpendableBalancesResponse { + /** balances is the spendable balances of all the coins. */ + balances: Coin[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryTotalSupplyRequest { + /** + * pagination defines an optional pagination for the request. + * + * Since: cosmos-sdk 0.43 + */ + pagination?: PageRequest; +} + +export interface QueryTotalSupplyResponse { + /** supply is the supply of the coins */ + supply: Coin[]; + /** + * pagination defines the pagination in the response. + * + * Since: cosmos-sdk 0.43 + */ + pagination?: PageResponse; +} + +export interface QuerySupplyOfRequest { + /** denom is the coin denom to query balances for. */ + denom: string; +} + +export interface QuerySupplyOfResponse { + /** amount is the supply of the coin. */ + amount?: Coin; +} + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + params?: Params; +} + +export interface QueryDenomsMetadataRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryDenomsMetadataResponse { + /** metadata provides the client information for all the registered tokens. */ + metadatas: Metadata[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDenomMetadataRequest { + /** denom is the coin denom to query the metadata for. */ + denom: string; +} + +export interface QueryDenomMetadataResponse { + /** metadata describes and provides all the client information for the requested token. */ + metadata?: Metadata; +} diff --git a/packages/cosmos/generated/types/cosmos/bank/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/bank/v1beta1/tx.ts new file mode 100644 index 000000000..fa4514ce7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/bank/v1beta1/tx.ts @@ -0,0 +1,18 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +import type { Input, Output } from "./bank"; + +export interface MsgSend { + from_address: string; + to_address: string; + amount: Coin[]; +} + +export type MsgSendResponse = {}; + +export interface MsgMultiSend { + inputs: Input[]; + outputs: Output[]; +} + +export type MsgMultiSendResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/abci.ts b/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/abci.ts new file mode 100644 index 000000000..8fdbba53b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/abci.ts @@ -0,0 +1,119 @@ +import type { Any } from "../../../../google/protobuf/any"; + +import type { Event } from "../../../../tendermint/abci/types"; + +export interface TxResponse { + /** The block height */ + height: number; + /** The transaction hash. */ + txhash: string; + /** Namespace for the Code */ + codespace: string; + /** Response code. */ + code: number; + /** Result bytes, if any. */ + data: string; + /** + * The output of the application's logger (raw string). May be + * non-deterministic. + */ + raw_log: string; + /** The output of the application's logger (typed). May be non-deterministic. */ + logs: ABCIMessageLog[]; + /** Additional information. May be non-deterministic. */ + info: string; + /** Amount of gas requested for transaction. */ + gas_wanted: number; + /** Amount of gas consumed by transaction. */ + gas_used: number; + /** The request transaction bytes. */ + tx?: Any; + /** + * Time of the previous block. For heights > 1, it's the weighted median of + * the timestamps of the valid votes in the block.LastCommit. For height == 1, + * it's genesis time. + */ + timestamp: string; + /** + * Events defines all the events emitted by processing a transaction. Note, + * these events include those emitted by processing all the messages and those + * emitted from the ante handler. Whereas Logs contains the events, with + * additional metadata, emitted only by processing the messages. + * + * Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + */ + events: Event[]; +} + +export interface ABCIMessageLog { + msg_index: number; + log: string; + /** + * Events contains a slice of Event objects that were emitted during some + * execution. + */ + events: StringEvent[]; +} + +export interface StringEvent { + type: string; + attributes: Attribute[]; +} + +export interface Attribute { + key: string; + value: string; +} + +export interface GasInfo { + /** GasWanted is the maximum units of work we allow this tx to perform. */ + gas_wanted: number; + /** GasUsed is the amount of gas actually consumed. */ + gas_used: number; +} + +export interface Result { + /** + * Data is any data returned from message or handler execution. It MUST be + * length prefixed in order to separate data from multiple message executions. + */ + data: Uint8Array; + /** Log contains the log information from message or handler execution. */ + log: string; + /** + * Events contains a slice of Event objects that were emitted during message + * or handler execution. + */ + events: Event[]; + /** EVM VM error during execution */ + evmError: string; +} + +export interface SimulationResponse { + gas_info?: GasInfo; + result?: Result; +} + +export interface MsgData { + msg_type: string; + data: Uint8Array; +} + +export interface TxMsgData { + data: MsgData[]; +} + +export interface SearchTxsResult { + /** Count of all txs */ + total_count: number; + /** Count of txs in current page */ + count: number; + /** Index of current page, start from 1 */ + page_number: number; + /** Count of total pages */ + page_total: number; + /** Max count txs per page */ + limit: number; + /** List of txs in current page */ + txs: TxResponse[]; +} diff --git a/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/index.ts new file mode 100644 index 000000000..010f5907c --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/abci/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './abci'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/index.ts new file mode 100644 index 000000000..5705f1cc3 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './kv'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/kv.ts b/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/kv.ts new file mode 100644 index 000000000..a50cc0042 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/kv/v1beta1/kv.ts @@ -0,0 +1,8 @@ +export interface Pairs { + pairs: Pair[]; +} + +export interface Pair { + key: Uint8Array; + value: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/base/query/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/query/v1beta1/index.ts new file mode 100644 index 000000000..f99fc1287 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/query/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './pagination'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/query/v1beta1/pagination.ts b/packages/cosmos/generated/types/cosmos/base/query/v1beta1/pagination.ts new file mode 100644 index 000000000..aee8db537 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/query/v1beta1/pagination.ts @@ -0,0 +1,45 @@ +export interface PageRequest { + /** + * key is a value returned in PageResponse.next_key to begin + * querying the next page most efficiently. Only one of offset or key + * should be set. + */ + key: Uint8Array; + /** + * offset is a numeric offset that can be used when key is unavailable. + * It is less efficient than using key. Only one of offset or key should + * be set. + */ + offset: number; + /** + * limit is the total number of results to be returned in the result page. + * If left empty it will default to a value to be set by each app. + */ + limit: number; + /** + * count_total is set to true to indicate that the result set should include + * a count of the total number of items available for pagination in UIs. + * count_total is only respected when offset is used. It is ignored when key + * is set. + */ + count_total: boolean; + /** + * reverse is set to true if results are to be returned in the descending order. + * + * Since: cosmos-sdk 0.43 + */ + reverse: boolean; +} + +export interface PageResponse { + /** + * next_key is the key to be passed to PageRequest.key to + * query the next page most efficiently + */ + next_key: Uint8Array; + /** + * total is total number of results available if PageRequest.count_total + * was set, its value is undefined otherwise + */ + total: number; +} diff --git a/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/index.ts new file mode 100644 index 000000000..5ff57c28b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './reflection'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/reflection.ts b/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/reflection.ts new file mode 100644 index 000000000..e677144d1 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/reflection/v1beta1/reflection.ts @@ -0,0 +1,15 @@ +export type ListAllInterfacesRequest = {}; + +export interface ListAllInterfacesResponse { + /** interface_names is an array of all the registered interfaces. */ + interface_names: string[]; +} + +export interface ListImplementationsRequest { + /** interface_name defines the interface to query the implementations for. */ + interface_name: string; +} + +export interface ListImplementationsResponse { + implementation_message_names: string[]; +} diff --git a/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/index.ts b/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/index.ts new file mode 100644 index 000000000..5ff57c28b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/index.ts @@ -0,0 +1 @@ +export * from './reflection'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/reflection.ts b/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/reflection.ts new file mode 100644 index 000000000..b81d3c549 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/reflection/v2alpha1/reflection.ts @@ -0,0 +1,169 @@ +export interface AppDescriptor { + /** + * AuthnDescriptor provides information on how to authenticate transactions on the application + * NOTE: experimental and subject to change in future releases. + */ + authn?: AuthnDescriptor; + /** chain provides the chain descriptor */ + chain?: ChainDescriptor; + /** codec provides metadata information regarding codec related types */ + codec?: CodecDescriptor; + /** configuration provides metadata information regarding the sdk.Config type */ + configuration?: ConfigurationDescriptor; + /** query_services provides metadata information regarding the available queriable endpoints */ + query_services?: QueryServicesDescriptor; + /** tx provides metadata information regarding how to send transactions to the given application */ + tx?: TxDescriptor; +} + +export interface TxDescriptor { + /** + * fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type) + * it is not meant to support polymorphism of transaction types, it is supposed to be used by + * reflection clients to understand if they can handle a specific transaction type in an application. + */ + fullname: string; + /** msgs lists the accepted application messages (sdk.Msg) */ + msgs: MsgDescriptor[]; +} + +export interface AuthnDescriptor { + /** sign_modes defines the supported signature algorithm */ + sign_modes: SigningModeDescriptor[]; +} + +export interface SigningModeDescriptor { + /** name defines the unique name of the signing mode */ + name: string; + /** number is the unique int32 identifier for the sign_mode enum */ + number: number; + /** + * authn_info_provider_method_fullname defines the fullname of the method to call to get + * the metadata required to authenticate using the provided sign_modes + */ + authn_info_provider_method_fullname: string; +} + +export interface ChainDescriptor { + /** id is the chain id */ + id: string; +} + +export interface CodecDescriptor { + /** interfaces is a list of the registerted interfaces descriptors */ + interfaces: InterfaceDescriptor[]; +} + +export interface InterfaceDescriptor { + /** fullname is the name of the interface */ + fullname: string; + /** + * interface_accepting_messages contains information regarding the proto messages which contain the interface as + * google.protobuf.Any field + */ + interface_accepting_messages: InterfaceAcceptingMessageDescriptor[]; + /** interface_implementers is a list of the descriptors of the interface implementers */ + interface_implementers: InterfaceImplementerDescriptor[]; +} + +export interface InterfaceImplementerDescriptor { + /** fullname is the protobuf queryable name of the interface implementer */ + fullname: string; + /** + * type_url defines the type URL used when marshalling the type as any + * this is required so we can provide type safe google.protobuf.Any marshalling and + * unmarshalling, making sure that we don't accept just 'any' type + * in our interface fields + */ + type_url: string; +} + +export interface InterfaceAcceptingMessageDescriptor { + /** fullname is the protobuf fullname of the type containing the interface */ + fullname: string; + /** + * field_descriptor_names is a list of the protobuf name (not fullname) of the field + * which contains the interface as google.protobuf.Any (the interface is the same, but + * it can be in multiple fields of the same proto message) + */ + field_descriptor_names: string[]; +} + +export interface ConfigurationDescriptor { + /** bech32_account_address_prefix is the account address prefix */ + bech32_account_address_prefix: string; +} + +export interface MsgDescriptor { + /** msg_type_url contains the TypeURL of a sdk.Msg. */ + msg_type_url: string; +} + +export type GetAuthnDescriptorRequest = {}; + +export interface GetAuthnDescriptorResponse { + /** authn describes how to authenticate to the application when sending transactions */ + authn?: AuthnDescriptor; +} + +export type GetChainDescriptorRequest = {}; + +export interface GetChainDescriptorResponse { + /** chain describes application chain information */ + chain?: ChainDescriptor; +} + +export type GetCodecDescriptorRequest = {}; + +export interface GetCodecDescriptorResponse { + /** codec describes the application codec such as registered interfaces and implementations */ + codec?: CodecDescriptor; +} + +export type GetConfigurationDescriptorRequest = {}; + +export interface GetConfigurationDescriptorResponse { + /** config describes the application's sdk.Config */ + config?: ConfigurationDescriptor; +} + +export type GetQueryServicesDescriptorRequest = {}; + +export interface GetQueryServicesDescriptorResponse { + /** queries provides information on the available queryable services */ + queries?: QueryServicesDescriptor; +} + +export type GetTxDescriptorRequest = {}; + +export interface GetTxDescriptorResponse { + /** + * tx provides information on msgs that can be forwarded to the application + * alongside the accepted transaction protobuf type + */ + tx?: TxDescriptor; +} + +export interface QueryServicesDescriptor { + /** query_services is a list of cosmos-sdk QueryServiceDescriptor */ + query_services: QueryServiceDescriptor[]; +} + +export interface QueryServiceDescriptor { + /** fullname is the protobuf fullname of the service descriptor */ + fullname: string; + /** is_module describes if this service is actually exposed by an application's module */ + is_module: boolean; + /** methods provides a list of query service methods */ + methods: QueryMethodDescriptor[]; +} + +export interface QueryMethodDescriptor { + /** name is the protobuf name (not fullname) of the method */ + name: string; + /** + * full_query_path is the path that can be used to query + * this method via tendermint abci.Query + */ + full_query_path: string; +} diff --git a/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/index.ts new file mode 100644 index 000000000..2e267e7c5 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './snapshot'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/snapshot.ts b/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/snapshot.ts new file mode 100644 index 000000000..8bf436767 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/snapshots/v1beta1/snapshot.ts @@ -0,0 +1,41 @@ +export interface Snapshot { + height: number; + format: number; + chunks: number; + hash: Uint8Array; + metadata?: Metadata; +} + +export interface Metadata { + /** SHA-256 chunk hashes */ + chunk_hashes: Uint8Array[]; +} + +export interface SnapshotItem { + store?: SnapshotStoreItem; + iavl?: SnapshotIAVLItem; + extension?: SnapshotExtensionMeta; + extension_payload?: SnapshotExtensionPayload; +} + +export interface SnapshotStoreItem { + name: string; +} + +export interface SnapshotIAVLItem { + key: Uint8Array; + value: Uint8Array; + /** version is block height */ + version: number; + /** height is depth of the tree. */ + height: number; +} + +export interface SnapshotExtensionMeta { + name: string; + format: number; +} + +export interface SnapshotExtensionPayload { + payload: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/base/store/v1beta1/commit_info.ts b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/commit_info.ts new file mode 100644 index 000000000..116fc73b7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/commit_info.ts @@ -0,0 +1,14 @@ +export interface CommitInfo { + version: number; + store_infos: StoreInfo[]; +} + +export interface StoreInfo { + name: string; + commit_id?: CommitID; +} + +export interface CommitID { + version: number; + hash: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/base/store/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/index.ts new file mode 100644 index 000000000..df916d0df --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './commit_info'; +export * from './listening'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/store/v1beta1/listening.ts b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/listening.ts new file mode 100644 index 000000000..1b9b15bfd --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/store/v1beta1/listening.ts @@ -0,0 +1,8 @@ +export interface StoreKVPair { + /** the store key for the KVStore this pair originates from */ + store_key: string; + /** true indicates a delete operation, false indicates a set operation */ + delete: boolean; + key: Uint8Array; + value: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/index.ts new file mode 100644 index 000000000..cb67e4a38 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/query.ts new file mode 100644 index 000000000..99d34d0ac --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/tendermint/v1beta1/query.ts @@ -0,0 +1,91 @@ +import type { Any } from "../../../../google/protobuf/any"; + +import type { NodeInfo } from "../../../../tendermint/p2p/types"; + +import type { Block } from "../../../../tendermint/types/block"; + +import type { BlockID } from "../../../../tendermint/types/types"; + +import type { PageRequest, PageResponse } from "../../query/v1beta1/pagination"; + +export interface GetValidatorSetByHeightRequest { + height: number; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface GetValidatorSetByHeightResponse { + block_height: number; + validators: Validator[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} + +export interface GetLatestValidatorSetRequest { + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface GetLatestValidatorSetResponse { + block_height: number; + validators: Validator[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} + +export interface Validator { + address: string; + pub_key?: Any; + voting_power: number; + proposer_priority: number; +} + +export interface GetBlockByHeightRequest { + height: number; +} + +export interface GetBlockByHeightResponse { + block_id?: BlockID; + block?: Block; +} + +export type GetLatestBlockRequest = {}; + +export interface GetLatestBlockResponse { + block_id?: BlockID; + block?: Block; +} + +export type GetSyncingRequest = {}; + +export interface GetSyncingResponse { + syncing: boolean; +} + +export type GetNodeInfoRequest = {}; + +export interface GetNodeInfoResponse { + default_node_info?: NodeInfo; + application_version?: VersionInfo; +} + +export interface VersionInfo { + name: string; + app_name: string; + version: string; + git_commit: string; + build_tags: string; + go_version: string; + build_deps: Module[]; + /** Since: cosmos-sdk 0.43 */ + cosmos_sdk_version: string; +} + +export interface Module { + /** module path */ + path: string; + /** module version */ + version: string; + /** checksum */ + sum: string; +} diff --git a/packages/cosmos/generated/types/cosmos/base/v1beta1/coin.ts b/packages/cosmos/generated/types/cosmos/base/v1beta1/coin.ts new file mode 100644 index 000000000..7b67a03a9 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/v1beta1/coin.ts @@ -0,0 +1,17 @@ +export interface Coin { + denom: string; + amount: string; +} + +export interface DecCoin { + denom: string; + amount: string; +} + +export interface IntProto { + int: string; +} + +export interface DecProto { + dec: string; +} diff --git a/packages/cosmos/generated/types/cosmos/base/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/base/v1beta1/index.ts new file mode 100644 index 000000000..c2ab970af --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/base/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './coin'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/capability/v1beta1/capability.ts b/packages/cosmos/generated/types/cosmos/capability/v1beta1/capability.ts new file mode 100644 index 000000000..03c0223cf --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/capability/v1beta1/capability.ts @@ -0,0 +1,12 @@ +export interface Capability { + index: number; +} + +export interface Owner { + module: string; + name: string; +} + +export interface CapabilityOwners { + owners: Owner[]; +} diff --git a/packages/cosmos/generated/types/cosmos/capability/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/capability/v1beta1/genesis.ts new file mode 100644 index 000000000..aff9f716e --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/capability/v1beta1/genesis.ts @@ -0,0 +1,18 @@ +import type { CapabilityOwners } from "./capability"; + +export interface GenesisOwners { + /** index is the index of the capability owner. */ + index: number; + /** index_owners are the owners at the given index. */ + index_owners?: CapabilityOwners; +} + +export interface GenesisState { + /** index is the capability global index. */ + index: number; + /** + * owners represents a map from index to owners of the capability index + * index key is string to allow amino marshalling. + */ + owners: GenesisOwners[]; +} diff --git a/packages/cosmos/generated/types/cosmos/capability/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/capability/v1beta1/index.ts new file mode 100644 index 000000000..5ce4a1ada --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/capability/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './capability'; +export * from './genesis'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crisis/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/genesis.ts new file mode 100644 index 000000000..04ce93b8d --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/genesis.ts @@ -0,0 +1,9 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export interface GenesisState { + /** + * constant_fee is the fee used to verify the invariant in the crisis + * module. + */ + constant_fee?: Coin; +} diff --git a/packages/cosmos/generated/types/cosmos/crisis/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/index.ts new file mode 100644 index 000000000..ae9f532a8 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './genesis'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crisis/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/tx.ts new file mode 100644 index 000000000..165e41183 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crisis/v1beta1/tx.ts @@ -0,0 +1,7 @@ +export interface MsgVerifyInvariant { + sender: string; + invariant_module_name: string; + invariant_route: string; +} + +export type MsgVerifyInvariantResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/crypto/ed25519/index.ts b/packages/cosmos/generated/types/cosmos/crypto/ed25519/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/ed25519/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/ed25519/keys.ts b/packages/cosmos/generated/types/cosmos/crypto/ed25519/keys.ts new file mode 100644 index 000000000..ef25a887a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/ed25519/keys.ts @@ -0,0 +1,7 @@ +export interface PubKey { + key: Uint8Array; +} + +export interface PrivKey { + key: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/crypto/multisig/index.ts b/packages/cosmos/generated/types/cosmos/crypto/multisig/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/multisig/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/multisig/keys.ts b/packages/cosmos/generated/types/cosmos/crypto/multisig/keys.ts new file mode 100644 index 000000000..5f1ed35cf --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/multisig/keys.ts @@ -0,0 +1,6 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface LegacyAminoPubKey { + threshold: number; + public_keys: Any[]; +} diff --git a/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/index.ts new file mode 100644 index 000000000..ae181b1c7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './multisig'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/multisig.ts b/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/multisig.ts new file mode 100644 index 000000000..cfbf164d1 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/multisig/v1beta1/multisig.ts @@ -0,0 +1,8 @@ +export interface MultiSignature { + signatures: Uint8Array[]; +} + +export interface CompactBitArray { + extra_bits_stored: number; + elems: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/crypto/secp256k1/index.ts b/packages/cosmos/generated/types/cosmos/crypto/secp256k1/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/secp256k1/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/secp256k1/keys.ts b/packages/cosmos/generated/types/cosmos/crypto/secp256k1/keys.ts new file mode 100644 index 000000000..ef25a887a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/secp256k1/keys.ts @@ -0,0 +1,7 @@ +export interface PubKey { + key: Uint8Array; +} + +export interface PrivKey { + key: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/crypto/secp256r1/index.ts b/packages/cosmos/generated/types/cosmos/crypto/secp256r1/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/secp256r1/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/secp256r1/keys.ts b/packages/cosmos/generated/types/cosmos/crypto/secp256r1/keys.ts new file mode 100644 index 000000000..3de1a9150 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/secp256r1/keys.ts @@ -0,0 +1,12 @@ +export interface PubKey { + /** + * Point on secp256r1 curve in a compressed representation as specified in section + * 4.3.6 of ANSI X9.62: https://webstore.ansi.org/standards/ascx9/ansix9621998 + */ + key: Uint8Array; +} + +export interface PrivKey { + /** secret number serialized using big-endian encoding */ + secret: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/crypto/sr25519/index.ts b/packages/cosmos/generated/types/cosmos/crypto/sr25519/index.ts new file mode 100644 index 000000000..31f5b1149 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/sr25519/index.ts @@ -0,0 +1 @@ +export * from './keys'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/crypto/sr25519/keys.ts b/packages/cosmos/generated/types/cosmos/crypto/sr25519/keys.ts new file mode 100644 index 000000000..7e90df3db --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/crypto/sr25519/keys.ts @@ -0,0 +1,3 @@ +export interface PubKey { + key: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/distribution/v1beta1/distribution.ts b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/distribution.ts new file mode 100644 index 000000000..b128d27d3 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/distribution.ts @@ -0,0 +1,65 @@ +import type { Coin, DecCoin } from "../../base/v1beta1/coin"; + +export interface Params { + community_tax: string; + base_proposer_reward: string; + bonus_proposer_reward: string; + withdraw_addr_enabled: boolean; +} + +export interface ValidatorHistoricalRewards { + cumulative_reward_ratio: DecCoin[]; + reference_count: number; +} + +export interface ValidatorCurrentRewards { + rewards: DecCoin[]; + period: number; +} + +export interface ValidatorAccumulatedCommission { + commission: DecCoin[]; +} + +export interface ValidatorOutstandingRewards { + rewards: DecCoin[]; +} + +export interface ValidatorSlashEvent { + validator_period: number; + fraction: string; +} + +export interface ValidatorSlashEvents { + validator_slash_events: ValidatorSlashEvent[]; +} + +export interface FeePool { + community_pool: DecCoin[]; +} + +export interface CommunityPoolSpendProposal { + title: string; + description: string; + recipient: string; + amount: Coin[]; +} + +export interface DelegatorStartingInfo { + previous_period: number; + stake: string; + height: number; +} + +export interface DelegationDelegatorReward { + validator_address: string; + reward: DecCoin[]; +} + +export interface CommunityPoolSpendProposalWithDeposit { + title: string; + description: string; + recipient: string; + amount: string; + deposit: string; +} diff --git a/packages/cosmos/generated/types/cosmos/distribution/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/genesis.ts new file mode 100644 index 000000000..befc8613f --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/genesis.ts @@ -0,0 +1,91 @@ +import type { DecCoin } from "../../base/v1beta1/coin"; + +import type { + DelegatorStartingInfo, + FeePool, + Params, + ValidatorAccumulatedCommission, + ValidatorCurrentRewards, + ValidatorHistoricalRewards, + ValidatorSlashEvent, +} from "./distribution"; + +export interface DelegatorWithdrawInfo { + /** delegator_address is the address of the delegator. */ + delegator_address: string; + /** withdraw_address is the address to withdraw the delegation rewards to. */ + withdraw_address: string; +} + +export interface ValidatorOutstandingRewardsRecord { + /** validator_address is the address of the validator. */ + validator_address: string; + /** outstanding_rewards represents the oustanding rewards of a validator. */ + outstanding_rewards: DecCoin[]; +} + +export interface ValidatorAccumulatedCommissionRecord { + /** validator_address is the address of the validator. */ + validator_address: string; + /** accumulated is the accumulated commission of a validator. */ + accumulated?: ValidatorAccumulatedCommission; +} + +export interface ValidatorHistoricalRewardsRecord { + /** validator_address is the address of the validator. */ + validator_address: string; + /** period defines the period the historical rewards apply to. */ + period: number; + /** rewards defines the historical rewards of a validator. */ + rewards?: ValidatorHistoricalRewards; +} + +export interface ValidatorCurrentRewardsRecord { + /** validator_address is the address of the validator. */ + validator_address: string; + /** rewards defines the current rewards of a validator. */ + rewards?: ValidatorCurrentRewards; +} + +export interface DelegatorStartingInfoRecord { + /** delegator_address is the address of the delegator. */ + delegator_address: string; + /** validator_address is the address of the validator. */ + validator_address: string; + /** starting_info defines the starting info of a delegator. */ + starting_info?: DelegatorStartingInfo; +} + +export interface ValidatorSlashEventRecord { + /** validator_address is the address of the validator. */ + validator_address: string; + /** height defines the block height at which the slash event occured. */ + height: number; + /** period is the period of the slash event. */ + period: number; + /** validator_slash_event describes the slash event. */ + validator_slash_event?: ValidatorSlashEvent; +} + +export interface GenesisState { + /** params defines all the paramaters of the module. */ + params?: Params; + /** fee_pool defines the fee pool at genesis. */ + fee_pool?: FeePool; + /** fee_pool defines the delegator withdraw infos at genesis. */ + delegator_withdraw_infos: DelegatorWithdrawInfo[]; + /** fee_pool defines the previous proposer at genesis. */ + previous_proposer: string; + /** fee_pool defines the outstanding rewards of all validators at genesis. */ + outstanding_rewards: ValidatorOutstandingRewardsRecord[]; + /** fee_pool defines the accumulated commisions of all validators at genesis. */ + validator_accumulated_commissions: ValidatorAccumulatedCommissionRecord[]; + /** fee_pool defines the historical rewards of all validators at genesis. */ + validator_historical_rewards: ValidatorHistoricalRewardsRecord[]; + /** fee_pool defines the current rewards of all validators at genesis. */ + validator_current_rewards: ValidatorCurrentRewardsRecord[]; + /** fee_pool defines the delegator starting infos at genesis. */ + delegator_starting_infos: DelegatorStartingInfoRecord[]; + /** fee_pool defines the validator slash events at genesis. */ + validator_slash_events: ValidatorSlashEventRecord[]; +} diff --git a/packages/cosmos/generated/types/cosmos/distribution/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/index.ts new file mode 100644 index 000000000..69eea1866 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './distribution'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/distribution/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/query.ts new file mode 100644 index 000000000..eb7da61dd --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/query.ts @@ -0,0 +1,100 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { DecCoin } from "../../base/v1beta1/coin"; + +import type { DelegationDelegatorReward, Params, ValidatorAccumulatedCommission, ValidatorOutstandingRewards, ValidatorSlashEvent } from "./distribution"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export interface QueryValidatorOutstandingRewardsRequest { + /** validator_address defines the validator address to query for. */ + validator_address: string; +} + +export interface QueryValidatorOutstandingRewardsResponse { + rewards?: ValidatorOutstandingRewards; +} + +export interface QueryValidatorCommissionRequest { + /** validator_address defines the validator address to query for. */ + validator_address: string; +} + +export interface QueryValidatorCommissionResponse { + /** commission defines the commision the validator received. */ + commission?: ValidatorAccumulatedCommission; +} + +export interface QueryValidatorSlashesRequest { + /** validator_address defines the validator address to query for. */ + validator_address: string; + /** starting_height defines the optional starting height to query the slashes. */ + starting_height: number; + /** starting_height defines the optional ending height to query the slashes. */ + ending_height: number; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryValidatorSlashesResponse { + /** slashes defines the slashes the validator received. */ + slashes: ValidatorSlashEvent[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDelegationRewardsRequest { + /** delegator_address defines the delegator address to query for. */ + delegator_address: string; + /** validator_address defines the validator address to query for. */ + validator_address: string; +} + +export interface QueryDelegationRewardsResponse { + /** rewards defines the rewards accrued by a delegation. */ + rewards: DecCoin[]; +} + +export interface QueryDelegationTotalRewardsRequest { + /** delegator_address defines the delegator address to query for. */ + delegator_address: string; +} + +export interface QueryDelegationTotalRewardsResponse { + /** rewards defines all the rewards accrued by a delegator. */ + rewards: DelegationDelegatorReward[]; + /** total defines the sum of all the rewards. */ + total: DecCoin[]; +} + +export interface QueryDelegatorValidatorsRequest { + /** delegator_address defines the delegator address to query for. */ + delegator_address: string; +} + +export interface QueryDelegatorValidatorsResponse { + /** validators defines the validators a delegator is delegating for. */ + validators: string[]; +} + +export interface QueryDelegatorWithdrawAddressRequest { + /** delegator_address defines the delegator address to query for. */ + delegator_address: string; +} + +export interface QueryDelegatorWithdrawAddressResponse { + /** withdraw_address defines the delegator address to query for. */ + withdraw_address: string; +} + +export type QueryCommunityPoolRequest = {}; + +export interface QueryCommunityPoolResponse { + /** pool defines community pool's coins. */ + pool: DecCoin[]; +} diff --git a/packages/cosmos/generated/types/cosmos/distribution/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/tx.ts new file mode 100644 index 000000000..9f87588e4 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/distribution/v1beta1/tx.ts @@ -0,0 +1,28 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export interface MsgSetWithdrawAddress { + delegator_address: string; + withdraw_address: string; +} + +export type MsgSetWithdrawAddressResponse = {}; + +export interface MsgWithdrawDelegatorReward { + delegator_address: string; + validator_address: string; +} + +export type MsgWithdrawDelegatorRewardResponse = {}; + +export interface MsgWithdrawValidatorCommission { + validator_address: string; +} + +export type MsgWithdrawValidatorCommissionResponse = {}; + +export interface MsgFundCommunityPool { + amount: Coin[]; + depositor: string; +} + +export type MsgFundCommunityPoolResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/evidence/v1beta1/evidence.ts b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/evidence.ts new file mode 100644 index 000000000..0d01c8dba --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/evidence.ts @@ -0,0 +1,6 @@ +export interface Equivocation { + height: number; + time?: Date; + power: number; + consensus_address: string; +} diff --git a/packages/cosmos/generated/types/cosmos/evidence/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/genesis.ts new file mode 100644 index 000000000..e64fb91a4 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/genesis.ts @@ -0,0 +1,6 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface GenesisState { + /** evidence defines all the evidence at genesis. */ + evidence: Any[]; +} diff --git a/packages/cosmos/generated/types/cosmos/evidence/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/index.ts new file mode 100644 index 000000000..e715d13bc --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './evidence'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/evidence/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/query.ts new file mode 100644 index 000000000..34bc48269 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/query.ts @@ -0,0 +1,25 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +export interface QueryEvidenceRequest { + /** evidence_hash defines the hash of the requested evidence. */ + evidence_hash: Uint8Array; +} + +export interface QueryEvidenceResponse { + /** evidence returns the requested evidence. */ + evidence?: Any; +} + +export interface QueryAllEvidenceRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryAllEvidenceResponse { + /** evidence returns all evidences. */ + evidence: Any[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} diff --git a/packages/cosmos/generated/types/cosmos/evidence/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/tx.ts new file mode 100644 index 000000000..964e19852 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/evidence/v1beta1/tx.ts @@ -0,0 +1,11 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface MsgSubmitEvidence { + submitter: string; + evidence?: Any; +} + +export interface MsgSubmitEvidenceResponse { + /** hash defines the hash of the evidence. */ + hash: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/feegrant.ts b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/feegrant.ts new file mode 100644 index 000000000..d09ce4f81 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/feegrant.ts @@ -0,0 +1,55 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Duration } from "../../../google/protobuf/duration"; + +import type { Coin } from "../../base/v1beta1/coin"; + +export interface BasicAllowance { + /** + * spend_limit specifies the maximum amount of tokens that can be spent + * by this allowance and will be updated as tokens are spent. If it is + * empty, there is no spend limit and any amount of coins can be spent. + */ + spend_limit: Coin[]; + /** expiration specifies an optional time when this allowance expires */ + expiration?: Date; +} + +export interface PeriodicAllowance { + /** basic specifies a struct of `BasicAllowance` */ + basic?: BasicAllowance; + /** + * period specifies the time duration in which period_spend_limit coins can + * be spent before that allowance is reset + */ + period?: Duration; + /** + * period_spend_limit specifies the maximum number of coins that can be spent + * in the period + */ + period_spend_limit: Coin[]; + /** period_can_spend is the number of coins left to be spent before the period_reset time */ + period_can_spend: Coin[]; + /** + * period_reset is the time at which this period resets and a new one begins, + * it is calculated from the start time of the first transaction after the + * last period ended + */ + period_reset?: Date; +} + +export interface AllowedMsgAllowance { + /** allowance can be any of basic and filtered fee allowance. */ + allowance?: Any; + /** allowed_messages are the messages for which the grantee has the access. */ + allowed_messages: string[]; +} + +export interface Grant { + /** granter is the address of the user granting an allowance of their funds. */ + granter: string; + /** grantee is the address of the user being granted an allowance of another user's funds. */ + grantee: string; + /** allowance can be any of basic and filtered fee allowance. */ + allowance?: Any; +} diff --git a/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/genesis.ts new file mode 100644 index 000000000..1a65f1a88 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/genesis.ts @@ -0,0 +1,5 @@ +import type { Grant } from "./feegrant"; + +export interface GenesisState { + allowances: Grant[]; +} diff --git a/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/index.ts new file mode 100644 index 000000000..c8c4c5858 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './feegrant'; +export * from './genesis'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/query.ts new file mode 100644 index 000000000..3eaba1e27 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/query.ts @@ -0,0 +1,41 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Grant } from "./feegrant"; + +export interface QueryAllowanceRequest { + /** granter is the address of the user granting an allowance of their funds. */ + granter: string; + /** grantee is the address of the user being granted an allowance of another user's funds. */ + grantee: string; +} + +export interface QueryAllowanceResponse { + /** allowance is a allowance granted for grantee by granter. */ + allowance?: Grant; +} + +export interface QueryAllowancesRequest { + grantee: string; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryAllowancesResponse { + /** allowances are allowance's granted for grantee by granter. */ + allowances: Grant[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} + +export interface QueryAllowancesByGranterRequest { + granter: string; + /** pagination defines an pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryAllowancesByGranterResponse { + /** allowances that have been issued by the granter. */ + allowances: Grant[]; + /** pagination defines an pagination for the response. */ + pagination?: PageResponse; +} diff --git a/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/tx.ts new file mode 100644 index 000000000..ce107957f --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/feegrant/v1beta1/tx.ts @@ -0,0 +1,21 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface MsgGrantAllowance { + /** granter is the address of the user granting an allowance of their funds. */ + granter: string; + /** grantee is the address of the user being granted an allowance of another user's funds. */ + grantee: string; + /** allowance can be any of basic and filtered fee allowance. */ + allowance?: Any; +} + +export type MsgGrantAllowanceResponse = {}; + +export interface MsgRevokeAllowance { + /** granter is the address of the user granting an allowance of their funds. */ + granter: string; + /** grantee is the address of the user being granted an allowance of another user's funds. */ + grantee: string; +} + +export type MsgRevokeAllowanceResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/genutil/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/genutil/v1beta1/genesis.ts new file mode 100644 index 000000000..d9626834b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/genutil/v1beta1/genesis.ts @@ -0,0 +1,4 @@ +export interface GenesisState { + /** gen_txs defines the genesis transactions. */ + gen_txs: Uint8Array[]; +} diff --git a/packages/cosmos/generated/types/cosmos/genutil/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/genutil/v1beta1/index.ts new file mode 100644 index 000000000..7b5d608da --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/genutil/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './genesis'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/gov/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/gov/v1beta1/genesis.ts new file mode 100644 index 000000000..39829c66a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/gov/v1beta1/genesis.ts @@ -0,0 +1,18 @@ +import type { Deposit, DepositParams, Proposal, TallyParams, Vote, VotingParams } from "./gov"; + +export interface GenesisState { + /** starting_proposal_id is the ID of the starting proposal. */ + starting_proposal_id: number; + /** deposits defines all the deposits present at genesis. */ + deposits: Deposit[]; + /** votes defines all the votes present at genesis. */ + votes: Vote[]; + /** proposals defines all the proposals present at genesis. */ + proposals: Proposal[]; + /** params defines all the paramaters of related to deposit. */ + deposit_params?: DepositParams; + /** params defines all the paramaters of related to voting. */ + voting_params?: VotingParams; + /** params defines all the paramaters of related to tally. */ + tally_params?: TallyParams; +} diff --git a/packages/cosmos/generated/types/cosmos/gov/v1beta1/gov.ts b/packages/cosmos/generated/types/cosmos/gov/v1beta1/gov.ts new file mode 100644 index 000000000..fb2b4137d --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/gov/v1beta1/gov.ts @@ -0,0 +1,140 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Duration } from "../../../google/protobuf/duration"; + +import type { Coin } from "../../base/v1beta1/coin"; + +export enum VoteOption { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1, +} + +export enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + PROPOSAL_STATUS_VOTING_PERIOD = 2, + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + PROPOSAL_STATUS_PASSED = 3, + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + PROPOSAL_STATUS_REJECTED = 4, + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + PROPOSAL_STATUS_FAILED = 5, + UNRECOGNIZED = -1, +} + +export interface WeightedVoteOption { + option: VoteOption; + weight: string; +} + +export interface TextProposal { + title: string; + description: string; + is_expedited: boolean; +} + +export interface Deposit { + proposal_id: number; + depositor: string; + amount: Coin[]; +} + +export interface Proposal { + proposal_id: number; + content?: Any; + status: ProposalStatus; + final_tally_result?: TallyResult; + submit_time?: Date; + deposit_end_time?: Date; + total_deposit: Coin[]; + voting_start_time?: Date; + voting_end_time?: Date; + is_expedited: boolean; +} + +export interface TallyResult { + yes: string; + abstain: string; + no: string; + no_with_veto: string; +} + +export interface Vote { + proposal_id: number; + voter: string; + /** + * Deprecated: Prefer to use `options` instead. This field is set in queries + * if and only if `len(options) == 1` and that option has weight 1. In all + * other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + * + * @deprecated + */ + option: VoteOption; + /** Since: cosmos-sdk 0.43 */ + options: WeightedVoteOption[]; +} + +export interface DepositParams { + /** Minimum deposit for a proposal to enter voting period. */ + min_deposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + max_deposit_period?: Duration; + /** Minimum deposit for a expedited proposal to enter voting period. */ + min_expedited_deposit: Coin[]; +} + +export interface VotingParams { + /** Length of the voting period. */ + voting_period?: Duration; + /** Length of the expedited voting period. */ + expedited_voting_period?: Duration; +} + +export interface TallyParams { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: Uint8Array; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: Uint8Array; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + veto_threshold: Uint8Array; + /** Minimum percentage of total stake needed to vote for expedited proposal to be valid */ + expedited_quorum: Uint8Array; + /** Minimum proportion of Yes votes for an expedited proposal to pass. Default value: 0.67. */ + expedited_threshold: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/gov/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/gov/v1beta1/index.ts new file mode 100644 index 000000000..00479ae19 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/gov/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/gov/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/gov/v1beta1/query.ts new file mode 100644 index 000000000..f9949990c --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/gov/v1beta1/query.ts @@ -0,0 +1,107 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Deposit, DepositParams, Proposal, ProposalStatus, TallyParams, TallyResult, Vote, VotingParams } from "./gov"; + +export interface QueryProposalRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; +} + +export interface QueryProposalResponse { + proposal?: Proposal; +} + +export interface QueryProposalsRequest { + /** proposal_status defines the status of the proposals. */ + proposal_status: ProposalStatus; + /** voter defines the voter address for the proposals. */ + voter: string; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryProposalsResponse { + proposals: Proposal[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryVoteRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; + /** voter defines the oter address for the proposals. */ + voter: string; +} + +export interface QueryVoteResponse { + /** vote defined the queried vote. */ + vote?: Vote; +} + +export interface QueryVotesRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryVotesResponse { + /** votes defined the queried votes. */ + votes: Vote[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryParamsRequest { + /** + * params_type defines which parameters to query for, can be one of "voting", + * "tallying" or "deposit". + */ + params_type: string; +} + +export interface QueryParamsResponse { + /** voting_params defines the parameters related to voting. */ + voting_params?: VotingParams; + /** deposit_params defines the parameters related to deposit. */ + deposit_params?: DepositParams; + /** tally_params defines the parameters related to tally. */ + tally_params?: TallyParams; +} + +export interface QueryDepositRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; +} + +export interface QueryDepositResponse { + /** deposit defines the requested deposit. */ + deposit?: Deposit; +} + +export interface QueryDepositsRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryDepositsResponse { + deposits: Deposit[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryTallyResultRequest { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: number; +} + +export interface QueryTallyResultResponse { + /** tally defines the requested tally. */ + tally?: TallyResult; +} diff --git a/packages/cosmos/generated/types/cosmos/gov/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/gov/v1beta1/tx.ts new file mode 100644 index 000000000..1d2725196 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/gov/v1beta1/tx.ts @@ -0,0 +1,40 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Coin } from "../../base/v1beta1/coin"; + +import type { VoteOption, WeightedVoteOption } from "./gov"; + +export interface MsgSubmitProposal { + content?: Any; + initial_deposit: Coin[]; + proposer: string; + is_expedited: boolean; +} + +export interface MsgSubmitProposalResponse { + proposal_id: number; +} + +export interface MsgVote { + proposal_id: number; + voter: string; + option: VoteOption; +} + +export type MsgVoteResponse = {}; + +export interface MsgVoteWeighted { + proposal_id: number; + voter: string; + options: WeightedVoteOption[]; +} + +export type MsgVoteWeightedResponse = {}; + +export interface MsgDeposit { + proposal_id: number; + depositor: string; + amount: Coin[]; +} + +export type MsgDepositResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/mint/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/mint/v1beta1/genesis.ts new file mode 100644 index 000000000..82ae8fd76 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/mint/v1beta1/genesis.ts @@ -0,0 +1,8 @@ +import type { Minter, Params } from "./mint"; + +export interface GenesisState { + /** minter is a space for holding current inflation information. */ + minter?: Minter; + /** params defines all the paramaters of the module. */ + params?: Params; +} diff --git a/packages/cosmos/generated/types/cosmos/mint/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/mint/v1beta1/index.ts new file mode 100644 index 000000000..7cf6b274a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/mint/v1beta1/index.ts @@ -0,0 +1,3 @@ +export * from './genesis'; +export * from './mint'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/mint/v1beta1/mint.ts b/packages/cosmos/generated/types/cosmos/mint/v1beta1/mint.ts new file mode 100644 index 000000000..d81a2355d --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/mint/v1beta1/mint.ts @@ -0,0 +1,21 @@ +export interface Minter { + /** current annual inflation rate */ + inflation: string; + /** current annual expected provisions */ + annual_provisions: string; +} + +export interface Params { + /** type of coin to mint */ + mint_denom: string; + /** maximum annual change in inflation rate */ + inflation_rate_change: string; + /** maximum inflation rate */ + inflation_max: string; + /** minimum inflation rate */ + inflation_min: string; + /** goal of percent bonded atoms */ + goal_bonded: string; + /** expected blocks per year */ + blocks_per_year: number; +} diff --git a/packages/cosmos/generated/types/cosmos/mint/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/mint/v1beta1/query.ts new file mode 100644 index 000000000..0b9257745 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/mint/v1beta1/query.ts @@ -0,0 +1,22 @@ +import type { Params } from "./mint"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export type QueryInflationRequest = {}; + +export interface QueryInflationResponse { + /** inflation is the current minting inflation value. */ + inflation: Uint8Array; +} + +export type QueryAnnualProvisionsRequest = {}; + +export interface QueryAnnualProvisionsResponse { + /** annual_provisions is the current minting annual provisions value. */ + annual_provisions: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/params/types/index.ts b/packages/cosmos/generated/types/cosmos/params/types/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/params/types/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/params/types/types.ts b/packages/cosmos/generated/types/cosmos/params/types/types.ts new file mode 100644 index 000000000..27d3a7651 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/params/types/types.ts @@ -0,0 +1,15 @@ +import type { DecCoin } from "../../base/v1beta1/coin"; + +export interface FeesParams { + global_minimum_gas_prices: DecCoin[]; +} + +export interface CosmosGasParams { + cosmos_gas_multiplier_numerator: number; + cosmos_gas_multiplier_denominator: number; +} + +export interface GenesisState { + fees_params?: FeesParams; + cosmos_gas_params?: CosmosGasParams; +} diff --git a/packages/cosmos/generated/types/cosmos/params/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/params/v1beta1/index.ts new file mode 100644 index 000000000..133539426 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/params/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './params'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/params/v1beta1/params.ts b/packages/cosmos/generated/types/cosmos/params/v1beta1/params.ts new file mode 100644 index 000000000..1c10cefa1 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/params/v1beta1/params.ts @@ -0,0 +1,12 @@ +export interface ParameterChangeProposal { + title: string; + description: string; + changes: ParamChange[]; + is_expedited: boolean; +} + +export interface ParamChange { + subspace: string; + key: string; + value: string; +} diff --git a/packages/cosmos/generated/types/cosmos/params/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/params/v1beta1/query.ts new file mode 100644 index 000000000..f82f72221 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/params/v1beta1/query.ts @@ -0,0 +1,13 @@ +import type { ParamChange } from "./params"; + +export interface QueryParamsRequest { + /** subspace defines the module to query the parameter for. */ + subspace: string; + /** key defines the key of the parameter in the subspace. */ + key: string; +} + +export interface QueryParamsResponse { + /** param defines the queried parameter. */ + param?: ParamChange; +} diff --git a/packages/cosmos/generated/types/cosmos/slashing/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/genesis.ts new file mode 100644 index 000000000..ab62c7f68 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/genesis.ts @@ -0,0 +1,80 @@ +import type { + Params, + ValidatorMissedBlockArray, + ValidatorMissedBlockArrayLegacyMissedHeights, + ValidatorSigningInfo, + ValidatorSigningInfoLegacyMissedHeights, +} from "./slashing"; + +export interface GenesisState { + /** params defines all the paramaters of related to slashing. */ + params?: Params; + /** + * signing_infos represents a map between validator addresses and their + * signing infos. + */ + signing_infos: SigningInfo[]; + /** + * missed_blocks represents a map between validator addresses and their + * missed blocks. + */ + missed_blocks: ValidatorMissedBlockArray[]; +} + +export interface GenesisStateLegacyMissingHeights { + /** params defines all the paramaters of related to slashing. */ + params?: Params; + /** + * signing_infos represents a map between validator addresses and their + * signing infos. + */ + signing_infos: SigningInfo[]; + /** + * missed_blocks represents a map between validator addresses and their + * missed blocks. + */ + missed_blocks: ValidatorMissedBlockArrayLegacyMissedHeights[]; +} + +export interface GenesisStateLegacyV43 { + /** params defines all the paramaters of related to slashing. */ + params?: Params; + /** + * signing_infos represents a map between validator addresses and their + * signing infos. + */ + signing_infos: SigningInfo[]; + /** + * missed_blocks represents a map between validator addresses and their + * missed blocks. + */ + missed_blocks: ValidatorMissedBlocks[]; +} + +export interface SigningInfo { + /** address is the validator address. */ + address: string; + /** validator_signing_info represents the signing info of this validator. */ + validator_signing_info?: ValidatorSigningInfo; +} + +export interface SigningInfoLegacyMissedHeights { + /** address is the validator address. */ + address: string; + /** validator_signing_info represents the signing info of this validator. */ + validator_signing_info?: ValidatorSigningInfoLegacyMissedHeights; +} + +export interface ValidatorMissedBlocks { + /** address is the validator address. */ + address: string; + /** missed_blocks is an array of missed blocks by the validator. */ + missed_blocks: MissedBlock[]; +} + +export interface MissedBlock { + /** index is the height at which the block was missed. */ + index: number; + /** missed is the missed status. */ + missed: boolean; +} diff --git a/packages/cosmos/generated/types/cosmos/slashing/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/index.ts new file mode 100644 index 000000000..4e8ed925c --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './query'; +export * from './slashing'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/slashing/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/query.ts new file mode 100644 index 000000000..e60985c24 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/query.ts @@ -0,0 +1,29 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Params, ValidatorSigningInfo } from "./slashing"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + params?: Params; +} + +export interface QuerySigningInfoRequest { + /** cons_address is the address to query signing info of */ + cons_address: string; +} + +export interface QuerySigningInfoResponse { + /** val_signing_info is the signing info of requested val cons address */ + val_signing_info?: ValidatorSigningInfo; +} + +export interface QuerySigningInfosRequest { + pagination?: PageRequest; +} + +export interface QuerySigningInfosResponse { + /** info is the signing info of all validators */ + info: ValidatorSigningInfo[]; + pagination?: PageResponse; +} diff --git a/packages/cosmos/generated/types/cosmos/slashing/v1beta1/slashing.ts b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/slashing.ts new file mode 100644 index 000000000..a3a694ade --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/slashing.ts @@ -0,0 +1,65 @@ +import type { Duration } from "../../../google/protobuf/duration"; + +export interface ValidatorSigningInfoLegacyMissedHeights { + address: string; + /** Height at which validator was first a candidate OR was unjailed */ + start_height: number; + /** Timestamp until which the validator is jailed due to liveness downtime. */ + jailed_until?: Date; + /** + * Whether or not a validator has been tombstoned (killed out of validator set). It is set + * once the validator commits an equivocation or for any other configured misbehiavor. + */ + tombstoned: boolean; + /** + * A counter kept to avoid unnecessary array reads. + * Note that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`. + */ + missed_blocks_counter: number; +} + +export interface ValidatorSigningInfo { + address: string; + /** Height at which validator was first a candidate OR was unjailed */ + start_height: number; + /** + * Index which is incremented each time the validator was a bonded + * in a block and may have signed a precommit or not. This in conjunction with the + * `SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`. + */ + index_offset: number; + /** Timestamp until which the validator is jailed due to liveness downtime. */ + jailed_until?: Date; + /** + * Whether or not a validator has been tombstoned (killed out of validator set). It is set + * once the validator commits an equivocation or for any other configured misbehiavor. + */ + tombstoned: boolean; + /** + * A counter kept to avoid unnecessary array reads. + * Note that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`. + */ + missed_blocks_counter: number; +} + +export interface ValidatorMissedBlockArrayLegacyMissedHeights { + address: string; + /** Array of contains the heights when the validator missed the block */ + missed_heights: number[]; +} + +export interface ValidatorMissedBlockArray { + address: string; + /** store this in case window size changes but doesn't affect number of bit groups */ + window_size: number; + /** Array of contains the missed block bits packed into uint64s */ + missed_blocks: number[]; +} + +export interface Params { + signed_blocks_window: number; + min_signed_per_window: Uint8Array; + downtime_jail_duration?: Duration; + slash_fraction_double_sign: Uint8Array; + slash_fraction_downtime: Uint8Array; +} diff --git a/packages/cosmos/generated/types/cosmos/slashing/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/tx.ts new file mode 100644 index 000000000..9415fb8b6 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/slashing/v1beta1/tx.ts @@ -0,0 +1,5 @@ +export interface MsgUnjail { + validator_addr: string; +} + +export type MsgUnjailResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/authz.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/authz.ts new file mode 100644 index 000000000..28fb079fd --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/authz.ts @@ -0,0 +1,34 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export enum AuthorizationType { + /** AUTHORIZATION_TYPE_UNSPECIFIED - AUTHORIZATION_TYPE_UNSPECIFIED specifies an unknown authorization type */ + AUTHORIZATION_TYPE_UNSPECIFIED = 0, + /** AUTHORIZATION_TYPE_DELEGATE - AUTHORIZATION_TYPE_DELEGATE defines an authorization type for Msg/Delegate */ + AUTHORIZATION_TYPE_DELEGATE = 1, + /** AUTHORIZATION_TYPE_UNDELEGATE - AUTHORIZATION_TYPE_UNDELEGATE defines an authorization type for Msg/Undelegate */ + AUTHORIZATION_TYPE_UNDELEGATE = 2, + /** AUTHORIZATION_TYPE_REDELEGATE - AUTHORIZATION_TYPE_REDELEGATE defines an authorization type for Msg/BeginRedelegate */ + AUTHORIZATION_TYPE_REDELEGATE = 3, + UNRECOGNIZED = -1, +} + +export interface StakeAuthorization { + /** + * max_tokens specifies the maximum amount of tokens can be delegate to a validator. If it is + * empty, there is no spend limit and any amount of coins can be delegated. + */ + max_tokens?: Coin; + /** + * allow_list specifies list of validator addresses to whom grantee can delegate tokens on behalf of granter's + * account. + */ + allow_list?: StakeAuthorizationValidators; + /** deny_list specifies list of validator addresses to whom grantee can not delegate tokens. */ + deny_list?: StakeAuthorizationValidators; + /** authorization_type defines one of AuthorizationType. */ + authorization_type: AuthorizationType; +} + +export interface StakeAuthorizationValidators { + address: string[]; +} diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/genesis.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/genesis.ts new file mode 100644 index 000000000..ae3d99486 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/genesis.ts @@ -0,0 +1,32 @@ +import type { Delegation, Params, Redelegation, UnbondingDelegation, Validator } from "./staking"; + +export interface GenesisState { + /** params defines all the paramaters of related to deposit. */ + params?: Params; + /** + * last_total_power tracks the total amounts of bonded tokens recorded during + * the previous end block. + */ + last_total_power: Uint8Array; + /** + * last_validator_powers is a special index that provides a historical list + * of the last-block's bonded validators. + */ + last_validator_powers: LastValidatorPower[]; + /** delegations defines the validator set at genesis. */ + validators: Validator[]; + /** delegations defines the delegations active at genesis. */ + delegations: Delegation[]; + /** unbonding_delegations defines the unbonding delegations active at genesis. */ + unbonding_delegations: UnbondingDelegation[]; + /** redelegations defines the redelegations active at genesis. */ + redelegations: Redelegation[]; + exported: boolean; +} + +export interface LastValidatorPower { + /** address is the address of the validator. */ + address: string; + /** power defines the power of the validator. */ + power: number; +} diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/index.ts new file mode 100644 index 000000000..ea2ee85c5 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/index.ts @@ -0,0 +1,5 @@ +export * from './authz'; +export * from './genesis'; +export * from './query'; +export * from './staking'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/query.ts new file mode 100644 index 000000000..d10e15e30 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/query.ts @@ -0,0 +1,171 @@ +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { DelegationResponse, HistoricalInfo, Params, Pool, RedelegationResponse, UnbondingDelegation, Validator } from "./staking"; + +export interface QueryValidatorsRequest { + /** status enables to query for validators matching a given status. */ + status: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryValidatorsResponse { + /** validators contains all the queried validators. */ + validators: Validator[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryValidatorRequest { + /** validator_addr defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryValidatorResponse { + /** validator defines the the validator info. */ + validator?: Validator; +} + +export interface QueryValidatorDelegationsRequest { + /** validator_addr defines the validator address to query for. */ + validator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryValidatorDelegationsResponse { + delegation_responses: DelegationResponse[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryValidatorUnbondingDelegationsRequest { + /** validator_addr defines the validator address to query for. */ + validator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryValidatorUnbondingDelegationsResponse { + unbonding_responses: UnbondingDelegation[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDelegationRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** validator_addr defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryDelegationResponse { + /** delegation_responses defines the delegation info of a delegation. */ + delegation_response?: DelegationResponse; +} + +export interface QueryUnbondingDelegationRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** validator_addr defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryUnbondingDelegationResponse { + /** unbond defines the unbonding information of a delegation. */ + unbond?: UnbondingDelegation; +} + +export interface QueryDelegatorDelegationsRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryDelegatorDelegationsResponse { + /** delegation_responses defines all the delegations' info of a delegator. */ + delegation_responses: DelegationResponse[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDelegatorUnbondingDelegationsRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryDelegatorUnbondingDelegationsResponse { + unbonding_responses: UnbondingDelegation[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryRedelegationsRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** src_validator_addr defines the validator address to redelegate from. */ + src_validator_addr: string; + /** dst_validator_addr defines the validator address to redelegate to. */ + dst_validator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryRedelegationsResponse { + redelegation_responses: RedelegationResponse[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDelegatorValidatorsRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +export interface QueryDelegatorValidatorsResponse { + /** validators defines the the validators' info of a delegator. */ + validators: Validator[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +export interface QueryDelegatorValidatorRequest { + /** delegator_addr defines the delegator address to query for. */ + delegator_addr: string; + /** validator_addr defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryDelegatorValidatorResponse { + /** validator defines the the validator info. */ + validator?: Validator; +} + +export interface QueryHistoricalInfoRequest { + /** height defines at which height to query the historical info. */ + height: number; +} + +export interface QueryHistoricalInfoResponse { + /** hist defines the historical info at the given height. */ + hist?: HistoricalInfo; +} + +export type QueryPoolRequest = {}; + +export interface QueryPoolResponse { + /** pool defines the pool info. */ + pool?: Pool; +} + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params holds all the parameters of this module. */ + params?: Params; +} diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/staking.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/staking.ts new file mode 100644 index 000000000..32ef33972 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/staking.ts @@ -0,0 +1,191 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Duration } from "../../../google/protobuf/duration"; + +import type { Header } from "../../../tendermint/types/types"; + +import type { Coin } from "../../base/v1beta1/coin"; + +export enum BondStatus { + /** BOND_STATUS_UNSPECIFIED - UNSPECIFIED defines an invalid validator status. */ + BOND_STATUS_UNSPECIFIED = 0, + /** BOND_STATUS_UNBONDED - UNBONDED defines a validator that is not bonded. */ + BOND_STATUS_UNBONDED = 1, + /** BOND_STATUS_UNBONDING - UNBONDING defines a validator that is unbonding. */ + BOND_STATUS_UNBONDING = 2, + /** BOND_STATUS_BONDED - BONDED defines a validator that is bonded. */ + BOND_STATUS_BONDED = 3, + UNRECOGNIZED = -1, +} + +export interface HistoricalInfo { + header?: Header; + valset: Validator[]; +} + +export interface CommissionRates { + /** rate is the commission rate charged to delegators, as a fraction. */ + rate: string; + /** max_rate defines the maximum commission rate which validator can ever charge, as a fraction. */ + max_rate: string; + /** max_change_rate defines the maximum daily increase of the validator commission, as a fraction. */ + max_change_rate: string; +} + +export interface Commission { + /** commission_rates defines the initial commission rates to be used for creating a validator. */ + commission_rates?: CommissionRates; + /** update_time is the last time the commission rate was changed. */ + update_time?: Date; +} + +export interface Description { + /** moniker defines a human-readable name for the validator. */ + moniker: string; + /** identity defines an optional identity signature (ex. UPort or Keybase). */ + identity: string; + /** website defines an optional website link. */ + website: string; + /** security_contact defines an optional email for security contact. */ + security_contact: string; + /** details define other optional details. */ + details: string; +} + +export interface Validator { + /** operator_address defines the address of the validator's operator; bech encoded in JSON. */ + operator_address: string; + /** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */ + consensus_pubkey?: Any; + /** jailed defined whether the validator has been jailed from bonded status or not. */ + jailed: boolean; + /** status is the validator status (bonded/unbonding/unbonded). */ + status: BondStatus; + /** tokens define the delegated tokens (incl. self-delegation). */ + tokens: string; + /** delegator_shares defines total shares issued to a validator's delegators. */ + delegator_shares: string; + /** description defines the description terms for the validator. */ + description?: Description; + /** unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. */ + unbonding_height: number; + /** unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. */ + unbonding_time?: Date; + /** commission defines the commission parameters. */ + commission?: Commission; + /** min_self_delegation is the validator's self declared minimum self delegation. */ + min_self_delegation: string; +} + +export interface ValAddresses { + addresses: string[]; +} + +export interface DVPair { + delegator_address: string; + validator_address: string; +} + +export interface DVPairs { + pairs: DVPair[]; +} + +export interface DVVTriplet { + delegator_address: string; + validator_src_address: string; + validator_dst_address: string; +} + +export interface DVVTriplets { + triplets: DVVTriplet[]; +} + +export interface Delegation { + /** delegator_address is the bech32-encoded address of the delegator. */ + delegator_address: string; + /** validator_address is the bech32-encoded address of the validator. */ + validator_address: string; + /** shares define the delegation shares received. */ + shares: string; +} + +export interface UnbondingDelegation { + /** delegator_address is the bech32-encoded address of the delegator. */ + delegator_address: string; + /** validator_address is the bech32-encoded address of the validator. */ + validator_address: string; + /** entries are the unbonding delegation entries. */ + entries: UnbondingDelegationEntry[]; +} + +export interface UnbondingDelegationEntry { + /** creation_height is the height which the unbonding took place. */ + creation_height: number; + /** completion_time is the unix time for unbonding completion. */ + completion_time?: Date; + /** initial_balance defines the tokens initially scheduled to receive at completion. */ + initial_balance: string; + /** balance defines the tokens to receive at completion. */ + balance: string; +} + +export interface RedelegationEntry { + /** creation_height defines the height which the redelegation took place. */ + creation_height: number; + /** completion_time defines the unix time for redelegation completion. */ + completion_time?: Date; + /** initial_balance defines the initial balance when redelegation started. */ + initial_balance: string; + /** shares_dst is the amount of destination-validator shares created by redelegation. */ + shares_dst: string; +} + +export interface Redelegation { + /** delegator_address is the bech32-encoded address of the delegator. */ + delegator_address: string; + /** validator_src_address is the validator redelegation source operator address. */ + validator_src_address: string; + /** validator_dst_address is the validator redelegation destination operator address. */ + validator_dst_address: string; + /** entries are the redelegation entries. */ + entries: RedelegationEntry[]; +} + +export interface Params { + /** unbonding_time is the time duration of unbonding. */ + unbonding_time?: Duration; + /** max_validators is the maximum number of validators. */ + max_validators: number; + /** max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). */ + max_entries: number; + /** historical_entries is the number of historical entries to persist. */ + historical_entries: number; + /** bond_denom defines the bondable coin denomination. */ + bond_denom: string; + /** min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators */ + min_commission_rate: string; + /** max_voting_power_ratio defines the maximal allowable voting power ratio delegated to a validator. */ + max_voting_power_ratio: string; + /** max_voting_power_enforcement_threshold defines the minimal bonded voting power of the max voting power ratio enforcement */ + max_voting_power_enforcement_threshold: string; +} + +export interface DelegationResponse { + delegation?: Delegation; + balance?: Coin; +} + +export interface RedelegationEntryResponse { + redelegation_entry?: RedelegationEntry; + balance: string; +} + +export interface RedelegationResponse { + redelegation?: Redelegation; + entries: RedelegationEntryResponse[]; +} + +export interface Pool { + not_bonded_tokens: string; + bonded_tokens: string; +} diff --git a/packages/cosmos/generated/types/cosmos/staking/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/staking/v1beta1/tx.ts new file mode 100644 index 000000000..6372fc7cd --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/staking/v1beta1/tx.ts @@ -0,0 +1,61 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Coin } from "../../base/v1beta1/coin"; + +import type { CommissionRates, Description } from "./staking"; + +export interface MsgCreateValidator { + description?: Description; + commission?: CommissionRates; + min_self_delegation: string; + delegator_address: string; + validator_address: string; + pubkey?: Any; + value?: Coin; +} + +export type MsgCreateValidatorResponse = {}; + +export interface MsgEditValidator { + description?: Description; + validator_address: string; + /** + * We pass a reference to the new commission rate and min self delegation as + * it's not mandatory to update. If not updated, the deserialized rate will be + * zero with no way to distinguish if an update was intended. + * REF: #2373 + */ + commission_rate: string; + min_self_delegation: string; +} + +export type MsgEditValidatorResponse = {}; + +export interface MsgDelegate { + delegator_address: string; + validator_address: string; + amount?: Coin; +} + +export type MsgDelegateResponse = {}; + +export interface MsgBeginRedelegate { + delegator_address: string; + validator_src_address: string; + validator_dst_address: string; + amount?: Coin; +} + +export interface MsgBeginRedelegateResponse { + completion_time?: Date; +} + +export interface MsgUndelegate { + delegator_address: string; + validator_address: string; + amount?: Coin; +} + +export interface MsgUndelegateResponse { + completion_time?: Date; +} diff --git a/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/index.ts new file mode 100644 index 000000000..1e847f3b1 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/index.ts @@ -0,0 +1 @@ +export * from './signing'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/signing.ts b/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/signing.ts new file mode 100644 index 000000000..52bac649b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/tx/signing/v1beta1/signing.ts @@ -0,0 +1,79 @@ +import type { Any } from "../../../../google/protobuf/any"; + +import type { CompactBitArray } from "../../../crypto/multisig/v1beta1/multisig"; + +export enum SignMode { + /** + * SIGN_MODE_UNSPECIFIED - SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + * rejected + */ + SIGN_MODE_UNSPECIFIED = 0, + /** + * SIGN_MODE_DIRECT - SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + * verified with raw bytes from Tx + */ + SIGN_MODE_DIRECT = 1, + /** + * SIGN_MODE_TEXTUAL - SIGN_MODE_TEXTUAL is a future signing mode that will verify some + * human-readable textual representation on top of the binary representation + * from SIGN_MODE_DIRECT + */ + SIGN_MODE_TEXTUAL = 2, + /** + * SIGN_MODE_LEGACY_AMINO_JSON - SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + * Amino JSON and will be removed in the future + */ + SIGN_MODE_LEGACY_AMINO_JSON = 127, + /** + * SIGN_MODE_EIP_191 - SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + * SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + * + * Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + * but is not implemented on the SDK by default. To enable EIP-191, you need + * to pass a custom `TxConfig` that has an implementation of + * `SignModeHandler` for EIP-191. The SDK may decide to fully support + * EIP-191 in the future. + * + * Since: cosmos-sdk 0.45.2 + */ + SIGN_MODE_EIP_191 = 191, + UNRECOGNIZED = -1, +} + +export interface SignatureDescriptors { + /** signatures are the signature descriptors */ + signatures: SignatureDescriptor[]; +} + +export interface SignatureDescriptor { + /** public_key is the public key of the signer */ + public_key?: Any; + data?: SignatureDescriptorData; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to prevent + * replay attacks. + */ + sequence: number; +} + +export interface SignatureDescriptorData { + /** single represents a single signer */ + single?: SignatureDescriptorDataSingle; + /** multi represents a multisig signer */ + multi?: SignatureDescriptorDataMulti; +} + +export interface SignatureDescriptorDataSingle { + /** mode is the signing mode of the single signer */ + mode: SignMode; + /** signature is the raw signature bytes */ + signature: Uint8Array; +} + +export interface SignatureDescriptorDataMulti { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArray; + /** signatures is the signatures of the multi-signature */ + signatures: SignatureDescriptorData[]; +} diff --git a/packages/cosmos/generated/types/cosmos/tx/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/tx/v1beta1/index.ts new file mode 100644 index 000000000..f781fd2e9 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/tx/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './service'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/tx/v1beta1/service.ts b/packages/cosmos/generated/types/cosmos/tx/v1beta1/service.ts new file mode 100644 index 000000000..3facc00ac --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/tx/v1beta1/service.ts @@ -0,0 +1,119 @@ +import type { Block } from "../../../tendermint/types/block"; + +import type { BlockID } from "../../../tendermint/types/types"; + +import type { GasInfo, Result, TxResponse } from "../../base/abci/v1beta1/abci"; + +import type { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; + +import type { Tx } from "./tx"; + +export enum OrderBy { + /** ORDER_BY_UNSPECIFIED - ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. */ + ORDER_BY_UNSPECIFIED = 0, + /** ORDER_BY_ASC - ORDER_BY_ASC defines ascending order */ + ORDER_BY_ASC = 1, + /** ORDER_BY_DESC - ORDER_BY_DESC defines descending order */ + ORDER_BY_DESC = 2, + UNRECOGNIZED = -1, +} + +export enum BroadcastMode { + /** BROADCAST_MODE_UNSPECIFIED - zero-value for mode ordering */ + BROADCAST_MODE_UNSPECIFIED = 0, + /** + * BROADCAST_MODE_BLOCK - BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for + * the tx to be committed in a block. + */ + BROADCAST_MODE_BLOCK = 1, + /** + * BROADCAST_MODE_SYNC - BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + * a CheckTx execution response only. + */ + BROADCAST_MODE_SYNC = 2, + /** + * BROADCAST_MODE_ASYNC - BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + * immediately. + */ + BROADCAST_MODE_ASYNC = 3, + UNRECOGNIZED = -1, +} + +export interface GetTxsEventRequest { + /** events is the list of transaction event type. */ + events: string[]; + /** pagination defines a pagination for the request. */ + pagination?: PageRequest; + order_by: OrderBy; +} + +export interface GetTxsEventResponse { + /** txs is the list of queried transactions. */ + txs: Tx[]; + /** tx_responses is the list of queried TxResponses. */ + tx_responses: TxResponse[]; + /** pagination defines a pagination for the response. */ + pagination?: PageResponse; +} + +export interface BroadcastTxRequest { + /** tx_bytes is the raw transaction. */ + tx_bytes: Uint8Array; + mode: BroadcastMode; +} + +export interface BroadcastTxResponse { + /** tx_response is the queried TxResponses. */ + tx_response?: TxResponse; +} + +export interface SimulateRequest { + /** + * tx is the transaction to simulate. + * Deprecated. Send raw tx bytes instead. + * + * @deprecated + */ + tx?: Tx; + /** + * tx_bytes is the raw transaction. + * + * Since: cosmos-sdk 0.43 + */ + tx_bytes: Uint8Array; +} + +export interface SimulateResponse { + /** gas_info is the information about gas used in the simulation. */ + gas_info?: GasInfo; + /** result is the result of the simulation. */ + result?: Result; +} + +export interface GetTxRequest { + /** hash is the tx hash to query, encoded as a hex string. */ + hash: string; +} + +export interface GetTxResponse { + /** tx is the queried transaction. */ + tx?: Tx; + /** tx_response is the queried TxResponses. */ + tx_response?: TxResponse; +} + +export interface GetBlockWithTxsRequest { + /** height is the height of the block to query. */ + height: number; + /** pagination defines a pagination for the request. */ + pagination?: PageRequest; +} + +export interface GetBlockWithTxsResponse { + /** txs are the transactions in the block. */ + txs: Tx[]; + block_id?: BlockID; + block?: Block; + /** pagination defines a pagination for the response. */ + pagination?: PageResponse; +} diff --git a/packages/cosmos/generated/types/cosmos/tx/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/tx/v1beta1/tx.ts new file mode 100644 index 000000000..3d54eb505 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/tx/v1beta1/tx.ts @@ -0,0 +1,180 @@ +import type { Any } from "../../../google/protobuf/any"; + +import type { Coin } from "../../base/v1beta1/coin"; + +import type { CompactBitArray } from "../../crypto/multisig/v1beta1/multisig"; + +import type { SignMode } from "../signing/v1beta1/signing"; + +export interface Tx { + /** body is the processable content of the transaction */ + body?: TxBody; + /** + * auth_info is the authorization related content of the transaction, + * specifically signers, signer modes and fee + */ + auth_info?: AuthInfo; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures: Uint8Array[]; +} + +export interface TxRaw { + /** + * body_bytes is a protobuf serialization of a TxBody that matches the + * representation in SignDoc. + */ + body_bytes: Uint8Array; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in SignDoc. + */ + auth_info_bytes: Uint8Array; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures: Uint8Array[]; +} + +export interface SignDoc { + /** + * body_bytes is protobuf serialization of a TxBody that matches the + * representation in TxRaw. + */ + body_bytes: Uint8Array; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in TxRaw. + */ + auth_info_bytes: Uint8Array; + /** + * chain_id is the unique identifier of the chain this transaction targets. + * It prevents signed transactions from being used on another chain by an + * attacker + */ + chain_id: string; + /** account_number is the account number of the account in state */ + account_number: number; +} + +export interface TxBody { + /** + * messages is a list of messages to be executed. The required signers of + * those messages define the number and order of elements in AuthInfo's + * signer_infos and Tx's signatures. Each required signer address is added to + * the list only the first time it occurs. + * By convention, the first required signer (usually from the first message) + * is referred to as the primary signer and pays the fee for the whole + * transaction. + */ + messages: Any[]; + /** + * memo is any arbitrary note/comment to be added to the transaction. + * WARNING: in clients, any publicly exposed text should not be called memo, + * but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122). + */ + memo: string; + /** + * timeout is the block height after which this transaction will not + * be processed by the chain + */ + timeout_height: number; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, the transaction will be rejected + */ + extension_options: Any[]; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, they will be ignored + */ + non_critical_extension_options: Any[]; +} + +export interface AuthInfo { + /** + * signer_infos defines the signing modes for the required signers. The number + * and order of elements must match the required signers from TxBody's + * messages. The first element is the primary signer and the one which pays + * the fee. + */ + signer_infos: SignerInfo[]; + /** + * Fee is the fee and gas limit for the transaction. The first signer is the + * primary signer and the one which pays the fee. The fee can be calculated + * based on the cost of evaluating the body and doing signature verification + * of the signers. This can be estimated via simulation. + */ + fee?: Fee; +} + +export interface SignerInfo { + /** + * public_key is the public key of the signer. It is optional for accounts + * that already exist in state. If unset, the verifier can use the required \ + * signer address for this position and lookup the public key. + */ + public_key?: Any; + /** + * mode_info describes the signing mode of the signer and is a nested + * structure to support nested multisig pubkey's + */ + mode_info?: ModeInfo; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to + * prevent replay attacks. + */ + sequence: number; +} + +export interface ModeInfo { + /** single represents a single signer */ + single?: ModeInfoSingle; + /** multi represents a nested multisig signer */ + multi?: ModeInfoMulti; +} + +export interface ModeInfoSingle { + /** mode is the signing mode of the single signer */ + mode: SignMode; +} + +export interface ModeInfoMulti { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArray; + /** + * mode_infos is the corresponding modes of the signers of the multisig + * which could include nested multisig public keys + */ + mode_infos: ModeInfo[]; +} + +export interface Fee { + /** amount is the amount of coins to be paid as a fee */ + amount: Coin[]; + /** + * gas_limit is the maximum gas that can be used in transaction processing + * before an out of gas error occurs + */ + gas_limit: number; + /** + * if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. + * the payer must be a tx signer (and thus have signed this field in AuthInfo). + * setting this field does *not* change the ordering of required signers for the transaction. + */ + payer: string; + /** + * if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used + * to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does + * not support fee grants, this will fail + */ + granter: string; +} diff --git a/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/index.ts new file mode 100644 index 000000000..79ee2581d --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './query'; +export * from './upgrade'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/query.ts b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/query.ts new file mode 100644 index 000000000..1402ffb71 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/query.ts @@ -0,0 +1,45 @@ +import type { ModuleVersion, Plan } from "./upgrade"; + +export type QueryCurrentPlanRequest = {}; + +export interface QueryCurrentPlanResponse { + /** plan is the current upgrade plan. */ + plan?: Plan; +} + +export interface QueryAppliedPlanRequest { + /** name is the name of the applied plan to query for. */ + name: string; +} + +export interface QueryAppliedPlanResponse { + /** height is the block height at which the plan was applied. */ + height: number; +} + +export interface QueryUpgradedConsensusStateRequest { + /** + * last height of the current chain must be sent in request + * as this is the height under which next consensus state is stored + */ + last_height: number; +} + +export interface QueryUpgradedConsensusStateResponse { + /** Since: cosmos-sdk 0.43 */ + upgraded_consensus_state: Uint8Array; +} + +export interface QueryModuleVersionsRequest { + /** + * module_name is a field to query a specific module + * consensus version from state. Leaving this empty will + * fetch the full list of module versions from state + */ + module_name: string; +} + +export interface QueryModuleVersionsResponse { + /** module_versions is a list of module names with their consensus versions. */ + module_versions: ModuleVersion[]; +} diff --git a/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/upgrade.ts b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/upgrade.ts new file mode 100644 index 000000000..194f18602 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/upgrade/v1beta1/upgrade.ts @@ -0,0 +1,58 @@ +import type { Any } from "../../../google/protobuf/any"; + +export interface Plan { + /** + * Sets the name for the upgrade. This name will be used by the upgraded + * version of the software to apply any special "on-upgrade" commands during + * the first BeginBlock method after the upgrade is applied. It is also used + * to detect whether a software version can handle a given upgrade. If no + * upgrade handler with this name has been set in the software, it will be + * assumed that the software is out-of-date when the upgrade Time or Height is + * reached and the software will exit. + */ + name: string; + /** + * Deprecated: Time based upgrades have been deprecated. Time based upgrade logic + * has been removed from the SDK. + * If this field is not empty, an error will be thrown. + * + * @deprecated + */ + time?: Date; + /** + * The height at which the upgrade must be performed. + * Only used if Time is not set. + */ + height: number; + /** + * Any application specific upgrade info to be included on-chain + * such as a git commit that validators could automatically upgrade to + */ + info: string; + /** + * Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been + * moved to the IBC module in the sub module 02-client. + * If this field is not empty, an error will be thrown. + * + * @deprecated + */ + upgraded_client_state?: Any; +} + +export interface SoftwareUpgradeProposal { + title: string; + description: string; + plan?: Plan; +} + +export interface CancelSoftwareUpgradeProposal { + title: string; + description: string; +} + +export interface ModuleVersion { + /** name of the app module */ + name: string; + /** consensus version of the app module */ + version: number; +} diff --git a/packages/cosmos/generated/types/cosmos/vesting/v1beta1/index.ts b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/index.ts new file mode 100644 index 000000000..d83a31322 --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/index.ts @@ -0,0 +1,2 @@ +export * from './tx'; +export * from './vesting'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/cosmos/vesting/v1beta1/tx.ts b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/tx.ts new file mode 100644 index 000000000..56355cb4a --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/tx.ts @@ -0,0 +1,12 @@ +import type { Coin } from "../../base/v1beta1/coin"; + +export interface MsgCreateVestingAccount { + from_address: string; + to_address: string; + amount: Coin[]; + end_time: number; + delayed: boolean; + admin: string; +} + +export type MsgCreateVestingAccountResponse = {}; diff --git a/packages/cosmos/generated/types/cosmos/vesting/v1beta1/vesting.ts b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/vesting.ts new file mode 100644 index 000000000..3bf55603b --- /dev/null +++ b/packages/cosmos/generated/types/cosmos/vesting/v1beta1/vesting.ts @@ -0,0 +1,39 @@ +import type { BaseAccount } from "../../auth/v1beta1/auth"; + +import type { Coin } from "../../base/v1beta1/coin"; + +export interface BaseVestingAccount { + base_account?: BaseAccount; + original_vesting: Coin[]; + delegated_free: Coin[]; + delegated_vesting: Coin[]; + end_time: number; + /** admin field (optional), an address who has oversight powers for the vesting account such as cancelling */ + admin: string; + /** this field (default nil) indicates whether the vesting for the account has been cancelled (and what time it was cancelled) */ + cancelled_time: number; +} + +export interface ContinuousVestingAccount { + base_vesting_account?: BaseVestingAccount; + start_time: number; +} + +export interface DelayedVestingAccount { + base_vesting_account?: BaseVestingAccount; +} + +export interface Period { + length: number; + amount: Coin[]; +} + +export interface PeriodicVestingAccount { + base_vesting_account?: BaseVestingAccount; + start_time: number; + vesting_periods: Period[]; +} + +export interface PermanentLockedAccount { + base_vesting_account?: BaseVestingAccount; +} diff --git a/packages/cosmos/generated/types/epoch/epoch.ts b/packages/cosmos/generated/types/epoch/epoch.ts new file mode 100644 index 000000000..1dc332f9a --- /dev/null +++ b/packages/cosmos/generated/types/epoch/epoch.ts @@ -0,0 +1,9 @@ +import type { Duration } from "../google/protobuf/duration"; + +export interface Epoch { + genesis_time?: Date; + epoch_duration?: Duration; + current_epoch: number; + current_epoch_start_time?: Date; + current_epoch_height: number; +} diff --git a/packages/cosmos/generated/types/epoch/genesis.ts b/packages/cosmos/generated/types/epoch/genesis.ts new file mode 100644 index 000000000..e41d93232 --- /dev/null +++ b/packages/cosmos/generated/types/epoch/genesis.ts @@ -0,0 +1,9 @@ +import type { Epoch } from "./epoch"; + +import type { Params } from "./params"; + +export interface GenesisState { + params?: Params; + /** this line is used by starport scaffolding # genesis/proto/state */ + epoch?: Epoch; +} diff --git a/packages/cosmos/generated/types/epoch/index.ts b/packages/cosmos/generated/types/epoch/index.ts new file mode 100644 index 000000000..1599f0db0 --- /dev/null +++ b/packages/cosmos/generated/types/epoch/index.ts @@ -0,0 +1,4 @@ +export * from './epoch'; +export * from './genesis'; +export * from './params'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/epoch/params.ts b/packages/cosmos/generated/types/epoch/params.ts new file mode 100644 index 000000000..dbc17de45 --- /dev/null +++ b/packages/cosmos/generated/types/epoch/params.ts @@ -0,0 +1 @@ +export type Params = {}; diff --git a/packages/cosmos/generated/types/epoch/query.ts b/packages/cosmos/generated/types/epoch/query.ts new file mode 100644 index 000000000..269566c19 --- /dev/null +++ b/packages/cosmos/generated/types/epoch/query.ts @@ -0,0 +1,16 @@ +import type { Epoch } from "./epoch"; + +import type { Params } from "./params"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params holds all the parameters of this module. */ + params?: Params; +} + +export type QueryEpochRequest = {}; + +export interface QueryEpochResponse { + epoch?: Epoch; +} diff --git a/packages/cosmos/generated/types/eth/index.ts b/packages/cosmos/generated/types/eth/index.ts new file mode 100644 index 000000000..a00c4a063 --- /dev/null +++ b/packages/cosmos/generated/types/eth/index.ts @@ -0,0 +1 @@ +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/eth/tx.ts b/packages/cosmos/generated/types/eth/tx.ts new file mode 100644 index 000000000..0a16f005a --- /dev/null +++ b/packages/cosmos/generated/types/eth/tx.ts @@ -0,0 +1,83 @@ +export interface AccessTuple { + address: string; + storage_keys: string[]; +} + +export interface AssociateTx { + /** signature values */ + v: Uint8Array; + r: Uint8Array; + s: Uint8Array; + custom_message: string; +} + +export interface LegacyTx { + nonce: number; + gas_price: string; + gas_limit: number; + to: string; + value: string; + data: Uint8Array; + /** signature values */ + v: Uint8Array; + r: Uint8Array; + s: Uint8Array; +} + +export interface AccessListTx { + chain_id: string; + nonce: number; + gas_price: string; + gas_limit: number; + to: string; + value: string; + data: Uint8Array; + accesses: AccessTuple[]; + /** signature values */ + v: Uint8Array; + r: Uint8Array; + s: Uint8Array; +} + +export interface DynamicFeeTx { + chain_id: string; + nonce: number; + gas_tip_cap: string; + gas_fee_cap: string; + gas_limit: number; + to: string; + value: string; + data: Uint8Array; + accesses: AccessTuple[]; + /** signature values */ + v: Uint8Array; + r: Uint8Array; + s: Uint8Array; +} + +export interface BlobTx { + chain_id: string; + nonce: number; + gas_tip_cap: string; + gas_fee_cap: string; + gas_limit: number; + to: string; + value: string; + data: Uint8Array; + accesses: AccessTuple[]; + blob_fee_cap: string; + blob_hashes: Uint8Array[]; + sidecar?: BlobTxSidecar; + /** signature values */ + v: Uint8Array; + r: Uint8Array; + s: Uint8Array; +} + +export interface BlobTxSidecar { + blobs: Uint8Array[]; + commitments: Uint8Array[]; + proofs: Uint8Array[]; +} + +export type ExtensionOptionsEthereumTx = {}; diff --git a/packages/cosmos/generated/types/evm/config.ts b/packages/cosmos/generated/types/evm/config.ts new file mode 100644 index 000000000..016872ca0 --- /dev/null +++ b/packages/cosmos/generated/types/evm/config.ts @@ -0,0 +1,5 @@ +export interface ChainConfig { + cancun_time: number; + prague_time: number; + verkle_time: number; +} diff --git a/packages/cosmos/generated/types/evm/enums.ts b/packages/cosmos/generated/types/evm/enums.ts new file mode 100644 index 000000000..5a20f448f --- /dev/null +++ b/packages/cosmos/generated/types/evm/enums.ts @@ -0,0 +1,8 @@ +export enum PointerType { + ERC20 = 0, + ERC721 = 1, + NATIVE = 2, + CW20 = 3, + CW721 = 4, + UNRECOGNIZED = -1, +} diff --git a/packages/cosmos/generated/types/evm/genesis.ts b/packages/cosmos/generated/types/evm/genesis.ts new file mode 100644 index 000000000..7ddb83831 --- /dev/null +++ b/packages/cosmos/generated/types/evm/genesis.ts @@ -0,0 +1,42 @@ +import type { Params } from "./params"; + +export interface AddressAssociation { + /** Sei address */ + sei_address: string; + /** Ethereum address */ + eth_address: string; +} + +export interface Code { + address: string; + code: Uint8Array; +} + +export interface ContractState { + address: string; + key: Uint8Array; + value: Uint8Array; +} + +export interface Nonce { + address: string; + nonce: number; +} + +export interface Serialized { + prefix: Uint8Array; + key: Uint8Array; + value: Uint8Array; +} + +export interface GenesisState { + params?: Params; + /** List of address associations */ + address_associations: AddressAssociation[]; + /** List of stored code */ + codes: Code[]; + /** List of contract state */ + states: ContractState[]; + nonces: Nonce[]; + serialized: Serialized[]; +} diff --git a/packages/cosmos/generated/types/evm/gov.ts b/packages/cosmos/generated/types/evm/gov.ts new file mode 100644 index 000000000..a89220f5d --- /dev/null +++ b/packages/cosmos/generated/types/evm/gov.ts @@ -0,0 +1,48 @@ +export interface AddERCNativePointerProposal { + title: string; + description: string; + token: string; + pointer: string; + version: number; +} + +export interface AddERCCW20PointerProposal { + title: string; + description: string; + pointee: string; + pointer: string; + version: number; +} + +export interface AddERCCW721PointerProposal { + title: string; + description: string; + pointee: string; + pointer: string; + version: number; +} + +export interface AddCWERC20PointerProposal { + title: string; + description: string; + pointee: string; + pointer: string; + version: number; +} + +export interface AddCWERC721PointerProposal { + title: string; + description: string; + pointee: string; + pointer: string; + version: number; +} + +export interface AddERCNativePointerProposalV2 { + title: string; + description: string; + token: string; + name: string; + symbol: string; + decimals: number; +} diff --git a/packages/cosmos/generated/types/evm/index.ts b/packages/cosmos/generated/types/evm/index.ts new file mode 100644 index 000000000..5eaf8576f --- /dev/null +++ b/packages/cosmos/generated/types/evm/index.ts @@ -0,0 +1,9 @@ +export * from './config'; +export * from './enums'; +export * from './genesis'; +export * from './gov'; +export * from './params'; +export * from './query'; +export * from './receipt'; +export * from './tx'; +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/evm/params.ts b/packages/cosmos/generated/types/evm/params.ts new file mode 100644 index 000000000..a63ab9b1b --- /dev/null +++ b/packages/cosmos/generated/types/evm/params.ts @@ -0,0 +1,54 @@ +export interface Params { + /** + * string base_denom = 1 [ + * (gogoproto.moretags) = "yaml:\"base_denom\"", + * (gogoproto.jsontag) = "base_denom" + * ]; + */ + priority_normalizer: string; + base_fee_per_gas: string; + minimum_fee_per_gas: string; + /** + * ChainConfig chain_config = 5 [(gogoproto.moretags) = "yaml:\"chain_config\"", (gogoproto.nullable) = false]; + * string chain_id = 6 [ + * (gogoproto.moretags) = "yaml:\"chain_id\"", + * (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + * (gogoproto.nullable) = false, + * (gogoproto.jsontag) = "chain_id" + * ]; + * repeated string whitelisted_codehashes_bank_send = 7 [ + * (gogoproto.moretags) = "yaml:\"whitelisted_codehashes_bank_send\"", + * (gogoproto.jsontag) = "whitelisted_codehashes_bank_send" + * ]; + */ + whitelisted_cw_code_hashes_for_delegate_call: Uint8Array[]; + deliver_tx_hook_wasm_gas_limit: number; + max_dynamic_base_fee_upward_adjustment: string; + max_dynamic_base_fee_downward_adjustment: string; +} + +export interface ParamsPreV580 { + /** + * string base_denom = 1 [ + * (gogoproto.moretags) = "yaml:\"base_denom\"", + * (gogoproto.jsontag) = "base_denom" + * ]; + */ + priority_normalizer: string; + base_fee_per_gas: string; + minimum_fee_per_gas: string; + /** + * ChainConfig chain_config = 5 [(gogoproto.moretags) = "yaml:\"chain_config\"", (gogoproto.nullable) = false]; + * string chain_id = 6 [ + * (gogoproto.moretags) = "yaml:\"chain_id\"", + * (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + * (gogoproto.nullable) = false, + * (gogoproto.jsontag) = "chain_id" + * ]; + * repeated string whitelisted_codehashes_bank_send = 7 [ + * (gogoproto.moretags) = "yaml:\"whitelisted_codehashes_bank_send\"", + * (gogoproto.jsontag) = "whitelisted_codehashes_bank_send" + * ]; + */ + whitelisted_cw_code_hashes_for_delegate_call: Uint8Array[]; +} diff --git a/packages/cosmos/generated/types/evm/query.ts b/packages/cosmos/generated/types/evm/query.ts new file mode 100644 index 000000000..6369a6fce --- /dev/null +++ b/packages/cosmos/generated/types/evm/query.ts @@ -0,0 +1,59 @@ +import type { PointerType } from "./enums"; + +export interface QuerySeiAddressByEVMAddressRequest { + evm_address: string; +} + +export interface QuerySeiAddressByEVMAddressResponse { + sei_address: string; + associated: boolean; +} + +export interface QueryEVMAddressBySeiAddressRequest { + sei_address: string; +} + +export interface QueryEVMAddressBySeiAddressResponse { + evm_address: string; + associated: boolean; +} + +export interface QueryStaticCallRequest { + data: Uint8Array; + to: string; +} + +export interface QueryStaticCallResponse { + data: Uint8Array; +} + +export interface QueryPointerRequest { + pointer_type: PointerType; + pointee: string; +} + +export interface QueryPointerResponse { + pointer: string; + version: number; + exists: boolean; +} + +export interface QueryPointerVersionRequest { + pointer_type: PointerType; +} + +export interface QueryPointerVersionResponse { + version: number; + cw_code_id: number; +} + +export interface QueryPointeeRequest { + pointer_type: PointerType; + pointer: string; +} + +export interface QueryPointeeResponse { + pointee: string; + version: number; + exists: boolean; +} diff --git a/packages/cosmos/generated/types/evm/receipt.ts b/packages/cosmos/generated/types/evm/receipt.ts new file mode 100644 index 000000000..a4ae94906 --- /dev/null +++ b/packages/cosmos/generated/types/evm/receipt.ts @@ -0,0 +1,24 @@ +export interface Log { + address: string; + topics: string[]; + data: Uint8Array; + index: number; + synthetic: boolean; +} + +export interface Receipt { + tx_type: number; + cumulative_gas_used: number; + contract_address: string; + tx_hash_hex: string; + gas_used: number; + effective_gas_price: number; + block_number: number; + transaction_index: number; + status: number; + from: string; + to: string; + vm_error: string; + logs: Log[]; + logsBloom: Uint8Array; +} diff --git a/packages/cosmos/generated/types/evm/tx.ts b/packages/cosmos/generated/types/evm/tx.ts new file mode 100644 index 000000000..04886b967 --- /dev/null +++ b/packages/cosmos/generated/types/evm/tx.ts @@ -0,0 +1,71 @@ +import type { Coin } from "../cosmos/base/v1beta1/coin"; + +import type { Any } from "../google/protobuf/any"; + +import type { PointerType } from "./enums"; + +import type { Log } from "./receipt"; + +export interface MsgEVMTransaction { + data?: Any; + derived: Uint8Array; +} + +export interface MsgEVMTransactionResponse { + gas_used: number; + vm_error: string; + return_data: Uint8Array; + hash: string; + logs: Log[]; +} + +export interface MsgInternalEVMCall { + sender: string; + value: string; + to: string; + data: Uint8Array; +} + +export type MsgInternalEVMCallResponse = {}; + +export interface MsgInternalEVMDelegateCall { + sender: string; + codeHash: Uint8Array; + to: string; + data: Uint8Array; + fromContract: string; +} + +export type MsgInternalEVMDelegateCallResponse = {}; + +export interface MsgSend { + from_address: string; + to_address: string; + amount: Coin[]; +} + +export type MsgSendResponse = {}; + +export interface MsgRegisterPointer { + sender: string; + pointer_type: PointerType; + erc_address: string; +} + +export interface MsgRegisterPointerResponse { + pointer_address: string; +} + +export interface MsgAssociateContractAddress { + sender: string; + address: string; +} + +export type MsgAssociateContractAddressResponse = {}; + +export interface MsgAssociate { + sender: string; + custom_message: string; +} + +export type MsgAssociateResponse = {}; diff --git a/packages/cosmos/generated/types/evm/types.ts b/packages/cosmos/generated/types/evm/types.ts new file mode 100644 index 000000000..214b3326b --- /dev/null +++ b/packages/cosmos/generated/types/evm/types.ts @@ -0,0 +1,11 @@ +export interface Whitelist { + hashes: string[]; +} + +export interface DeferredInfo { + tx_index: number; + tx_hash: Uint8Array; + tx_bloom: Uint8Array; + surplus: string; + error: string; +} diff --git a/packages/cosmos/generated/types/google/api/http.ts b/packages/cosmos/generated/types/google/api/http.ts new file mode 100644 index 000000000..36273de98 --- /dev/null +++ b/packages/cosmos/generated/types/google/api/http.ts @@ -0,0 +1,69 @@ +export interface Http { + /** + * A list of HTTP configuration rules that apply to individual API methods. + * + * **NOTE:** All service configuration rules follow "last one wins" order. + */ + rules: HttpRule[]; + /** + * When set to true, URL path parmeters will be fully URI-decoded except in + * cases of single segment matches in reserved expansion, where "%2F" will be + * left encoded. + * + * The default behavior is to not decode RFC 6570 reserved characters in multi + * segment matches. + */ + fully_decode_reserved_expansion: boolean; +} + +export interface HttpRule { + /** + * Selects methods to which this rule applies. + * + * Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + */ + selector: string; + /** Used for listing and getting information about resources. */ + get?: string; + /** Used for updating a resource. */ + put?: string; + /** Used for creating a resource. */ + post?: string; + /** Used for deleting a resource. */ + delete?: string; + /** Used for updating a resource. */ + patch?: string; + /** + * The custom pattern is used for specifying an HTTP method that is not + * included in the `pattern` field, such as HEAD, or "*" to leave the + * HTTP method unspecified for this rule. The wild-card rule is useful + * for services that provide content to Web (HTML) clients. + */ + custom?: CustomHttpPattern; + /** + * The name of the request field whose value is mapped to the HTTP body, or + * `*` for mapping all fields not captured by the path pattern to the HTTP + * body. NOTE: the referred field must not be a repeated field and must be + * present at the top-level of request message type. + */ + body: string; + /** + * Optional. The name of the response field whose value is mapped to the HTTP + * body of response. Other response fields are ignored. When + * not set, the response message will be used as HTTP body of response. + */ + response_body: string; + /** + * Additional HTTP bindings for the selector. Nested bindings must + * not contain an `additional_bindings` field themselves (that is, + * the nesting may only be one level deep). + */ + additional_bindings: HttpRule[]; +} + +export interface CustomHttpPattern { + /** The name of this custom HTTP verb. */ + kind: string; + /** The path matched by this custom verb. */ + path: string; +} diff --git a/packages/cosmos/generated/types/google/api/httpbody.ts b/packages/cosmos/generated/types/google/api/httpbody.ts new file mode 100644 index 000000000..aee973051 --- /dev/null +++ b/packages/cosmos/generated/types/google/api/httpbody.ts @@ -0,0 +1,13 @@ +import type { Any } from "../protobuf/any"; + +export interface HttpBody { + /** The HTTP Content-Type header value specifying the content type of the body. */ + content_type: string; + /** The HTTP request/response body as raw binary. */ + data: Uint8Array; + /** + * Application specific response metadata. Must be set in the first response + * for streaming APIs. + */ + extensions: Any[]; +} diff --git a/packages/cosmos/generated/types/google/api/index.ts b/packages/cosmos/generated/types/google/api/index.ts new file mode 100644 index 000000000..58f784ed6 --- /dev/null +++ b/packages/cosmos/generated/types/google/api/index.ts @@ -0,0 +1,2 @@ +export * from './http'; +export * from './httpbody'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/google/protobuf/any.ts b/packages/cosmos/generated/types/google/protobuf/any.ts new file mode 100644 index 000000000..7023a2351 --- /dev/null +++ b/packages/cosmos/generated/types/google/protobuf/any.ts @@ -0,0 +1,34 @@ +export interface Any { + /** + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). + * + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: + * + * * If no scheme is provided, `https` is assumed. + * * An HTTP GET on the URL must yield a [google.protobuf.Type][] + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + */ + type_url: string; + /** Must be a valid serialized protocol buffer of the above specified type. */ + value: Uint8Array; +} diff --git a/packages/cosmos/generated/types/google/protobuf/descriptor.ts b/packages/cosmos/generated/types/google/protobuf/descriptor.ts new file mode 100644 index 000000000..568701b7f --- /dev/null +++ b/packages/cosmos/generated/types/google/protobuf/descriptor.ts @@ -0,0 +1,1100 @@ +export enum Edition { + /** EDITION_UNKNOWN - A placeholder for an unknown edition value. */ + EDITION_UNKNOWN = 0, + /** + * EDITION_LEGACY - A placeholder edition for specifying default behaviors *before* a feature + * was first introduced. This is effectively an "infinite past". + */ + EDITION_LEGACY = 900, + /** + * EDITION_PROTO2 - Legacy syntax "editions". These pre-date editions, but behave much like + * distinct editions. These can't be used to specify the edition of proto + * files, but feature definitions must supply proto2/proto3 defaults for + * backwards compatibility. + */ + EDITION_PROTO2 = 998, + EDITION_PROTO3 = 999, + /** + * EDITION_2023 - Editions that have been released. The specific values are arbitrary and + * should not be depended on, but they will always be time-ordered for easy + * comparison. + */ + EDITION_2023 = 1000, + EDITION_2024 = 1001, + /** + * EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be + * used or relyed on outside of tests. + */ + EDITION_1_TEST_ONLY = 1, + EDITION_2_TEST_ONLY = 2, + EDITION_99997_TEST_ONLY = 99997, + EDITION_99998_TEST_ONLY = 99998, + EDITION_99999_TEST_ONLY = 99999, + /** + * EDITION_MAX - Placeholder for specifying unbounded edition support. This should only + * ever be used by plugins that can expect to never require any changes to + * support a new edition. + */ + EDITION_MAX = 2147483647, + UNRECOGNIZED = -1, +} + +export interface FileDescriptorSet { + file: FileDescriptorProto[]; +} + +export interface FileDescriptorProto { + /** file name, relative to root of source tree */ + name?: string; + /** e.g. "foo", "foo.bar", etc. */ + package?: string; + /** Names of files imported by this file. */ + dependency: string[]; + /** Indexes of the public imported files in the dependency list above. */ + public_dependency: number[]; + /** + * Indexes of the weak imported files in the dependency list. + * For Google-internal migration only. Do not use. + */ + weak_dependency: number[]; + /** All top-level definitions in this file. */ + message_type: DescriptorProto[]; + enum_type: EnumDescriptorProto[]; + service: ServiceDescriptorProto[]; + extension: FieldDescriptorProto[]; + options?: FileOptions; + /** + * This field contains optional information about the original source code. + * You may safely remove this entire field without harming runtime + * functionality of the descriptors -- the information is needed only by + * development tools. + */ + source_code_info?: SourceCodeInfo; + /** + * The syntax of the proto file. + * The supported values are "proto2", "proto3", and "editions". + * + * If `edition` is present, this value must be "editions". + */ + syntax?: string; + /** The edition of the proto file. */ + edition?: Edition; +} + +export interface DescriptorProto { + name?: string; + field: FieldDescriptorProto[]; + extension: FieldDescriptorProto[]; + nested_type: DescriptorProto[]; + enum_type: EnumDescriptorProto[]; + extension_range: DescriptorProtoExtensionRange[]; + oneof_decl: OneofDescriptorProto[]; + options?: MessageOptions; + reserved_range: DescriptorProtoReservedRange[]; + /** + * Reserved field names, which may not be used by fields in the same message. + * A given name may only be reserved once. + */ + reserved_name: string[]; +} + +export interface DescriptorProtoExtensionRange { + /** Inclusive. */ + start?: number; + /** Exclusive. */ + end?: number; + options?: ExtensionRangeOptions; +} + +export interface DescriptorProtoReservedRange { + /** Inclusive. */ + start?: number; + /** Exclusive. */ + end?: number; +} + +export interface ExtensionRangeOptions { + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; + /** + * For external users: DO NOT USE. We are in the process of open sourcing + * extension declaration and executing internal cleanups before it can be + * used externally. + */ + declaration: ExtensionRangeOptionsDeclaration[]; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** + * The verification state of the range. + * TODO: flip the default to DECLARATION once all empty ranges + * are marked as UNVERIFIED. + */ + verification?: ExtensionRangeOptionsVerificationState; +} + +export enum ExtensionRangeOptionsVerificationState { + /** DECLARATION - All the extensions of the range must be declared. */ + DECLARATION = 0, + UNVERIFIED = 1, + UNRECOGNIZED = -1, +} + +export interface ExtensionRangeOptionsDeclaration { + /** The extension number declared within the extension range. */ + number?: number; + /** + * The fully-qualified name of the extension field. There must be a leading + * dot in front of the full name. + */ + full_name?: string; + /** + * The fully-qualified type name of the extension field. Unlike + * Metadata.type, Declaration.type must have a leading dot for messages + * and enums. + */ + type?: string; + /** + * If true, indicates that the number is reserved in the extension range, + * and any extension field with the number will fail to compile. Set this + * when a declared extension field is deleted. + */ + reserved?: boolean; + /** + * If true, indicates that the extension must be defined as repeated. + * Otherwise the extension must be defined as optional. + */ + repeated?: boolean; +} + +export interface FieldDescriptorProto { + name?: string; + number?: number; + label?: FieldDescriptorProtoLabel; + /** + * If type_name is set, this need not be set. If both this and type_name + * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + */ + type?: FieldDescriptorProtoType; + /** + * For message and enum types, this is the name of the type. If the name + * starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + * rules are used to find the type (i.e. first the nested types within this + * message are searched, then within the parent, on up to the root + * namespace). + */ + type_name?: string; + /** + * For extensions, this is the name of the type being extended. It is + * resolved in the same manner as type_name. + */ + extendee?: string; + /** + * For numeric types, contains the original text representation of the value. + * For booleans, "true" or "false". + * For strings, contains the default text contents (not escaped in any way). + * For bytes, contains the C escaped value. All bytes >= 128 are escaped. + */ + default_value?: string; + /** + * If set, gives the index of a oneof in the containing type's oneof_decl + * list. This field is a member of that oneof. + */ + oneof_index?: number; + /** + * JSON name of this field. The value is set by protocol compiler. If the + * user has set a "json_name" option on this field, that option's value + * will be used. Otherwise, it's deduced from the field's name by converting + * it to camelCase. + */ + json_name?: string; + options?: FieldOptions; + /** + * If true, this is a proto3 "optional". When a proto3 field is optional, it + * tracks presence regardless of field type. + * + * When proto3_optional is true, this field must belong to a oneof to signal + * to old proto3 clients that presence is tracked for this field. This oneof + * is known as a "synthetic" oneof, and this field must be its sole member + * (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs + * exist in the descriptor only, and do not generate any API. Synthetic oneofs + * must be ordered after all "real" oneofs. + * + * For message fields, proto3_optional doesn't create any semantic change, + * since non-repeated message fields always track presence. However it still + * indicates the semantic detail of whether the user wrote "optional" or not. + * This can be useful for round-tripping the .proto file. For consistency we + * give message fields a synthetic oneof also, even though it is not required + * to track presence. This is especially important because the parser can't + * tell if a field is a message or an enum, so it must always create a + * synthetic oneof. + * + * Proto2 optional fields do not set this flag, because they already indicate + * optional with `LABEL_OPTIONAL`. + */ + proto3_optional?: boolean; +} + +export enum FieldDescriptorProtoType { + /** + * TYPE_DOUBLE - 0 is reserved for errors. + * Order is weird for historical reasons. + */ + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + /** + * TYPE_INT64 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + * negative values are likely. + */ + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + /** + * TYPE_INT32 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + * negative values are likely. + */ + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + /** + * TYPE_GROUP - Tag-delimited aggregate. + * Group type is deprecated and not supported after google.protobuf. However, Proto3 + * implementations should still be able to parse the group wire format and + * treat group fields as unknown fields. In Editions, the group wire format + * can be enabled via the `message_encoding` feature. + */ + TYPE_GROUP = 10, + /** TYPE_MESSAGE - Length-delimited aggregate. */ + TYPE_MESSAGE = 11, + /** TYPE_BYTES - New in version 2. */ + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + /** TYPE_SINT32 - Uses ZigZag encoding. */ + TYPE_SINT32 = 17, + /** TYPE_SINT64 - Uses ZigZag encoding. */ + TYPE_SINT64 = 18, + UNRECOGNIZED = -1, +} + +export enum FieldDescriptorProtoLabel { + /** LABEL_OPTIONAL - 0 is reserved for errors */ + LABEL_OPTIONAL = 1, + LABEL_REPEATED = 3, + /** + * LABEL_REQUIRED - The required label is only allowed in google.protobuf. In proto3 and Editions + * it's explicitly prohibited. In Editions, the `field_presence` feature + * can be used to get this behavior. + */ + LABEL_REQUIRED = 2, + UNRECOGNIZED = -1, +} + +export interface OneofDescriptorProto { + name?: string; + options?: OneofOptions; +} + +export interface EnumDescriptorProto { + name?: string; + value: EnumValueDescriptorProto[]; + options?: EnumOptions; + /** + * Range of reserved numeric values. Reserved numeric values may not be used + * by enum values in the same enum declaration. Reserved ranges may not + * overlap. + */ + reserved_range: EnumDescriptorProtoEnumReservedRange[]; + /** + * Reserved enum value names, which may not be reused. A given name may only + * be reserved once. + */ + reserved_name: string[]; +} + +export interface EnumDescriptorProtoEnumReservedRange { + /** Inclusive. */ + start?: number; + /** Inclusive. */ + end?: number; +} + +export interface EnumValueDescriptorProto { + name?: string; + number?: number; + options?: EnumValueOptions; +} + +export interface ServiceDescriptorProto { + name?: string; + method: MethodDescriptorProto[]; + options?: ServiceOptions; +} + +export interface MethodDescriptorProto { + name?: string; + /** + * Input and output type names. These are resolved in the same way as + * FieldDescriptorProto.type_name, but must refer to a message type. + */ + input_type?: string; + output_type?: string; + options?: MethodOptions; + /** Identifies if client streams multiple client messages */ + client_streaming?: boolean; + /** Identifies if server streams multiple server messages */ + server_streaming?: boolean; +} + +export interface FileOptions { + /** + * Sets the Java package where classes generated from this .proto will be + * placed. By default, the proto package is used, but this is often + * inappropriate because proto packages do not normally start with backwards + * domain names. + */ + java_package?: string; + /** + * Controls the name of the wrapper Java class generated for the .proto file. + * That class will always contain the .proto file's getDescriptor() method as + * well as any top-level extensions defined in the .proto file. + * If java_multiple_files is disabled, then all the other classes from the + * .proto file will be nested inside the single wrapper outer class. + */ + java_outer_classname?: string; + /** + * If enabled, then the Java code generator will generate a separate .java + * file for each top-level message, enum, and service defined in the .proto + * file. Thus, these types will *not* be nested inside the wrapper class + * named by java_outer_classname. However, the wrapper class will still be + * generated to contain the file's getDescriptor() method as well as any + * top-level extensions defined in the file. + */ + java_multiple_files?: boolean; + /** + * This option does nothing. + * + * @deprecated + */ + java_generate_equals_and_hash?: boolean; + /** + * A proto2 file can set this to true to opt in to UTF-8 checking for Java, + * which will throw an exception if invalid UTF-8 is parsed from the wire or + * assigned to a string field. + * + * TODO: clarify exactly what kinds of field types this option + * applies to, and update these docs accordingly. + * + * Proto3 files already perform these checks. Setting the option explicitly to + * false has no effect: it cannot be used to opt proto3 files out of UTF-8 + * checks. + */ + java_string_check_utf8?: boolean; + optimize_for?: FileOptionsOptimizeMode; + /** + * Sets the Go package where structs generated from this .proto will be + * placed. If omitted, the Go package will be derived from the following: + * - The basename of the package import path, if provided. + * - Otherwise, the package statement in the .proto file, if present. + * - Otherwise, the basename of the .proto file, without extension. + */ + go_package?: string; + /** + * Should generic services be generated in each language? "Generic" services + * are not specific to any particular RPC system. They are generated by the + * main code generators in each language (without additional plugins). + * Generic services were the only kind of service generation supported by + * early versions of google.protobuf. + * + * Generic services are now considered deprecated in favor of using plugins + * that generate code specific to your particular RPC system. Therefore, + * these default to false. Old code which depends on generic services should + * explicitly set them to true. + */ + cc_generic_services?: boolean; + java_generic_services?: boolean; + py_generic_services?: boolean; + /** + * Is this file deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for everything in the file, or it will be completely ignored; in the very + * least, this is a formalization for deprecating files. + */ + deprecated?: boolean; + /** + * Enables the use of arenas for the proto messages in this file. This applies + * only to generated classes for C++. + */ + cc_enable_arenas?: boolean; + /** + * Sets the objective c class prefix which is prepended to all objective c + * generated classes from this .proto. There is no default. + */ + objc_class_prefix?: string; + /** Namespace for generated classes; defaults to the package. */ + csharp_namespace?: string; + /** + * By default Swift generators will take the proto package and CamelCase it + * replacing '.' with underscore and use that to prefix the types/symbols + * defined. When this options is provided, they will use this value instead + * to prefix the types/symbols defined. + */ + swift_prefix?: string; + /** + * Sets the php class prefix which is prepended to all php generated classes + * from this .proto. Default is empty. + */ + php_class_prefix?: string; + /** + * Use this option to change the namespace of php generated classes. Default + * is empty. When this option is empty, the package name will be used for + * determining the namespace. + */ + php_namespace?: string; + /** + * Use this option to change the namespace of php generated metadata classes. + * Default is empty. When this option is empty, the proto file name will be + * used for determining the namespace. + */ + php_metadata_namespace?: string; + /** + * Use this option to change the package of ruby generated classes. Default + * is empty. When this option is not set, the package name will be used for + * determining the ruby package. + */ + ruby_package?: string; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** + * The parser stores options it doesn't recognize here. + * See the documentation for the "Options" section above. + */ + uninterpreted_option: UninterpretedOption[]; +} + +export enum FileOptionsOptimizeMode { + /** SPEED - Generate complete code for parsing, serialization, */ + SPEED = 1, + /** CODE_SIZE - etc. */ + CODE_SIZE = 2, + /** LITE_RUNTIME - Generate code using MessageLite and the lite runtime. */ + LITE_RUNTIME = 3, + UNRECOGNIZED = -1, +} + +export interface MessageOptions { + /** + * Set true to use the old proto1 MessageSet wire format for extensions. + * This is provided for backwards-compatibility with the MessageSet wire + * format. You should not use this for any other reason: It's less + * efficient, has fewer features, and is more complicated. + * + * The message must be defined exactly as follows: + * message Foo { + * option message_set_wire_format = true; + * extensions 4 to max; + * } + * Note that the message cannot have any defined fields; MessageSets only + * have extensions. + * + * All extensions of your type must be singular messages; e.g. they cannot + * be int32s, enums, or repeated messages. + * + * Because this is an option, the above two restrictions are not enforced by + * the protocol compiler. + */ + message_set_wire_format?: boolean; + /** + * Disables the generation of the standard "descriptor()" accessor, which can + * conflict with a field of the same name. This is meant to make migration + * from proto1 easier; new code should avoid fields named "descriptor". + */ + no_standard_descriptor_accessor?: boolean; + /** + * Is this message deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the message, or it will be completely ignored; in the very least, + * this is a formalization for deprecating messages. + */ + deprecated?: boolean; + /** + * Whether the message is an automatically generated map entry type for the + * maps field. + * + * For maps fields: + * map map_field = 1; + * The parsed descriptor looks like: + * message MapFieldEntry { + * option map_entry = true; + * optional KeyType key = 1; + * optional ValueType value = 2; + * } + * repeated MapFieldEntry map_field = 1; + * + * Implementations may choose not to generate the map_entry=true message, but + * use a native map in the target language to hold the keys and values. + * The reflection APIs in such implementations still need to work as + * if the field is a repeated message field. + * + * NOTE: Do not set the option in .proto files. Always use the maps syntax + * instead. The option should only be implicitly set by the proto compiler + * parser. + */ + map_entry?: boolean; + /** + * Enable the legacy handling of JSON field name conflicts. This lowercases + * and strips underscored from the fields before comparison in proto3 only. + * The new behavior takes `json_name` into account and applies to proto2 as + * well. + * + * This should only be used as a temporary measure against broken builds due + * to the change in behavior for JSON field name conflicts. + * + * TODO This is legacy behavior we plan to remove once downstream + * teams have had time to migrate. + * + * @deprecated + */ + deprecated_legacy_json_field_conflicts?: boolean; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export interface FieldOptions { + /** + * The ctype option instructs the C++ code generator to use a different + * representation of the field than it normally would. See the specific + * options below. This option is only implemented to support use of + * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + * type "bytes" in the open source release -- sorry, we'll try to include + * other types in a future version! + */ + ctype?: FieldOptionsCType; + /** + * The packed option can be enabled for repeated primitive fields to enable + * a more efficient representation on the wire. Rather than repeatedly + * writing the tag and type for each element, the entire array is encoded as + * a single length-delimited blob. In proto3, only explicit setting it to + * false will avoid using packed encoding. This option is prohibited in + * Editions, but the `repeated_field_encoding` feature can be used to control + * the behavior. + */ + packed?: boolean; + /** + * The jstype option determines the JavaScript type used for values of the + * field. The option is permitted only for 64 bit integral and fixed types + * (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + * is represented as JavaScript string, which avoids loss of precision that + * can happen when a large value is converted to a floating point JavaScript. + * Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + * use the JavaScript "number" type. The behavior of the default option + * JS_NORMAL is implementation dependent. + * + * This option is an enum to permit additional types to be added, e.g. + * goog.math.Integer. + */ + jstype?: FieldOptionsJSType; + /** + * Should this field be parsed lazily? Lazy applies only to message-type + * fields. It means that when the outer message is initially parsed, the + * inner message's contents will not be parsed but instead stored in encoded + * form. The inner message will actually be parsed when it is first accessed. + * + * This is only a hint. Implementations are free to choose whether to use + * eager or lazy parsing regardless of the value of this option. However, + * setting this option true suggests that the protocol author believes that + * using lazy parsing on this field is worth the additional bookkeeping + * overhead typically needed to implement it. + * + * This option does not affect the public interface of any generated code; + * all method signatures remain the same. Furthermore, thread-safety of the + * interface is not affected by this option; const methods remain safe to + * call from multiple threads concurrently, while non-const methods continue + * to require exclusive access. + * + * Note that lazy message fields are still eagerly verified to check + * ill-formed wireformat or missing required fields. Calling IsInitialized() + * on the outer message would fail if the inner message has missing required + * fields. Failed verification would result in parsing failure (except when + * uninitialized messages are acceptable). + */ + lazy?: boolean; + /** + * unverified_lazy does no correctness checks on the byte stream. This should + * only be used where lazy with verification is prohibitive for performance + * reasons. + */ + unverified_lazy?: boolean; + /** + * Is this field deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for accessors, or it will be completely ignored; in the very least, this + * is a formalization for deprecating fields. + */ + deprecated?: boolean; + /** For Google-internal migration only. Do not use. */ + weak?: boolean; + /** + * Indicate that the field value should not be printed out when using debug + * formats, e.g. when the field contains sensitive credentials. + */ + debug_redact?: boolean; + retention?: FieldOptionsOptionRetention; + targets: FieldOptionsOptionTargetType[]; + edition_defaults: FieldOptionsEditionDefault[]; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + feature_support?: FieldOptionsFeatureSupport; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export enum FieldOptionsCType { + /** STRING - Default mode. */ + STRING = 0, + /** + * CORD - The option [ctype=CORD] may be applied to a non-repeated field of type + * "bytes". It indicates that in C++, the data should be stored in a Cord + * instead of a string. For very large strings, this may reduce memory + * fragmentation. It may also allow better performance when parsing from a + * Cord, or when parsing with aliasing enabled, as the parsed Cord may then + * alias the original buffer. + */ + CORD = 1, + STRING_PIECE = 2, + UNRECOGNIZED = -1, +} + +export enum FieldOptionsJSType { + /** JS_NORMAL - Use the default type. */ + JS_NORMAL = 0, + /** JS_STRING - Use JavaScript strings. */ + JS_STRING = 1, + /** JS_NUMBER - Use JavaScript numbers. */ + JS_NUMBER = 2, + UNRECOGNIZED = -1, +} + +export enum FieldOptionsOptionRetention { + RETENTION_UNKNOWN = 0, + RETENTION_RUNTIME = 1, + RETENTION_SOURCE = 2, + UNRECOGNIZED = -1, +} + +export enum FieldOptionsOptionTargetType { + TARGET_TYPE_UNKNOWN = 0, + TARGET_TYPE_FILE = 1, + TARGET_TYPE_EXTENSION_RANGE = 2, + TARGET_TYPE_MESSAGE = 3, + TARGET_TYPE_FIELD = 4, + TARGET_TYPE_ONEOF = 5, + TARGET_TYPE_ENUM = 6, + TARGET_TYPE_ENUM_ENTRY = 7, + TARGET_TYPE_SERVICE = 8, + TARGET_TYPE_METHOD = 9, + UNRECOGNIZED = -1, +} + +export interface FieldOptionsEditionDefault { + edition?: Edition; + /** Textproto value. */ + value?: string; +} + +export interface FieldOptionsFeatureSupport { + /** + * The edition that this feature was first available in. In editions + * earlier than this one, the default assigned to EDITION_LEGACY will be + * used, and proto files will not be able to override it. + */ + edition_introduced?: Edition; + /** + * The edition this feature becomes deprecated in. Using this after this + * edition may trigger warnings. + */ + edition_deprecated?: Edition; + /** + * The deprecation warning text if this feature is used after the edition it + * was marked deprecated in. + */ + deprecation_warning?: string; + /** + * The edition this feature is no longer available in. In editions after + * this one, the last default assigned will be used, and proto files will + * not be able to override it. + */ + edition_removed?: Edition; +} + +export interface OneofOptions { + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export interface EnumOptions { + /** + * Set this option to true to allow mapping different tag names to the same + * value. + */ + allow_alias?: boolean; + /** + * Is this enum deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the enum, or it will be completely ignored; in the very least, this + * is a formalization for deprecating enums. + */ + deprecated?: boolean; + /** + * Enable the legacy handling of JSON field name conflicts. This lowercases + * and strips underscored from the fields before comparison in proto3 only. + * The new behavior takes `json_name` into account and applies to proto2 as + * well. + * TODO Remove this legacy behavior once downstream teams have + * had time to migrate. + * + * @deprecated + */ + deprecated_legacy_json_field_conflicts?: boolean; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export interface EnumValueOptions { + /** + * Is this enum value deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the enum value, or it will be completely ignored; in the very least, + * this is a formalization for deprecating enum values. + */ + deprecated?: boolean; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** + * Indicate that fields annotated with this enum value should not be printed + * out when using debug formats, e.g. when the field contains sensitive + * credentials. + */ + debug_redact?: boolean; + /** Information about the support window of a feature value. */ + feature_support?: FieldOptionsFeatureSupport; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export interface ServiceOptions { + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** + * Is this service deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the service, or it will be completely ignored; in the very least, + * this is a formalization for deprecating services. + */ + deprecated?: boolean; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export interface MethodOptions { + /** + * Is this method deprecated? + * Depending on the target platform, this can emit Deprecated annotations + * for the method, or it will be completely ignored; in the very least, + * this is a formalization for deprecating methods. + */ + deprecated?: boolean; + idempotency_level?: MethodOptionsIdempotencyLevel; + /** Any features defined in the specific edition. */ + features?: FeatureSet; + /** The parser stores options it doesn't recognize here. See above. */ + uninterpreted_option: UninterpretedOption[]; +} + +export enum MethodOptionsIdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + /** NO_SIDE_EFFECTS - implies idempotent */ + NO_SIDE_EFFECTS = 1, + /** IDEMPOTENT - idempotent, but may have side effects */ + IDEMPOTENT = 2, + UNRECOGNIZED = -1, +} + +export interface UninterpretedOption { + name: UninterpretedOptionNamePart[]; + /** + * The value of the uninterpreted option, in whatever type the tokenizer + * identified it as during parsing. Exactly one of these should be set. + */ + identifier_value?: string; + positive_int_value?: number; + negative_int_value?: number; + double_value?: number; + string_value?: Uint8Array; + aggregate_value?: string; +} + +export interface UninterpretedOptionNamePart { + name_part: string; + is_extension: boolean; +} + +export interface FeatureSet { + field_presence?: FeatureSetFieldPresence; + enum_type?: FeatureSetEnumType; + repeated_field_encoding?: FeatureSetRepeatedFieldEncoding; + utf8_validation?: FeatureSetUtf8Validation; + message_encoding?: FeatureSetMessageEncoding; + json_format?: FeatureSetJsonFormat; +} + +export enum FeatureSetFieldPresence { + FIELD_PRESENCE_UNKNOWN = 0, + EXPLICIT = 1, + IMPLICIT = 2, + LEGACY_REQUIRED = 3, + UNRECOGNIZED = -1, +} + +export enum FeatureSetEnumType { + ENUM_TYPE_UNKNOWN = 0, + OPEN = 1, + CLOSED = 2, + UNRECOGNIZED = -1, +} + +export enum FeatureSetRepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0, + PACKED = 1, + EXPANDED = 2, + UNRECOGNIZED = -1, +} + +export enum FeatureSetUtf8Validation { + UTF8_VALIDATION_UNKNOWN = 0, + VERIFY = 2, + NONE = 3, + UNRECOGNIZED = -1, +} + +export enum FeatureSetMessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0, + LENGTH_PREFIXED = 1, + DELIMITED = 2, + UNRECOGNIZED = -1, +} + +export enum FeatureSetJsonFormat { + JSON_FORMAT_UNKNOWN = 0, + ALLOW = 1, + LEGACY_BEST_EFFORT = 2, + UNRECOGNIZED = -1, +} + +export interface FeatureSetDefaults { + defaults: FeatureSetDefaultsFeatureSetEditionDefault[]; + /** + * The minimum supported edition (inclusive) when this was constructed. + * Editions before this will not have defaults. + */ + minimum_edition?: Edition; + /** + * The maximum known edition (inclusive) when this was constructed. Editions + * after this will not have reliable defaults. + */ + maximum_edition?: Edition; +} + +export interface FeatureSetDefaultsFeatureSetEditionDefault { + edition?: Edition; + /** Defaults of features that can be overridden in this edition. */ + overridable_features?: FeatureSet; + /** Defaults of features that can't be overridden in this edition. */ + fixed_features?: FeatureSet; +} + +export interface SourceCodeInfo { + /** + * A Location identifies a piece of source code in a .proto file which + * corresponds to a particular definition. This information is intended + * to be useful to IDEs, code indexers, documentation generators, and similar + * tools. + * + * For example, say we have a file like: + * message Foo { + * optional string foo = 1; + * } + * Let's look at just the field definition: + * optional string foo = 1; + * ^ ^^ ^^ ^ ^^^ + * a bc de f ghi + * We have the following locations: + * span path represents + * [a,i) [ 4, 0, 2, 0 ] The whole field definition. + * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + * + * Notes: + * - A location may refer to a repeated field itself (i.e. not to any + * particular index within it). This is used whenever a set of elements are + * logically enclosed in a single code segment. For example, an entire + * extend block (possibly containing multiple extension definitions) will + * have an outer location whose path refers to the "extensions" repeated + * field without an index. + * - Multiple locations may have the same path. This happens when a single + * logical declaration is spread out across multiple places. The most + * obvious example is the "extend" block again -- there may be multiple + * extend blocks in the same scope, each of which will have the same path. + * - A location's span is not always a subset of its parent's span. For + * example, the "extendee" of an extension declaration appears at the + * beginning of the "extend" block and is shared by all extensions within + * the block. + * - Just because a location's span is a subset of some other location's span + * does not mean that it is a descendant. For example, a "group" defines + * both a type and a field in a single declaration. Thus, the locations + * corresponding to the type and field and their components will overlap. + * - Code which tries to interpret locations should probably be designed to + * ignore those that it doesn't understand, as more types of locations could + * be recorded in the future. + */ + location: SourceCodeInfoLocation[]; +} + +export interface SourceCodeInfoLocation { + /** + * Identifies which part of the FileDescriptorProto was defined at this + * location. + * + * Each element is a field number or an index. They form a path from + * the root FileDescriptorProto to the place where the definition appears. + * For example, this path: + * [ 4, 3, 2, 7, 1 ] + * refers to: + * file.message_type(3) // 4, 3 + * .field(7) // 2, 7 + * .name() // 1 + * This is because FileDescriptorProto.message_type has field number 4: + * repeated DescriptorProto message_type = 4; + * and DescriptorProto.field has field number 2: + * repeated FieldDescriptorProto field = 2; + * and FieldDescriptorProto.name has field number 1: + * optional string name = 1; + * + * Thus, the above path gives the location of a field name. If we removed + * the last element: + * [ 4, 3, 2, 7 ] + * this path refers to the whole field declaration (from the beginning + * of the label to the terminating semicolon). + */ + path: number[]; + /** + * Always has exactly three or four elements: start line, start column, + * end line (optional, otherwise assumed same as start line), end column. + * These are packed into a single field for efficiency. Note that line + * and column numbers are zero-based -- typically you will want to add + * 1 to each before displaying to a user. + */ + span: number[]; + /** + * If this SourceCodeInfo represents a complete declaration, these are any + * comments appearing before and after the declaration which appear to be + * attached to the declaration. + * + * A series of line comments appearing on consecutive lines, with no other + * tokens appearing on those lines, will be treated as a single comment. + * + * leading_detached_comments will keep paragraphs of comments that appear + * before (but not connected to) the current element. Each paragraph, + * separated by empty lines, will be one comment element in the repeated + * field. + * + * Only the comment content is provided; comment markers (e.g. //) are + * stripped out. For block comments, leading whitespace and an asterisk + * will be stripped from the beginning of each line other than the first. + * Newlines are included in the output. + * + * Examples: + * + * optional int32 foo = 1; // Comment attached to foo. + * // Comment attached to bar. + * optional int32 bar = 2; + * + * optional string baz = 3; + * // Comment attached to baz. + * // Another line attached to baz. + * + * // Comment attached to moo. + * // + * // Another line attached to moo. + * optional double moo = 4; + * + * // Detached comment for corge. This is not leading or trailing comments + * // to moo or corge because there are blank lines separating it from + * // both. + * + * // Detached comment for corge paragraph 2. + * + * optional string corge = 5; + * /* Block comment attached + * * to corge. Leading asterisks + * * will be removed. * / + * /* Block comment attached to + * * grault. * / + * optional int32 grault = 6; + * + * // ignored detached comments. + */ + leading_comments?: string; + trailing_comments?: string; + leading_detached_comments: string[]; +} + +export interface GeneratedCodeInfo { + /** + * An Annotation connects some span of text in generated code to an element + * of its generating .proto file. + */ + annotation: GeneratedCodeInfoAnnotation[]; +} + +export interface GeneratedCodeInfoAnnotation { + /** + * Identifies the element in the original source .proto file. This field + * is formatted the same as SourceCodeInfo.Location.path. + */ + path: number[]; + /** Identifies the filesystem path to the original source .proto. */ + source_file?: string; + /** + * Identifies the starting offset in bytes in the generated code + * that relates to the identified object. + */ + begin?: number; + /** + * Identifies the ending offset in bytes in the generated code that + * relates to the identified object. The end offset should be one past + * the last relevant byte (so the length of the text = end - begin). + */ + end?: number; + semantic?: GeneratedCodeInfoAnnotationSemantic; +} + +export enum GeneratedCodeInfoAnnotationSemantic { + /** NONE - There is no effect or the effect is indescribable. */ + NONE = 0, + /** SET - The element is set or otherwise mutated. */ + SET = 1, + /** ALIAS - An alias to the element is returned. */ + ALIAS = 2, + UNRECOGNIZED = -1, +} diff --git a/packages/cosmos/generated/types/google/protobuf/duration.ts b/packages/cosmos/generated/types/google/protobuf/duration.ts new file mode 100644 index 000000000..a5e759fc4 --- /dev/null +++ b/packages/cosmos/generated/types/google/protobuf/duration.ts @@ -0,0 +1,17 @@ +export interface Duration { + /** + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + */ + seconds: number; + /** + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + */ + nanos: number; +} diff --git a/packages/cosmos/generated/types/google/protobuf/index.ts b/packages/cosmos/generated/types/google/protobuf/index.ts new file mode 100644 index 000000000..ad7b4d983 --- /dev/null +++ b/packages/cosmos/generated/types/google/protobuf/index.ts @@ -0,0 +1,4 @@ +export * from './any'; +export * from './descriptor'; +export * from './duration'; +export * from './timestamp'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/google/protobuf/timestamp.ts b/packages/cosmos/generated/types/google/protobuf/timestamp.ts new file mode 100644 index 000000000..af51568cc --- /dev/null +++ b/packages/cosmos/generated/types/google/protobuf/timestamp.ts @@ -0,0 +1,15 @@ +export interface Timestamp { + /** + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + */ + seconds: number; + /** + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + */ + nanos: number; +} diff --git a/packages/cosmos/generated/types/mint/v1beta1/genesis.ts b/packages/cosmos/generated/types/mint/v1beta1/genesis.ts new file mode 100644 index 000000000..82ae8fd76 --- /dev/null +++ b/packages/cosmos/generated/types/mint/v1beta1/genesis.ts @@ -0,0 +1,8 @@ +import type { Minter, Params } from "./mint"; + +export interface GenesisState { + /** minter is a space for holding current inflation information. */ + minter?: Minter; + /** params defines all the paramaters of the module. */ + params?: Params; +} diff --git a/packages/cosmos/generated/types/mint/v1beta1/gov.ts b/packages/cosmos/generated/types/mint/v1beta1/gov.ts new file mode 100644 index 000000000..d70ed4382 --- /dev/null +++ b/packages/cosmos/generated/types/mint/v1beta1/gov.ts @@ -0,0 +1,7 @@ +import type { Minter } from "./mint"; + +export interface UpdateMinterProposal { + title: string; + description: string; + minter?: Minter; +} diff --git a/packages/cosmos/generated/types/mint/v1beta1/index.ts b/packages/cosmos/generated/types/mint/v1beta1/index.ts new file mode 100644 index 000000000..cf9239680 --- /dev/null +++ b/packages/cosmos/generated/types/mint/v1beta1/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './gov'; +export * from './mint'; +export * from './query'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/mint/v1beta1/mint.ts b/packages/cosmos/generated/types/mint/v1beta1/mint.ts new file mode 100644 index 000000000..93388169a --- /dev/null +++ b/packages/cosmos/generated/types/mint/v1beta1/mint.ts @@ -0,0 +1,48 @@ +export interface Minter { + /** yyyy-mm-dd */ + start_date: string; + /** yyyy-mm-dd */ + end_date: string; + denom: string; + total_mint_amount: number; + remaining_mint_amount: number; + last_mint_amount: number; + last_mint_date: string; + /** yyyy-mm-dd */ + last_mint_height: number; +} + +export interface ScheduledTokenRelease { + /** yyyy-mm-dd */ + start_date: string; + /** yyyy-mm-dd */ + end_date: string; + token_release_amount: number; +} + +export interface Params { + /** type of coin to mint */ + mint_denom: string; + /** List of token release schedules */ + token_release_schedule: ScheduledTokenRelease[]; +} + +export interface Version2Minter { + last_mint_amount: string; + last_mint_date: string; + last_mint_height: number; + denom: string; +} + +export interface Version2ScheduledTokenRelease { + /** yyyy-mm-dd */ + date: string; + token_release_amount: number; +} + +export interface Version2Params { + /** type of coin to mint */ + mint_denom: string; + /** List of token release schedules */ + token_release_schedule: Version2ScheduledTokenRelease[]; +} diff --git a/packages/cosmos/generated/types/mint/v1beta1/query.ts b/packages/cosmos/generated/types/mint/v1beta1/query.ts new file mode 100644 index 000000000..534ce4f4d --- /dev/null +++ b/packages/cosmos/generated/types/mint/v1beta1/query.ts @@ -0,0 +1,21 @@ +import type { Params } from "./mint"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export type QueryMinterRequest = {}; + +export interface QueryMinterResponse { + start_date: string; + end_date: string; + denom: string; + total_mint_amount: number; + remaining_mint_amount: number; + last_mint_amount: number; + last_mint_date: string; + last_mint_height: number; +} diff --git a/packages/cosmos/generated/types/oracle/genesis.ts b/packages/cosmos/generated/types/oracle/genesis.ts new file mode 100644 index 000000000..d8fdb8061 --- /dev/null +++ b/packages/cosmos/generated/types/oracle/genesis.ts @@ -0,0 +1,20 @@ +import type { AggregateExchangeRateVote, ExchangeRateTuple, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; + +export interface GenesisState { + params?: Params; + feeder_delegations: FeederDelegation[]; + exchange_rates: ExchangeRateTuple[]; + penalty_counters: PenaltyCounter[]; + aggregate_exchange_rate_votes: AggregateExchangeRateVote[]; + price_snapshots: PriceSnapshot[]; +} + +export interface FeederDelegation { + feeder_address: string; + validator_address: string; +} + +export interface PenaltyCounter { + validator_address: string; + vote_penalty_counter?: VotePenaltyCounter; +} diff --git a/packages/cosmos/generated/types/oracle/index.ts b/packages/cosmos/generated/types/oracle/index.ts new file mode 100644 index 000000000..7c0e4adb0 --- /dev/null +++ b/packages/cosmos/generated/types/oracle/index.ts @@ -0,0 +1,4 @@ +export * from './genesis'; +export * from './oracle'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/oracle/oracle.ts b/packages/cosmos/generated/types/oracle/oracle.ts new file mode 100644 index 000000000..4925d98dc --- /dev/null +++ b/packages/cosmos/generated/types/oracle/oracle.ts @@ -0,0 +1,55 @@ +export interface Params { + /** The number of blocks per voting window, at the end of the vote period, the oracle votes are assessed and exchange rates are calculated. If the vote period is 1 this is equivalent to having oracle votes assessed and exchange rates calculated in each block. */ + vote_period: number; + vote_threshold: string; + reward_band: string; + whitelist: Denom[]; + slash_fraction: string; + /** The interval in blocks at which the oracle module will assess validator penalty counters, and penalize validators with too poor performance. */ + slash_window: number; + /** The minimum percentage of voting windows for which a validator must have `success`es in order to not be penalized at the end of the slash window. */ + min_valid_per_window: string; + lookback_duration: number; +} + +export interface Denom { + name: string; +} + +export interface AggregateExchangeRateVote { + exchange_rate_tuples: ExchangeRateTuple[]; + voter: string; +} + +export interface ExchangeRateTuple { + denom: string; + exchange_rate: string; +} + +export interface OracleExchangeRate { + exchange_rate: string; + last_update: string; + last_update_timestamp: number; +} + +export interface PriceSnapshotItem { + denom: string; + oracle_exchange_rate?: OracleExchangeRate; +} + +export interface PriceSnapshot { + snapshot_timestamp: number; + price_snapshot_items: PriceSnapshotItem[]; +} + +export interface OracleTwap { + denom: string; + twap: string; + lookback_seconds: number; +} + +export interface VotePenaltyCounter { + miss_count: number; + abstain_count: number; + success_count: number; +} diff --git a/packages/cosmos/generated/types/oracle/query.ts b/packages/cosmos/generated/types/oracle/query.ts new file mode 100644 index 000000000..ba69416ea --- /dev/null +++ b/packages/cosmos/generated/types/oracle/query.ts @@ -0,0 +1,90 @@ +import type { OracleExchangeRate, OracleTwap, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; + +export interface QueryExchangeRateRequest { + /** denom defines the denomination to query for. */ + denom: string; +} + +export interface QueryExchangeRateResponse { + /** exchange_rate defines the exchange rate of Sei denominated in various Sei */ + oracle_exchange_rate?: OracleExchangeRate; +} + +export type QueryExchangeRatesRequest = {}; + +export interface DenomOracleExchangeRatePair { + denom: string; + oracle_exchange_rate?: OracleExchangeRate; +} + +export interface QueryExchangeRatesResponse { + /** exchange_rates defines a list of the exchange rate for all whitelisted denoms. */ + denom_oracle_exchange_rate_pairs: DenomOracleExchangeRatePair[]; +} + +export type QueryActivesRequest = {}; + +export interface QueryActivesResponse { + /** actives defines a list of the denomination which oracle prices aggreed upon. */ + actives: string[]; +} + +export type QueryVoteTargetsRequest = {}; + +export interface QueryVoteTargetsResponse { + /** + * vote_targets defines a list of the denomination in which everyone + * should vote in the current vote period. + */ + vote_targets: string[]; +} + +export type QueryPriceSnapshotHistoryRequest = {}; + +export interface QueryPriceSnapshotHistoryResponse { + price_snapshots: PriceSnapshot[]; +} + +export interface QueryTwapsRequest { + lookback_seconds: number; +} + +export interface QueryTwapsResponse { + oracle_twaps: OracleTwap[]; +} + +export interface QueryFeederDelegationRequest { + /** validator defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryFeederDelegationResponse { + /** feeder_addr defines the feeder delegation of a validator */ + feeder_addr: string; +} + +export interface QueryVotePenaltyCounterRequest { + /** validator defines the validator address to query for. */ + validator_addr: string; +} + +export interface QueryVotePenaltyCounterResponse { + vote_penalty_counter?: VotePenaltyCounter; +} + +export type QuerySlashWindowRequest = {}; + +export interface QuerySlashWindowResponse { + /** + * window_progress defines the number of voting periods + * since the last slashing event would have taken place. + */ + window_progress: number; +} + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} diff --git a/packages/cosmos/generated/types/oracle/tx.ts b/packages/cosmos/generated/types/oracle/tx.ts new file mode 100644 index 000000000..4b8f57385 --- /dev/null +++ b/packages/cosmos/generated/types/oracle/tx.ts @@ -0,0 +1,15 @@ +export interface MsgAggregateExchangeRateVote { + /** 1 reserved from old field `salt` */ + exchange_rates: string; + feeder: string; + validator: string; +} + +export type MsgAggregateExchangeRateVoteResponse = {}; + +export interface MsgDelegateFeedConsent { + operator: string; + delegate: string; +} + +export type MsgDelegateFeedConsentResponse = {}; diff --git a/packages/cosmos/generated/types/tendermint/abci/index.ts b/packages/cosmos/generated/types/tendermint/abci/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/abci/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/abci/types.ts b/packages/cosmos/generated/types/tendermint/abci/types.ts new file mode 100644 index 000000000..fd0be1713 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/abci/types.ts @@ -0,0 +1,454 @@ +import type { PublicKey } from "../crypto/keys"; + +import type { ProofOps } from "../crypto/proof"; + +import type { ConsensusParams } from "../types/params"; + +export enum CheckTxType { + NEW = 0, + RECHECK = 1, + UNRECOGNIZED = -1, +} + +export enum MisbehaviorType { + UNKNOWN = 0, + DUPLICATE_VOTE = 1, + LIGHT_CLIENT_ATTACK = 2, + UNRECOGNIZED = -1, +} + +export interface Request { + echo?: RequestEcho; + flush?: RequestFlush; + info?: RequestInfo; + init_chain?: RequestInitChain; + query?: RequestQuery; + check_tx?: RequestCheckTx; + commit?: RequestCommit; + list_snapshots?: RequestListSnapshots; + offer_snapshot?: RequestOfferSnapshot; + load_snapshot_chunk?: RequestLoadSnapshotChunk; + apply_snapshot_chunk?: RequestApplySnapshotChunk; + prepare_proposal?: RequestPrepareProposal; + process_proposal?: RequestProcessProposal; + extend_vote?: RequestExtendVote; + verify_vote_extension?: RequestVerifyVoteExtension; + finalize_block?: RequestFinalizeBlock; +} + +export interface RequestEcho { + message: string; +} + +export type RequestFlush = {}; + +export interface RequestInfo { + version: string; + block_version: number; + p2p_version: number; + abci_version: string; +} + +export interface RequestInitChain { + time?: Date; + chain_id: string; + consensus_params?: ConsensusParams; + validators: ValidatorUpdate[]; + app_state_bytes: Uint8Array; + initial_height: number; +} + +export interface RequestQuery { + data: Uint8Array; + path: string; + height: number; + prove: boolean; +} + +export interface RequestCheckTx { + tx: Uint8Array; + type: CheckTxType; +} + +export type RequestCommit = {}; + +export type RequestListSnapshots = {}; + +export interface RequestOfferSnapshot { + /** snapshot offered by peers */ + snapshot?: Snapshot; + /** light client-verified app hash for snapshot height */ + app_hash: Uint8Array; +} + +export interface RequestLoadSnapshotChunk { + height: number; + format: number; + chunk: number; +} + +export interface RequestApplySnapshotChunk { + index: number; + chunk: Uint8Array; + sender: string; +} + +export interface RequestPrepareProposal { + /** the modified transactions cannot exceed this size. */ + max_tx_bytes: number; + /** + * txs is an array of transactions that will be included in a block, + * sent to the app for possible modifications. + */ + txs: Uint8Array[]; + local_last_commit?: ExtendedCommitInfo; + byzantine_validators: Misbehavior[]; + height: number; + time?: Date; + next_validators_hash: Uint8Array; + /** address of the public key of the validator proposing the block. */ + proposer_address: Uint8Array; +} + +export interface RequestProcessProposal { + txs: Uint8Array[]; + proposed_last_commit?: CommitInfo; + byzantine_validators: Misbehavior[]; + /** hash is the merkle root hash of the fields of the proposed block. */ + hash: Uint8Array; + height: number; + time?: Date; + next_validators_hash: Uint8Array; + /** address of the public key of the original proposer of the block. */ + proposer_address: Uint8Array; +} + +export interface RequestExtendVote { + hash: Uint8Array; + height: number; +} + +export interface RequestVerifyVoteExtension { + hash: Uint8Array; + validator_address: Uint8Array; + height: number; + vote_extension: Uint8Array; +} + +export interface RequestFinalizeBlock { + txs: Uint8Array[]; + decided_last_commit?: CommitInfo; + byzantine_validators: Misbehavior[]; + /** hash is the merkle root hash of the fields of the proposed block. */ + hash: Uint8Array; + height: number; + time?: Date; + next_validators_hash: Uint8Array; + /** proposer_address is the address of the public key of the original proposer of the block. */ + proposer_address: Uint8Array; +} + +export interface Response { + exception?: ResponseException; + echo?: ResponseEcho; + flush?: ResponseFlush; + info?: ResponseInfo; + init_chain?: ResponseInitChain; + query?: ResponseQuery; + check_tx?: ResponseCheckTx; + commit?: ResponseCommit; + list_snapshots?: ResponseListSnapshots; + offer_snapshot?: ResponseOfferSnapshot; + load_snapshot_chunk?: ResponseLoadSnapshotChunk; + apply_snapshot_chunk?: ResponseApplySnapshotChunk; + prepare_proposal?: ResponsePrepareProposal; + process_proposal?: ResponseProcessProposal; + extend_vote?: ResponseExtendVote; + verify_vote_extension?: ResponseVerifyVoteExtension; + finalize_block?: ResponseFinalizeBlock; +} + +export interface ResponseException { + error: string; +} + +export interface ResponseEcho { + message: string; +} + +export type ResponseFlush = {}; + +export interface ResponseInfo { + data: string; + /** this is the software version of the application. TODO: remove? */ + version: string; + app_version: number; + last_block_height: number; + last_block_app_hash: Uint8Array; +} + +export interface ResponseInitChain { + consensus_params?: ConsensusParams; + validators: ValidatorUpdate[]; + app_hash: Uint8Array; +} + +export interface ResponseQuery { + code: number; + /** bytes data = 2; // use "value" instead. */ + log: string; + /** nondeterministic */ + info: string; + index: number; + key: Uint8Array; + value: Uint8Array; + proof_ops?: ProofOps; + height: number; + codespace: string; +} + +export interface ResponseCheckTx { + code: number; + data: Uint8Array; + gas_wanted: number; + codespace: string; + sender: string; + priority: number; +} + +export interface ResponseDeliverTx { + code: number; + data: Uint8Array; + /** nondeterministic */ + log: string; + /** nondeterministic */ + info: string; + gas_wanted: number; + gas_used: number; + /** nondeterministic */ + events: Event[]; + codespace: string; +} + +export interface ResponseCommit { + /** reserve 1 */ + retain_height: number; +} + +export interface ResponseListSnapshots { + snapshots: Snapshot[]; +} + +export interface ResponseOfferSnapshot { + result: ResponseOfferSnapshotResult; +} + +export enum ResponseOfferSnapshotResult { + /** UNKNOWN - Unknown result, abort all snapshot restoration */ + UNKNOWN = 0, + /** ACCEPT - Snapshot accepted, apply chunks */ + ACCEPT = 1, + /** ABORT - Abort all snapshot restoration */ + ABORT = 2, + /** REJECT - Reject this specific snapshot, try others */ + REJECT = 3, + /** REJECT_FORMAT - Reject all snapshots of this format, try others */ + REJECT_FORMAT = 4, + /** REJECT_SENDER - Reject all snapshots from the sender(s), try others */ + REJECT_SENDER = 5, + UNRECOGNIZED = -1, +} + +export interface ResponseLoadSnapshotChunk { + chunk: Uint8Array; +} + +export interface ResponseApplySnapshotChunk { + result: ResponseApplySnapshotChunkResult; + /** Chunks to refetch and reapply */ + refetch_chunks: number[]; + /** Chunk senders to reject and ban */ + reject_senders: string[]; +} + +export enum ResponseApplySnapshotChunkResult { + /** UNKNOWN - Unknown result, abort all snapshot restoration */ + UNKNOWN = 0, + /** ACCEPT - Chunk successfully accepted */ + ACCEPT = 1, + /** ABORT - Abort all snapshot restoration */ + ABORT = 2, + /** RETRY - Retry chunk (combine with refetch and reject) */ + RETRY = 3, + /** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */ + RETRY_SNAPSHOT = 4, + /** REJECT_SNAPSHOT - Reject this snapshot, try others */ + REJECT_SNAPSHOT = 5, + UNRECOGNIZED = -1, +} + +export interface ResponsePrepareProposal { + tx_records: TxRecord[]; + app_hash: Uint8Array; + tx_results: ExecTxResult[]; + validator_updates: ValidatorUpdate[]; + consensus_param_updates?: ConsensusParams; +} + +export interface ResponseProcessProposal { + status: ResponseProcessProposalProposalStatus; + app_hash: Uint8Array; + tx_results: ExecTxResult[]; + validator_updates: ValidatorUpdate[]; + consensus_param_updates?: ConsensusParams; +} + +export enum ResponseProcessProposalProposalStatus { + UNKNOWN = 0, + ACCEPT = 1, + REJECT = 2, + UNRECOGNIZED = -1, +} + +export interface ResponseExtendVote { + vote_extension: Uint8Array; +} + +export interface ResponseVerifyVoteExtension { + status: ResponseVerifyVoteExtensionVerifyStatus; +} + +export enum ResponseVerifyVoteExtensionVerifyStatus { + UNKNOWN = 0, + ACCEPT = 1, + REJECT = 2, + UNRECOGNIZED = -1, +} + +export interface ResponseFinalizeBlock { + events: Event[]; + tx_results: ExecTxResult[]; + validator_updates: ValidatorUpdate[]; + consensus_param_updates?: ConsensusParams; + app_hash: Uint8Array; +} + +export interface CommitInfo { + round: number; + votes: VoteInfo[]; +} + +export interface ExtendedCommitInfo { + /** The round at which the block proposer decided in the previous height. */ + round: number; + /** + * List of validators' addresses in the last validator set with their voting + * information, including vote extensions. + */ + votes: ExtendedVoteInfo[]; +} + +export interface Event { + type: string; + attributes: EventAttribute[]; +} + +export interface EventAttribute { + key: string; + value: string; + /** nondeterministic */ + index: boolean; +} + +export interface ExecTxResult { + code: number; + data: Uint8Array; + /** nondeterministic */ + log: string; + /** nondeterministic */ + info: string; + gas_wanted: number; + gas_used: number; + /** nondeterministic */ + events: Event[]; + codespace: string; +} + +export interface TxResult { + height: number; + index: number; + tx: Uint8Array; + result?: ExecTxResult; +} + +export interface TxRecord { + action: TxRecordTxAction; + tx: Uint8Array; +} + +export enum TxRecordTxAction { + /** UNKNOWN - Unknown action */ + UNKNOWN = 0, + /** UNMODIFIED - The Application did not modify this transaction. */ + UNMODIFIED = 1, + /** ADDED - The Application added this transaction. */ + ADDED = 2, + /** REMOVED - The Application wants this transaction removed from the proposal and the mempool. */ + REMOVED = 3, + UNRECOGNIZED = -1, +} + +export interface Validator { + /** The first 20 bytes of SHA256(public key) */ + address: Uint8Array; + /** PubKey pub_key = 2 [(gogoproto.nullable)=false]; */ + power: number; +} + +export interface ValidatorUpdate { + pub_key?: PublicKey; + power: number; +} + +export interface VoteInfo { + validator?: Validator; + signed_last_block: boolean; +} + +export interface ExtendedVoteInfo { + /** The validator that sent the vote. */ + validator?: Validator; + /** Indicates whether the validator signed the last block, allowing for rewards based on validator availability. */ + signed_last_block: boolean; + /** Non-deterministic extension provided by the sending validator's application. */ + vote_extension: Uint8Array; +} + +export interface Misbehavior { + type: MisbehaviorType; + /** The offending validator */ + validator?: Validator; + /** The height when the offense occurred */ + height: number; + /** The corresponding time where the offense occurred */ + time?: Date; + /** + * Total voting power of the validator set in case the ABCI application does + * not store historical validators. + * https://github.com/tendermint/tendermint/issues/4581 + */ + total_voting_power: number; +} + +export interface Snapshot { + /** The height at which the snapshot was taken */ + height: number; + /** The application-specific snapshot format */ + format: number; + /** Number of chunks in the snapshot */ + chunks: number; + /** Arbitrary snapshot hash, equal only if identical */ + hash: Uint8Array; + /** Arbitrary application metadata */ + metadata: Uint8Array; +} diff --git a/packages/cosmos/generated/types/tendermint/crypto/index.ts b/packages/cosmos/generated/types/tendermint/crypto/index.ts new file mode 100644 index 000000000..409b039e7 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/crypto/index.ts @@ -0,0 +1,2 @@ +export * from './keys'; +export * from './proof'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/crypto/keys.ts b/packages/cosmos/generated/types/tendermint/crypto/keys.ts new file mode 100644 index 000000000..2855cef7c --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/crypto/keys.ts @@ -0,0 +1,5 @@ +export interface PublicKey { + ed25519?: Uint8Array; + secp256k1?: Uint8Array; + sr25519?: Uint8Array; +} diff --git a/packages/cosmos/generated/types/tendermint/crypto/proof.ts b/packages/cosmos/generated/types/tendermint/crypto/proof.ts new file mode 100644 index 000000000..9fc4db469 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/crypto/proof.ts @@ -0,0 +1,29 @@ +export interface Proof { + total: number; + index: number; + leaf_hash: Uint8Array; + aunts: Uint8Array[]; +} + +export interface ValueOp { + /** Encoded in ProofOp.Key. */ + key: Uint8Array; + /** To encode in ProofOp.Data */ + proof?: Proof; +} + +export interface DominoOp { + key: string; + input: string; + output: string; +} + +export interface ProofOp { + type: string; + key: Uint8Array; + data: Uint8Array; +} + +export interface ProofOps { + ops: ProofOp[]; +} diff --git a/packages/cosmos/generated/types/tendermint/libs/bits/index.ts b/packages/cosmos/generated/types/tendermint/libs/bits/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/libs/bits/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/libs/bits/types.ts b/packages/cosmos/generated/types/tendermint/libs/bits/types.ts new file mode 100644 index 000000000..623f2e5aa --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/libs/bits/types.ts @@ -0,0 +1,4 @@ +export interface BitArray { + bits: number; + elems: number[]; +} diff --git a/packages/cosmos/generated/types/tendermint/p2p/index.ts b/packages/cosmos/generated/types/tendermint/p2p/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/p2p/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/p2p/types.ts b/packages/cosmos/generated/types/tendermint/p2p/types.ts new file mode 100644 index 000000000..cf93dee62 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/p2p/types.ts @@ -0,0 +1,34 @@ +export interface ProtocolVersion { + p2p: number; + block: number; + app: number; +} + +export interface NodeInfo { + protocol_version?: ProtocolVersion; + node_id: string; + listen_addr: string; + network: string; + version: string; + channels: Uint8Array; + moniker: string; + other?: NodeInfoOther; +} + +export interface NodeInfoOther { + tx_index: string; + rpc_address: string; +} + +export interface PeerInfo { + id: string; + address_info: PeerAddressInfo[]; + last_connected?: Date; +} + +export interface PeerAddressInfo { + address: string; + last_dial_success?: Date; + last_dial_failure?: Date; + dial_failures: number; +} diff --git a/packages/cosmos/generated/types/tendermint/types/block.ts b/packages/cosmos/generated/types/tendermint/types/block.ts new file mode 100644 index 000000000..5fa3da518 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/block.ts @@ -0,0 +1,10 @@ +import type { EvidenceList } from "./evidence"; + +import type { Commit, Data, Header } from "./types"; + +export interface Block { + header?: Header; + data?: Data; + evidence?: EvidenceList; + last_commit?: Commit; +} diff --git a/packages/cosmos/generated/types/tendermint/types/evidence.ts b/packages/cosmos/generated/types/tendermint/types/evidence.ts new file mode 100644 index 000000000..9a6e0606c --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/evidence.ts @@ -0,0 +1,28 @@ +import type { LightBlock, Vote } from "./types"; + +import type { Validator } from "./validator"; + +export interface Evidence { + duplicate_vote_evidence?: DuplicateVoteEvidence; + light_client_attack_evidence?: LightClientAttackEvidence; +} + +export interface DuplicateVoteEvidence { + vote_a?: Vote; + vote_b?: Vote; + total_voting_power: number; + validator_power: number; + timestamp?: Date; +} + +export interface LightClientAttackEvidence { + conflicting_block?: LightBlock; + common_height: number; + byzantine_validators: Validator[]; + total_voting_power: number; + timestamp?: Date; +} + +export interface EvidenceList { + evidence: Evidence[]; +} diff --git a/packages/cosmos/generated/types/tendermint/types/index.ts b/packages/cosmos/generated/types/tendermint/types/index.ts new file mode 100644 index 000000000..063bfd675 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/index.ts @@ -0,0 +1,5 @@ +export * from './block'; +export * from './evidence'; +export * from './params'; +export * from './types'; +export * from './validator'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/types/params.ts b/packages/cosmos/generated/types/tendermint/types/params.ts new file mode 100644 index 000000000..1f2c84fb2 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/params.ts @@ -0,0 +1,143 @@ +import type { Duration } from "../../google/protobuf/duration"; + +export interface ConsensusParams { + block?: BlockParams; + evidence?: EvidenceParams; + validator?: ValidatorParams; + version?: VersionParams; + synchrony?: SynchronyParams; + timeout?: TimeoutParams; + abci?: ABCIParams; +} + +export interface BlockParams { + /** + * Max block size, in bytes. + * Note: must be greater than 0 + */ + max_bytes: number; + /** + * Max gas per block. + * Note: must be greater or equal to -1 + */ + max_gas: number; +} + +export interface EvidenceParams { + /** + * Max age of evidence, in blocks. + * + * The basic formula for calculating this is: MaxAgeDuration / {average block + * time}. + */ + max_age_num_blocks: number; + /** + * Max age of evidence, in time. + * + * It should correspond with an app's "unbonding period" or other similar + * mechanism for handling [Nothing-At-Stake + * attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). + */ + max_age_duration?: Duration; + /** + * This sets the maximum size of total evidence in bytes that can be committed + * in a single block. and should fall comfortably under the max block bytes. + * Default is 1048576 or 1MB + */ + max_bytes: number; +} + +export interface ValidatorParams { + pub_key_types: string[]; +} + +export interface VersionParams { + app_version: number; +} + +export interface HashedParams { + block_max_bytes: number; + block_max_gas: number; +} + +export interface SynchronyParams { + /** + * message_delay bounds how long a proposal message may take to reach all validators on a network + * and still be considered valid. + */ + message_delay?: Duration; + /** + * precision bounds how skewed a proposer's clock may be from any validator + * on the network while still producing valid proposals. + */ + precision?: Duration; +} + +export interface TimeoutParams { + /** + * These fields configure the timeouts for the propose step of the Tendermint + * consensus algorithm: propose is the initial timeout and propose_delta + * determines how much the timeout grows in subsequent rounds. + * For the first round, this propose timeout is used and for every subsequent + * round, the timeout grows by propose_delta. + * + * For example: + * With propose = 10ms, propose_delta = 5ms, the first round's propose phase + * timeout would be 10ms, the second round's would be 15ms, the third 20ms and so on. + * + * If a node waiting for a proposal message does not receive one matching its + * current height and round before this timeout, the node will issue a + * nil prevote for the round and advance to the next step. + */ + propose?: Duration; + propose_delta?: Duration; + /** + * vote along with vote_delta configure the timeout for both of the prevote and + * precommit steps of the Tendermint consensus algorithm. + * + * These parameters influence the vote step timeouts in the the same way that + * the propose and propose_delta parameters do to the proposal step. + * + * The vote timeout does not begin until a quorum of votes has been received. Once + * a quorum of votes has been seen and this timeout elapses, Tendermint will + * procced to the next step of the consensus algorithm. If Tendermint receives + * all of the remaining votes before the end of the timeout, it will proceed + * to the next step immediately. + */ + vote?: Duration; + vote_delta?: Duration; + /** + * commit configures how long Tendermint will wait after receiving a quorum of + * precommits before beginning consensus for the next height. This can be + * used to allow slow precommits to arrive for inclusion in the next height before progressing. + */ + commit?: Duration; + /** + * bypass_commit_timeout configures the node to proceed immediately to + * the next height once the node has received all precommits for a block, forgoing + * the remaining commit timeout. + * Setting bypass_commit_timeout false (the default) causes Tendermint to wait + * for the full commit timeout. + */ + bypass_commit_timeout: boolean; +} + +export interface ABCIParams { + /** + * vote_extensions_enable_height configures the first height during which + * vote extensions will be enabled. During this specified height, and for all + * subsequent heights, precommit messages that do not contain valid extension data + * will be considered invalid. Prior to this height, vote extensions will not + * be used or accepted by validators on the network. + * + * Once enabled, vote extensions will be created by the application in ExtendVote, + * passed to the application for validation in VerifyVoteExtension and given + * to the application to use when proposing a block during PrepareProposal. + */ + vote_extensions_enable_height: number; + /** + * Indicates if CheckTx should be called on all the transactions + * remaining in the mempool after a block is executed. + */ + recheck_tx: boolean; +} diff --git a/packages/cosmos/generated/types/tendermint/types/types.ts b/packages/cosmos/generated/types/tendermint/types/types.ts new file mode 100644 index 000000000..cb9e5ea22 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/types.ts @@ -0,0 +1,167 @@ +import type { Proof } from "../crypto/proof"; + +import type { Consensus } from "../version/types"; + +import type { ValidatorSet } from "./validator"; + +export enum BlockIDFlag { + BLOCK_ID_FLAG_UNKNOWN = 0, + BLOCK_ID_FLAG_ABSENT = 1, + BLOCK_ID_FLAG_COMMIT = 2, + BLOCK_ID_FLAG_NIL = 3, + UNRECOGNIZED = -1, +} + +export enum SignedMsgType { + SIGNED_MSG_TYPE_UNKNOWN = 0, + /** SIGNED_MSG_TYPE_PREVOTE - Votes */ + SIGNED_MSG_TYPE_PREVOTE = 1, + SIGNED_MSG_TYPE_PRECOMMIT = 2, + /** SIGNED_MSG_TYPE_PROPOSAL - Proposals */ + SIGNED_MSG_TYPE_PROPOSAL = 32, + UNRECOGNIZED = -1, +} + +export interface PartSetHeader { + total: number; + hash: Uint8Array; +} + +export interface Part { + index: number; + bytes: Uint8Array; + proof?: Proof; +} + +export interface BlockID { + hash: Uint8Array; + part_set_header?: PartSetHeader; +} + +export interface Header { + /** basic block info */ + version?: Consensus; + chain_id: string; + height: number; + time?: Date; + /** prev block info */ + last_block_id?: BlockID; + /** hashes of block data */ + last_commit_hash: Uint8Array; + /** transactions */ + data_hash: Uint8Array; + /** hashes from the app output from the prev block */ + validators_hash: Uint8Array; + /** validators for the next block */ + next_validators_hash: Uint8Array; + /** consensus params for current block */ + consensus_hash: Uint8Array; + /** state after txs from the previous block */ + app_hash: Uint8Array; + /** root hash of all results from the txs from the previous block */ + last_results_hash: Uint8Array; + /** consensus info */ + evidence_hash: Uint8Array; + /** original proposer of the block */ + proposer_address: Uint8Array; +} + +export interface Data { + /** + * Txs that will be applied by state @ block.Height+1. + * NOTE: not all txs here are valid. We're just agreeing on the order first. + * This means that block.AppHash does not include these txs. + */ + txs: Uint8Array[]; +} + +export interface Vote { + type: SignedMsgType; + height: number; + round: number; + /** zero if vote is nil. */ + block_id?: BlockID; + timestamp?: Date; + validator_address: Uint8Array; + validator_index: number; + /** + * Vote signature by the validator if they participated in consensus for the + * associated block. + */ + signature: Uint8Array; + /** + * Vote extension provided by the application. Only valid for precommit + * messages. + */ + extension: Uint8Array; + /** + * Vote extension signature by the validator if they participated in + * consensus for the associated block. Only valid for precommit messages. + */ + extension_signature: Uint8Array; +} + +export interface Commit { + height: number; + round: number; + block_id?: BlockID; + signatures: CommitSig[]; +} + +export interface CommitSig { + block_id_flag: BlockIDFlag; + validator_address: Uint8Array; + timestamp?: Date; + signature: Uint8Array; +} + +export interface ExtendedCommit { + height: number; + round: number; + block_id?: BlockID; + extended_signatures: ExtendedCommitSig[]; +} + +export interface ExtendedCommitSig { + block_id_flag: BlockIDFlag; + validator_address: Uint8Array; + timestamp?: Date; + signature: Uint8Array; + /** Vote extension data */ + extension: Uint8Array; + /** Vote extension signature */ + extension_signature: Uint8Array; +} + +export interface Proposal { + type: SignedMsgType; + height: number; + round: number; + pol_round: number; + block_id?: BlockID; + timestamp?: Date; + signature: Uint8Array; +} + +export interface SignedHeader { + header?: Header; + commit?: Commit; +} + +export interface LightBlock { + signed_header?: SignedHeader; + validator_set?: ValidatorSet; +} + +export interface BlockMeta { + block_id?: BlockID; + block_size: number; + header?: Header; + num_txs: number; +} + +export interface TxProof { + root_hash: Uint8Array; + data: Uint8Array; + proof?: Proof; +} diff --git a/packages/cosmos/generated/types/tendermint/types/validator.ts b/packages/cosmos/generated/types/tendermint/types/validator.ts new file mode 100644 index 000000000..454343da8 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/types/validator.ts @@ -0,0 +1,19 @@ +import type { PublicKey } from "../crypto/keys"; + +export interface ValidatorSet { + validators: Validator[]; + proposer?: Validator; + total_voting_power: number; +} + +export interface Validator { + address: Uint8Array; + pub_key?: PublicKey; + voting_power: number; + proposer_priority: number; +} + +export interface SimpleValidator { + pub_key?: PublicKey; + voting_power: number; +} diff --git a/packages/cosmos/generated/types/tendermint/version/index.ts b/packages/cosmos/generated/types/tendermint/version/index.ts new file mode 100644 index 000000000..fcdac2de7 --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/version/index.ts @@ -0,0 +1 @@ +export * from './types'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tendermint/version/types.ts b/packages/cosmos/generated/types/tendermint/version/types.ts new file mode 100644 index 000000000..d0b8424bf --- /dev/null +++ b/packages/cosmos/generated/types/tendermint/version/types.ts @@ -0,0 +1,9 @@ +export interface App { + protocol: number; + software: string; +} + +export interface Consensus { + block: number; + app: number; +} diff --git a/packages/cosmos/generated/types/tokenfactory/authorityMetadata.ts b/packages/cosmos/generated/types/tokenfactory/authorityMetadata.ts new file mode 100644 index 000000000..ba5ef0692 --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/authorityMetadata.ts @@ -0,0 +1,4 @@ +export interface DenomAuthorityMetadata { + /** Can be empty for no admin, or a valid sei address */ + admin: string; +} diff --git a/packages/cosmos/generated/types/tokenfactory/genesis.ts b/packages/cosmos/generated/types/tokenfactory/genesis.ts new file mode 100644 index 000000000..4a85e0e49 --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/genesis.ts @@ -0,0 +1,14 @@ +import type { DenomAuthorityMetadata } from "./authorityMetadata"; + +import type { Params } from "./params"; + +export interface GenesisState { + /** params defines the paramaters of the module. */ + params?: Params; + factory_denoms: GenesisDenom[]; +} + +export interface GenesisDenom { + denom: string; + authority_metadata?: DenomAuthorityMetadata; +} diff --git a/packages/cosmos/generated/types/tokenfactory/index.ts b/packages/cosmos/generated/types/tokenfactory/index.ts new file mode 100644 index 000000000..8de7ed11d --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/index.ts @@ -0,0 +1,5 @@ +export * from './authorityMetadata'; +export * from './genesis'; +export * from './params'; +export * from './query'; +export * from './tx'; \ No newline at end of file diff --git a/packages/cosmos/generated/types/tokenfactory/params.ts b/packages/cosmos/generated/types/tokenfactory/params.ts new file mode 100644 index 000000000..dbc17de45 --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/params.ts @@ -0,0 +1 @@ +export type Params = {}; diff --git a/packages/cosmos/generated/types/tokenfactory/query.ts b/packages/cosmos/generated/types/tokenfactory/query.ts new file mode 100644 index 000000000..44096e08f --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/query.ts @@ -0,0 +1,48 @@ +import type { AllowList, Metadata } from "../cosmos/bank/v1beta1/bank"; + +import type { DenomAuthorityMetadata } from "./authorityMetadata"; + +import type { Params } from "./params"; + +export type QueryParamsRequest = {}; + +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +export interface QueryDenomAuthorityMetadataRequest { + denom: string; +} + +export interface QueryDenomAuthorityMetadataResponse { + authority_metadata?: DenomAuthorityMetadata; +} + +export interface QueryDenomsFromCreatorRequest { + creator: string; +} + +export interface QueryDenomsFromCreatorResponse { + denoms: string[]; +} + +export interface QueryDenomMetadataRequest { + /** denom is the coin denom to query the metadata for. */ + denom: string; +} + +export interface QueryDenomMetadataResponse { + /** metadata describes and provides all the client information for the requested token. */ + metadata?: Metadata; +} + +export interface QueryDenomAllowListRequest { + /** denom is the coin denom to query the allowlist for. */ + denom: string; +} + +export interface QueryDenomAllowListResponse { + /** allow_list provides addresses allowed for the requested token. */ + allow_list?: AllowList; +} diff --git a/packages/cosmos/generated/types/tokenfactory/tx.ts b/packages/cosmos/generated/types/tokenfactory/tx.ts new file mode 100644 index 000000000..fd28c0fb3 --- /dev/null +++ b/packages/cosmos/generated/types/tokenfactory/tx.ts @@ -0,0 +1,51 @@ +import type { AllowList, Metadata } from "../cosmos/bank/v1beta1/bank"; + +import type { Coin } from "../cosmos/base/v1beta1/coin"; + +export interface MsgCreateDenom { + sender: string; + /** subdenom can be up to 44 "alphanumeric" characters long. */ + subdenom: string; + allow_list?: AllowList; +} + +export interface MsgCreateDenomResponse { + new_token_denom: string; +} + +export interface MsgMint { + sender: string; + amount?: Coin; +} + +export type MsgMintResponse = {}; + +export interface MsgBurn { + sender: string; + amount?: Coin; +} + +export type MsgBurnResponse = {}; + +export interface MsgChangeAdmin { + sender: string; + denom: string; + new_admin: string; +} + +export type MsgChangeAdminResponse = {}; + +export interface MsgSetDenomMetadata { + sender: string; + metadata?: Metadata; +} + +export type MsgSetDenomMetadataResponse = {}; + +export interface MsgUpdateDenom { + sender: string; + denom: string; + allow_list?: AllowList; +} + +export type MsgUpdateDenomResponse = {}; diff --git a/packages/cosmos/package.json b/packages/cosmos/package.json new file mode 100644 index 000000000..46dfa7773 --- /dev/null +++ b/packages/cosmos/package.json @@ -0,0 +1,38 @@ +{ + "name": "@sei-js/cosmos", + "version": "0.1.0", + "description": "A Typescript library for building on Sei generated using the official Sei proto files on buf.build.", + "sideEffects": false, + "files": ["build"], + "scripts": { + "prebuild": "rimraf generated && rimraf gen", + "build": "yarn generate:all && yarn extract-libraries", + "postbuild": "rimraf gen", + "extract-libraries": "npx tsx scripts/index.ts", + "generate:all": "yarn generate-sei-cosmos && yarn generate-sei-chain && yarn generate-third-party", + "generate-sei-cosmos": "buf generate buf.build/sei-protocol/cosmos-sdk", + "generate-sei-chain": "buf generate buf.build/sei-protocol/sei-chain", + "generate-third-party": "buf generate buf.build/sei-protocol/third-party" + }, + "homepage": "https://github.com/sei-protocol/sei-js#readme", + "keywords": ["sei", "typescript", "types", "enums", "interfaces"], + "repository": "git@github.com:sei-protocol/sei-js.git", + "license": "MIT", + "private": false, + "publishConfig": { + "access": "public" + }, + "peerDependencies": {}, + "dependencies": { + "@bufbuild/protobuf": "^2.1.0", + "@cosmjs/proto-signing": "^0.32.4", + "@cosmjs/stargate": "^0.32.4" + }, + "devDependencies": {}, + "exports": { + "./types/*": "./generated/types/*/index.ts", + "./rest": "./generated/rest/index.ts", + "./encoding": "./generated/encoding/index.ts", + "./encoding/stargate": "./generated/encoding/stargate.ts" + } +} diff --git a/packages/cosmos/public/encoding/common.ts b/packages/cosmos/public/encoding/common.ts new file mode 100644 index 000000000..fd8b78a35 --- /dev/null +++ b/packages/cosmos/public/encoding/common.ts @@ -0,0 +1,27 @@ +import type { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; + +export type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin + ? T + : T extends globalThis.Array + ? globalThis.Array> + : T extends ReadonlyArray + ? ReadonlyArray> + : T extends {} + ? { [K in keyof T]?: DeepPartial } + : Partial; + +export type KeysOfUnion = T extends T ? keyof T : never; + +export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +export interface MessageFns { + readonly $type: V; + encode(message: T, writer?: BinaryWriter): BinaryWriter; + decode(input: BinaryReader | Uint8Array, length?: number): T; + fromJSON(object: any): T; + toJSON(message: T): unknown; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; +} diff --git a/packages/cosmos/public/encoding/stargate.ts b/packages/cosmos/public/encoding/stargate.ts new file mode 100644 index 000000000..793a49554 --- /dev/null +++ b/packages/cosmos/public/encoding/stargate.ts @@ -0,0 +1,2 @@ +export * from "./amino"; +export * from "./proto"; diff --git a/packages/cosmos/public/rest/fetch.ts b/packages/cosmos/public/rest/fetch.ts new file mode 100644 index 000000000..08d74d196 --- /dev/null +++ b/packages/cosmos/public/rest/fetch.ts @@ -0,0 +1,82 @@ +export interface InitReq extends RequestInit { + pathPrefix?: string; +} + +export function fetchReq<_I, O>(path: string, init?: InitReq): Promise { + const { pathPrefix, ...req } = init || {}; + + const url = pathPrefix ? `${pathPrefix}${path}` : path; + + return fetch(url, req).then((r) => + r.json().then((body: O) => { + if (!r.ok) { + throw body; + } + return body; + }), + ) as Promise; +} + +type Primitive = string | boolean | number; +type RequestPayload = Record; +type FlattenedRequestPayload = Record>; + +function isPlainObject(value: unknown): boolean { + const isObject = Object.prototype.toString.call(value).slice(8, -1) === "Object"; + const isObjLike = value !== null && isObject; + + if (!isObjLike || !isObject) { + return false; + } + + const proto = Object.getPrototypeOf(value); + + return typeof proto === "object" && proto.constructor === Object.prototype.constructor; +} + +function isPrimitive(value: unknown): boolean { + return typeof value === "string" || typeof value === "number" || typeof value === "boolean"; +} + +function isZeroValuePrimitive(value: Primitive): boolean { + return value === false || value === 0 || value === ""; +} + +function flattenRequestPayload(requestPayload: T, path = ""): FlattenedRequestPayload { + return Object.keys(requestPayload).reduce((acc: FlattenedRequestPayload, key: string): FlattenedRequestPayload => { + const value = requestPayload[key]; + const newPath = path ? [path, key].join(".") : key; + + const isNonEmptyPrimitiveArray = Array.isArray(value) && value.every((v) => isPrimitive(v)) && value.length > 0; + const isNonZeroValuePrimitive = isPrimitive(value) && !isZeroValuePrimitive(value as Primitive); + + if (isPlainObject(value)) { + // Recursively flatten objects + const nested = flattenRequestPayload(value as RequestPayload, newPath); + Object.assign(acc, nested); // Merge nested results into accumulator + } else if (isNonZeroValuePrimitive || isNonEmptyPrimitiveArray) { + // Add non-zero primitives or non-empty primitive arrays + acc[newPath] = value as Primitive | Primitive[]; + } + + return acc; + }, {} as FlattenedRequestPayload); +} +export function renderURLSearchParams(requestPayload: any, urlPathParams: string[] = []): string { + const flattenedRequestPayload = flattenRequestPayload(requestPayload); + + const urlSearchParams = Object.keys(flattenedRequestPayload).reduce((acc: string[][], key: string): string[][] => { + // key should not be present in the url path as a parameter + const value = flattenedRequestPayload[key]; + if (!urlPathParams.includes(key)) { + if (Array.isArray(value)) { + value.forEach((m) => acc.push([key, m.toString()])); + } else { + acc.push([key, value.toString()]); + } + } + return acc; + }, [] as string[][]); + + return new URLSearchParams(urlSearchParams).toString(); +} diff --git a/packages/cosmos/scripts/common/create-indexes.ts b/packages/cosmos/scripts/common/create-indexes.ts new file mode 100644 index 000000000..bfb5dab03 --- /dev/null +++ b/packages/cosmos/scripts/common/create-indexes.ts @@ -0,0 +1,38 @@ +import { promises } from 'node:fs'; +import path from 'node:path'; + +const createIndexFile = async (dirPath: string): Promise => { + try { + const files = await promises.readdir(dirPath); + const tsFiles = files.filter((file) => file.endsWith('.ts') && file !== 'index.ts'); + + if (tsFiles.length === 0) return; + + // Generate export statements for each file in the directory + const exports = tsFiles.map((file) => { + const fileNameWithoutExt = path.basename(file, '.ts'); + return `export * from './${fileNameWithoutExt}';`; + }); + + const indexFilePath = path.join(dirPath, 'index.ts'); + await promises.writeFile(indexFilePath, exports.join('\n'), 'utf-8'); + } catch (error) { + console.error(`Error processing directory ${dirPath}:`, error); + } +}; + +export const createIndexesForDirectory = async (rootDir: string): Promise => { + try { + const items = await promises.readdir(rootDir, { withFileTypes: true }); + for (const item of items) { + const itemPath = path.join(rootDir, item.name); + if (item.isDirectory()) { + // Recursively check subdirectories + await createIndexesForDirectory(itemPath); + await createIndexFile(itemPath); + } + } + } catch (error) { + console.error(`Error iterating through ${rootDir}:`, error); + } +}; diff --git a/packages/cosmos/scripts/common/utils.ts b/packages/cosmos/scripts/common/utils.ts new file mode 100644 index 000000000..7abf578d8 --- /dev/null +++ b/packages/cosmos/scripts/common/utils.ts @@ -0,0 +1,88 @@ +import { exec } from "node:child_process"; +import { promises as fs, existsSync } from "node:fs"; +import { basename } from "node:path"; +import path from "node:path"; +import util from "node:util"; +import ts from "typescript"; + +const execAsync = util.promisify(exec); + +// Run biome fix on a file to remove unused imports and clean up the code +export const runBiomeFix = async (filePath: string) => { + try { + if (!existsSync(filePath)) return; + + await execAsync(`biome check ${filePath} --write`); + } catch (error) { + // @biome-ignore + console.log(error); + } +}; + +// Read a file and return a TypeScript source file +export const readSourceFile = async (sourceFilePath: string): Promise => { + try { + const fileContent = await fs.readFile(sourceFilePath, "utf-8"); + return ts.createSourceFile(basename(sourceFilePath), fileContent, ts.ScriptTarget.ESNext, true); + } catch (error) { + console.error(`Failed to read the file at ${sourceFilePath}:`, error); + throw error; + } +}; + +// Recursively traverse all nodes in a TypeScript source file +export const traverseNodes = (sourceFile: ts.SourceFile, visitCallback: (node: ts.Node) => void) => { + const visit = (node: ts.SourceFile) => { + visitCallback(node); + ts.forEachChild(node, visitCallback); // Recursively visit child nodes + }; + visit(sourceFile); +}; + +// Write the extracted result to a file +export const writeToFile = async (destinationFilePath: string, result: string) => { + try { + if (!result) return; + + await fs.writeFile(destinationFilePath, result, "utf-8"); + } catch (error) { + console.error(`Failed to write to the file at ${destinationFilePath}:`, error); + throw error; + } +}; + +// Recursively iterate through a directory and return all `.ts` file paths. +export const getAllTsFiles = async (dir: string): Promise => { + let tsFiles: string[] = []; + const files = await fs.readdir(dir, { withFileTypes: true }); + + for (const file of files) { + const fullPath = path.join(dir, file.name); + + if (file.isDirectory()) { + tsFiles = tsFiles.concat(await getAllTsFiles(fullPath)); + } else if (file.isFile() && file.name.endsWith(".ts")) { + tsFiles.push(fullPath); + } + } + + return tsFiles; +}; + +// Find if a specific variable (registry or amino converters) exists in a file +export const findExportInFile = (sourceFile: ts.SourceFile, variableName: string) => { + let found = false; + + const visitor = (node: ts.Node) => { + if ( + ts.isVariableStatement(node) && + node.declarationList.declarations.some((declaration) => ts.isIdentifier(declaration.name) && declaration.name.text === variableName) + ) { + found = true; + } + ts.forEachChild(node, visitor); + }; + + ts.forEachChild(sourceFile, visitor); + return found; +}; diff --git a/packages/cosmos/scripts/encoding/create-encoder.ts b/packages/cosmos/scripts/encoding/create-encoder.ts new file mode 100644 index 000000000..66bc55724 --- /dev/null +++ b/packages/cosmos/scripts/encoding/create-encoder.ts @@ -0,0 +1,75 @@ +import fs from "node:fs"; +import path from "node:path"; +import { runBiomeFix, writeToFile } from "../common/utils"; + +// Recursive function to collect all Query exports in subdirectories and construct Querier object +const collectQueriesRecursively = async ( + dir: string, + rootDir: string, + importStatements: string[], + parentNamespace: Record, + currentKey: string, +) => { + const items = await fs.promises.readdir(dir, { withFileTypes: true }); + + const hasQueryFile = items.some((item) => item.isFile() && item.name === "index.ts"); + + if (hasQueryFile) { + // If 'index.ts' exists, import it and assign the alias directly to the parent namespace + const relativePath = path.relative(rootDir, path.join(dir, "index")).replace(/\\/g, "/"); + + // Replace non-alphanumeric characters (like slashes) with underscores + const alias = path.relative(rootDir, dir).replace(/[^a-zA-Z0-9]/g, "_"); + + // Add import statements from the 'index.ts' file + importStatements.push(`import * as ${alias} from "./${relativePath}";`); + + // Assign the alias directly to the parent namespace + parentNamespace[currentKey] = alias; + } else { + // Otherwise, create a new namespace and recurse into subdirectories + const currentNamespace: Record = {}; + parentNamespace[currentKey] = currentNamespace; + + for (const item of items) { + if (item.isDirectory()) { + const itemPath = path.join(dir, item.name); + // Recursively process subdirectories + await collectQueriesRecursively(itemPath, rootDir, importStatements, currentNamespace, item.name); + } + } + } +}; + +// Function to generate an index file with a Querier object +export const generateEncoderIndexFile = async (rootDir: string): Promise => { + try { + const querierObject: Record = {}; + const importStatements: string[] = []; + + // Start recursively collecting queries from the root directory + await collectQueriesRecursively(rootDir, rootDir, importStatements, querierObject, "Encoder"); + + // Extract the constructed Querier object + const constructedQuerier = querierObject["Encoder"]; + + // Helper function to format Querier object for export + const formatQuerierObject = (obj: any, level = 0): string => { + if (typeof obj === "string") { + return obj; + } + return `{${Object.entries(obj) + .map(([key, value]) => `${key}: ${formatQuerierObject(value, level + 1)}`) + .join(",")}}`; + }; + + // Create the content of the index.ts file + const indexContent = `${importStatements.join("\n")}\n\nexport const Encoder = ${formatQuerierObject(constructedQuerier)};`; + const outputFilePath = path.join(rootDir, "index.ts"); + await writeToFile(outputFilePath, indexContent); + await runBiomeFix(outputFilePath); + console.log(`Generated index file at ${outputFilePath}`); + } catch (error) { + console.error("Error generating index file:", error); + } +}; diff --git a/packages/cosmos/scripts/encoding/extract-encoding.ts b/packages/cosmos/scripts/encoding/extract-encoding.ts new file mode 100644 index 000000000..2c8e12e24 --- /dev/null +++ b/packages/cosmos/scripts/encoding/extract-encoding.ts @@ -0,0 +1,158 @@ +import { promises as fs } from "node:fs"; +import path from "node:path"; +import ts from "typescript"; +import { readSourceFile, runBiomeFix, traverseNodes, writeToFile } from "../common/utils"; + +// List of specific types that we always want to import from "common.ts" +const COMMON_TYPES = new Set(["Builtin", "DeepPartial", "Exact", "KeysOfUnion", "MessageFns"]); + +const parseRegistryAndAmino = async (nodeText: string, registryEntries: string[], aminoConverters: string[]) => { + const messageMatch = nodeText.match(/MessageFns<(\w+), "(.*?)">/); + if (messageMatch) { + const [_, messageName, typeUrl] = messageMatch; + + // Generate registry entry + registryEntries.push(`["/${typeUrl}", ${messageName} as never]`); + + // Calculate aminoType + let aminoType = typeUrl; + if (typeUrl.startsWith("cosmos")) { + const msgType = typeUrl.split(".").pop(); + aminoType = `cosmos-sdk/${msgType}`; + } + + // Generate Amino converters + aminoConverters.push(` + "/${typeUrl}": { + aminoType: "${aminoType}", + toAmino: (message: ${messageName}) => ({ ...message }), + fromAmino: (object: ${messageName}) => ({ ...object }), + }`); + } +}; + +export const extractEncoding = async (sourceFilePath: string, destinationFilePath: string, relativePath: string): Promise => { + try { + const sourceFile = await readSourceFile(sourceFilePath); + + const importsToCopy: string[] = ['import type { GeneratedType } from "@cosmjs/proto-signing";']; + const enumsToCopy: string[] = []; + const typesToCopy: Set = new Set(); + const typesToImport: Set = new Set(); + const functionsToCopy: string[] = []; + const constantsToCopy: string[] = []; + + // Used in @cosmjs/stargate clients + const registryEntries: string[] = []; + const aminoConverters: string[] = []; + + // Redefine an interface for imported types to fix a TypeScript error + const interfaceDeclarations: string[] = []; + + traverseNodes(sourceFile, (node) => { + // Extract constants from the source file + if (ts.isVariableStatement(node) && node.declarationList.flags & ts.NodeFlags.Const) { + const variableDeclarations = node.declarationList.declarations; + + for (const declaration of variableDeclarations) { + if (ts.isIdentifier(declaration.name)) { + const varName = declaration.name.text; + + if (varName === "protobufPackage") return; // Skip this constant + + const nodeText = node.getText(sourceFile).trim(); + parseRegistryAndAmino(nodeText, registryEntries, aminoConverters); + constantsToCopy.push(`${nodeText}\n`); + } + } + } else if (ts.isFunctionDeclaration(node)) { + const nodeText = node.getText(sourceFile).trim(); + functionsToCopy.push(`${nodeText}\n`); + } else if (ts.isImportDeclaration(node)) { + const importText = node.getText(sourceFile).trim(); + importsToCopy.push(importText); + } else if (ts.isEnumDeclaration(node)) { + enumsToCopy.push(node.name.text); + } else if (ts.isTypeAliasDeclaration(node) || ts.isInterfaceDeclaration(node)) { + const typeName = node.name.text; + if (COMMON_TYPES.has(typeName)) { + // Store that this common value is used for import later + typesToImport.add(typeName); + } else { + // collect typename for imports and interface declarations + typesToCopy.add(typeName); + } + } + }); + + // Create the custom import statement for the collected types from "@sei-js/types" + if (typesToCopy.size > 0) { + const splitPath = relativePath.split("/"); + const path = splitPath.slice(0, splitPath.length - 1).join("/"); + + const relativePathToTypes = `${getRelativePathToEncodingRoot(relativePath)}..`; + + const importStatement = `import type { ${Array.from(typesToCopy) + .map((type) => `${type} as ${type}Type`) + .join(", ")} } from "${relativePathToTypes}/types/${path}";`; + importsToCopy.push(importStatement); + + // Create the interface declarations for each type. This is necessary to fix a TypeScript error. + interfaceDeclarations.push( + Array.from(typesToCopy) + .map((type) => `interface ${type} extends ${type}Type {}`) + .join("\n"), + ); + } + + if (enumsToCopy.length > 0) { + const splitPath = relativePath.split("/"); + const path = splitPath.slice(0, splitPath.length - 1).join("/"); + const relativePathToTypes = `${getRelativePathToEncodingRoot(relativePath)}..`; + + const importStatement = `import { ${enumsToCopy.join(", ")} } from "${relativePathToTypes}/types/${path}";`; + importsToCopy.push(importStatement); + } + + // Add the import from "common.ts" for the common types if any are found + if (typesToImport.size > 0) { + const relativePathToCommon = `${getRelativePathToEncodingRoot(relativePath)}common.ts`; + + const commonImportStatement = `import { ${Array.from(typesToImport).join(", ")} } from "${relativePathToCommon}";`; + importsToCopy.push(commonImportStatement); + } + + // Build the result text + let result = [...importsToCopy, ...interfaceDeclarations, ...constantsToCopy, ...functionsToCopy].join("\n\n"); + + // Add the registry entry at the end of the file + if (registryEntries.length > 0) { + const registryDeclaration = `export const registry: Array<[string, GeneratedType]> = [\n ${registryEntries.join(",\n ")}\n];`; + result += registryDeclaration; + } + + // Add the amino converters at the end of the file + if (aminoConverters.length > 0) { + const aminoDeclaration = `export const aminoConverters = {\n ${aminoConverters.join(",\n ")}\n};`; + result += aminoDeclaration; + } + + if (result.trim() !== "") { + // Ensure output directory exists + await fs.mkdir(path.dirname(destinationFilePath), { recursive: true }); + + await writeToFile(destinationFilePath, result); + await runBiomeFix(destinationFilePath); + } + } catch (error) { + console.error("Error extracting const and function declarations:", error); + } +}; + +const getRelativePathToEncodingRoot = (relativePath: string): string => { + // Count the number of directories in the relative path + const depth = relativePath.split("/").length - 1; + + // Build the string with the appropriate number of '../' + return "../".repeat(depth); +}; diff --git a/packages/cosmos/scripts/encoding/stargate.ts b/packages/cosmos/scripts/encoding/stargate.ts new file mode 100644 index 000000000..656b2c1b7 --- /dev/null +++ b/packages/cosmos/scripts/encoding/stargate.ts @@ -0,0 +1,103 @@ +import fs from "node:fs"; +import path from "node:path"; +import ts from "typescript"; +import { findExportInFile, runBiomeFix, writeToFile } from "../common/utils"; + +// Configurations +const REGISTRY_CONFIG = { + fileName: "proto.ts", + varName: "registry", + exportName: "seiProtoRegistry", + suffix: "_registry", +}; + +const AMINO_CONFIG = { + fileName: "amino.ts", + varName: "aminoConverters", + exportName: "aminoConverters: AminoConverters", + suffix: "_amino", +}; + +// Helper function to create a unique and descriptive alias +const createAliasFromFilePath = (filePath: string, rootDir: string): string => + path + .relative(rootDir, filePath) + .replace(/\\/g, "/") + .replace(/\.ts$/, "") + .replace(/[^a-zA-Z0-9]/g, "_"); + +// Process TypeScript file to detect if it contains a specific export +const processTsFile = async (filePath: string, varName: string, foundFiles: string[]): Promise => { + try { + const fileContent = await fs.promises.readFile(filePath, "utf-8"); + const sourceFile = ts.createSourceFile(filePath, fileContent, ts.ScriptTarget.Latest, true); + + if (findExportInFile(sourceFile, varName)) { + foundFiles.push(filePath); + } + } catch (error) { + console.error(`Error processing file ${filePath}:`, error); + } +}; + +// Recursively iterate directories to find registry or amino converters +const iterateDirectoriesAndFindExports = async (dirPath: string, varName: string, foundFiles: string[]): Promise => { + const items = await fs.promises.readdir(dirPath, { withFileTypes: true }); + await Promise.all( + items.map(async (item) => { + const itemPath = path.join(dirPath, item.name); + if (item.isDirectory()) { + await iterateDirectoriesAndFindExports(itemPath, varName, foundFiles); + } else if (item.isFile() && item.name.endsWith(".ts")) { + await processTsFile(itemPath, varName, foundFiles); + } + }), + ); +}; + +// Generalized function to create registry or amino converter file +const createFile = async ( + rootDir: string, + foundFiles: string[], + config: { fileName: string; varName: string; exportName: string; suffix: string }, +): Promise => { + try { + if (foundFiles.length === 0) return; + + const imports: string[] = config.varName === "aminoConverters" ? ["import { AminoConverters } from '@cosmjs/stargate';"] : []; + const arrayEntries: string[] = []; + + foundFiles.forEach((filePath) => { + const importPath = path.relative(rootDir, filePath).replace(/\\/g, "/").replace(/\.ts$/, ""); + const alias = createAliasFromFilePath(filePath, rootDir) + config.suffix; + imports.push(`import { ${config.varName} as ${alias} } from './${importPath}';`); + arrayEntries.push(`...${alias}`); + }); + + let fileContent = `${imports.join("\n")}\n\nexport const ${config.exportName} = [${arrayEntries.join(",")}];`; + if (config.varName === "aminoConverters") { + fileContent = `${imports.join("\n")}\n\nexport const ${config.exportName} = {${arrayEntries.join(",")}};`; + } + const outputFilePath = path.join(rootDir, config.fileName); + await writeToFile(outputFilePath, fileContent.trim()); + await runBiomeFix(outputFilePath); + console.log(`Generated ${config.exportName} file in ${outputFilePath}`); + } catch (error) { + console.error(`Error creating ${config.exportName} file:`, error); + } +}; + +// Main function to orchestrate registry and amino converters generation +export const buildCombinedProtoRegistryAndAminoConverters = async (): Promise => { + console.log("Building combined proto registry and amino converters..."); + + const rootDir = "./generated/encoding"; + const registries: string[] = []; + const aminoConverters: string[] = []; + + await iterateDirectoriesAndFindExports(rootDir, REGISTRY_CONFIG.varName, registries); + await iterateDirectoriesAndFindExports(rootDir, AMINO_CONFIG.varName, aminoConverters); + + await createFile(rootDir, registries, REGISTRY_CONFIG); + await createFile(rootDir, aminoConverters, AMINO_CONFIG); +}; diff --git a/packages/cosmos/scripts/index.ts b/packages/cosmos/scripts/index.ts new file mode 100644 index 000000000..448fc3400 --- /dev/null +++ b/packages/cosmos/scripts/index.ts @@ -0,0 +1,78 @@ +import { promises as fs } from "node:fs"; +import path from "node:path"; +import { createIndexesForDirectory } from "./common/create-indexes"; +import { getAllTsFiles } from "./common/utils"; +import { generateEncoderIndexFile } from "./encoding/create-encoder"; +import { extractEncoding } from "./encoding/extract-encoding"; +import { buildCombinedProtoRegistryAndAminoConverters } from "./encoding/stargate"; +import { generateQueryIndexFile } from "./rest/create-querier"; +import { extractRESTClient } from "./rest/extract-rest"; +import { extractTypes } from "./types/extract-types"; + +// Define paths as constants for reuse and easy updates +const GRPC_TS_DIR = "./gen/grpc-gateway"; +const TS_PROTO_DIR = "./gen/ts-proto"; +const TYPES_OUTPUT_DIR = "./generated/types"; +const REST_OUTPUT_DIR = "./generated/rest"; +const ENCODING_OUTPUT_DIR = "./generated/encoding"; +const FETCH_FILE = "./public/rest/fetch.ts"; +const ENCODING_FILES = ["./public/encoding/common.ts", "./public/encoding/stargate.ts"]; + +// Extracts only types from the proto generated TypeScript files in the input directory +async function processGrpcGatewayFiles(): Promise { + try { + const grpcTsFiles = await getAllTsFiles(GRPC_TS_DIR); + + for (const tsFile of grpcTsFiles) { + const relativePath = path.relative(GRPC_TS_DIR, tsFile).replace(".pb.ts", ".ts"); + + const restDestination = path.join(REST_OUTPUT_DIR, relativePath); + await extractRESTClient(tsFile, restDestination, relativePath); + } + await fs.copyFile(FETCH_FILE, `${REST_OUTPUT_DIR}/fetch.ts`); + await generateQueryIndexFile(REST_OUTPUT_DIR); + } catch (error) { + console.error("Error processing gRPC gateway files:", error); + } +} + +// Process proto encoding files and generate the necessary outputs +async function processEncodingFiles(): Promise { + try { + const tsFiles = await getAllTsFiles(TS_PROTO_DIR); + + for (const tsFile of tsFiles) { + const relativePath = path.relative(TS_PROTO_DIR, tsFile).replace(".pb.ts", ".ts"); + const encodingDestination = path.join(ENCODING_OUTPUT_DIR, relativePath); + await extractEncoding(tsFile, encodingDestination, relativePath.replace(".ts", "")); + + const typesDestination = path.join(TYPES_OUTPUT_DIR, relativePath); + await extractTypes(tsFile, typesDestination); + } + + await createIndexesForDirectory(TYPES_OUTPUT_DIR); + + // Copy static encoding files (common.ts, stargate.ts) + await Promise.all(ENCODING_FILES.map((file) => fs.copyFile(file, path.join(ENCODING_OUTPUT_DIR, path.basename(file))))); + + await buildCombinedProtoRegistryAndAminoConverters(); + await createIndexesForDirectory(ENCODING_OUTPUT_DIR); + await generateEncoderIndexFile(ENCODING_OUTPUT_DIR); + } catch (error) { + console.error("Error processing encoding files:", error); + } +} + +// Main function orchestrating the extraction process +async function extractLibrariesFromProto(): Promise { + try { + // Run the GRPC Gateway and Encoding processes in parallel (since they're independent) + await Promise.all([processGrpcGatewayFiles(), processEncodingFiles()]); + + console.log("Generated library successfully."); + } catch (error) { + console.error("Error generating library:", error); + } +} + +extractLibrariesFromProto(); diff --git a/packages/cosmos/scripts/rest/create-querier.ts b/packages/cosmos/scripts/rest/create-querier.ts new file mode 100644 index 000000000..6e4eda1dc --- /dev/null +++ b/packages/cosmos/scripts/rest/create-querier.ts @@ -0,0 +1,75 @@ +import fs from "node:fs"; +import path from "node:path"; +import { runBiomeFix, writeToFile } from "../common/utils"; + +// Recursive function to collect all Query exports in subdirectories and construct Querier object +const collectQueriesRecursively = async ( + dir: string, + rootDir: string, + importStatements: string[], + parentNamespace: Record, + currentKey: string, +) => { + const items = await fs.promises.readdir(dir, { withFileTypes: true }); + + const hasQueryFile = items.some((item) => item.isFile() && item.name === "query.ts"); + + if (hasQueryFile) { + // If 'query.ts' exists, import it and assign the alias directly to the parent namespace + const relativePath = path.relative(rootDir, path.join(dir, "query")).replace(/\\/g, "/"); + + // Replace non-alphanumeric characters (like slashes) with underscores + const alias = path.relative(rootDir, dir).replace(/[^a-zA-Z0-9]/g, "_"); + + // Add import statement for the Query from the 'query.ts' file + importStatements.push(`import { Query as ${alias} } from "./${relativePath}";`); + + // Assign the alias directly to the parent namespace + parentNamespace[currentKey] = alias; + } else { + // Otherwise, create a new namespace and recurse into subdirectories + const currentNamespace: Record = {}; + parentNamespace[currentKey] = currentNamespace; + + for (const item of items) { + if (item.isDirectory()) { + const itemPath = path.join(dir, item.name); + // Recursively process subdirectories + await collectQueriesRecursively(itemPath, rootDir, importStatements, currentNamespace, item.name); + } + } + } +}; + +// Function to generate an index file with a Querier object +export const generateQueryIndexFile = async (rootDir: string): Promise => { + try { + const querierObject: Record = {}; + const importStatements: string[] = []; + + // Start recursively collecting queries from the root directory + await collectQueriesRecursively(rootDir, rootDir, importStatements, querierObject, "Querier"); + + // Extract the constructed Querier object + const constructedQuerier = querierObject["Querier"]; + + // Helper function to format Querier object for export + const formatQuerierObject = (obj: any, level = 0): string => { + if (typeof obj === "string") { + return obj; + } + return `{${Object.entries(obj) + .map(([key, value]) => `${key}: ${formatQuerierObject(value, level + 1)}`) + .join(",")}}`; + }; + + // Create the content of the index.ts file + const indexContent = `${importStatements.join("\n")}\n\nexport const Querier = ${formatQuerierObject(constructedQuerier)};`; + const outputFilePath = path.join(rootDir, "index.ts"); + await writeToFile(outputFilePath, indexContent); + await runBiomeFix(outputFilePath); + console.log(`Generated index file at ${outputFilePath}`); + } catch (error) { + console.error("Error generating index file:", error); + } +}; diff --git a/packages/cosmos/scripts/rest/extract-rest.ts b/packages/cosmos/scripts/rest/extract-rest.ts new file mode 100644 index 000000000..4ef2f4dcb --- /dev/null +++ b/packages/cosmos/scripts/rest/extract-rest.ts @@ -0,0 +1,49 @@ +import { promises as fs } from "node:fs"; +import path from "node:path"; +import ts from "typescript"; +import { readSourceFile, runBiomeFix, traverseNodes, writeToFile } from "../common/utils"; + +export const extractRESTClient = async (sourceFilePath: string, destinationFilePath: string, relativePath: string): Promise => { + try { + const sourceFile = await readSourceFile(sourceFilePath); + + const extractedDeclarations: Set = new Set(); + const extractedImports: Set = new Set(); + const typeNames: Set = new Set(); + + traverseNodes(sourceFile, (node) => { + if (ts.isClassDeclaration(node)) { + if (node.name?.text !== "Query") return; // Only grab Query Msg classes + const nodeText = node.getText(sourceFile).trim(); + extractedDeclarations.add(nodeText); + } else if (ts.isImportDeclaration(node)) { + const importText = node.getText(sourceFile).trim().replace(/\.pb/g, ""); // Remove ".pb" from import paths + extractedImports.add(importText); + } else if (ts.isTypeAliasDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isEnumDeclaration(node)) { + typeNames.add(node.name.text); + } + }); + + // Instead of importing all types from the proto-generated file, we import from the generated types directory + if (typeNames.size > 0) { + const restImportPath = path.relative(path.dirname(destinationFilePath), path.join("generated/types", relativePath)); + const importStatement = `import { ${Array.from(typeNames).join(", ")} } from "${restImportPath}";`; + extractedImports.add(importStatement); + } + + // Build the file with the extracted content + const result = [...Array.from(extractedImports), ...Array.from(extractedDeclarations)].join("\n\n"); + + // Write the extracted content to the destination file if it's not empty and there are declarations (not only imports) + if (result.trim() !== "" && extractedDeclarations.size > 0) { + // Ensure output directory exists + await fs.mkdir(path.dirname(destinationFilePath), { recursive: true }); + + // Save the file then run biome fix to remove unused imports and clean up the code + await writeToFile(destinationFilePath, result); + await runBiomeFix(destinationFilePath); + } + } catch (error) { + console.error("Error extracting REST library from proto-generated files.", error); + } +}; diff --git a/packages/cosmos/scripts/types/extract-types.ts b/packages/cosmos/scripts/types/extract-types.ts new file mode 100644 index 000000000..1b8d7a426 --- /dev/null +++ b/packages/cosmos/scripts/types/extract-types.ts @@ -0,0 +1,60 @@ +import { promises as fs } from "node:fs"; +import path from "node:path"; +import ts from "typescript"; +import { readSourceFile, runBiomeFix, traverseNodes, writeToFile } from "../common/utils"; + +// These get included in the proto registry for other functions, but are not necessary +const EXCLUDED_TYPES = new Set([ + "Builtin", + "DeepPartial", + "Exact", + "KeysOfUnion", + "MessageFns", + "InitReq", + "NotifyStreamEntityArrival", + "JSONStringStreamController", + "Primitive", + "RequestPayload", + "FlattenedRequestPayload", +]); + +export const extractTypes = async (sourceFilePath: string, destinationFilePath: string): Promise => { + try { + const sourceFile = await readSourceFile(sourceFilePath); + + const extractedDeclarations: string[] = []; + const extractedImports: string[] = []; + + traverseNodes(sourceFile, (node: ts.Node) => { + if (ts.isImportDeclaration(node)) { + // ts-proto uses pb imports, we remove the .pb extension + const importText = node.getText(sourceFile).trim().replace(".pb", ""); + extractedImports.push(importText); + } + // Grab all type aliases, interfaces, and enums from the source file + else if (ts.isTypeAliasDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isEnumDeclaration(node)) { + // We exclude some types that are not needed because those functions are only used in the @sei-js/encoding package + if (!EXCLUDED_TYPES.has(node.name.text)) { + const nodeText = node.getText(sourceFile).trim(); + // ts-proto adds `| undefined` to optional fields, this removes it as it's redundant + const noOrUndefinedText = nodeText.replace(/ \| undefined/g, ""); + extractedDeclarations.push(noOrUndefinedText); + } + } + }); + + // Rebuild the file with the extracted types and imports if any were found + if (extractedImports.length > 0 || extractedDeclarations.length > 0) { + const result = [...extractedImports, ...extractedDeclarations].join("\n\n"); + + // Ensure output directory exists + await fs.mkdir(path.dirname(destinationFilePath), { recursive: true }); + + // Save the file then run biome fix to remove unused imports and clean up the code + await writeToFile(destinationFilePath, result); + await runBiomeFix(destinationFilePath); + } + } catch (error) { + console.error("Error extracting types from proto generated files:", error); + } +}; diff --git a/packages/ledger/package.json b/packages/ledger/package.json index ea0015a47..b83742b0f 100644 --- a/packages/ledger/package.json +++ b/packages/ledger/package.json @@ -34,9 +34,10 @@ "access": "public" }, "dependencies": { + "@cosmjs/crypto": "^0.32.4", "@cosmjs/stargate": "^0.32.4", "@ledgerhq/hw-transport-node-hid": "^6.29.3", - "@zondax/ledger-sei": "^1.0.0" + "@zondax/ledger-sei": "1.0.1" }, "peerDependencies": {}, "devDependencies": {}, diff --git a/packages/ledger/src/cosmos/seiLedgerOfflineAminoSigner.ts b/packages/ledger/src/cosmos/seiLedgerOfflineAminoSigner.ts index 368144b27..7c38616b5 100644 --- a/packages/ledger/src/cosmos/seiLedgerOfflineAminoSigner.ts +++ b/packages/ledger/src/cosmos/seiLedgerOfflineAminoSigner.ts @@ -1,11 +1,5 @@ -import { - AminoSignResponse, - encodeSecp256k1Signature, - OfflineAminoSigner, - serializeSignDoc, - StdSignDoc -} from '@cosmjs/amino'; -import {fromHex } from '@cosmjs/encoding'; +import { AminoSignResponse, encodeSecp256k1Signature, OfflineAminoSigner, serializeSignDoc, StdSignDoc } from '@cosmjs/amino'; +import { fromHex } from '@cosmjs/encoding'; import { AccountData } from '@cosmjs/proto-signing'; import { Secp256k1Signature } from '@cosmjs/crypto'; import { SeiApp } from '@zondax/ledger-sei'; @@ -14,37 +8,51 @@ import { SeiApp } from '@zondax/ledger-sei'; * A signer implementation that uses a Ledger device to sign transactions */ export class SeiLedgerOfflineAminoSigner implements OfflineAminoSigner { - private readonly path: string; - private readonly app: SeiApp; + private readonly path: string; + private readonly app: SeiApp; - /** - * Creates a new SeiLedgerOfflineAminoSigner - * @param app Ledger Sei app instance - * @param path hd derivation path (e.g. "m/44'/60'/0'/0/0") - */ - constructor(app: SeiApp, path: string) { - this.path = path; - this.app = app; - } + /** + * Creates a new SeiLedgerOfflineAminoSigner + * @param app Ledger Sei app instance + * @param path hd derivation path (e.g. "m/44'/60'/0'/0/0") + */ + constructor(app: SeiApp, path: string) { + this.path = path; + this.app = app; + } - public async getAccounts(): Promise { - const nativeAddress = await this.app.getCosmosAddress(this.path); - return [ - { - address: nativeAddress.address, - algo: "secp256k1", - pubkey: fromHex(nativeAddress.pubKey) - }, - ]; - } + public async getAccounts(): Promise { + const nativeAddress = await this.app.getCosmosAddress(this.path); + return [ + { + address: nativeAddress.address, + algo: 'secp256k1', + pubkey: fromHex(nativeAddress.pubKey) + } + ]; + } - public async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { - const signature = await this.app.signCosmos(this.path, Buffer.from(serializeSignDoc(signDoc))); - const sig = new Secp256k1Signature(signature.r, signature.s).toFixedLength(); - const nativeAddress = await this.app.getCosmosAddress(this.path); - return { - signed: signDoc, - signature: encodeSecp256k1Signature(fromHex(nativeAddress.pubKey), sig), - }; - } + public async signAmino(_signerAddress: string, signDoc: StdSignDoc): Promise { + const signature = await this.app.signCosmos(this.path, Buffer.from(serializeSignDoc(signDoc))); + const sig = new Secp256k1Signature(removeLeadingZeros(signature.r), removeLeadingZeros(signature.s)).toFixedLength(); + const nativeAddress = await this.app.getCosmosAddress(this.path); + return { + signed: signDoc, + signature: encodeSecp256k1Signature(fromHex(nativeAddress.pubKey), sig) + }; + } } + +/** + * Remove leading zeros from a Uint8Array and return a new Uint8Array + * This is required for the Secp256k1Signature constructor in @cosmjs/crypto + * @param uint8Array + */ +const removeLeadingZeros = (uint8Array: Uint8Array): Uint8Array => { + let i = 0; + while (i < uint8Array.length && uint8Array[i] === 0) { + i++; + } + + return new Uint8Array(uint8Array.slice(i)); +}; diff --git a/tsconfig.base.json b/tsconfig.base.json index 663a83db1..493667353 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -23,6 +23,7 @@ }, "exclude": [ "node_modules", + "packages/cosmos/generated/*", "dist", "**/*.spec.ts", "**/*.test.ts", diff --git a/yarn.lock b/yarn.lock index 129c63e85..0c4e93017 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1388,6 +1388,65 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@biomejs/biome@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.9.2.tgz#297a6a0172e46124b9b6058ec3875091d352a0be" + integrity sha512-4j2Gfwft8Jqp1X0qLYvK4TEy4xhTo4o6rlvJPsjPeEame8gsmbGQfOPBkw7ur+7/Z/f0HZmCZKqbMvR7vTXQYQ== + optionalDependencies: + "@biomejs/cli-darwin-arm64" "1.9.2" + "@biomejs/cli-darwin-x64" "1.9.2" + "@biomejs/cli-linux-arm64" "1.9.2" + "@biomejs/cli-linux-arm64-musl" "1.9.2" + "@biomejs/cli-linux-x64" "1.9.2" + "@biomejs/cli-linux-x64-musl" "1.9.2" + "@biomejs/cli-win32-arm64" "1.9.2" + "@biomejs/cli-win32-x64" "1.9.2" + +"@biomejs/cli-darwin-arm64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.2.tgz#9303e426156189b2ab469154f7cd94ecfbf8bd5e" + integrity sha512-rbs9uJHFmhqB3Td0Ro+1wmeZOHhAPTL3WHr8NtaVczUmDhXkRDWScaxicG9+vhSLj1iLrW47itiK6xiIJy6vaA== + +"@biomejs/cli-darwin-x64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.2.tgz#a674e61c04b5aeca31b5b1e7f7b678937a6e90ac" + integrity sha512-BlfULKijNaMigQ9GH9fqJVt+3JTDOSiZeWOQtG/1S1sa8Lp046JHG3wRJVOvekTPL9q/CNFW1NVG8J0JN+L1OA== + +"@biomejs/cli-linux-arm64-musl@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.2.tgz#b126b0093a7b7632c01a948bf7a0feaf5040ea76" + integrity sha512-ZATvbUWhNxegSALUnCKWqetTZqrK72r2RsFD19OK5jXDj/7o1hzI1KzDNG78LloZxftrwr3uI9SqCLh06shSZw== + +"@biomejs/cli-linux-arm64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.2.tgz#c71b4aa374fcd32d3f1a9e7c8a6ce3090e9b6be4" + integrity sha512-T8TJuSxuBDeQCQzxZu2o3OU4eyLumTofhCxxFd3+aH2AEWVMnH7Z/c3QP1lHI5RRMBP9xIJeMORqDQ5j+gVZzw== + +"@biomejs/cli-linux-x64-musl@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.2.tgz#5fce02295b435362aa75044ddc388547fbbbbb19" + integrity sha512-CjPM6jT1miV5pry9C7qv8YJk0FIZvZd86QRD3atvDgfgeh9WQU0k2Aoo0xUcPdTnoz0WNwRtDicHxwik63MmSg== + +"@biomejs/cli-linux-x64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.2.tgz#17d7bac0b6ebb20b9fb18812d4ef390f5855858f" + integrity sha512-T0cPk3C3Jr2pVlsuQVTBqk2qPjTm8cYcTD9p/wmR9MeVqui1C/xTVfOIwd3miRODFMrJaVQ8MYSXnVIhV9jTjg== + +"@biomejs/cli-win32-arm64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.2.tgz#725734c4dc35cdcad3ef5cbcd85c6ff1238afa46" + integrity sha512-2x7gSty75bNIeD23ZRPXyox6Z/V0M71ObeJtvQBhi1fgrvPdtkEuw7/0wEHg6buNCubzOFuN9WYJm6FKoUHfhg== + +"@biomejs/cli-win32-x64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.2.tgz#6f506d604d3349c1ba674d46cb96540c00a2ba83" + integrity sha512-JC3XvdYcjmu1FmAehVwVV0SebLpeNTnO2ZaMdGCSOdS7f8O9Fq14T2P1gTG1Q29Q8Dt1S03hh0IdVpIZykOL8g== + +"@bufbuild/protobuf@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.1.0.tgz#6925f30c25789b4f74d7c505e731c96f79fb48a7" + integrity sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A== + "@changesets/apply-release-plan@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-7.0.0.tgz#ce3c3dfc5720550a5d592b54ad2f411f816ec5ff" @@ -4308,10 +4367,10 @@ dependencies: "@ledgerhq/hw-transport" "6.30.6" -"@zondax/ledger-sei@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@zondax/ledger-sei/-/ledger-sei-1.0.0.tgz#0036c7d43d46b75c3060810950b0e07f8abb1c86" - integrity sha512-PZswU9EIGjJVJijp/n3U9ZVTZU/BBdavEpERETClxyAF8zLxpC1vukTQ86lPk9vK18s6vvnSpl7W+fSPLxPOZg== +"@zondax/ledger-sei@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@zondax/ledger-sei/-/ledger-sei-1.0.1.tgz#dc9777a756c0dd6b260d875d4d0b7b9bc914b4a4" + integrity sha512-N8Y8xc5DvR9BpEtjuVzCb3XYkOoEW30t3bB4glIPy//c2R2pfzT8+eUzecZcnpLbOdkmQ/6THGR0GKb9o5bQ/Q== dependencies: "@ledgerhq/hw-app-eth" "^6.37.3" "@zondax/ledger-js" "^0.10.0" @@ -8889,11 +8948,16 @@ prettier@^2.6.2, prettier@^2.7.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -prettier@^3.0.3, prettier@^3.2.5: +prettier@^3.0.3: version "3.2.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== +prettier@^3.2.5: + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== + pretty-format@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" From d5373d4d64cb092f445c57fbe040aabffbd7fd1d Mon Sep 17 00:00:00 2001 From: Carson <104383295+codebycarson@users.noreply.github.com> Date: Mon, 30 Sep 2024 20:33:04 -0700 Subject: [PATCH 02/17] Added the generated build to the NPM files --- packages/cosmos/__tests__/encoding.spec.ts | 0 packages/cosmos/__tests__/rest.spec.ts | 0 packages/cosmos/__tests__/types.spec.ts | 0 packages/cosmos/package.json | 5 +++-- 4 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 packages/cosmos/__tests__/encoding.spec.ts create mode 100644 packages/cosmos/__tests__/rest.spec.ts create mode 100644 packages/cosmos/__tests__/types.spec.ts diff --git a/packages/cosmos/__tests__/encoding.spec.ts b/packages/cosmos/__tests__/encoding.spec.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/__tests__/rest.spec.ts b/packages/cosmos/__tests__/rest.spec.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/__tests__/types.spec.ts b/packages/cosmos/__tests__/types.spec.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/cosmos/package.json b/packages/cosmos/package.json index 46dfa7773..c4d4fe28a 100644 --- a/packages/cosmos/package.json +++ b/packages/cosmos/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "description": "A Typescript library for building on Sei generated using the official Sei proto files on buf.build.", "sideEffects": false, - "files": ["build"], + "files": ["generated"], "scripts": { "prebuild": "rimraf generated && rimraf gen", "build": "yarn generate:all && yarn extract-libraries", @@ -12,7 +12,8 @@ "generate:all": "yarn generate-sei-cosmos && yarn generate-sei-chain && yarn generate-third-party", "generate-sei-cosmos": "buf generate buf.build/sei-protocol/cosmos-sdk", "generate-sei-chain": "buf generate buf.build/sei-protocol/sei-chain", - "generate-third-party": "buf generate buf.build/sei-protocol/third-party" + "generate-third-party": "buf generate buf.build/sei-protocol/third-party", + "lint": "echo 'No linting configured for this package'" }, "homepage": "https://github.com/sei-protocol/sei-js#readme", "keywords": ["sei", "typescript", "types", "enums", "interfaces"], From 66c76cabf6ea311b3405b2431d9d97144bbcf486 Mon Sep 17 00:00:00 2001 From: Carson <104383295+codebycarson@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:09:17 -0700 Subject: [PATCH 03/17] Small Changes - Added ts-configs back - Fixed a few typescript warnings inside the encoding library. - Update README.md --- packages/cosmos/README.md | 68 +++--- packages/cosmos/generated/encoding/amino.ts | 116 +++++----- .../generated/encoding/confio/proofs.ts | 56 ++--- .../cosmos/accesscontrol/accesscontrol.ts | 30 +-- .../encoding/cosmos/accesscontrol/legacy.ts | 10 +- .../cosmos/accesscontrol_x/genesis.ts | 8 +- .../encoding/cosmos/accesscontrol_x/gov.ts | 22 +- .../encoding/cosmos/accesscontrol_x/query.ts | 44 ++-- .../encoding/cosmos/accesscontrol_x/tx.ts | 14 +- .../encoding/cosmos/auth/v1beta1/auth.ts | 10 +- .../encoding/cosmos/auth/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/auth/v1beta1/query.ts | 34 +-- .../encoding/cosmos/authz/v1beta1/authz.ts | 14 +- .../encoding/cosmos/authz/v1beta1/event.ts | 8 +- .../encoding/cosmos/authz/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/authz/v1beta1/query.ts | 26 +-- .../encoding/cosmos/authz/v1beta1/tx.ts | 26 +-- .../encoding/cosmos/bank/v1beta1/authz.ts | 6 +- .../encoding/cosmos/bank/v1beta1/bank.ts | 34 +-- .../encoding/cosmos/bank/v1beta1/genesis.ts | 10 +- .../encoding/cosmos/bank/v1beta1/query.ts | 68 +++--- .../encoding/cosmos/bank/v1beta1/tx.ts | 18 +- .../encoding/cosmos/base/abci/v1beta1/abci.ts | 44 ++-- .../encoding/cosmos/base/kv/v1beta1/kv.ts | 8 +- .../cosmos/base/query/v1beta1/pagination.ts | 8 +- .../base/reflection/v1beta1/reflection.ts | 18 +- .../base/reflection/v2alpha1/reflection.ts | 108 +++++----- .../cosmos/base/snapshots/v1beta1/snapshot.ts | 30 +-- .../cosmos/base/store/v1beta1/commit_info.ts | 10 +- .../cosmos/base/store/v1beta1/listening.ts | 6 +- .../cosmos/base/tendermint/v1beta1/query.ts | 64 +++--- .../encoding/cosmos/base/v1beta1/coin.ts | 12 +- .../cosmos/capability/v1beta1/capability.ts | 14 +- .../cosmos/capability/v1beta1/genesis.ts | 8 +- .../encoding/cosmos/crisis/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/crisis/v1beta1/tx.ts | 10 +- .../encoding/cosmos/crypto/ed25519/keys.ts | 8 +- .../encoding/cosmos/crypto/multisig/keys.ts | 6 +- .../crypto/multisig/v1beta1/multisig.ts | 8 +- .../encoding/cosmos/crypto/secp256k1/keys.ts | 8 +- .../encoding/cosmos/crypto/secp256r1/keys.ts | 8 +- .../encoding/cosmos/crypto/sr25519/keys.ts | 6 +- .../distribution/v1beta1/distribution.ts | 52 ++--- .../cosmos/distribution/v1beta1/genesis.ts | 34 +-- .../cosmos/distribution/v1beta1/query.ts | 76 +++---- .../cosmos/distribution/v1beta1/tx.ts | 34 +-- .../cosmos/evidence/v1beta1/evidence.ts | 6 +- .../cosmos/evidence/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/evidence/v1beta1/query.ts | 18 +- .../encoding/cosmos/evidence/v1beta1/tx.ts | 10 +- .../cosmos/feegrant/v1beta1/feegrant.ts | 18 +- .../cosmos/feegrant/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/feegrant/v1beta1/query.ts | 26 +-- .../encoding/cosmos/feegrant/v1beta1/tx.ts | 18 +- .../cosmos/genutil/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/gov/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/gov/v1beta1/gov.ts | 40 ++-- .../encoding/cosmos/gov/v1beta1/query.ts | 68 +++--- .../encoding/cosmos/gov/v1beta1/tx.ts | 34 +-- .../encoding/cosmos/mint/v1beta1/genesis.ts | 6 +- .../encoding/cosmos/mint/v1beta1/mint.ts | 8 +- .../encoding/cosmos/mint/v1beta1/query.ts | 26 +-- .../encoding/cosmos/params/types/types.ts | 14 +- .../encoding/cosmos/params/v1beta1/params.ts | 8 +- .../encoding/cosmos/params/v1beta1/query.ts | 8 +- .../cosmos/slashing/v1beta1/genesis.ts | 30 +-- .../encoding/cosmos/slashing/v1beta1/query.ts | 26 +-- .../cosmos/slashing/v1beta1/slashing.ts | 22 +- .../encoding/cosmos/slashing/v1beta1/tx.ts | 8 +- .../encoding/cosmos/staking/v1beta1/authz.ts | 10 +- .../cosmos/staking/v1beta1/genesis.ts | 8 +- .../encoding/cosmos/staking/v1beta1/query.ts | 116 +++++----- .../cosmos/staking/v1beta1/staking.ts | 84 ++++---- .../encoding/cosmos/staking/v1beta1/tx.ts | 44 ++-- .../cosmos/tx/signing/v1beta1/signing.ts | 22 +- .../encoding/cosmos/tx/v1beta1/service.ts | 44 ++-- .../encoding/cosmos/tx/v1beta1/tx.ts | 44 ++-- .../encoding/cosmos/upgrade/v1beta1/query.ts | 34 +-- .../cosmos/upgrade/v1beta1/upgrade.ts | 18 +- .../encoding/cosmos/vesting/v1beta1/tx.ts | 10 +- .../cosmos/vesting/v1beta1/vesting.ts | 26 +-- .../cosmos/generated/encoding/epoch/epoch.ts | 6 +- .../generated/encoding/epoch/genesis.ts | 6 +- .../cosmos/generated/encoding/epoch/params.ts | 6 +- .../cosmos/generated/encoding/epoch/query.ts | 18 +- packages/cosmos/generated/encoding/eth/tx.ts | 34 +-- .../cosmos/generated/encoding/evm/config.ts | 6 +- .../cosmos/generated/encoding/evm/genesis.ts | 26 +-- packages/cosmos/generated/encoding/evm/gov.ts | 26 +-- .../cosmos/generated/encoding/evm/params.ts | 8 +- .../cosmos/generated/encoding/evm/query.ts | 52 ++--- .../cosmos/generated/encoding/evm/receipt.ts | 8 +- packages/cosmos/generated/encoding/evm/tx.ts | 60 +++--- .../cosmos/generated/encoding/evm/types.ts | 8 +- .../generated/encoding/google/api/http.ts | 10 +- .../generated/encoding/google/api/httpbody.ts | 6 +- .../generated/encoding/google/protobuf/any.ts | 6 +- .../encoding/google/protobuf/descriptor.ts | 135 ++++++------ .../encoding/google/protobuf/duration.ts | 6 +- .../encoding/google/protobuf/timestamp.ts | 6 +- .../encoding/mint/v1beta1/genesis.ts | 6 +- .../generated/encoding/mint/v1beta1/gov.ts | 6 +- .../generated/encoding/mint/v1beta1/mint.ts | 26 +-- .../generated/encoding/mint/v1beta1/query.ts | 18 +- .../generated/encoding/oracle/genesis.ts | 10 +- .../generated/encoding/oracle/oracle.ts | 40 ++-- .../cosmos/generated/encoding/oracle/query.ts | 88 ++++---- .../cosmos/generated/encoding/oracle/tx.ts | 18 +- packages/cosmos/generated/encoding/proto.ts | 98 ++++----- .../encoding/tendermint/abci/types.ts | 199 +++++++++--------- .../encoding/tendermint/crypto/keys.ts | 6 +- .../encoding/tendermint/crypto/proof.ts | 22 +- .../encoding/tendermint/libs/bits/types.ts | 6 +- .../encoding/tendermint/p2p/types.ts | 22 +- .../encoding/tendermint/types/block.ts | 6 +- .../encoding/tendermint/types/evidence.ts | 18 +- .../encoding/tendermint/types/params.ts | 40 ++-- .../encoding/tendermint/types/types.ts | 64 +++--- .../encoding/tendermint/types/validator.ts | 10 +- .../encoding/tendermint/version/types.ts | 8 +- .../tokenfactory/authorityMetadata.ts | 6 +- .../encoding/tokenfactory/genesis.ts | 8 +- .../generated/encoding/tokenfactory/params.ts | 6 +- .../generated/encoding/tokenfactory/query.ts | 44 ++-- .../generated/encoding/tokenfactory/tx.ts | 52 ++--- .../scripts/encoding/extract-encoding.ts | 6 +- tsconfig.base.json | 1 - 127 files changed, 1682 insertions(+), 1683 deletions(-) diff --git a/packages/cosmos/README.md b/packages/cosmos/README.md index 51c9c56a1..b8ce785a8 100644 --- a/packages/cosmos/README.md +++ b/packages/cosmos/README.md @@ -4,17 +4,17 @@ ## Installation -`yarn add @sei-js/types` +`yarn add @sei-js/cosmos` ## Features - Msg, Query, and enum types for all Sei modules -- Works with `@sei-js/rest` and `@sei-js/encoding` and `@cosmjs/stargate` +- Works with `@sei-js/cosmos/rest`, `@sei-js/cosmos/encoding`, `@sei-js/cosmjs` and `@cosmjs/stargate` ## Example Usage ### Ex.) Bank Send Tx Msg ```typescript -import { MsgSend } from '@sei-js/types/cw/cosmos/bank/v1beta1'; +import { MsgSend } from '@sei-js/cosmos/types/cosmos/bank/v1beta1'; const msgSend: MsgSend = { from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', @@ -23,9 +23,9 @@ const msgSend: MsgSend = { }; ``` -### Ex.) TokenFactory Tx Msgs +### Ex.) TokenFactory Tx Msg's ```typescript -import type { MsgCreateDenom, MsgMint } from "@sei-js/types/cw/tokenfactory"; +import type { MsgCreateDenom, MsgMint } from "@sei-js/cosmos/types/tokenfactory"; const msgCreateDenom: MsgCreateDenom = { sender: accounts[0].address, @@ -41,38 +41,29 @@ const msgMint: MsgMint = { } ``` -## Development -This package is generated using buf.build. To regenerate the types, run `yarn generate` which builds the types from proto files with the buf build `ts-proto` plugin. From there, typescript is used in a postprocessing script to extract the necessary types and perform any formatting required. - # @sei-js/cosmos/encoding -The `@sei-js/encoding` package provides protobuf encoding/decoding, proto encoding type urls. It also contains amino converters and registries for @cosmjs/stargate clients. - -## Installation -```bash -yarn add @sei-js/encoding -``` +The `@sei-js/coosmos/encoding` package provides protobuf encoding/decoding, proto encoding type urls. It also contains amino converters and registries for @cosmjs/stargate clients. ## Features - Protobuf encoding/decoding for Cosmos transactions - Aggregated message typeUrl registry for `@cosmjs/stargate` clients - Amino message converters for use with Ledger or legacy Cosmos signing -- Uses official types from `@sei-js/types` +- Uses official types from `@sei-js/cosmos/types` ## Usage ### Importing ```typescript -// Import Msg and Query types -import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; -import { QueryValidatorsRequest } from '@sei-js/encoding/cw/cosmos/staking/v1beta1'; +// Import Encoder, then follow the path to the desired module +import { Encoder } from '@sei-js/cosmos/encoding'; // Import Amino converters for legacy Cosmos SDK support -import { aminoConverters } from "@sei-js/encoding/cw/stargate"; +import { aminoConverters } from "@sei-js/cosmos/encoding/stargate"; // Import typeUrl registry for Stargate clients -import { seiProtoRegistry } from "@sei-js/encoding/cw/stargate"; +import { seiProtoRegistry } from "@sei-js/cosmos/encoding/stargate"; ``` ### Proto Encoding and Type Urls @@ -80,16 +71,16 @@ import { seiProtoRegistry } from "@sei-js/encoding/cw/stargate"; Cosmos gRPC transactions are encoded using protobuf. This library exports encoding and decoding classes for all valid Sei Msg types. ```typescript -import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; +import { Encoder } from '@sei-js/cosmos/encoding'; -const msgSend = new MsgSend({ +const msgSend = Encoder.cosmos.bank.v1beta1.MsgSend.fromPartial({ from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', to_address: 'sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9', amount: [{ denom: 'usei', amount: '100' }] }); -const encoded = MsgSend.encode(msgSend).finish(); -const decoded = MsgSend.decode(encoded); +const encoded = Encoder.cosmos.bank.v1beta1.MsgSend.encode(msgSend).finish(); +const decoded = Encoder.cosmos.bank.v1beta1.MsgSend.decode(encoded); const protoMsgSend = { typeUrl: `/${MsgSend.$type}`, value: encoded }; ``` @@ -99,8 +90,8 @@ const protoMsgSend = { typeUrl: `/${MsgSend.$type}`, value: encoded }; The package provides pre-built registries and amino converters for usage with `@cosmjs/stargate`. These can be used to set up Stargate clients to sign and broadcast Sei transactions. ```typescript -import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; -import { seiProtoRegistry } from "@sei-js/encoding/cw/stargate"; +import { Encoder } from '@sei-js/cosmos/encoding'; +import { seiProtoRegistry } from "@sei-js/cosmos/encoding/stargate"; import {SigningStargateClient} from "@cosmjs/stargate"; import {Registry} from "@cosmjs/proto-signing"; @@ -120,14 +111,14 @@ const stargateClient = await SigningStargateClient.connectWithSigner( ); // Create a MsgSend object -const msgSend = MsgSend.fromPartial({ +const msgSend = Encoder.cosmos.bank.v1beta1.MsgSend.fromPartial({ from_address: accounts[0].address, to_address: "sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9", amount: [{ denom: "usei", amount: "10" }] }); // Create a message object with the typeUrl and value. (For Stargate clients the value isn't encoded, but gRPC clients typically require it to be encoded) -const message = { typeUrl: `/${MsgSend.$type}`, value: msgSend }; +const message = { typeUrl: `/${Encoder.cosmos.bank.v1beta1.MsgSend.$type}`, value: msgSend }; const txResponse = await stargateClient.signAndBroadcast(accounts[0].address, [message], { @@ -138,13 +129,13 @@ const txResponse = await stargateClient.signAndBroadcast(accounts[0].address, [m console.log(txResponse.transactionHash); ``` -### Interoperability with @sei-js/types +### Interoperability with @sei-js/cosmos/types -The `@sei-js/encoding` package is built to work seamlessly with the `@sei-js/types` package. You can use the types from `@sei-js/types` directly if needed. However, in most cases, you don't need to import `@sei-js/types` separately when using `@sei-js/encoding`, as the values returned from the encoding functions are already typed correctly. +The `@sei-js/cosmos/encoding` package is built to work seamlessly with the `@sei-js/cosmos/types` package. You can use the types from `@sei-js/cosmos/types` directly if needed. However, in most cases, you don't need to import `@sei-js/cosmos/types` separately when using `@sei-js/cosmos/encoding`, as the values returned from the encoding functions are already typed correctly. ```typescript -import { MsgSend } from '@sei-js/encoding/cw/cosmos/bank/v1beta1'; +import { Encoder } from '@sei-js/cosmos/encoding'; -const msgSend = MsgSend.fromPartial({ +const msgSend = Encoder.cosmos.bank.v1beta1.MsgSend.fromPartial({ from_address: 'sei1hafptm4zxy5nw8rd2pxyg83c5ls2v62tstzuv2', to_address: 'sei1v6459sl87jyfkvzmy6y8a6j2fj8k5r6x2n2l9' }); @@ -156,9 +147,9 @@ const msgSend = MsgSend.fromPartial({ ```typescript import {createTransportAndApp, SeiLedgerOfflineAminoSigner} from "@sei-js/ledger"; -import { MsgDelegate } from "@sei-js/encoding/cw/cosmos/staking/v1beta1"; +import { Encoder } from '@sei-js/cosmos/encoding'; -import { aminoConverters } from "@sei-js/encoding/cw/stargate"; +import { aminoConverters } from "@sei-js/cosmos/encoding/stargate"; import { AminoTypes, SigningStargateClient, coin } from "@cosmjs/stargate"; @@ -182,13 +173,13 @@ const fee = { gas: "200000", }; -const msgDelegate = MsgDelegate.fromPartial({ +const msgDelegate = Encoder.cosmos.staking.v1beta1.MsgDelegate.fromPartial({ delegator_address: cosmosAddressData.address, validator_address: validatorAddress, amount: coin(2000, "usei"), }); -const protoMessage = { typeUrl: `/${MsgDelegate.$type}`, value: msgDelegate }; +const protoMessage = { typeUrl: `/${Encoder.cosmos.staking.v1beta1.MsgDelegate.$type}`, value: msgDelegate }; // This will automatically get converted to the correct amino type due to the aminoTypes registry passed to the SigningStargateClient const result = await signingStargateClient.signAndBroadcast(cosmosAddressData.address, [protoMessage], fee, memo) @@ -202,4 +193,7 @@ if (result.code === 0) { # @sei-js/cosmos/rest -The `@sei-js/rest` package provides a REST client for the Sei chain. It is built on top of `@cosmjs/rest` and provides a more user-friendly interface for interacting with the Sei chain. It supports all Sei cosmos RPC endpoints and provides a more user-friendly interface for querying a Sei chain. +The `@sei-js/cosmos/` package provides a REST client for the Sei chain. It is built on top of `@cosmjs/rest` and provides a more user-friendly interface for interacting with the Sei chain. It supports all Sei cosmos RPC endpoints and provides a more user-friendly interface for querying a Sei chain. + +## Development +This package is generated using buf.build. To regenerate the types, run `yarn generate` which builds the types from proto files with the buf build `ts-proto` plugin. From there, typescript is used in a postprocessing script to extract the necessary types and perform any formatting required. diff --git a/packages/cosmos/generated/encoding/amino.ts b/packages/cosmos/generated/encoding/amino.ts index ce86cc660..25bf6334c 100644 --- a/packages/cosmos/generated/encoding/amino.ts +++ b/packages/cosmos/generated/encoding/amino.ts @@ -113,114 +113,114 @@ import { aminoConverters as tokenfactory_tx_amino } from "./tokenfactory/tx"; export const aminoConverters: AminoConverters = { ...confio_proofs_amino, - ...epoch_epoch_amino, ...epoch_genesis_amino, ...epoch_params_amino, + ...epoch_epoch_amino, ...epoch_query_amino, + ...eth_tx_amino, ...evm_config_amino, ...evm_genesis_amino, + ...evm_query_amino, + ...evm_tx_amino, + ...evm_params_amino, ...evm_types_amino, ...evm_receipt_amino, - ...evm_params_amino, - ...evm_tx_amino, - ...evm_query_amino, - ...eth_tx_amino, ...oracle_genesis_amino, ...oracle_oracle_amino, - ...oracle_query_amino, ...tokenfactory_genesis_amino, + ...oracle_query_amino, ...tokenfactory_params_amino, + ...tokenfactory_tx_amino, ...cosmos_accesscontrol_accesscontrol_amino, ...cosmos_accesscontrol_x_genesis_amino, ...cosmos_accesscontrol_x_query_amino, - ...tokenfactory_tx_amino, + ...google_api_http_amino, + ...google_api_httpbody_amino, + ...google_protobuf_any_amino, + ...google_protobuf_duration_amino, + ...google_protobuf_timestamp_amino, ...mint_v1beta1_genesis_amino, - ...mint_v1beta1_query_amino, + ...google_protobuf_descriptor_amino, ...mint_v1beta1_gov_amino, ...mint_v1beta1_mint_amino, - ...google_protobuf_duration_amino, - ...google_api_http_amino, - ...google_protobuf_timestamp_amino, - ...google_protobuf_any_amino, + ...mint_v1beta1_query_amino, ...tendermint_crypto_keys_amino, ...tendermint_crypto_proof_amino, - ...google_protobuf_descriptor_amino, - ...tendermint_abci_types_amino, - ...google_api_httpbody_amino, ...tendermint_p2p_types_amino, + ...tendermint_abci_types_amino, + ...tendermint_types_block_amino, + ...tendermint_types_evidence_amino, + ...tendermint_types_params_amino, ...tendermint_version_types_amino, ...tendermint_types_validator_amino, ...tendermint_types_types_amino, - ...tendermint_types_evidence_amino, - ...cosmos_authz_v1beta1_genesis_amino, + ...cosmos_auth_v1beta1_genesis_amino, + ...cosmos_auth_v1beta1_query_amino, + ...cosmos_authz_v1beta1_authz_amino, + ...cosmos_auth_v1beta1_auth_amino, ...cosmos_authz_v1beta1_event_amino, - ...tendermint_types_params_amino, + ...cosmos_authz_v1beta1_genesis_amino, + ...cosmos_authz_v1beta1_query_amino, ...cosmos_authz_v1beta1_tx_amino, - ...tendermint_types_block_amino, + ...cosmos_base_v1beta1_coin_amino, + ...cosmos_bank_v1beta1_authz_amino, + ...cosmos_bank_v1beta1_bank_amino, ...cosmos_bank_v1beta1_genesis_amino, ...cosmos_bank_v1beta1_query_amino, - ...cosmos_bank_v1beta1_bank_amino, - ...cosmos_bank_v1beta1_authz_amino, - ...cosmos_authz_v1beta1_query_amino, - ...cosmos_auth_v1beta1_auth_amino, - ...cosmos_crisis_v1beta1_genesis_amino, - ...cosmos_auth_v1beta1_genesis_amino, ...cosmos_bank_v1beta1_tx_amino, - ...cosmos_authz_v1beta1_authz_amino, - ...cosmos_auth_v1beta1_query_amino, + ...cosmos_crisis_v1beta1_genesis_amino, ...cosmos_crisis_v1beta1_tx_amino, - ...cosmos_distribution_v1beta1_query_amino, - ...cosmos_evidence_v1beta1_genesis_amino, - ...cosmos_evidence_v1beta1_evidence_amino, - ...cosmos_distribution_v1beta1_distribution_amino, - ...cosmos_distribution_v1beta1_genesis_amino, - ...cosmos_evidence_v1beta1_query_amino, - ...cosmos_evidence_v1beta1_tx_amino, + ...cosmos_crypto_ed25519_keys_amino, ...cosmos_capability_v1beta1_capability_amino, ...cosmos_capability_v1beta1_genesis_amino, - ...cosmos_feegrant_v1beta1_feegrant_amino, - ...cosmos_feegrant_v1beta1_genesis_amino, - ...cosmos_base_v1beta1_coin_amino, - ...cosmos_feegrant_v1beta1_query_amino, - ...cosmos_feegrant_v1beta1_tx_amino, - ...cosmos_crypto_ed25519_keys_amino, ...cosmos_crypto_secp256k1_keys_amino, - ...cosmos_genutil_v1beta1_genesis_amino, ...cosmos_crypto_secp256r1_keys_amino, ...cosmos_crypto_multisig_keys_amino, - ...cosmos_gov_v1beta1_genesis_amino, ...cosmos_crypto_sr25519_keys_amino, + ...cosmos_distribution_v1beta1_distribution_amino, + ...cosmos_distribution_v1beta1_genesis_amino, + ...cosmos_feegrant_v1beta1_genesis_amino, + ...cosmos_distribution_v1beta1_query_amino, + ...cosmos_evidence_v1beta1_evidence_amino, + ...cosmos_feegrant_v1beta1_query_amino, + ...cosmos_feegrant_v1beta1_feegrant_amino, + ...cosmos_evidence_v1beta1_genesis_amino, + ...cosmos_feegrant_v1beta1_tx_amino, + ...cosmos_evidence_v1beta1_query_amino, + ...cosmos_evidence_v1beta1_tx_amino, + ...cosmos_mint_v1beta1_genesis_amino, + ...cosmos_mint_v1beta1_mint_amino, + ...cosmos_mint_v1beta1_query_amino, + ...cosmos_gov_v1beta1_genesis_amino, ...cosmos_gov_v1beta1_gov_amino, - ...cosmos_gov_v1beta1_query_amino, ...cosmos_gov_v1beta1_tx_amino, + ...cosmos_params_types_types_amino, ...cosmos_params_v1beta1_params_amino, ...cosmos_params_v1beta1_query_amino, - ...cosmos_mint_v1beta1_genesis_amino, - ...cosmos_mint_v1beta1_mint_amino, - ...cosmos_params_types_types_amino, + ...cosmos_slashing_v1beta1_genesis_amino, + ...cosmos_gov_v1beta1_query_amino, + ...cosmos_slashing_v1beta1_query_amino, ...cosmos_staking_v1beta1_genesis_amino, + ...cosmos_slashing_v1beta1_slashing_amino, + ...cosmos_slashing_v1beta1_tx_amino, ...cosmos_staking_v1beta1_authz_amino, - ...cosmos_mint_v1beta1_query_amino, - ...cosmos_staking_v1beta1_staking_amino, - ...cosmos_slashing_v1beta1_query_amino, ...cosmos_staking_v1beta1_query_amino, - ...cosmos_slashing_v1beta1_tx_amino, ...cosmos_staking_v1beta1_tx_amino, - ...cosmos_slashing_v1beta1_genesis_amino, - ...cosmos_slashing_v1beta1_slashing_amino, + ...cosmos_staking_v1beta1_staking_amino, + ...cosmos_genutil_v1beta1_genesis_amino, ...cosmos_vesting_v1beta1_vesting_amino, ...cosmos_tx_v1beta1_service_amino, ...cosmos_tx_v1beta1_tx_amino, ...cosmos_upgrade_v1beta1_upgrade_amino, ...tendermint_libs_bits_types_amino, - ...cosmos_base_reflection_v2alpha1_reflection_amino, - ...cosmos_base_store_v1beta1_commit_info_amino, - ...cosmos_base_store_v1beta1_listening_amino, - ...cosmos_base_query_v1beta1_pagination_amino, - ...cosmos_base_kv_v1beta1_kv_amino, ...cosmos_base_abci_v1beta1_abci_amino, + ...cosmos_base_kv_v1beta1_kv_amino, + ...cosmos_base_snapshots_v1beta1_snapshot_amino, + ...cosmos_base_query_v1beta1_pagination_amino, + ...cosmos_base_store_v1beta1_commit_info_amino, ...cosmos_base_tendermint_v1beta1_query_amino, + ...cosmos_base_store_v1beta1_listening_amino, + ...cosmos_base_reflection_v2alpha1_reflection_amino, ...cosmos_crypto_multisig_v1beta1_multisig_amino, - ...cosmos_base_snapshots_v1beta1_snapshot_amino, ...cosmos_tx_signing_v1beta1_signing_amino, }; diff --git a/packages/cosmos/generated/encoding/confio/proofs.ts b/packages/cosmos/generated/encoding/confio/proofs.ts index 1120849ee..1d4142434 100644 --- a/packages/cosmos/generated/encoding/confio/proofs.ts +++ b/packages/cosmos/generated/encoding/confio/proofs.ts @@ -3,38 +3,38 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - BatchEntry as BatchEntryType, - BatchProof as BatchProofType, - CommitmentProof as CommitmentProofType, - CompressedBatchEntry as CompressedBatchEntryType, - CompressedBatchProof as CompressedBatchProofType, - CompressedExistenceProof as CompressedExistenceProofType, - CompressedNonExistenceProof as CompressedNonExistenceProofType, - ExistenceProof as ExistenceProofType, - InnerOp as InnerOpType, - InnerSpec as InnerSpecType, - LeafOp as LeafOpType, - NonExistenceProof as NonExistenceProofType, - ProofSpec as ProofSpecType, + BatchEntry as BatchEntry_type, + BatchProof as BatchProof_type, + CommitmentProof as CommitmentProof_type, + CompressedBatchEntry as CompressedBatchEntry_type, + CompressedBatchProof as CompressedBatchProof_type, + CompressedExistenceProof as CompressedExistenceProof_type, + CompressedNonExistenceProof as CompressedNonExistenceProof_type, + ExistenceProof as ExistenceProof_type, + InnerOp as InnerOp_type, + InnerSpec as InnerSpec_type, + LeafOp as LeafOp_type, + NonExistenceProof as NonExistenceProof_type, + ProofSpec as ProofSpec_type, } from "../../types/confio"; import { HashOp, LengthOp } from "../../types/confio"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface ExistenceProof extends ExistenceProofType {} -interface NonExistenceProof extends NonExistenceProofType {} -interface CommitmentProof extends CommitmentProofType {} -interface LeafOp extends LeafOpType {} -interface InnerOp extends InnerOpType {} -interface ProofSpec extends ProofSpecType {} -interface InnerSpec extends InnerSpecType {} -interface BatchProof extends BatchProofType {} -interface BatchEntry extends BatchEntryType {} -interface CompressedBatchProof extends CompressedBatchProofType {} -interface CompressedBatchEntry extends CompressedBatchEntryType {} -interface CompressedExistenceProof extends CompressedExistenceProofType {} -interface CompressedNonExistenceProof extends CompressedNonExistenceProofType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface ExistenceProof extends ExistenceProof_type {} +export interface NonExistenceProof extends NonExistenceProof_type {} +export interface CommitmentProof extends CommitmentProof_type {} +export interface LeafOp extends LeafOp_type {} +export interface InnerOp extends InnerOp_type {} +export interface ProofSpec extends ProofSpec_type {} +export interface InnerSpec extends InnerSpec_type {} +export interface BatchProof extends BatchProof_type {} +export interface BatchEntry extends BatchEntry_type {} +export interface CompressedBatchProof extends CompressedBatchProof_type {} +export interface CompressedBatchEntry extends CompressedBatchEntry_type {} +export interface CompressedExistenceProof extends CompressedExistenceProof_type {} +export interface CompressedNonExistenceProof extends CompressedNonExistenceProof_type {} export const ExistenceProof: MessageFns = { $type: "ics23.ExistenceProof" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts index 73a8ba33e..a416fe36a 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/accesscontrol.ts @@ -14,24 +14,24 @@ import { } from "./constants"; import type { - AccessOperation as AccessOperationType, - MessageDependencyMapping as MessageDependencyMappingType, - WasmAccessOperation as WasmAccessOperationType, - WasmAccessOperations as WasmAccessOperationsType, - WasmContractReference as WasmContractReferenceType, - WasmContractReferences as WasmContractReferencesType, - WasmDependencyMapping as WasmDependencyMappingType, + AccessOperation as AccessOperation_type, + MessageDependencyMapping as MessageDependencyMapping_type, + WasmAccessOperation as WasmAccessOperation_type, + WasmAccessOperations as WasmAccessOperations_type, + WasmContractReference as WasmContractReference_type, + WasmContractReferences as WasmContractReferences_type, + WasmDependencyMapping as WasmDependencyMapping_type, } from "../../../types/cosmos/accesscontrol"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface AccessOperation extends AccessOperationType {} -interface WasmAccessOperation extends WasmAccessOperationType {} -interface WasmContractReference extends WasmContractReferenceType {} -interface WasmContractReferences extends WasmContractReferencesType {} -interface WasmAccessOperations extends WasmAccessOperationsType {} -interface MessageDependencyMapping extends MessageDependencyMappingType {} -interface WasmDependencyMapping extends WasmDependencyMappingType {} +export interface AccessOperation extends AccessOperation_type {} +export interface WasmAccessOperation extends WasmAccessOperation_type {} +export interface WasmContractReference extends WasmContractReference_type {} +export interface WasmContractReferences extends WasmContractReferences_type {} +export interface WasmAccessOperations extends WasmAccessOperations_type {} +export interface MessageDependencyMapping extends MessageDependencyMapping_type {} +export interface WasmDependencyMapping extends WasmDependencyMapping_type {} export const AccessOperation: MessageFns = { $type: "cosmos.accesscontrol.v1beta1.AccessOperation" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts index 7958cf68c..5daa12b9b 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol/legacy.ts @@ -5,14 +5,14 @@ import { AccessOperation } from "./accesscontrol"; import { accessOperationSelectorTypeFromJSON, accessOperationSelectorTypeToJSON } from "./constants"; import type { - LegacyAccessOperationWithSelector as LegacyAccessOperationWithSelectorType, - LegacyWasmDependencyMapping as LegacyWasmDependencyMappingType, + LegacyAccessOperationWithSelector as LegacyAccessOperationWithSelector_type, + LegacyWasmDependencyMapping as LegacyWasmDependencyMapping_type, } from "../../../types/cosmos/accesscontrol"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface LegacyAccessOperationWithSelector extends LegacyAccessOperationWithSelectorType {} -interface LegacyWasmDependencyMapping extends LegacyWasmDependencyMappingType {} +export interface LegacyAccessOperationWithSelector extends LegacyAccessOperationWithSelector_type {} +export interface LegacyWasmDependencyMapping extends LegacyWasmDependencyMapping_type {} export const LegacyAccessOperationWithSelector: MessageFns< LegacyAccessOperationWithSelector, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts index af149c7ac..03629c052 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/genesis.ts @@ -4,12 +4,12 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; -import type { GenesisState as GenesisStateType, Params as ParamsType } from "../../../types/cosmos/accesscontrol_x"; +import type { GenesisState as GenesisState_type, Params as Params_type } from "../../../types/cosmos/accesscontrol_x"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface GenesisState extends GenesisStateType {} -interface Params extends ParamsType {} +export interface GenesisState extends GenesisState_type {} +export interface Params extends Params_type {} export const GenesisState: MessageFns = { $type: "cosmos.accesscontrol_x.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts index e15cb65a2..21ef46b19 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/gov.ts @@ -3,20 +3,20 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontrol/accesscontrol"; import type { - MsgUpdateResourceDependencyMappingProposalJsonFile as MsgUpdateResourceDependencyMappingProposalJsonFileType, - MsgUpdateResourceDependencyMappingProposalResponse as MsgUpdateResourceDependencyMappingProposalResponseType, - MsgUpdateResourceDependencyMappingProposal as MsgUpdateResourceDependencyMappingProposalType, - MsgUpdateWasmDependencyMappingProposalJsonFile as MsgUpdateWasmDependencyMappingProposalJsonFileType, - MsgUpdateWasmDependencyMappingProposal as MsgUpdateWasmDependencyMappingProposalType, + MsgUpdateResourceDependencyMappingProposalJsonFile as MsgUpdateResourceDependencyMappingProposalJsonFile_type, + MsgUpdateResourceDependencyMappingProposalResponse as MsgUpdateResourceDependencyMappingProposalResponse_type, + MsgUpdateResourceDependencyMappingProposal as MsgUpdateResourceDependencyMappingProposal_type, + MsgUpdateWasmDependencyMappingProposalJsonFile as MsgUpdateWasmDependencyMappingProposalJsonFile_type, + MsgUpdateWasmDependencyMappingProposal as MsgUpdateWasmDependencyMappingProposal_type, } from "../../../types/cosmos/accesscontrol_x"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface MsgUpdateResourceDependencyMappingProposal extends MsgUpdateResourceDependencyMappingProposalType {} -interface MsgUpdateResourceDependencyMappingProposalJsonFile extends MsgUpdateResourceDependencyMappingProposalJsonFileType {} -interface MsgUpdateResourceDependencyMappingProposalResponse extends MsgUpdateResourceDependencyMappingProposalResponseType {} -interface MsgUpdateWasmDependencyMappingProposal extends MsgUpdateWasmDependencyMappingProposalType {} -interface MsgUpdateWasmDependencyMappingProposalJsonFile extends MsgUpdateWasmDependencyMappingProposalJsonFileType {} +export interface MsgUpdateResourceDependencyMappingProposal extends MsgUpdateResourceDependencyMappingProposal_type {} +export interface MsgUpdateResourceDependencyMappingProposalJsonFile extends MsgUpdateResourceDependencyMappingProposalJsonFile_type {} +export interface MsgUpdateResourceDependencyMappingProposalResponse extends MsgUpdateResourceDependencyMappingProposalResponse_type {} +export interface MsgUpdateWasmDependencyMappingProposal extends MsgUpdateWasmDependencyMappingProposal_type {} +export interface MsgUpdateWasmDependencyMappingProposalJsonFile extends MsgUpdateWasmDependencyMappingProposalJsonFile_type {} export const MsgUpdateResourceDependencyMappingProposal: MessageFns< MsgUpdateResourceDependencyMappingProposal, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts index 8eaa9a2d7..ad539ac51 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/query.ts @@ -7,30 +7,30 @@ import { MessageDependencyMapping, WasmDependencyMapping } from "../accesscontro import { Params } from "./genesis"; import type { - ListResourceDependencyMappingRequest as ListResourceDependencyMappingRequestType, - ListResourceDependencyMappingResponse as ListResourceDependencyMappingResponseType, - ListWasmDependencyMappingRequest as ListWasmDependencyMappingRequestType, - ListWasmDependencyMappingResponse as ListWasmDependencyMappingResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - ResourceDependencyMappingFromMessageKeyRequest as ResourceDependencyMappingFromMessageKeyRequestType, - ResourceDependencyMappingFromMessageKeyResponse as ResourceDependencyMappingFromMessageKeyResponseType, - WasmDependencyMappingRequest as WasmDependencyMappingRequestType, - WasmDependencyMappingResponse as WasmDependencyMappingResponseType, + ListResourceDependencyMappingRequest as ListResourceDependencyMappingRequest_type, + ListResourceDependencyMappingResponse as ListResourceDependencyMappingResponse_type, + ListWasmDependencyMappingRequest as ListWasmDependencyMappingRequest_type, + ListWasmDependencyMappingResponse as ListWasmDependencyMappingResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + ResourceDependencyMappingFromMessageKeyRequest as ResourceDependencyMappingFromMessageKeyRequest_type, + ResourceDependencyMappingFromMessageKeyResponse as ResourceDependencyMappingFromMessageKeyResponse_type, + WasmDependencyMappingRequest as WasmDependencyMappingRequest_type, + WasmDependencyMappingResponse as WasmDependencyMappingResponse_type, } from "../../../types/cosmos/accesscontrol_x"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; - -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface ResourceDependencyMappingFromMessageKeyRequest extends ResourceDependencyMappingFromMessageKeyRequestType {} -interface ResourceDependencyMappingFromMessageKeyResponse extends ResourceDependencyMappingFromMessageKeyResponseType {} -interface WasmDependencyMappingRequest extends WasmDependencyMappingRequestType {} -interface WasmDependencyMappingResponse extends WasmDependencyMappingResponseType {} -interface ListResourceDependencyMappingRequest extends ListResourceDependencyMappingRequestType {} -interface ListResourceDependencyMappingResponse extends ListResourceDependencyMappingResponseType {} -interface ListWasmDependencyMappingRequest extends ListWasmDependencyMappingRequestType {} -interface ListWasmDependencyMappingResponse extends ListWasmDependencyMappingResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../common"; + +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface ResourceDependencyMappingFromMessageKeyRequest extends ResourceDependencyMappingFromMessageKeyRequest_type {} +export interface ResourceDependencyMappingFromMessageKeyResponse extends ResourceDependencyMappingFromMessageKeyResponse_type {} +export interface WasmDependencyMappingRequest extends WasmDependencyMappingRequest_type {} +export interface WasmDependencyMappingResponse extends WasmDependencyMappingResponse_type {} +export interface ListResourceDependencyMappingRequest extends ListResourceDependencyMappingRequest_type {} +export interface ListResourceDependencyMappingResponse extends ListResourceDependencyMappingResponse_type {} +export interface ListWasmDependencyMappingRequest extends ListWasmDependencyMappingRequest_type {} +export interface ListWasmDependencyMappingResponse extends ListWasmDependencyMappingResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "cosmos.accesscontrol_x.v1beta1.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts index 26dc1821b..d670fff84 100644 --- a/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/accesscontrol_x/tx.ts @@ -3,16 +3,16 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { WasmDependencyMapping } from "../accesscontrol/accesscontrol"; import type { - MsgRegisterWasmDependencyResponse as MsgRegisterWasmDependencyResponseType, - MsgRegisterWasmDependency as MsgRegisterWasmDependencyType, - RegisterWasmDependencyJSONFile as RegisterWasmDependencyJSONFileType, + MsgRegisterWasmDependencyResponse as MsgRegisterWasmDependencyResponse_type, + MsgRegisterWasmDependency as MsgRegisterWasmDependency_type, + RegisterWasmDependencyJSONFile as RegisterWasmDependencyJSONFile_type, } from "../../../types/cosmos/accesscontrol_x"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface RegisterWasmDependencyJSONFile extends RegisterWasmDependencyJSONFileType {} -interface MsgRegisterWasmDependency extends MsgRegisterWasmDependencyType {} -interface MsgRegisterWasmDependencyResponse extends MsgRegisterWasmDependencyResponseType {} +export interface RegisterWasmDependencyJSONFile extends RegisterWasmDependencyJSONFile_type {} +export interface MsgRegisterWasmDependency extends MsgRegisterWasmDependency_type {} +export interface MsgRegisterWasmDependencyResponse extends MsgRegisterWasmDependencyResponse_type {} export const RegisterWasmDependencyJSONFile: MessageFns = { $type: "cosmos.accesscontrol_x.v1beta1.RegisterWasmDependencyJSONFile" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts index af5ea3320..f8f933f57 100644 --- a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/auth.ts @@ -4,13 +4,13 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../../../google/protobuf/any"; -import type { BaseAccount as BaseAccountType, ModuleAccount as ModuleAccountType, Params as ParamsType } from "../../../../types/cosmos/auth/v1beta1"; +import type { BaseAccount as BaseAccount_type, ModuleAccount as ModuleAccount_type, Params as Params_type } from "../../../../types/cosmos/auth/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface BaseAccount extends BaseAccountType {} -interface ModuleAccount extends ModuleAccountType {} -interface Params extends ParamsType {} +export interface BaseAccount extends BaseAccount_type {} +export interface ModuleAccount extends ModuleAccount_type {} +export interface Params extends Params_type {} export const BaseAccount: MessageFns = { $type: "cosmos.auth.v1beta1.BaseAccount" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts index 38e5cd9f3..571cec184 100644 --- a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/genesis.ts @@ -6,11 +6,11 @@ import { Any } from "../../../google/protobuf/any"; import { Params } from "./auth"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/auth/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/auth/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.auth.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts index 3ccf149a2..3c7f15cc3 100644 --- a/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/auth/v1beta1/query.ts @@ -9,26 +9,26 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Params } from "./auth"; import type { - QueryAccountRequest as QueryAccountRequestType, - QueryAccountResponse as QueryAccountResponseType, - QueryAccountsRequest as QueryAccountsRequestType, - QueryAccountsResponse as QueryAccountsResponseType, - QueryNextAccountNumberRequest as QueryNextAccountNumberRequestType, - QueryNextAccountNumberResponse as QueryNextAccountNumberResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, + QueryAccountRequest as QueryAccountRequest_type, + QueryAccountResponse as QueryAccountResponse_type, + QueryAccountsRequest as QueryAccountsRequest_type, + QueryAccountsResponse as QueryAccountsResponse_type, + QueryNextAccountNumberRequest as QueryNextAccountNumberRequest_type, + QueryNextAccountNumberResponse as QueryNextAccountNumberResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, } from "../../../../types/cosmos/auth/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryAccountsRequest extends QueryAccountsRequestType {} -interface QueryAccountsResponse extends QueryAccountsResponseType {} -interface QueryAccountRequest extends QueryAccountRequestType {} -interface QueryAccountResponse extends QueryAccountResponseType {} -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryNextAccountNumberRequest extends QueryNextAccountNumberRequestType {} -interface QueryNextAccountNumberResponse extends QueryNextAccountNumberResponseType {} +export interface QueryAccountsRequest extends QueryAccountsRequest_type {} +export interface QueryAccountsResponse extends QueryAccountsResponse_type {} +export interface QueryAccountRequest extends QueryAccountRequest_type {} +export interface QueryAccountResponse extends QueryAccountResponse_type {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryNextAccountNumberRequest extends QueryNextAccountNumberRequest_type {} +export interface QueryNextAccountNumberResponse extends QueryNextAccountNumberResponse_type {} export const QueryAccountsRequest: MessageFns = { $type: "cosmos.auth.v1beta1.QueryAccountsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts index 9b6189722..c71fe2dcf 100644 --- a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/authz.ts @@ -7,16 +7,16 @@ import { Any } from "../../../google/protobuf/any"; import { Timestamp } from "../../../google/protobuf/timestamp"; import type { - GenericAuthorization as GenericAuthorizationType, - GrantAuthorization as GrantAuthorizationType, - Grant as GrantType, + GenericAuthorization as GenericAuthorization_type, + GrantAuthorization as GrantAuthorization_type, + Grant as Grant_type, } from "../../../../types/cosmos/authz/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenericAuthorization extends GenericAuthorizationType {} -interface Grant extends GrantType {} -interface GrantAuthorization extends GrantAuthorizationType {} +export interface GenericAuthorization extends GenericAuthorization_type {} +export interface Grant extends Grant_type {} +export interface GrantAuthorization extends GrantAuthorization_type {} export const GenericAuthorization: MessageFns = { $type: "cosmos.authz.v1beta1.GenericAuthorization" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts index 046dc05a9..d286f19e5 100644 --- a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/event.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { EventGrant as EventGrantType, EventRevoke as EventRevokeType } from "../../../../types/cosmos/authz/v1beta1"; +import type { EventGrant as EventGrant_type, EventRevoke as EventRevoke_type } from "../../../../types/cosmos/authz/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface EventGrant extends EventGrantType {} -interface EventRevoke extends EventRevokeType {} +export interface EventGrant extends EventGrant_type {} +export interface EventRevoke extends EventRevoke_type {} export const EventGrant: MessageFns = { $type: "cosmos.authz.v1beta1.EventGrant" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts index 81ff41b7f..8bc82f01d 100644 --- a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { GrantAuthorization } from "./authz"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/authz/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/authz/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.authz.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts index a093e723d..5fe30e7ea 100644 --- a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/query.ts @@ -7,22 +7,22 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Grant, GrantAuthorization } from "./authz"; import type { - QueryGranteeGrantsRequest as QueryGranteeGrantsRequestType, - QueryGranteeGrantsResponse as QueryGranteeGrantsResponseType, - QueryGranterGrantsRequest as QueryGranterGrantsRequestType, - QueryGranterGrantsResponse as QueryGranterGrantsResponseType, - QueryGrantsRequest as QueryGrantsRequestType, - QueryGrantsResponse as QueryGrantsResponseType, + QueryGranteeGrantsRequest as QueryGranteeGrantsRequest_type, + QueryGranteeGrantsResponse as QueryGranteeGrantsResponse_type, + QueryGranterGrantsRequest as QueryGranterGrantsRequest_type, + QueryGranterGrantsResponse as QueryGranterGrantsResponse_type, + QueryGrantsRequest as QueryGrantsRequest_type, + QueryGrantsResponse as QueryGrantsResponse_type, } from "../../../../types/cosmos/authz/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryGrantsRequest extends QueryGrantsRequestType {} -interface QueryGrantsResponse extends QueryGrantsResponseType {} -interface QueryGranterGrantsRequest extends QueryGranterGrantsRequestType {} -interface QueryGranterGrantsResponse extends QueryGranterGrantsResponseType {} -interface QueryGranteeGrantsRequest extends QueryGranteeGrantsRequestType {} -interface QueryGranteeGrantsResponse extends QueryGranteeGrantsResponseType {} +export interface QueryGrantsRequest extends QueryGrantsRequest_type {} +export interface QueryGrantsResponse extends QueryGrantsResponse_type {} +export interface QueryGranterGrantsRequest extends QueryGranterGrantsRequest_type {} +export interface QueryGranterGrantsResponse extends QueryGranterGrantsResponse_type {} +export interface QueryGranteeGrantsRequest extends QueryGranteeGrantsRequest_type {} +export interface QueryGranteeGrantsResponse extends QueryGranteeGrantsResponse_type {} export const QueryGrantsRequest: MessageFns = { $type: "cosmos.authz.v1beta1.QueryGrantsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts index 8e2f37ac6..5bde960b6 100644 --- a/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/authz/v1beta1/tx.ts @@ -7,22 +7,22 @@ import { Any } from "../../../google/protobuf/any"; import { Grant } from "./authz"; import type { - MsgExecResponse as MsgExecResponseType, - MsgExec as MsgExecType, - MsgGrantResponse as MsgGrantResponseType, - MsgGrant as MsgGrantType, - MsgRevokeResponse as MsgRevokeResponseType, - MsgRevoke as MsgRevokeType, + MsgExecResponse as MsgExecResponse_type, + MsgExec as MsgExec_type, + MsgGrantResponse as MsgGrantResponse_type, + MsgGrant as MsgGrant_type, + MsgRevokeResponse as MsgRevokeResponse_type, + MsgRevoke as MsgRevoke_type, } from "../../../../types/cosmos/authz/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgGrant extends MsgGrantType {} -interface MsgExecResponse extends MsgExecResponseType {} -interface MsgExec extends MsgExecType {} -interface MsgGrantResponse extends MsgGrantResponseType {} -interface MsgRevoke extends MsgRevokeType {} -interface MsgRevokeResponse extends MsgRevokeResponseType {} +export interface MsgGrant extends MsgGrant_type {} +export interface MsgExecResponse extends MsgExecResponse_type {} +export interface MsgExec extends MsgExec_type {} +export interface MsgGrantResponse extends MsgGrantResponse_type {} +export interface MsgRevoke extends MsgRevoke_type {} +export interface MsgRevokeResponse extends MsgRevokeResponse_type {} export const MsgGrant: MessageFns = { $type: "cosmos.authz.v1beta1.MsgGrant" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts index 13205fc49..e6ca33c75 100644 --- a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/authz.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; -import type { SendAuthorization as SendAuthorizationType } from "../../../../types/cosmos/bank/v1beta1"; +import type { SendAuthorization as SendAuthorization_type } from "../../../../types/cosmos/bank/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface SendAuthorization extends SendAuthorizationType {} +export interface SendAuthorization extends SendAuthorization_type {} export const SendAuthorization: MessageFns = { $type: "cosmos.bank.v1beta1.SendAuthorization" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts index d780a3f7b..211040f9b 100644 --- a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/bank.ts @@ -5,26 +5,26 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; import type { - AllowList as AllowListType, - DenomUnit as DenomUnitType, - Input as InputType, - Metadata as MetadataType, - Output as OutputType, - Params as ParamsType, - SendEnabled as SendEnabledType, - Supply as SupplyType, + AllowList as AllowList_type, + DenomUnit as DenomUnit_type, + Input as Input_type, + Metadata as Metadata_type, + Output as Output_type, + Params as Params_type, + SendEnabled as SendEnabled_type, + Supply as Supply_type, } from "../../../../types/cosmos/bank/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Params extends ParamsType {} -interface SendEnabled extends SendEnabledType {} -interface Input extends InputType {} -interface Output extends OutputType {} -interface Supply extends SupplyType {} -interface DenomUnit extends DenomUnitType {} -interface Metadata extends MetadataType {} -interface AllowList extends AllowListType {} +export interface Params extends Params_type {} +export interface SendEnabled extends SendEnabled_type {} +export interface Input extends Input_type {} +export interface Output extends Output_type {} +export interface Supply extends Supply_type {} +export interface DenomUnit extends DenomUnit_type {} +export interface Metadata extends Metadata_type {} +export interface AllowList extends AllowList_type {} export const Params: MessageFns = { $type: "cosmos.bank.v1beta1.Params" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts index a682d4932..95afa6cbe 100644 --- a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/genesis.ts @@ -6,13 +6,13 @@ import { Coin } from "../../base/v1beta1/coin"; import { Metadata, Params } from "./bank"; -import type { Balance as BalanceType, GenesisState as GenesisStateType, WeiBalance as WeiBalanceType } from "../../../../types/cosmos/bank/v1beta1"; +import type { Balance as Balance_type, GenesisState as GenesisState_type, WeiBalance as WeiBalance_type } from "../../../../types/cosmos/bank/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} -interface Balance extends BalanceType {} -interface WeiBalance extends WeiBalanceType {} +export interface GenesisState extends GenesisState_type {} +export interface Balance extends Balance_type {} +export interface WeiBalance extends WeiBalance_type {} export const GenesisState: MessageFns = { $type: "cosmos.bank.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts index 42cdf3ce2..e73e29080 100644 --- a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/query.ts @@ -9,42 +9,42 @@ import { Coin } from "../../base/v1beta1/coin"; import { Metadata, Params } from "./bank"; import type { - QueryAllBalancesRequest as QueryAllBalancesRequestType, - QueryAllBalancesResponse as QueryAllBalancesResponseType, - QueryBalanceRequest as QueryBalanceRequestType, - QueryBalanceResponse as QueryBalanceResponseType, - QueryDenomMetadataRequest as QueryDenomMetadataRequestType, - QueryDenomMetadataResponse as QueryDenomMetadataResponseType, - QueryDenomsMetadataRequest as QueryDenomsMetadataRequestType, - QueryDenomsMetadataResponse as QueryDenomsMetadataResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QuerySpendableBalancesRequest as QuerySpendableBalancesRequestType, - QuerySpendableBalancesResponse as QuerySpendableBalancesResponseType, - QuerySupplyOfRequest as QuerySupplyOfRequestType, - QuerySupplyOfResponse as QuerySupplyOfResponseType, - QueryTotalSupplyRequest as QueryTotalSupplyRequestType, - QueryTotalSupplyResponse as QueryTotalSupplyResponseType, + QueryAllBalancesRequest as QueryAllBalancesRequest_type, + QueryAllBalancesResponse as QueryAllBalancesResponse_type, + QueryBalanceRequest as QueryBalanceRequest_type, + QueryBalanceResponse as QueryBalanceResponse_type, + QueryDenomMetadataRequest as QueryDenomMetadataRequest_type, + QueryDenomMetadataResponse as QueryDenomMetadataResponse_type, + QueryDenomsMetadataRequest as QueryDenomsMetadataRequest_type, + QueryDenomsMetadataResponse as QueryDenomsMetadataResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QuerySpendableBalancesRequest as QuerySpendableBalancesRequest_type, + QuerySpendableBalancesResponse as QuerySpendableBalancesResponse_type, + QuerySupplyOfRequest as QuerySupplyOfRequest_type, + QuerySupplyOfResponse as QuerySupplyOfResponse_type, + QueryTotalSupplyRequest as QueryTotalSupplyRequest_type, + QueryTotalSupplyResponse as QueryTotalSupplyResponse_type, } from "../../../../types/cosmos/bank/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface QueryBalanceRequest extends QueryBalanceRequestType {} -interface QueryBalanceResponse extends QueryBalanceResponseType {} -interface QueryAllBalancesRequest extends QueryAllBalancesRequestType {} -interface QueryAllBalancesResponse extends QueryAllBalancesResponseType {} -interface QuerySpendableBalancesRequest extends QuerySpendableBalancesRequestType {} -interface QuerySpendableBalancesResponse extends QuerySpendableBalancesResponseType {} -interface QueryTotalSupplyRequest extends QueryTotalSupplyRequestType {} -interface QueryTotalSupplyResponse extends QueryTotalSupplyResponseType {} -interface QuerySupplyOfRequest extends QuerySupplyOfRequestType {} -interface QuerySupplyOfResponse extends QuerySupplyOfResponseType {} -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryDenomsMetadataRequest extends QueryDenomsMetadataRequestType {} -interface QueryDenomsMetadataResponse extends QueryDenomsMetadataResponseType {} -interface QueryDenomMetadataRequest extends QueryDenomMetadataRequestType {} -interface QueryDenomMetadataResponse extends QueryDenomMetadataResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface QueryBalanceRequest extends QueryBalanceRequest_type {} +export interface QueryBalanceResponse extends QueryBalanceResponse_type {} +export interface QueryAllBalancesRequest extends QueryAllBalancesRequest_type {} +export interface QueryAllBalancesResponse extends QueryAllBalancesResponse_type {} +export interface QuerySpendableBalancesRequest extends QuerySpendableBalancesRequest_type {} +export interface QuerySpendableBalancesResponse extends QuerySpendableBalancesResponse_type {} +export interface QueryTotalSupplyRequest extends QueryTotalSupplyRequest_type {} +export interface QueryTotalSupplyResponse extends QueryTotalSupplyResponse_type {} +export interface QuerySupplyOfRequest extends QuerySupplyOfRequest_type {} +export interface QuerySupplyOfResponse extends QuerySupplyOfResponse_type {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryDenomsMetadataRequest extends QueryDenomsMetadataRequest_type {} +export interface QueryDenomsMetadataResponse extends QueryDenomsMetadataResponse_type {} +export interface QueryDenomMetadataRequest extends QueryDenomMetadataRequest_type {} +export interface QueryDenomMetadataResponse extends QueryDenomMetadataResponse_type {} export const QueryBalanceRequest: MessageFns = { $type: "cosmos.bank.v1beta1.QueryBalanceRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts index dc4b2df47..b3d90bca8 100644 --- a/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/bank/v1beta1/tx.ts @@ -7,18 +7,18 @@ import { Coin } from "../../base/v1beta1/coin"; import { Input, Output } from "./bank"; import type { - MsgMultiSendResponse as MsgMultiSendResponseType, - MsgMultiSend as MsgMultiSendType, - MsgSendResponse as MsgSendResponseType, - MsgSend as MsgSendType, + MsgMultiSendResponse as MsgMultiSendResponse_type, + MsgMultiSend as MsgMultiSend_type, + MsgSendResponse as MsgSendResponse_type, + MsgSend as MsgSend_type, } from "../../../../types/cosmos/bank/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgSend extends MsgSendType {} -interface MsgSendResponse extends MsgSendResponseType {} -interface MsgMultiSend extends MsgMultiSendType {} -interface MsgMultiSendResponse extends MsgMultiSendResponseType {} +export interface MsgSend extends MsgSend_type {} +export interface MsgSendResponse extends MsgSendResponse_type {} +export interface MsgMultiSend extends MsgMultiSend_type {} +export interface MsgMultiSendResponse extends MsgMultiSendResponse_type {} export const MsgSend: MessageFns = { $type: "cosmos.bank.v1beta1.MsgSend" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts index 3c90c2917..787278807 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/abci/v1beta1/abci.ts @@ -7,30 +7,30 @@ import { Any } from "../../../../google/protobuf/any"; import { Event } from "../../../../tendermint/abci/types"; import type { - ABCIMessageLog as ABCIMessageLogType, - Attribute as AttributeType, - GasInfo as GasInfoType, - MsgData as MsgDataType, - Result as ResultType, - SearchTxsResult as SearchTxsResultType, - SimulationResponse as SimulationResponseType, - StringEvent as StringEventType, - TxMsgData as TxMsgDataType, - TxResponse as TxResponseType, + ABCIMessageLog as ABCIMessageLog_type, + Attribute as Attribute_type, + GasInfo as GasInfo_type, + MsgData as MsgData_type, + Result as Result_type, + SearchTxsResult as SearchTxsResult_type, + SimulationResponse as SimulationResponse_type, + StringEvent as StringEvent_type, + TxMsgData as TxMsgData_type, + TxResponse as TxResponse_type, } from "../../../../../types/cosmos/base/abci/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; - -interface TxResponse extends TxResponseType {} -interface ABCIMessageLog extends ABCIMessageLogType {} -interface StringEvent extends StringEventType {} -interface Attribute extends AttributeType {} -interface GasInfo extends GasInfoType {} -interface Result extends ResultType {} -interface SimulationResponse extends SimulationResponseType {} -interface MsgData extends MsgDataType {} -interface TxMsgData extends TxMsgDataType {} -interface SearchTxsResult extends SearchTxsResultType {} +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; + +export interface TxResponse extends TxResponse_type {} +export interface ABCIMessageLog extends ABCIMessageLog_type {} +export interface StringEvent extends StringEvent_type {} +export interface Attribute extends Attribute_type {} +export interface GasInfo extends GasInfo_type {} +export interface Result extends Result_type {} +export interface SimulationResponse extends SimulationResponse_type {} +export interface MsgData extends MsgData_type {} +export interface TxMsgData extends TxMsgData_type {} +export interface SearchTxsResult extends SearchTxsResult_type {} export const TxResponse: MessageFns = { $type: "cosmos.base.abci.v1beta1.TxResponse" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts index af8cab555..ede0376ee 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/kv/v1beta1/kv.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Pair as PairType, Pairs as PairsType } from "../../../../../types/cosmos/base/kv/v1beta1"; +import type { Pair as Pair_type, Pairs as Pairs_type } from "../../../../../types/cosmos/base/kv/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface Pairs extends PairsType {} -interface Pair extends PairType {} +export interface Pairs extends Pairs_type {} +export interface Pair extends Pair_type {} export const Pairs: MessageFns = { $type: "cosmos.base.kv.v1beta1.Pairs" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts index ca73390dc..b44887a14 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/query/v1beta1/pagination.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PageRequest as PageRequestType, PageResponse as PageResponseType } from "../../../../../types/cosmos/base/query/v1beta1"; +import type { PageRequest as PageRequest_type, PageResponse as PageResponse_type } from "../../../../../types/cosmos/base/query/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface PageRequest extends PageRequestType {} -interface PageResponse extends PageResponseType {} +export interface PageRequest extends PageRequest_type {} +export interface PageResponse extends PageResponse_type {} export const PageRequest: MessageFns = { $type: "cosmos.base.query.v1beta1.PageRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts index bab6d261e..0b0d8e641 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v1beta1/reflection.ts @@ -1,18 +1,18 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - ListAllInterfacesRequest as ListAllInterfacesRequestType, - ListAllInterfacesResponse as ListAllInterfacesResponseType, - ListImplementationsRequest as ListImplementationsRequestType, - ListImplementationsResponse as ListImplementationsResponseType, + ListAllInterfacesRequest as ListAllInterfacesRequest_type, + ListAllInterfacesResponse as ListAllInterfacesResponse_type, + ListImplementationsRequest as ListImplementationsRequest_type, + ListImplementationsResponse as ListImplementationsResponse_type, } from "../../../../../types/cosmos/base/reflection/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface ListAllInterfacesRequest extends ListAllInterfacesRequestType {} -interface ListAllInterfacesResponse extends ListAllInterfacesResponseType {} -interface ListImplementationsRequest extends ListImplementationsRequestType {} -interface ListImplementationsResponse extends ListImplementationsResponseType {} +export interface ListAllInterfacesRequest extends ListAllInterfacesRequest_type {} +export interface ListAllInterfacesResponse extends ListAllInterfacesResponse_type {} +export interface ListImplementationsRequest extends ListImplementationsRequest_type {} +export interface ListImplementationsResponse extends ListImplementationsResponse_type {} export const ListAllInterfacesRequest: MessageFns = { $type: "cosmos.base.reflection.v1beta1.ListAllInterfacesRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts index ca1d5699b..8ac5a3ced 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/reflection/v2alpha1/reflection.ts @@ -3,62 +3,62 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - AppDescriptor as AppDescriptorType, - AuthnDescriptor as AuthnDescriptorType, - ChainDescriptor as ChainDescriptorType, - CodecDescriptor as CodecDescriptorType, - ConfigurationDescriptor as ConfigurationDescriptorType, - GetAuthnDescriptorRequest as GetAuthnDescriptorRequestType, - GetAuthnDescriptorResponse as GetAuthnDescriptorResponseType, - GetChainDescriptorRequest as GetChainDescriptorRequestType, - GetChainDescriptorResponse as GetChainDescriptorResponseType, - GetCodecDescriptorRequest as GetCodecDescriptorRequestType, - GetCodecDescriptorResponse as GetCodecDescriptorResponseType, - GetConfigurationDescriptorRequest as GetConfigurationDescriptorRequestType, - GetConfigurationDescriptorResponse as GetConfigurationDescriptorResponseType, - GetQueryServicesDescriptorRequest as GetQueryServicesDescriptorRequestType, - GetQueryServicesDescriptorResponse as GetQueryServicesDescriptorResponseType, - GetTxDescriptorRequest as GetTxDescriptorRequestType, - GetTxDescriptorResponse as GetTxDescriptorResponseType, - InterfaceAcceptingMessageDescriptor as InterfaceAcceptingMessageDescriptorType, - InterfaceDescriptor as InterfaceDescriptorType, - InterfaceImplementerDescriptor as InterfaceImplementerDescriptorType, - MsgDescriptor as MsgDescriptorType, - QueryMethodDescriptor as QueryMethodDescriptorType, - QueryServiceDescriptor as QueryServiceDescriptorType, - QueryServicesDescriptor as QueryServicesDescriptorType, - SigningModeDescriptor as SigningModeDescriptorType, - TxDescriptor as TxDescriptorType, + AppDescriptor as AppDescriptor_type, + AuthnDescriptor as AuthnDescriptor_type, + ChainDescriptor as ChainDescriptor_type, + CodecDescriptor as CodecDescriptor_type, + ConfigurationDescriptor as ConfigurationDescriptor_type, + GetAuthnDescriptorRequest as GetAuthnDescriptorRequest_type, + GetAuthnDescriptorResponse as GetAuthnDescriptorResponse_type, + GetChainDescriptorRequest as GetChainDescriptorRequest_type, + GetChainDescriptorResponse as GetChainDescriptorResponse_type, + GetCodecDescriptorRequest as GetCodecDescriptorRequest_type, + GetCodecDescriptorResponse as GetCodecDescriptorResponse_type, + GetConfigurationDescriptorRequest as GetConfigurationDescriptorRequest_type, + GetConfigurationDescriptorResponse as GetConfigurationDescriptorResponse_type, + GetQueryServicesDescriptorRequest as GetQueryServicesDescriptorRequest_type, + GetQueryServicesDescriptorResponse as GetQueryServicesDescriptorResponse_type, + GetTxDescriptorRequest as GetTxDescriptorRequest_type, + GetTxDescriptorResponse as GetTxDescriptorResponse_type, + InterfaceAcceptingMessageDescriptor as InterfaceAcceptingMessageDescriptor_type, + InterfaceDescriptor as InterfaceDescriptor_type, + InterfaceImplementerDescriptor as InterfaceImplementerDescriptor_type, + MsgDescriptor as MsgDescriptor_type, + QueryMethodDescriptor as QueryMethodDescriptor_type, + QueryServiceDescriptor as QueryServiceDescriptor_type, + QueryServicesDescriptor as QueryServicesDescriptor_type, + SigningModeDescriptor as SigningModeDescriptor_type, + TxDescriptor as TxDescriptor_type, } from "../../../../../types/cosmos/base/reflection/v2alpha1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; - -interface AppDescriptor extends AppDescriptorType {} -interface TxDescriptor extends TxDescriptorType {} -interface AuthnDescriptor extends AuthnDescriptorType {} -interface SigningModeDescriptor extends SigningModeDescriptorType {} -interface ChainDescriptor extends ChainDescriptorType {} -interface CodecDescriptor extends CodecDescriptorType {} -interface InterfaceDescriptor extends InterfaceDescriptorType {} -interface InterfaceImplementerDescriptor extends InterfaceImplementerDescriptorType {} -interface InterfaceAcceptingMessageDescriptor extends InterfaceAcceptingMessageDescriptorType {} -interface ConfigurationDescriptor extends ConfigurationDescriptorType {} -interface MsgDescriptor extends MsgDescriptorType {} -interface GetAuthnDescriptorRequest extends GetAuthnDescriptorRequestType {} -interface GetAuthnDescriptorResponse extends GetAuthnDescriptorResponseType {} -interface GetChainDescriptorRequest extends GetChainDescriptorRequestType {} -interface GetChainDescriptorResponse extends GetChainDescriptorResponseType {} -interface GetCodecDescriptorRequest extends GetCodecDescriptorRequestType {} -interface GetCodecDescriptorResponse extends GetCodecDescriptorResponseType {} -interface GetConfigurationDescriptorRequest extends GetConfigurationDescriptorRequestType {} -interface GetConfigurationDescriptorResponse extends GetConfigurationDescriptorResponseType {} -interface GetQueryServicesDescriptorRequest extends GetQueryServicesDescriptorRequestType {} -interface GetQueryServicesDescriptorResponse extends GetQueryServicesDescriptorResponseType {} -interface GetTxDescriptorRequest extends GetTxDescriptorRequestType {} -interface GetTxDescriptorResponse extends GetTxDescriptorResponseType {} -interface QueryServicesDescriptor extends QueryServicesDescriptorType {} -interface QueryServiceDescriptor extends QueryServiceDescriptorType {} -interface QueryMethodDescriptor extends QueryMethodDescriptorType {} +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; + +export interface AppDescriptor extends AppDescriptor_type {} +export interface TxDescriptor extends TxDescriptor_type {} +export interface AuthnDescriptor extends AuthnDescriptor_type {} +export interface SigningModeDescriptor extends SigningModeDescriptor_type {} +export interface ChainDescriptor extends ChainDescriptor_type {} +export interface CodecDescriptor extends CodecDescriptor_type {} +export interface InterfaceDescriptor extends InterfaceDescriptor_type {} +export interface InterfaceImplementerDescriptor extends InterfaceImplementerDescriptor_type {} +export interface InterfaceAcceptingMessageDescriptor extends InterfaceAcceptingMessageDescriptor_type {} +export interface ConfigurationDescriptor extends ConfigurationDescriptor_type {} +export interface MsgDescriptor extends MsgDescriptor_type {} +export interface GetAuthnDescriptorRequest extends GetAuthnDescriptorRequest_type {} +export interface GetAuthnDescriptorResponse extends GetAuthnDescriptorResponse_type {} +export interface GetChainDescriptorRequest extends GetChainDescriptorRequest_type {} +export interface GetChainDescriptorResponse extends GetChainDescriptorResponse_type {} +export interface GetCodecDescriptorRequest extends GetCodecDescriptorRequest_type {} +export interface GetCodecDescriptorResponse extends GetCodecDescriptorResponse_type {} +export interface GetConfigurationDescriptorRequest extends GetConfigurationDescriptorRequest_type {} +export interface GetConfigurationDescriptorResponse extends GetConfigurationDescriptorResponse_type {} +export interface GetQueryServicesDescriptorRequest extends GetQueryServicesDescriptorRequest_type {} +export interface GetQueryServicesDescriptorResponse extends GetQueryServicesDescriptorResponse_type {} +export interface GetTxDescriptorRequest extends GetTxDescriptorRequest_type {} +export interface GetTxDescriptorResponse extends GetTxDescriptorResponse_type {} +export interface QueryServicesDescriptor extends QueryServicesDescriptor_type {} +export interface QueryServiceDescriptor extends QueryServiceDescriptor_type {} +export interface QueryMethodDescriptor extends QueryMethodDescriptor_type {} export const AppDescriptor: MessageFns = { $type: "cosmos.base.reflection.v2alpha1.AppDescriptor" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts index 2bcafd71a..cb642a2dd 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/snapshots/v1beta1/snapshot.ts @@ -3,24 +3,24 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - Metadata as MetadataType, - SnapshotExtensionMeta as SnapshotExtensionMetaType, - SnapshotExtensionPayload as SnapshotExtensionPayloadType, - SnapshotIAVLItem as SnapshotIAVLItemType, - SnapshotItem as SnapshotItemType, - SnapshotStoreItem as SnapshotStoreItemType, - Snapshot as SnapshotType, + Metadata as Metadata_type, + SnapshotExtensionMeta as SnapshotExtensionMeta_type, + SnapshotExtensionPayload as SnapshotExtensionPayload_type, + SnapshotIAVLItem as SnapshotIAVLItem_type, + SnapshotItem as SnapshotItem_type, + SnapshotStoreItem as SnapshotStoreItem_type, + Snapshot as Snapshot_type, } from "../../../../../types/cosmos/base/snapshots/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface Snapshot extends SnapshotType {} -interface Metadata extends MetadataType {} -interface SnapshotItem extends SnapshotItemType {} -interface SnapshotStoreItem extends SnapshotStoreItemType {} -interface SnapshotIAVLItem extends SnapshotIAVLItemType {} -interface SnapshotExtensionMeta extends SnapshotExtensionMetaType {} -interface SnapshotExtensionPayload extends SnapshotExtensionPayloadType {} +export interface Snapshot extends Snapshot_type {} +export interface Metadata extends Metadata_type {} +export interface SnapshotItem extends SnapshotItem_type {} +export interface SnapshotStoreItem extends SnapshotStoreItem_type {} +export interface SnapshotIAVLItem extends SnapshotIAVLItem_type {} +export interface SnapshotExtensionMeta extends SnapshotExtensionMeta_type {} +export interface SnapshotExtensionPayload extends SnapshotExtensionPayload_type {} export const Snapshot: MessageFns = { $type: "cosmos.base.snapshots.v1beta1.Snapshot" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts index 2f2848fda..1b61162f1 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/commit_info.ts @@ -2,13 +2,13 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { CommitID as CommitIDType, CommitInfo as CommitInfoType, StoreInfo as StoreInfoType } from "../../../../../types/cosmos/base/store/v1beta1"; +import type { CommitID as CommitID_type, CommitInfo as CommitInfo_type, StoreInfo as StoreInfo_type } from "../../../../../types/cosmos/base/store/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface CommitInfo extends CommitInfoType {} -interface StoreInfo extends StoreInfoType {} -interface CommitID extends CommitIDType {} +export interface CommitInfo extends CommitInfo_type {} +export interface StoreInfo extends StoreInfo_type {} +export interface CommitID extends CommitID_type {} export const CommitInfo: MessageFns = { $type: "cosmos.base.store.v1beta1.CommitInfo" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts index fd5ea1079..7307efb01 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/store/v1beta1/listening.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { StoreKVPair as StoreKVPairType } from "../../../../../types/cosmos/base/store/v1beta1"; +import type { StoreKVPair as StoreKVPair_type } from "../../../../../types/cosmos/base/store/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface StoreKVPair extends StoreKVPairType {} +export interface StoreKVPair extends StoreKVPair_type {} export const StoreKVPair: MessageFns = { $type: "cosmos.base.store.v1beta1.StoreKVPair" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts index 90e7c78e8..136eb84f0 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/tendermint/v1beta1/query.ts @@ -13,40 +13,40 @@ import { BlockID } from "../../../../tendermint/types/types"; import { PageRequest, PageResponse } from "../../query/v1beta1/pagination"; import type { - GetBlockByHeightRequest as GetBlockByHeightRequestType, - GetBlockByHeightResponse as GetBlockByHeightResponseType, - GetLatestBlockRequest as GetLatestBlockRequestType, - GetLatestBlockResponse as GetLatestBlockResponseType, - GetLatestValidatorSetRequest as GetLatestValidatorSetRequestType, - GetLatestValidatorSetResponse as GetLatestValidatorSetResponseType, - GetNodeInfoRequest as GetNodeInfoRequestType, - GetNodeInfoResponse as GetNodeInfoResponseType, - GetSyncingRequest as GetSyncingRequestType, - GetSyncingResponse as GetSyncingResponseType, - GetValidatorSetByHeightRequest as GetValidatorSetByHeightRequestType, - GetValidatorSetByHeightResponse as GetValidatorSetByHeightResponseType, - Module as ModuleType, - Validator as ValidatorType, - VersionInfo as VersionInfoType, + GetBlockByHeightRequest as GetBlockByHeightRequest_type, + GetBlockByHeightResponse as GetBlockByHeightResponse_type, + GetLatestBlockRequest as GetLatestBlockRequest_type, + GetLatestBlockResponse as GetLatestBlockResponse_type, + GetLatestValidatorSetRequest as GetLatestValidatorSetRequest_type, + GetLatestValidatorSetResponse as GetLatestValidatorSetResponse_type, + GetNodeInfoRequest as GetNodeInfoRequest_type, + GetNodeInfoResponse as GetNodeInfoResponse_type, + GetSyncingRequest as GetSyncingRequest_type, + GetSyncingResponse as GetSyncingResponse_type, + GetValidatorSetByHeightRequest as GetValidatorSetByHeightRequest_type, + GetValidatorSetByHeightResponse as GetValidatorSetByHeightResponse_type, + Module as Module_type, + Validator as Validator_type, + VersionInfo as VersionInfo_type, } from "../../../../../types/cosmos/base/tendermint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; - -interface GetValidatorSetByHeightRequest extends GetValidatorSetByHeightRequestType {} -interface GetValidatorSetByHeightResponse extends GetValidatorSetByHeightResponseType {} -interface GetLatestValidatorSetRequest extends GetLatestValidatorSetRequestType {} -interface GetLatestValidatorSetResponse extends GetLatestValidatorSetResponseType {} -interface Validator extends ValidatorType {} -interface GetBlockByHeightRequest extends GetBlockByHeightRequestType {} -interface GetBlockByHeightResponse extends GetBlockByHeightResponseType {} -interface GetLatestBlockRequest extends GetLatestBlockRequestType {} -interface GetLatestBlockResponse extends GetLatestBlockResponseType {} -interface GetSyncingRequest extends GetSyncingRequestType {} -interface GetSyncingResponse extends GetSyncingResponseType {} -interface GetNodeInfoRequest extends GetNodeInfoRequestType {} -interface GetNodeInfoResponse extends GetNodeInfoResponseType {} -interface VersionInfo extends VersionInfoType {} -interface Module extends ModuleType {} +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; + +export interface GetValidatorSetByHeightRequest extends GetValidatorSetByHeightRequest_type {} +export interface GetValidatorSetByHeightResponse extends GetValidatorSetByHeightResponse_type {} +export interface GetLatestValidatorSetRequest extends GetLatestValidatorSetRequest_type {} +export interface GetLatestValidatorSetResponse extends GetLatestValidatorSetResponse_type {} +export interface Validator extends Validator_type {} +export interface GetBlockByHeightRequest extends GetBlockByHeightRequest_type {} +export interface GetBlockByHeightResponse extends GetBlockByHeightResponse_type {} +export interface GetLatestBlockRequest extends GetLatestBlockRequest_type {} +export interface GetLatestBlockResponse extends GetLatestBlockResponse_type {} +export interface GetSyncingRequest extends GetSyncingRequest_type {} +export interface GetSyncingResponse extends GetSyncingResponse_type {} +export interface GetNodeInfoRequest extends GetNodeInfoRequest_type {} +export interface GetNodeInfoResponse extends GetNodeInfoResponse_type {} +export interface VersionInfo extends VersionInfo_type {} +export interface Module extends Module_type {} export const GetValidatorSetByHeightRequest: MessageFns = { $type: "cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts index 6ddd21e37..46665fa27 100644 --- a/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts +++ b/packages/cosmos/generated/encoding/cosmos/base/v1beta1/coin.ts @@ -2,14 +2,14 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Coin as CoinType, DecCoin as DecCoinType, DecProto as DecProtoType, IntProto as IntProtoType } from "../../../../types/cosmos/base/v1beta1"; +import type { Coin as Coin_type, DecCoin as DecCoin_type, DecProto as DecProto_type, IntProto as IntProto_type } from "../../../../types/cosmos/base/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Coin extends CoinType {} -interface DecCoin extends DecCoinType {} -interface IntProto extends IntProtoType {} -interface DecProto extends DecProtoType {} +export interface Coin extends Coin_type {} +export interface DecCoin extends DecCoin_type {} +export interface IntProto extends IntProto_type {} +export interface DecProto extends DecProto_type {} export const Coin: MessageFns = { $type: "cosmos.base.v1beta1.Coin" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts index 21eebe6bd..2c4017560 100644 --- a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts +++ b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/capability.ts @@ -2,13 +2,17 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { CapabilityOwners as CapabilityOwnersType, Capability as CapabilityType, Owner as OwnerType } from "../../../../types/cosmos/capability/v1beta1"; +import type { + CapabilityOwners as CapabilityOwners_type, + Capability as Capability_type, + Owner as Owner_type, +} from "../../../../types/cosmos/capability/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Capability extends CapabilityType {} -interface Owner extends OwnerType {} -interface CapabilityOwners extends CapabilityOwnersType {} +export interface Capability extends Capability_type {} +export interface Owner extends Owner_type {} +export interface CapabilityOwners extends CapabilityOwners_type {} export const Capability: MessageFns = { $type: "cosmos.capability.v1beta1.Capability" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts index 619de555a..2c8120bec 100644 --- a/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/capability/v1beta1/genesis.ts @@ -4,12 +4,12 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { CapabilityOwners } from "./capability"; -import type { GenesisOwners as GenesisOwnersType, GenesisState as GenesisStateType } from "../../../../types/cosmos/capability/v1beta1"; +import type { GenesisOwners as GenesisOwners_type, GenesisState as GenesisState_type } from "../../../../types/cosmos/capability/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisOwners extends GenesisOwnersType {} -interface GenesisState extends GenesisStateType {} +export interface GenesisOwners extends GenesisOwners_type {} +export interface GenesisState extends GenesisState_type {} export const GenesisOwners: MessageFns = { $type: "cosmos.capability.v1beta1.GenesisOwners" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts index f31b25888..0997cd800 100644 --- a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/crisis/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/crisis/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.crisis.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts index f2c3cea6c..507c6a70f 100644 --- a/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/crisis/v1beta1/tx.ts @@ -3,14 +3,14 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - MsgVerifyInvariantResponse as MsgVerifyInvariantResponseType, - MsgVerifyInvariant as MsgVerifyInvariantType, + MsgVerifyInvariantResponse as MsgVerifyInvariantResponse_type, + MsgVerifyInvariant as MsgVerifyInvariant_type, } from "../../../../types/cosmos/crisis/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgVerifyInvariant extends MsgVerifyInvariantType {} -interface MsgVerifyInvariantResponse extends MsgVerifyInvariantResponseType {} +export interface MsgVerifyInvariant extends MsgVerifyInvariant_type {} +export interface MsgVerifyInvariantResponse extends MsgVerifyInvariantResponse_type {} export const MsgVerifyInvariant: MessageFns = { $type: "cosmos.crisis.v1beta1.MsgVerifyInvariant" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts index 01cce2630..cc56573dd 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/ed25519/keys.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/ed25519"; +import type { PrivKey as PrivKey_type, PubKey as PubKey_type } from "../../../../types/cosmos/crypto/ed25519"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface PubKey extends PubKeyType {} -interface PrivKey extends PrivKeyType {} +export interface PubKey extends PubKey_type {} +export interface PrivKey extends PrivKey_type {} export const PubKey: MessageFns = { $type: "cosmos.crypto.ed25519.PubKey" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts index 12bc09986..c26297ee7 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/keys.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../../../google/protobuf/any"; -import type { LegacyAminoPubKey as LegacyAminoPubKeyType } from "../../../../types/cosmos/crypto/multisig"; +import type { LegacyAminoPubKey as LegacyAminoPubKey_type } from "../../../../types/cosmos/crypto/multisig"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface LegacyAminoPubKey extends LegacyAminoPubKeyType {} +export interface LegacyAminoPubKey extends LegacyAminoPubKey_type {} export const LegacyAminoPubKey: MessageFns = { $type: "cosmos.crypto.multisig.LegacyAminoPubKey" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts index f6dfa43db..785687492 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/multisig/v1beta1/multisig.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { CompactBitArray as CompactBitArrayType, MultiSignature as MultiSignatureType } from "../../../../../types/cosmos/crypto/multisig/v1beta1"; +import type { CompactBitArray as CompactBitArray_type, MultiSignature as MultiSignature_type } from "../../../../../types/cosmos/crypto/multisig/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface MultiSignature extends MultiSignatureType {} -interface CompactBitArray extends CompactBitArrayType {} +export interface MultiSignature extends MultiSignature_type {} +export interface CompactBitArray extends CompactBitArray_type {} export const MultiSignature: MessageFns = { $type: "cosmos.crypto.multisig.v1beta1.MultiSignature" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts index 8ab0fc644..06f138b55 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256k1/keys.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/secp256k1"; +import type { PrivKey as PrivKey_type, PubKey as PubKey_type } from "../../../../types/cosmos/crypto/secp256k1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface PubKey extends PubKeyType {} -interface PrivKey extends PrivKeyType {} +export interface PubKey extends PubKey_type {} +export interface PrivKey extends PrivKey_type {} export const PubKey: MessageFns = { $type: "cosmos.crypto.secp256k1.PubKey" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts index 64710b2d1..4b053b639 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/secp256r1/keys.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PrivKey as PrivKeyType, PubKey as PubKeyType } from "../../../../types/cosmos/crypto/secp256r1"; +import type { PrivKey as PrivKey_type, PubKey as PubKey_type } from "../../../../types/cosmos/crypto/secp256r1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface PubKey extends PubKeyType {} -interface PrivKey extends PrivKeyType {} +export interface PubKey extends PubKey_type {} +export interface PrivKey extends PrivKey_type {} export const PubKey: MessageFns = { $type: "cosmos.crypto.secp256r1.PubKey" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts index b279ce297..1d8210dea 100644 --- a/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts +++ b/packages/cosmos/generated/encoding/cosmos/crypto/sr25519/keys.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PubKey as PubKeyType } from "../../../../types/cosmos/crypto/sr25519"; +import type { PubKey as PubKey_type } from "../../../../types/cosmos/crypto/sr25519"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface PubKey extends PubKeyType {} +export interface PubKey extends PubKey_type {} export const PubKey: MessageFns = { $type: "cosmos.crypto.sr25519.PubKey" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts index 96f376a45..712a5de3c 100644 --- a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/distribution.ts @@ -5,34 +5,34 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin, DecCoin } from "../../base/v1beta1/coin"; import type { - CommunityPoolSpendProposal as CommunityPoolSpendProposalType, - CommunityPoolSpendProposalWithDeposit as CommunityPoolSpendProposalWithDepositType, - DelegationDelegatorReward as DelegationDelegatorRewardType, - DelegatorStartingInfo as DelegatorStartingInfoType, - FeePool as FeePoolType, - Params as ParamsType, - ValidatorAccumulatedCommission as ValidatorAccumulatedCommissionType, - ValidatorCurrentRewards as ValidatorCurrentRewardsType, - ValidatorHistoricalRewards as ValidatorHistoricalRewardsType, - ValidatorOutstandingRewards as ValidatorOutstandingRewardsType, - ValidatorSlashEvent as ValidatorSlashEventType, - ValidatorSlashEvents as ValidatorSlashEventsType, + CommunityPoolSpendProposalWithDeposit as CommunityPoolSpendProposalWithDeposit_type, + CommunityPoolSpendProposal as CommunityPoolSpendProposal_type, + DelegationDelegatorReward as DelegationDelegatorReward_type, + DelegatorStartingInfo as DelegatorStartingInfo_type, + FeePool as FeePool_type, + Params as Params_type, + ValidatorAccumulatedCommission as ValidatorAccumulatedCommission_type, + ValidatorCurrentRewards as ValidatorCurrentRewards_type, + ValidatorHistoricalRewards as ValidatorHistoricalRewards_type, + ValidatorOutstandingRewards as ValidatorOutstandingRewards_type, + ValidatorSlashEvent as ValidatorSlashEvent_type, + ValidatorSlashEvents as ValidatorSlashEvents_type, } from "../../../../types/cosmos/distribution/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface Params extends ParamsType {} -interface ValidatorHistoricalRewards extends ValidatorHistoricalRewardsType {} -interface ValidatorCurrentRewards extends ValidatorCurrentRewardsType {} -interface ValidatorAccumulatedCommission extends ValidatorAccumulatedCommissionType {} -interface ValidatorOutstandingRewards extends ValidatorOutstandingRewardsType {} -interface ValidatorSlashEvent extends ValidatorSlashEventType {} -interface ValidatorSlashEvents extends ValidatorSlashEventsType {} -interface FeePool extends FeePoolType {} -interface CommunityPoolSpendProposal extends CommunityPoolSpendProposalType {} -interface DelegatorStartingInfo extends DelegatorStartingInfoType {} -interface DelegationDelegatorReward extends DelegationDelegatorRewardType {} -interface CommunityPoolSpendProposalWithDeposit extends CommunityPoolSpendProposalWithDepositType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface Params extends Params_type {} +export interface ValidatorHistoricalRewards extends ValidatorHistoricalRewards_type {} +export interface ValidatorCurrentRewards extends ValidatorCurrentRewards_type {} +export interface ValidatorAccumulatedCommission extends ValidatorAccumulatedCommission_type {} +export interface ValidatorOutstandingRewards extends ValidatorOutstandingRewards_type {} +export interface ValidatorSlashEvent extends ValidatorSlashEvent_type {} +export interface ValidatorSlashEvents extends ValidatorSlashEvents_type {} +export interface FeePool extends FeePool_type {} +export interface CommunityPoolSpendProposal extends CommunityPoolSpendProposal_type {} +export interface DelegatorStartingInfo extends DelegatorStartingInfo_type {} +export interface DelegationDelegatorReward extends DelegationDelegatorReward_type {} +export interface CommunityPoolSpendProposalWithDeposit extends CommunityPoolSpendProposalWithDeposit_type {} export const Params: MessageFns = { $type: "cosmos.distribution.v1beta1.Params" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts index 37d31d330..bc4e7fea1 100644 --- a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/genesis.ts @@ -15,26 +15,26 @@ import { } from "./distribution"; import type { - DelegatorStartingInfoRecord as DelegatorStartingInfoRecordType, - DelegatorWithdrawInfo as DelegatorWithdrawInfoType, - GenesisState as GenesisStateType, - ValidatorAccumulatedCommissionRecord as ValidatorAccumulatedCommissionRecordType, - ValidatorCurrentRewardsRecord as ValidatorCurrentRewardsRecordType, - ValidatorHistoricalRewardsRecord as ValidatorHistoricalRewardsRecordType, - ValidatorOutstandingRewardsRecord as ValidatorOutstandingRewardsRecordType, - ValidatorSlashEventRecord as ValidatorSlashEventRecordType, + DelegatorStartingInfoRecord as DelegatorStartingInfoRecord_type, + DelegatorWithdrawInfo as DelegatorWithdrawInfo_type, + GenesisState as GenesisState_type, + ValidatorAccumulatedCommissionRecord as ValidatorAccumulatedCommissionRecord_type, + ValidatorCurrentRewardsRecord as ValidatorCurrentRewardsRecord_type, + ValidatorHistoricalRewardsRecord as ValidatorHistoricalRewardsRecord_type, + ValidatorOutstandingRewardsRecord as ValidatorOutstandingRewardsRecord_type, + ValidatorSlashEventRecord as ValidatorSlashEventRecord_type, } from "../../../../types/cosmos/distribution/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface DelegatorWithdrawInfo extends DelegatorWithdrawInfoType {} -interface ValidatorOutstandingRewardsRecord extends ValidatorOutstandingRewardsRecordType {} -interface ValidatorAccumulatedCommissionRecord extends ValidatorAccumulatedCommissionRecordType {} -interface ValidatorHistoricalRewardsRecord extends ValidatorHistoricalRewardsRecordType {} -interface ValidatorCurrentRewardsRecord extends ValidatorCurrentRewardsRecordType {} -interface DelegatorStartingInfoRecord extends DelegatorStartingInfoRecordType {} -interface ValidatorSlashEventRecord extends ValidatorSlashEventRecordType {} -interface GenesisState extends GenesisStateType {} +export interface DelegatorWithdrawInfo extends DelegatorWithdrawInfo_type {} +export interface ValidatorOutstandingRewardsRecord extends ValidatorOutstandingRewardsRecord_type {} +export interface ValidatorAccumulatedCommissionRecord extends ValidatorAccumulatedCommissionRecord_type {} +export interface ValidatorHistoricalRewardsRecord extends ValidatorHistoricalRewardsRecord_type {} +export interface ValidatorCurrentRewardsRecord extends ValidatorCurrentRewardsRecord_type {} +export interface DelegatorStartingInfoRecord extends DelegatorStartingInfoRecord_type {} +export interface ValidatorSlashEventRecord extends ValidatorSlashEventRecord_type {} +export interface GenesisState extends GenesisState_type {} export const DelegatorWithdrawInfo: MessageFns = { $type: "cosmos.distribution.v1beta1.DelegatorWithdrawInfo" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts index a0fb43844..efb5432b5 100644 --- a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/query.ts @@ -9,46 +9,46 @@ import { DecCoin } from "../../base/v1beta1/coin"; import { DelegationDelegatorReward, Params, ValidatorAccumulatedCommission, ValidatorOutstandingRewards, ValidatorSlashEvent } from "./distribution"; import type { - QueryCommunityPoolRequest as QueryCommunityPoolRequestType, - QueryCommunityPoolResponse as QueryCommunityPoolResponseType, - QueryDelegationRewardsRequest as QueryDelegationRewardsRequestType, - QueryDelegationRewardsResponse as QueryDelegationRewardsResponseType, - QueryDelegationTotalRewardsRequest as QueryDelegationTotalRewardsRequestType, - QueryDelegationTotalRewardsResponse as QueryDelegationTotalRewardsResponseType, - QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequestType, - QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponseType, - QueryDelegatorWithdrawAddressRequest as QueryDelegatorWithdrawAddressRequestType, - QueryDelegatorWithdrawAddressResponse as QueryDelegatorWithdrawAddressResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QueryValidatorCommissionRequest as QueryValidatorCommissionRequestType, - QueryValidatorCommissionResponse as QueryValidatorCommissionResponseType, - QueryValidatorOutstandingRewardsRequest as QueryValidatorOutstandingRewardsRequestType, - QueryValidatorOutstandingRewardsResponse as QueryValidatorOutstandingRewardsResponseType, - QueryValidatorSlashesRequest as QueryValidatorSlashesRequestType, - QueryValidatorSlashesResponse as QueryValidatorSlashesResponseType, + QueryCommunityPoolRequest as QueryCommunityPoolRequest_type, + QueryCommunityPoolResponse as QueryCommunityPoolResponse_type, + QueryDelegationRewardsRequest as QueryDelegationRewardsRequest_type, + QueryDelegationRewardsResponse as QueryDelegationRewardsResponse_type, + QueryDelegationTotalRewardsRequest as QueryDelegationTotalRewardsRequest_type, + QueryDelegationTotalRewardsResponse as QueryDelegationTotalRewardsResponse_type, + QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequest_type, + QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponse_type, + QueryDelegatorWithdrawAddressRequest as QueryDelegatorWithdrawAddressRequest_type, + QueryDelegatorWithdrawAddressResponse as QueryDelegatorWithdrawAddressResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QueryValidatorCommissionRequest as QueryValidatorCommissionRequest_type, + QueryValidatorCommissionResponse as QueryValidatorCommissionResponse_type, + QueryValidatorOutstandingRewardsRequest as QueryValidatorOutstandingRewardsRequest_type, + QueryValidatorOutstandingRewardsResponse as QueryValidatorOutstandingRewardsResponse_type, + QueryValidatorSlashesRequest as QueryValidatorSlashesRequest_type, + QueryValidatorSlashesResponse as QueryValidatorSlashesResponse_type, } from "../../../../types/cosmos/distribution/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryValidatorOutstandingRewardsRequest extends QueryValidatorOutstandingRewardsRequestType {} -interface QueryValidatorOutstandingRewardsResponse extends QueryValidatorOutstandingRewardsResponseType {} -interface QueryValidatorCommissionRequest extends QueryValidatorCommissionRequestType {} -interface QueryValidatorCommissionResponse extends QueryValidatorCommissionResponseType {} -interface QueryValidatorSlashesRequest extends QueryValidatorSlashesRequestType {} -interface QueryValidatorSlashesResponse extends QueryValidatorSlashesResponseType {} -interface QueryDelegationRewardsRequest extends QueryDelegationRewardsRequestType {} -interface QueryDelegationRewardsResponse extends QueryDelegationRewardsResponseType {} -interface QueryDelegationTotalRewardsRequest extends QueryDelegationTotalRewardsRequestType {} -interface QueryDelegationTotalRewardsResponse extends QueryDelegationTotalRewardsResponseType {} -interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequestType {} -interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponseType {} -interface QueryDelegatorWithdrawAddressRequest extends QueryDelegatorWithdrawAddressRequestType {} -interface QueryDelegatorWithdrawAddressResponse extends QueryDelegatorWithdrawAddressResponseType {} -interface QueryCommunityPoolRequest extends QueryCommunityPoolRequestType {} -interface QueryCommunityPoolResponse extends QueryCommunityPoolResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryValidatorOutstandingRewardsRequest extends QueryValidatorOutstandingRewardsRequest_type {} +export interface QueryValidatorOutstandingRewardsResponse extends QueryValidatorOutstandingRewardsResponse_type {} +export interface QueryValidatorCommissionRequest extends QueryValidatorCommissionRequest_type {} +export interface QueryValidatorCommissionResponse extends QueryValidatorCommissionResponse_type {} +export interface QueryValidatorSlashesRequest extends QueryValidatorSlashesRequest_type {} +export interface QueryValidatorSlashesResponse extends QueryValidatorSlashesResponse_type {} +export interface QueryDelegationRewardsRequest extends QueryDelegationRewardsRequest_type {} +export interface QueryDelegationRewardsResponse extends QueryDelegationRewardsResponse_type {} +export interface QueryDelegationTotalRewardsRequest extends QueryDelegationTotalRewardsRequest_type {} +export interface QueryDelegationTotalRewardsResponse extends QueryDelegationTotalRewardsResponse_type {} +export interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequest_type {} +export interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponse_type {} +export interface QueryDelegatorWithdrawAddressRequest extends QueryDelegatorWithdrawAddressRequest_type {} +export interface QueryDelegatorWithdrawAddressResponse extends QueryDelegatorWithdrawAddressResponse_type {} +export interface QueryCommunityPoolRequest extends QueryCommunityPoolRequest_type {} +export interface QueryCommunityPoolResponse extends QueryCommunityPoolResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "cosmos.distribution.v1beta1.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts index da0e7de62..176103a54 100644 --- a/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/distribution/v1beta1/tx.ts @@ -3,26 +3,26 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; import type { - MsgFundCommunityPoolResponse as MsgFundCommunityPoolResponseType, - MsgFundCommunityPool as MsgFundCommunityPoolType, - MsgSetWithdrawAddressResponse as MsgSetWithdrawAddressResponseType, - MsgSetWithdrawAddress as MsgSetWithdrawAddressType, - MsgWithdrawDelegatorRewardResponse as MsgWithdrawDelegatorRewardResponseType, - MsgWithdrawDelegatorReward as MsgWithdrawDelegatorRewardType, - MsgWithdrawValidatorCommissionResponse as MsgWithdrawValidatorCommissionResponseType, - MsgWithdrawValidatorCommission as MsgWithdrawValidatorCommissionType, + MsgFundCommunityPoolResponse as MsgFundCommunityPoolResponse_type, + MsgFundCommunityPool as MsgFundCommunityPool_type, + MsgSetWithdrawAddressResponse as MsgSetWithdrawAddressResponse_type, + MsgSetWithdrawAddress as MsgSetWithdrawAddress_type, + MsgWithdrawDelegatorRewardResponse as MsgWithdrawDelegatorRewardResponse_type, + MsgWithdrawDelegatorReward as MsgWithdrawDelegatorReward_type, + MsgWithdrawValidatorCommissionResponse as MsgWithdrawValidatorCommissionResponse_type, + MsgWithdrawValidatorCommission as MsgWithdrawValidatorCommission_type, } from "../../../../types/cosmos/distribution/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgSetWithdrawAddress extends MsgSetWithdrawAddressType {} -interface MsgSetWithdrawAddressResponse extends MsgSetWithdrawAddressResponseType {} -interface MsgWithdrawDelegatorReward extends MsgWithdrawDelegatorRewardType {} -interface MsgWithdrawDelegatorRewardResponse extends MsgWithdrawDelegatorRewardResponseType {} -interface MsgWithdrawValidatorCommission extends MsgWithdrawValidatorCommissionType {} -interface MsgWithdrawValidatorCommissionResponse extends MsgWithdrawValidatorCommissionResponseType {} -interface MsgFundCommunityPool extends MsgFundCommunityPoolType {} -interface MsgFundCommunityPoolResponse extends MsgFundCommunityPoolResponseType {} +export interface MsgSetWithdrawAddress extends MsgSetWithdrawAddress_type {} +export interface MsgSetWithdrawAddressResponse extends MsgSetWithdrawAddressResponse_type {} +export interface MsgWithdrawDelegatorReward extends MsgWithdrawDelegatorReward_type {} +export interface MsgWithdrawDelegatorRewardResponse extends MsgWithdrawDelegatorRewardResponse_type {} +export interface MsgWithdrawValidatorCommission extends MsgWithdrawValidatorCommission_type {} +export interface MsgWithdrawValidatorCommissionResponse extends MsgWithdrawValidatorCommissionResponse_type {} +export interface MsgFundCommunityPool extends MsgFundCommunityPool_type {} +export interface MsgFundCommunityPoolResponse extends MsgFundCommunityPoolResponse_type {} export const MsgSetWithdrawAddress: MessageFns = { $type: "cosmos.distribution.v1beta1.MsgSetWithdrawAddress" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts index 8ba3c8267..237e47038 100644 --- a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/evidence.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Timestamp } from "../../../google/protobuf/timestamp"; -import type { Equivocation as EquivocationType } from "../../../../types/cosmos/evidence/v1beta1"; +import type { Equivocation as Equivocation_type } from "../../../../types/cosmos/evidence/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Equivocation extends EquivocationType {} +export interface Equivocation extends Equivocation_type {} export const Equivocation: MessageFns = { $type: "cosmos.evidence.v1beta1.Equivocation" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts index 01a9bd5c7..2c0642b5d 100644 --- a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../../../google/protobuf/any"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/evidence/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/evidence/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.evidence.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts index 44b6f5bcb..614d7e30d 100644 --- a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/query.ts @@ -7,18 +7,18 @@ import { Any } from "../../../google/protobuf/any"; import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import type { - QueryAllEvidenceRequest as QueryAllEvidenceRequestType, - QueryAllEvidenceResponse as QueryAllEvidenceResponseType, - QueryEvidenceRequest as QueryEvidenceRequestType, - QueryEvidenceResponse as QueryEvidenceResponseType, + QueryAllEvidenceRequest as QueryAllEvidenceRequest_type, + QueryAllEvidenceResponse as QueryAllEvidenceResponse_type, + QueryEvidenceRequest as QueryEvidenceRequest_type, + QueryEvidenceResponse as QueryEvidenceResponse_type, } from "../../../../types/cosmos/evidence/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryEvidenceRequest extends QueryEvidenceRequestType {} -interface QueryEvidenceResponse extends QueryEvidenceResponseType {} -interface QueryAllEvidenceRequest extends QueryAllEvidenceRequestType {} -interface QueryAllEvidenceResponse extends QueryAllEvidenceResponseType {} +export interface QueryEvidenceRequest extends QueryEvidenceRequest_type {} +export interface QueryEvidenceResponse extends QueryEvidenceResponse_type {} +export interface QueryAllEvidenceRequest extends QueryAllEvidenceRequest_type {} +export interface QueryAllEvidenceResponse extends QueryAllEvidenceResponse_type {} export const QueryEvidenceRequest: MessageFns = { $type: "cosmos.evidence.v1beta1.QueryEvidenceRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts index 7735d9f3f..03dfee7d4 100644 --- a/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/evidence/v1beta1/tx.ts @@ -5,14 +5,14 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../../../google/protobuf/any"; import type { - MsgSubmitEvidenceResponse as MsgSubmitEvidenceResponseType, - MsgSubmitEvidence as MsgSubmitEvidenceType, + MsgSubmitEvidenceResponse as MsgSubmitEvidenceResponse_type, + MsgSubmitEvidence as MsgSubmitEvidence_type, } from "../../../../types/cosmos/evidence/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgSubmitEvidence extends MsgSubmitEvidenceType {} -interface MsgSubmitEvidenceResponse extends MsgSubmitEvidenceResponseType {} +export interface MsgSubmitEvidence extends MsgSubmitEvidence_type {} +export interface MsgSubmitEvidenceResponse extends MsgSubmitEvidenceResponse_type {} export const MsgSubmitEvidence: MessageFns = { $type: "cosmos.evidence.v1beta1.MsgSubmitEvidence" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts index fdbb7989e..b8bffa872 100644 --- a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/feegrant.ts @@ -11,18 +11,18 @@ import { Timestamp } from "../../../google/protobuf/timestamp"; import { Coin } from "../../base/v1beta1/coin"; import type { - AllowedMsgAllowance as AllowedMsgAllowanceType, - BasicAllowance as BasicAllowanceType, - Grant as GrantType, - PeriodicAllowance as PeriodicAllowanceType, + AllowedMsgAllowance as AllowedMsgAllowance_type, + BasicAllowance as BasicAllowance_type, + Grant as Grant_type, + PeriodicAllowance as PeriodicAllowance_type, } from "../../../../types/cosmos/feegrant/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface BasicAllowance extends BasicAllowanceType {} -interface PeriodicAllowance extends PeriodicAllowanceType {} -interface AllowedMsgAllowance extends AllowedMsgAllowanceType {} -interface Grant extends GrantType {} +export interface BasicAllowance extends BasicAllowance_type {} +export interface PeriodicAllowance extends PeriodicAllowance_type {} +export interface AllowedMsgAllowance extends AllowedMsgAllowance_type {} +export interface Grant extends Grant_type {} export const BasicAllowance: MessageFns = { $type: "cosmos.feegrant.v1beta1.BasicAllowance" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts index 58e40051b..af5f97a79 100644 --- a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Grant } from "./feegrant"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/feegrant/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/feegrant/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.feegrant.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts index be3980b1e..fcb3670a3 100644 --- a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/query.ts @@ -7,22 +7,22 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Grant } from "./feegrant"; import type { - QueryAllowanceRequest as QueryAllowanceRequestType, - QueryAllowanceResponse as QueryAllowanceResponseType, - QueryAllowancesByGranterRequest as QueryAllowancesByGranterRequestType, - QueryAllowancesByGranterResponse as QueryAllowancesByGranterResponseType, - QueryAllowancesRequest as QueryAllowancesRequestType, - QueryAllowancesResponse as QueryAllowancesResponseType, + QueryAllowanceRequest as QueryAllowanceRequest_type, + QueryAllowanceResponse as QueryAllowanceResponse_type, + QueryAllowancesByGranterRequest as QueryAllowancesByGranterRequest_type, + QueryAllowancesByGranterResponse as QueryAllowancesByGranterResponse_type, + QueryAllowancesRequest as QueryAllowancesRequest_type, + QueryAllowancesResponse as QueryAllowancesResponse_type, } from "../../../../types/cosmos/feegrant/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryAllowanceRequest extends QueryAllowanceRequestType {} -interface QueryAllowanceResponse extends QueryAllowanceResponseType {} -interface QueryAllowancesRequest extends QueryAllowancesRequestType {} -interface QueryAllowancesResponse extends QueryAllowancesResponseType {} -interface QueryAllowancesByGranterRequest extends QueryAllowancesByGranterRequestType {} -interface QueryAllowancesByGranterResponse extends QueryAllowancesByGranterResponseType {} +export interface QueryAllowanceRequest extends QueryAllowanceRequest_type {} +export interface QueryAllowanceResponse extends QueryAllowanceResponse_type {} +export interface QueryAllowancesRequest extends QueryAllowancesRequest_type {} +export interface QueryAllowancesResponse extends QueryAllowancesResponse_type {} +export interface QueryAllowancesByGranterRequest extends QueryAllowancesByGranterRequest_type {} +export interface QueryAllowancesByGranterResponse extends QueryAllowancesByGranterResponse_type {} export const QueryAllowanceRequest: MessageFns = { $type: "cosmos.feegrant.v1beta1.QueryAllowanceRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts index 6897bbb11..b48a26eed 100644 --- a/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/feegrant/v1beta1/tx.ts @@ -5,18 +5,18 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../../../google/protobuf/any"; import type { - MsgGrantAllowanceResponse as MsgGrantAllowanceResponseType, - MsgGrantAllowance as MsgGrantAllowanceType, - MsgRevokeAllowanceResponse as MsgRevokeAllowanceResponseType, - MsgRevokeAllowance as MsgRevokeAllowanceType, + MsgGrantAllowanceResponse as MsgGrantAllowanceResponse_type, + MsgGrantAllowance as MsgGrantAllowance_type, + MsgRevokeAllowanceResponse as MsgRevokeAllowanceResponse_type, + MsgRevokeAllowance as MsgRevokeAllowance_type, } from "../../../../types/cosmos/feegrant/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgGrantAllowance extends MsgGrantAllowanceType {} -interface MsgGrantAllowanceResponse extends MsgGrantAllowanceResponseType {} -interface MsgRevokeAllowance extends MsgRevokeAllowanceType {} -interface MsgRevokeAllowanceResponse extends MsgRevokeAllowanceResponseType {} +export interface MsgGrantAllowance extends MsgGrantAllowance_type {} +export interface MsgGrantAllowanceResponse extends MsgGrantAllowanceResponse_type {} +export interface MsgRevokeAllowance extends MsgRevokeAllowance_type {} +export interface MsgRevokeAllowanceResponse extends MsgRevokeAllowanceResponse_type {} export const MsgGrantAllowance: MessageFns = { $type: "cosmos.feegrant.v1beta1.MsgGrantAllowance" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts index a636b8d1b..265cb382f 100644 --- a/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/genutil/v1beta1/genesis.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/genutil/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/genutil/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.genutil.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts index 0e75f19d5..cb59b3be1 100644 --- a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Deposit, DepositParams, Proposal, TallyParams, Vote, VotingParams } from "./gov"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/gov/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/gov/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.gov.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts index cb07389c0..a3184ac2e 100644 --- a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/gov.ts @@ -11,30 +11,30 @@ import { Timestamp } from "../../../google/protobuf/timestamp"; import { Coin } from "../../base/v1beta1/coin"; import type { - DepositParams as DepositParamsType, - Deposit as DepositType, - Proposal as ProposalType, - TallyParams as TallyParamsType, - TallyResult as TallyResultType, - TextProposal as TextProposalType, - Vote as VoteType, - VotingParams as VotingParamsType, - WeightedVoteOption as WeightedVoteOptionType, + DepositParams as DepositParams_type, + Deposit as Deposit_type, + Proposal as Proposal_type, + TallyParams as TallyParams_type, + TallyResult as TallyResult_type, + TextProposal as TextProposal_type, + Vote as Vote_type, + VotingParams as VotingParams_type, + WeightedVoteOption as WeightedVoteOption_type, } from "../../../../types/cosmos/gov/v1beta1"; import { ProposalStatus, VoteOption } from "../../../../types/cosmos/gov/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface WeightedVoteOption extends WeightedVoteOptionType {} -interface TextProposal extends TextProposalType {} -interface Deposit extends DepositType {} -interface Proposal extends ProposalType {} -interface TallyResult extends TallyResultType {} -interface Vote extends VoteType {} -interface DepositParams extends DepositParamsType {} -interface VotingParams extends VotingParamsType {} -interface TallyParams extends TallyParamsType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface WeightedVoteOption extends WeightedVoteOption_type {} +export interface TextProposal extends TextProposal_type {} +export interface Deposit extends Deposit_type {} +export interface Proposal extends Proposal_type {} +export interface TallyResult extends TallyResult_type {} +export interface Vote extends Vote_type {} +export interface DepositParams extends DepositParams_type {} +export interface VotingParams extends VotingParams_type {} +export interface TallyParams extends TallyParams_type {} export const WeightedVoteOption: MessageFns = { $type: "cosmos.gov.v1beta1.WeightedVoteOption" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts index 986597e82..c66764ca4 100644 --- a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/query.ts @@ -7,42 +7,42 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Deposit, DepositParams, Proposal, TallyParams, TallyResult, Vote, VotingParams, proposalStatusFromJSON, proposalStatusToJSON } from "./gov"; import type { - QueryDepositRequest as QueryDepositRequestType, - QueryDepositResponse as QueryDepositResponseType, - QueryDepositsRequest as QueryDepositsRequestType, - QueryDepositsResponse as QueryDepositsResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QueryProposalRequest as QueryProposalRequestType, - QueryProposalResponse as QueryProposalResponseType, - QueryProposalsRequest as QueryProposalsRequestType, - QueryProposalsResponse as QueryProposalsResponseType, - QueryTallyResultRequest as QueryTallyResultRequestType, - QueryTallyResultResponse as QueryTallyResultResponseType, - QueryVoteRequest as QueryVoteRequestType, - QueryVoteResponse as QueryVoteResponseType, - QueryVotesRequest as QueryVotesRequestType, - QueryVotesResponse as QueryVotesResponseType, + QueryDepositRequest as QueryDepositRequest_type, + QueryDepositResponse as QueryDepositResponse_type, + QueryDepositsRequest as QueryDepositsRequest_type, + QueryDepositsResponse as QueryDepositsResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QueryProposalRequest as QueryProposalRequest_type, + QueryProposalResponse as QueryProposalResponse_type, + QueryProposalsRequest as QueryProposalsRequest_type, + QueryProposalsResponse as QueryProposalsResponse_type, + QueryTallyResultRequest as QueryTallyResultRequest_type, + QueryTallyResultResponse as QueryTallyResultResponse_type, + QueryVoteRequest as QueryVoteRequest_type, + QueryVoteResponse as QueryVoteResponse_type, + QueryVotesRequest as QueryVotesRequest_type, + QueryVotesResponse as QueryVotesResponse_type, } from "../../../../types/cosmos/gov/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface QueryProposalRequest extends QueryProposalRequestType {} -interface QueryProposalResponse extends QueryProposalResponseType {} -interface QueryProposalsRequest extends QueryProposalsRequestType {} -interface QueryProposalsResponse extends QueryProposalsResponseType {} -interface QueryVoteRequest extends QueryVoteRequestType {} -interface QueryVoteResponse extends QueryVoteResponseType {} -interface QueryVotesRequest extends QueryVotesRequestType {} -interface QueryVotesResponse extends QueryVotesResponseType {} -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryDepositRequest extends QueryDepositRequestType {} -interface QueryDepositResponse extends QueryDepositResponseType {} -interface QueryDepositsRequest extends QueryDepositsRequestType {} -interface QueryDepositsResponse extends QueryDepositsResponseType {} -interface QueryTallyResultRequest extends QueryTallyResultRequestType {} -interface QueryTallyResultResponse extends QueryTallyResultResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface QueryProposalRequest extends QueryProposalRequest_type {} +export interface QueryProposalResponse extends QueryProposalResponse_type {} +export interface QueryProposalsRequest extends QueryProposalsRequest_type {} +export interface QueryProposalsResponse extends QueryProposalsResponse_type {} +export interface QueryVoteRequest extends QueryVoteRequest_type {} +export interface QueryVoteResponse extends QueryVoteResponse_type {} +export interface QueryVotesRequest extends QueryVotesRequest_type {} +export interface QueryVotesResponse extends QueryVotesResponse_type {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryDepositRequest extends QueryDepositRequest_type {} +export interface QueryDepositResponse extends QueryDepositResponse_type {} +export interface QueryDepositsRequest extends QueryDepositsRequest_type {} +export interface QueryDepositsResponse extends QueryDepositsResponse_type {} +export interface QueryTallyResultRequest extends QueryTallyResultRequest_type {} +export interface QueryTallyResultResponse extends QueryTallyResultResponse_type {} export const QueryProposalRequest: MessageFns = { $type: "cosmos.gov.v1beta1.QueryProposalRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts index 2b8b19ea4..b6fc86b70 100644 --- a/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/gov/v1beta1/tx.ts @@ -9,26 +9,26 @@ import { Coin } from "../../base/v1beta1/coin"; import { WeightedVoteOption, voteOptionFromJSON, voteOptionToJSON } from "./gov"; import type { - MsgDepositResponse as MsgDepositResponseType, - MsgDeposit as MsgDepositType, - MsgSubmitProposalResponse as MsgSubmitProposalResponseType, - MsgSubmitProposal as MsgSubmitProposalType, - MsgVoteResponse as MsgVoteResponseType, - MsgVote as MsgVoteType, - MsgVoteWeightedResponse as MsgVoteWeightedResponseType, - MsgVoteWeighted as MsgVoteWeightedType, + MsgDepositResponse as MsgDepositResponse_type, + MsgDeposit as MsgDeposit_type, + MsgSubmitProposalResponse as MsgSubmitProposalResponse_type, + MsgSubmitProposal as MsgSubmitProposal_type, + MsgVoteResponse as MsgVoteResponse_type, + MsgVoteWeightedResponse as MsgVoteWeightedResponse_type, + MsgVoteWeighted as MsgVoteWeighted_type, + MsgVote as MsgVote_type, } from "../../../../types/cosmos/gov/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgSubmitProposal extends MsgSubmitProposalType {} -interface MsgSubmitProposalResponse extends MsgSubmitProposalResponseType {} -interface MsgVote extends MsgVoteType {} -interface MsgVoteResponse extends MsgVoteResponseType {} -interface MsgVoteWeighted extends MsgVoteWeightedType {} -interface MsgVoteWeightedResponse extends MsgVoteWeightedResponseType {} -interface MsgDeposit extends MsgDepositType {} -interface MsgDepositResponse extends MsgDepositResponseType {} +export interface MsgSubmitProposal extends MsgSubmitProposal_type {} +export interface MsgSubmitProposalResponse extends MsgSubmitProposalResponse_type {} +export interface MsgVote extends MsgVote_type {} +export interface MsgVoteResponse extends MsgVoteResponse_type {} +export interface MsgVoteWeighted extends MsgVoteWeighted_type {} +export interface MsgVoteWeightedResponse extends MsgVoteWeightedResponse_type {} +export interface MsgDeposit extends MsgDeposit_type {} +export interface MsgDepositResponse extends MsgDepositResponse_type {} export const MsgSubmitProposal: MessageFns = { $type: "cosmos.gov.v1beta1.MsgSubmitProposal" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts index 8c501e466..e5357f0f1 100644 --- a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Minter, Params } from "./mint"; -import type { GenesisState as GenesisStateType } from "../../../../types/cosmos/mint/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../../types/cosmos/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "cosmos.mint.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts index 1c0f30d4a..2b12c93c9 100644 --- a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/mint.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Minter as MinterType, Params as ParamsType } from "../../../../types/cosmos/mint/v1beta1"; +import type { Minter as Minter_type, Params as Params_type } from "../../../../types/cosmos/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Minter extends MinterType {} -interface Params extends ParamsType {} +export interface Minter extends Minter_type {} +export interface Params extends Params_type {} export const Minter: MessageFns = { $type: "cosmos.mint.v1beta1.Minter" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts index be8bdfe6b..bdb8a725d 100644 --- a/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/mint/v1beta1/query.ts @@ -5,22 +5,22 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Params } from "./mint"; import type { - QueryAnnualProvisionsRequest as QueryAnnualProvisionsRequestType, - QueryAnnualProvisionsResponse as QueryAnnualProvisionsResponseType, - QueryInflationRequest as QueryInflationRequestType, - QueryInflationResponse as QueryInflationResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, + QueryAnnualProvisionsRequest as QueryAnnualProvisionsRequest_type, + QueryAnnualProvisionsResponse as QueryAnnualProvisionsResponse_type, + QueryInflationRequest as QueryInflationRequest_type, + QueryInflationResponse as QueryInflationResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, } from "../../../../types/cosmos/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryInflationRequest extends QueryInflationRequestType {} -interface QueryInflationResponse extends QueryInflationResponseType {} -interface QueryAnnualProvisionsRequest extends QueryAnnualProvisionsRequestType {} -interface QueryAnnualProvisionsResponse extends QueryAnnualProvisionsResponseType {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryInflationRequest extends QueryInflationRequest_type {} +export interface QueryInflationResponse extends QueryInflationResponse_type {} +export interface QueryAnnualProvisionsRequest extends QueryAnnualProvisionsRequest_type {} +export interface QueryAnnualProvisionsResponse extends QueryAnnualProvisionsResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "cosmos.mint.v1beta1.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/params/types/types.ts b/packages/cosmos/generated/encoding/cosmos/params/types/types.ts index 231d46b86..55c729117 100644 --- a/packages/cosmos/generated/encoding/cosmos/params/types/types.ts +++ b/packages/cosmos/generated/encoding/cosmos/params/types/types.ts @@ -5,16 +5,16 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { DecCoin } from "../../base/v1beta1/coin"; import type { - CosmosGasParams as CosmosGasParamsType, - FeesParams as FeesParamsType, - GenesisState as GenesisStateType, + CosmosGasParams as CosmosGasParams_type, + FeesParams as FeesParams_type, + GenesisState as GenesisState_type, } from "../../../../types/cosmos/params/types"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface FeesParams extends FeesParamsType {} -interface CosmosGasParams extends CosmosGasParamsType {} -interface GenesisState extends GenesisStateType {} +export interface FeesParams extends FeesParams_type {} +export interface CosmosGasParams extends CosmosGasParams_type {} +export interface GenesisState extends GenesisState_type {} export const FeesParams: MessageFns = { $type: "cosmos.params.v1beta1.FeesParams" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts index 06af2120f..3ebda1357 100644 --- a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts +++ b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/params.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { ParamChange as ParamChangeType, ParameterChangeProposal as ParameterChangeProposalType } from "../../../../types/cosmos/params/v1beta1"; +import type { ParamChange as ParamChange_type, ParameterChangeProposal as ParameterChangeProposal_type } from "../../../../types/cosmos/params/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface ParameterChangeProposal extends ParameterChangeProposalType {} -interface ParamChange extends ParamChangeType {} +export interface ParameterChangeProposal extends ParameterChangeProposal_type {} +export interface ParamChange extends ParamChange_type {} export const ParameterChangeProposal: MessageFns = { $type: "cosmos.params.v1beta1.ParameterChangeProposal" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts index 80adbce9b..902adfb91 100644 --- a/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/params/v1beta1/query.ts @@ -4,12 +4,12 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { ParamChange } from "./params"; -import type { QueryParamsRequest as QueryParamsRequestType, QueryParamsResponse as QueryParamsResponseType } from "../../../../types/cosmos/params/v1beta1"; +import type { QueryParamsRequest as QueryParamsRequest_type, QueryParamsResponse as QueryParamsResponse_type } from "../../../../types/cosmos/params/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "cosmos.params.v1beta1.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts index 35a751bd9..777efc582 100644 --- a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/genesis.ts @@ -11,24 +11,24 @@ import { } from "./slashing"; import type { - GenesisStateLegacyMissingHeights as GenesisStateLegacyMissingHeightsType, - GenesisStateLegacyV43 as GenesisStateLegacyV43Type, - GenesisState as GenesisStateType, - MissedBlock as MissedBlockType, - SigningInfoLegacyMissedHeights as SigningInfoLegacyMissedHeightsType, - SigningInfo as SigningInfoType, - ValidatorMissedBlocks as ValidatorMissedBlocksType, + GenesisStateLegacyMissingHeights as GenesisStateLegacyMissingHeights_type, + GenesisStateLegacyV43 as GenesisStateLegacyV43_type, + GenesisState as GenesisState_type, + MissedBlock as MissedBlock_type, + SigningInfoLegacyMissedHeights as SigningInfoLegacyMissedHeights_type, + SigningInfo as SigningInfo_type, + ValidatorMissedBlocks as ValidatorMissedBlocks_type, } from "../../../../types/cosmos/slashing/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} -interface GenesisStateLegacyMissingHeights extends GenesisStateLegacyMissingHeightsType {} -interface GenesisStateLegacyV43 extends GenesisStateLegacyV43Type {} -interface SigningInfo extends SigningInfoType {} -interface SigningInfoLegacyMissedHeights extends SigningInfoLegacyMissedHeightsType {} -interface ValidatorMissedBlocks extends ValidatorMissedBlocksType {} -interface MissedBlock extends MissedBlockType {} +export interface GenesisState extends GenesisState_type {} +export interface GenesisStateLegacyMissingHeights extends GenesisStateLegacyMissingHeights_type {} +export interface GenesisStateLegacyV43 extends GenesisStateLegacyV43_type {} +export interface SigningInfo extends SigningInfo_type {} +export interface SigningInfoLegacyMissedHeights extends SigningInfoLegacyMissedHeights_type {} +export interface ValidatorMissedBlocks extends ValidatorMissedBlocks_type {} +export interface MissedBlock extends MissedBlock_type {} export const GenesisState: MessageFns = { $type: "cosmos.slashing.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts index c0a0b7d03..c0efc4a89 100644 --- a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/query.ts @@ -7,22 +7,22 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Params, ValidatorSigningInfo } from "./slashing"; import type { - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QuerySigningInfoRequest as QuerySigningInfoRequestType, - QuerySigningInfoResponse as QuerySigningInfoResponseType, - QuerySigningInfosRequest as QuerySigningInfosRequestType, - QuerySigningInfosResponse as QuerySigningInfosResponseType, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QuerySigningInfoRequest as QuerySigningInfoRequest_type, + QuerySigningInfoResponse as QuerySigningInfoResponse_type, + QuerySigningInfosRequest as QuerySigningInfosRequest_type, + QuerySigningInfosResponse as QuerySigningInfosResponse_type, } from "../../../../types/cosmos/slashing/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QuerySigningInfoRequest extends QuerySigningInfoRequestType {} -interface QuerySigningInfoResponse extends QuerySigningInfoResponseType {} -interface QuerySigningInfosRequest extends QuerySigningInfosRequestType {} -interface QuerySigningInfosResponse extends QuerySigningInfosResponseType {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QuerySigningInfoRequest extends QuerySigningInfoRequest_type {} +export interface QuerySigningInfoResponse extends QuerySigningInfoResponse_type {} +export interface QuerySigningInfosRequest extends QuerySigningInfosRequest_type {} +export interface QuerySigningInfosResponse extends QuerySigningInfosResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "cosmos.slashing.v1beta1.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts index 46c5b6a4f..726c77c7e 100644 --- a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/slashing.ts @@ -7,20 +7,20 @@ import { Duration } from "../../../google/protobuf/duration"; import { Timestamp } from "../../../google/protobuf/timestamp"; import type { - Params as ParamsType, - ValidatorMissedBlockArrayLegacyMissedHeights as ValidatorMissedBlockArrayLegacyMissedHeightsType, - ValidatorMissedBlockArray as ValidatorMissedBlockArrayType, - ValidatorSigningInfoLegacyMissedHeights as ValidatorSigningInfoLegacyMissedHeightsType, - ValidatorSigningInfo as ValidatorSigningInfoType, + Params as Params_type, + ValidatorMissedBlockArrayLegacyMissedHeights as ValidatorMissedBlockArrayLegacyMissedHeights_type, + ValidatorMissedBlockArray as ValidatorMissedBlockArray_type, + ValidatorSigningInfoLegacyMissedHeights as ValidatorSigningInfoLegacyMissedHeights_type, + ValidatorSigningInfo as ValidatorSigningInfo_type, } from "../../../../types/cosmos/slashing/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface ValidatorSigningInfoLegacyMissedHeights extends ValidatorSigningInfoLegacyMissedHeightsType {} -interface ValidatorSigningInfo extends ValidatorSigningInfoType {} -interface ValidatorMissedBlockArrayLegacyMissedHeights extends ValidatorMissedBlockArrayLegacyMissedHeightsType {} -interface ValidatorMissedBlockArray extends ValidatorMissedBlockArrayType {} -interface Params extends ParamsType {} +export interface ValidatorSigningInfoLegacyMissedHeights extends ValidatorSigningInfoLegacyMissedHeights_type {} +export interface ValidatorSigningInfo extends ValidatorSigningInfo_type {} +export interface ValidatorMissedBlockArrayLegacyMissedHeights extends ValidatorMissedBlockArrayLegacyMissedHeights_type {} +export interface ValidatorMissedBlockArray extends ValidatorMissedBlockArray_type {} +export interface Params extends Params_type {} export const ValidatorSigningInfoLegacyMissedHeights: MessageFns< ValidatorSigningInfoLegacyMissedHeights, diff --git a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts index 4a701b250..57fa00dda 100644 --- a/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/slashing/v1beta1/tx.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { MsgUnjailResponse as MsgUnjailResponseType, MsgUnjail as MsgUnjailType } from "../../../../types/cosmos/slashing/v1beta1"; +import type { MsgUnjailResponse as MsgUnjailResponse_type, MsgUnjail as MsgUnjail_type } from "../../../../types/cosmos/slashing/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgUnjail extends MsgUnjailType {} -interface MsgUnjailResponse extends MsgUnjailResponseType {} +export interface MsgUnjail extends MsgUnjail_type {} +export interface MsgUnjailResponse extends MsgUnjailResponse_type {} export const MsgUnjail: MessageFns = { $type: "cosmos.slashing.v1beta1.MsgUnjail" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts index da06353ba..1a48772e0 100644 --- a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/authz.ts @@ -5,16 +5,16 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; import type { - StakeAuthorization as StakeAuthorizationType, - StakeAuthorizationValidators as StakeAuthorizationValidatorsType, + StakeAuthorizationValidators as StakeAuthorizationValidators_type, + StakeAuthorization as StakeAuthorization_type, } from "../../../../types/cosmos/staking/v1beta1"; import { AuthorizationType } from "../../../../types/cosmos/staking/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface StakeAuthorization extends StakeAuthorizationType {} -interface StakeAuthorizationValidators extends StakeAuthorizationValidatorsType {} +export interface StakeAuthorization extends StakeAuthorization_type {} +export interface StakeAuthorizationValidators extends StakeAuthorizationValidators_type {} export const StakeAuthorization: MessageFns = { $type: "cosmos.staking.v1beta1.StakeAuthorization" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts index 6f00dd001..7a861cdcc 100644 --- a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/genesis.ts @@ -4,12 +4,12 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Delegation, Params, Redelegation, UnbondingDelegation, Validator } from "./staking"; -import type { GenesisState as GenesisStateType, LastValidatorPower as LastValidatorPowerType } from "../../../../types/cosmos/staking/v1beta1"; +import type { GenesisState as GenesisState_type, LastValidatorPower as LastValidatorPower_type } from "../../../../types/cosmos/staking/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface GenesisState extends GenesisStateType {} -interface LastValidatorPower extends LastValidatorPowerType {} +export interface GenesisState extends GenesisState_type {} +export interface LastValidatorPower extends LastValidatorPower_type {} export const GenesisState: MessageFns = { $type: "cosmos.staking.v1beta1.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts index ece6ff6d9..fc9c1d783 100644 --- a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/query.ts @@ -7,66 +7,66 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { DelegationResponse, HistoricalInfo, Params, Pool, RedelegationResponse, UnbondingDelegation, Validator } from "./staking"; import type { - QueryDelegationRequest as QueryDelegationRequestType, - QueryDelegationResponse as QueryDelegationResponseType, - QueryDelegatorDelegationsRequest as QueryDelegatorDelegationsRequestType, - QueryDelegatorDelegationsResponse as QueryDelegatorDelegationsResponseType, - QueryDelegatorUnbondingDelegationsRequest as QueryDelegatorUnbondingDelegationsRequestType, - QueryDelegatorUnbondingDelegationsResponse as QueryDelegatorUnbondingDelegationsResponseType, - QueryDelegatorValidatorRequest as QueryDelegatorValidatorRequestType, - QueryDelegatorValidatorResponse as QueryDelegatorValidatorResponseType, - QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequestType, - QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponseType, - QueryHistoricalInfoRequest as QueryHistoricalInfoRequestType, - QueryHistoricalInfoResponse as QueryHistoricalInfoResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QueryPoolRequest as QueryPoolRequestType, - QueryPoolResponse as QueryPoolResponseType, - QueryRedelegationsRequest as QueryRedelegationsRequestType, - QueryRedelegationsResponse as QueryRedelegationsResponseType, - QueryUnbondingDelegationRequest as QueryUnbondingDelegationRequestType, - QueryUnbondingDelegationResponse as QueryUnbondingDelegationResponseType, - QueryValidatorDelegationsRequest as QueryValidatorDelegationsRequestType, - QueryValidatorDelegationsResponse as QueryValidatorDelegationsResponseType, - QueryValidatorRequest as QueryValidatorRequestType, - QueryValidatorResponse as QueryValidatorResponseType, - QueryValidatorUnbondingDelegationsRequest as QueryValidatorUnbondingDelegationsRequestType, - QueryValidatorUnbondingDelegationsResponse as QueryValidatorUnbondingDelegationsResponseType, - QueryValidatorsRequest as QueryValidatorsRequestType, - QueryValidatorsResponse as QueryValidatorsResponseType, + QueryDelegationRequest as QueryDelegationRequest_type, + QueryDelegationResponse as QueryDelegationResponse_type, + QueryDelegatorDelegationsRequest as QueryDelegatorDelegationsRequest_type, + QueryDelegatorDelegationsResponse as QueryDelegatorDelegationsResponse_type, + QueryDelegatorUnbondingDelegationsRequest as QueryDelegatorUnbondingDelegationsRequest_type, + QueryDelegatorUnbondingDelegationsResponse as QueryDelegatorUnbondingDelegationsResponse_type, + QueryDelegatorValidatorRequest as QueryDelegatorValidatorRequest_type, + QueryDelegatorValidatorResponse as QueryDelegatorValidatorResponse_type, + QueryDelegatorValidatorsRequest as QueryDelegatorValidatorsRequest_type, + QueryDelegatorValidatorsResponse as QueryDelegatorValidatorsResponse_type, + QueryHistoricalInfoRequest as QueryHistoricalInfoRequest_type, + QueryHistoricalInfoResponse as QueryHistoricalInfoResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QueryPoolRequest as QueryPoolRequest_type, + QueryPoolResponse as QueryPoolResponse_type, + QueryRedelegationsRequest as QueryRedelegationsRequest_type, + QueryRedelegationsResponse as QueryRedelegationsResponse_type, + QueryUnbondingDelegationRequest as QueryUnbondingDelegationRequest_type, + QueryUnbondingDelegationResponse as QueryUnbondingDelegationResponse_type, + QueryValidatorDelegationsRequest as QueryValidatorDelegationsRequest_type, + QueryValidatorDelegationsResponse as QueryValidatorDelegationsResponse_type, + QueryValidatorRequest as QueryValidatorRequest_type, + QueryValidatorResponse as QueryValidatorResponse_type, + QueryValidatorUnbondingDelegationsRequest as QueryValidatorUnbondingDelegationsRequest_type, + QueryValidatorUnbondingDelegationsResponse as QueryValidatorUnbondingDelegationsResponse_type, + QueryValidatorsRequest as QueryValidatorsRequest_type, + QueryValidatorsResponse as QueryValidatorsResponse_type, } from "../../../../types/cosmos/staking/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface QueryValidatorsRequest extends QueryValidatorsRequestType {} -interface QueryValidatorsResponse extends QueryValidatorsResponseType {} -interface QueryValidatorRequest extends QueryValidatorRequestType {} -interface QueryValidatorResponse extends QueryValidatorResponseType {} -interface QueryValidatorDelegationsRequest extends QueryValidatorDelegationsRequestType {} -interface QueryValidatorDelegationsResponse extends QueryValidatorDelegationsResponseType {} -interface QueryValidatorUnbondingDelegationsRequest extends QueryValidatorUnbondingDelegationsRequestType {} -interface QueryValidatorUnbondingDelegationsResponse extends QueryValidatorUnbondingDelegationsResponseType {} -interface QueryDelegationRequest extends QueryDelegationRequestType {} -interface QueryDelegationResponse extends QueryDelegationResponseType {} -interface QueryUnbondingDelegationRequest extends QueryUnbondingDelegationRequestType {} -interface QueryUnbondingDelegationResponse extends QueryUnbondingDelegationResponseType {} -interface QueryDelegatorDelegationsRequest extends QueryDelegatorDelegationsRequestType {} -interface QueryDelegatorDelegationsResponse extends QueryDelegatorDelegationsResponseType {} -interface QueryDelegatorUnbondingDelegationsRequest extends QueryDelegatorUnbondingDelegationsRequestType {} -interface QueryDelegatorUnbondingDelegationsResponse extends QueryDelegatorUnbondingDelegationsResponseType {} -interface QueryRedelegationsRequest extends QueryRedelegationsRequestType {} -interface QueryRedelegationsResponse extends QueryRedelegationsResponseType {} -interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequestType {} -interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponseType {} -interface QueryDelegatorValidatorRequest extends QueryDelegatorValidatorRequestType {} -interface QueryDelegatorValidatorResponse extends QueryDelegatorValidatorResponseType {} -interface QueryHistoricalInfoRequest extends QueryHistoricalInfoRequestType {} -interface QueryHistoricalInfoResponse extends QueryHistoricalInfoResponseType {} -interface QueryPoolRequest extends QueryPoolRequestType {} -interface QueryPoolResponse extends QueryPoolResponseType {} -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface QueryValidatorsRequest extends QueryValidatorsRequest_type {} +export interface QueryValidatorsResponse extends QueryValidatorsResponse_type {} +export interface QueryValidatorRequest extends QueryValidatorRequest_type {} +export interface QueryValidatorResponse extends QueryValidatorResponse_type {} +export interface QueryValidatorDelegationsRequest extends QueryValidatorDelegationsRequest_type {} +export interface QueryValidatorDelegationsResponse extends QueryValidatorDelegationsResponse_type {} +export interface QueryValidatorUnbondingDelegationsRequest extends QueryValidatorUnbondingDelegationsRequest_type {} +export interface QueryValidatorUnbondingDelegationsResponse extends QueryValidatorUnbondingDelegationsResponse_type {} +export interface QueryDelegationRequest extends QueryDelegationRequest_type {} +export interface QueryDelegationResponse extends QueryDelegationResponse_type {} +export interface QueryUnbondingDelegationRequest extends QueryUnbondingDelegationRequest_type {} +export interface QueryUnbondingDelegationResponse extends QueryUnbondingDelegationResponse_type {} +export interface QueryDelegatorDelegationsRequest extends QueryDelegatorDelegationsRequest_type {} +export interface QueryDelegatorDelegationsResponse extends QueryDelegatorDelegationsResponse_type {} +export interface QueryDelegatorUnbondingDelegationsRequest extends QueryDelegatorUnbondingDelegationsRequest_type {} +export interface QueryDelegatorUnbondingDelegationsResponse extends QueryDelegatorUnbondingDelegationsResponse_type {} +export interface QueryRedelegationsRequest extends QueryRedelegationsRequest_type {} +export interface QueryRedelegationsResponse extends QueryRedelegationsResponse_type {} +export interface QueryDelegatorValidatorsRequest extends QueryDelegatorValidatorsRequest_type {} +export interface QueryDelegatorValidatorsResponse extends QueryDelegatorValidatorsResponse_type {} +export interface QueryDelegatorValidatorRequest extends QueryDelegatorValidatorRequest_type {} +export interface QueryDelegatorValidatorResponse extends QueryDelegatorValidatorResponse_type {} +export interface QueryHistoricalInfoRequest extends QueryHistoricalInfoRequest_type {} +export interface QueryHistoricalInfoResponse extends QueryHistoricalInfoResponse_type {} +export interface QueryPoolRequest extends QueryPoolRequest_type {} +export interface QueryPoolResponse extends QueryPoolResponse_type {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} export const QueryValidatorsRequest: MessageFns = { $type: "cosmos.staking.v1beta1.QueryValidatorsRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts index 70c3d1725..636ae8a7f 100644 --- a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/staking.ts @@ -13,52 +13,52 @@ import { Header } from "../../../tendermint/types/types"; import { Coin } from "../../base/v1beta1/coin"; import type { - CommissionRates as CommissionRatesType, - Commission as CommissionType, - DVPair as DVPairType, - DVPairs as DVPairsType, - DVVTriplet as DVVTripletType, - DVVTriplets as DVVTripletsType, - DelegationResponse as DelegationResponseType, - Delegation as DelegationType, - Description as DescriptionType, - HistoricalInfo as HistoricalInfoType, - Params as ParamsType, - Pool as PoolType, - RedelegationEntryResponse as RedelegationEntryResponseType, - RedelegationEntry as RedelegationEntryType, - RedelegationResponse as RedelegationResponseType, - Redelegation as RedelegationType, - UnbondingDelegationEntry as UnbondingDelegationEntryType, - UnbondingDelegation as UnbondingDelegationType, - ValAddresses as ValAddressesType, - Validator as ValidatorType, + CommissionRates as CommissionRates_type, + Commission as Commission_type, + DVPair as DVPair_type, + DVPairs as DVPairs_type, + DVVTriplet as DVVTriplet_type, + DVVTriplets as DVVTriplets_type, + DelegationResponse as DelegationResponse_type, + Delegation as Delegation_type, + Description as Description_type, + HistoricalInfo as HistoricalInfo_type, + Params as Params_type, + Pool as Pool_type, + RedelegationEntryResponse as RedelegationEntryResponse_type, + RedelegationEntry as RedelegationEntry_type, + RedelegationResponse as RedelegationResponse_type, + Redelegation as Redelegation_type, + UnbondingDelegationEntry as UnbondingDelegationEntry_type, + UnbondingDelegation as UnbondingDelegation_type, + ValAddresses as ValAddresses_type, + Validator as Validator_type, } from "../../../../types/cosmos/staking/v1beta1"; import { BondStatus } from "../../../../types/cosmos/staking/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface HistoricalInfo extends HistoricalInfoType {} -interface CommissionRates extends CommissionRatesType {} -interface Commission extends CommissionType {} -interface Description extends DescriptionType {} -interface Validator extends ValidatorType {} -interface ValAddresses extends ValAddressesType {} -interface DVPair extends DVPairType {} -interface DVPairs extends DVPairsType {} -interface DVVTriplet extends DVVTripletType {} -interface DVVTriplets extends DVVTripletsType {} -interface Delegation extends DelegationType {} -interface UnbondingDelegation extends UnbondingDelegationType {} -interface UnbondingDelegationEntry extends UnbondingDelegationEntryType {} -interface RedelegationEntry extends RedelegationEntryType {} -interface Redelegation extends RedelegationType {} -interface Params extends ParamsType {} -interface DelegationResponse extends DelegationResponseType {} -interface RedelegationEntryResponse extends RedelegationEntryResponseType {} -interface RedelegationResponse extends RedelegationResponseType {} -interface Pool extends PoolType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface HistoricalInfo extends HistoricalInfo_type {} +export interface CommissionRates extends CommissionRates_type {} +export interface Commission extends Commission_type {} +export interface Description extends Description_type {} +export interface Validator extends Validator_type {} +export interface ValAddresses extends ValAddresses_type {} +export interface DVPair extends DVPair_type {} +export interface DVPairs extends DVPairs_type {} +export interface DVVTriplet extends DVVTriplet_type {} +export interface DVVTriplets extends DVVTriplets_type {} +export interface Delegation extends Delegation_type {} +export interface UnbondingDelegation extends UnbondingDelegation_type {} +export interface UnbondingDelegationEntry extends UnbondingDelegationEntry_type {} +export interface RedelegationEntry extends RedelegationEntry_type {} +export interface Redelegation extends Redelegation_type {} +export interface Params extends Params_type {} +export interface DelegationResponse extends DelegationResponse_type {} +export interface RedelegationEntryResponse extends RedelegationEntryResponse_type {} +export interface RedelegationResponse extends RedelegationResponse_type {} +export interface Pool extends Pool_type {} export const HistoricalInfo: MessageFns = { $type: "cosmos.staking.v1beta1.HistoricalInfo" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts index dcaeafbcc..021759900 100644 --- a/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/staking/v1beta1/tx.ts @@ -11,30 +11,30 @@ import { Coin } from "../../base/v1beta1/coin"; import { CommissionRates, Description } from "./staking"; import type { - MsgBeginRedelegateResponse as MsgBeginRedelegateResponseType, - MsgBeginRedelegate as MsgBeginRedelegateType, - MsgCreateValidatorResponse as MsgCreateValidatorResponseType, - MsgCreateValidator as MsgCreateValidatorType, - MsgDelegateResponse as MsgDelegateResponseType, - MsgDelegate as MsgDelegateType, - MsgEditValidatorResponse as MsgEditValidatorResponseType, - MsgEditValidator as MsgEditValidatorType, - MsgUndelegateResponse as MsgUndelegateResponseType, - MsgUndelegate as MsgUndelegateType, + MsgBeginRedelegateResponse as MsgBeginRedelegateResponse_type, + MsgBeginRedelegate as MsgBeginRedelegate_type, + MsgCreateValidatorResponse as MsgCreateValidatorResponse_type, + MsgCreateValidator as MsgCreateValidator_type, + MsgDelegateResponse as MsgDelegateResponse_type, + MsgDelegate as MsgDelegate_type, + MsgEditValidatorResponse as MsgEditValidatorResponse_type, + MsgEditValidator as MsgEditValidator_type, + MsgUndelegateResponse as MsgUndelegateResponse_type, + MsgUndelegate as MsgUndelegate_type, } from "../../../../types/cosmos/staking/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface MsgCreateValidator extends MsgCreateValidatorType {} -interface MsgCreateValidatorResponse extends MsgCreateValidatorResponseType {} -interface MsgEditValidator extends MsgEditValidatorType {} -interface MsgEditValidatorResponse extends MsgEditValidatorResponseType {} -interface MsgDelegate extends MsgDelegateType {} -interface MsgDelegateResponse extends MsgDelegateResponseType {} -interface MsgBeginRedelegate extends MsgBeginRedelegateType {} -interface MsgBeginRedelegateResponse extends MsgBeginRedelegateResponseType {} -interface MsgUndelegate extends MsgUndelegateType {} -interface MsgUndelegateResponse extends MsgUndelegateResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface MsgCreateValidator extends MsgCreateValidator_type {} +export interface MsgCreateValidatorResponse extends MsgCreateValidatorResponse_type {} +export interface MsgEditValidator extends MsgEditValidator_type {} +export interface MsgEditValidatorResponse extends MsgEditValidatorResponse_type {} +export interface MsgDelegate extends MsgDelegate_type {} +export interface MsgDelegateResponse extends MsgDelegateResponse_type {} +export interface MsgBeginRedelegate extends MsgBeginRedelegate_type {} +export interface MsgBeginRedelegateResponse extends MsgBeginRedelegateResponse_type {} +export interface MsgUndelegate extends MsgUndelegate_type {} +export interface MsgUndelegateResponse extends MsgUndelegateResponse_type {} export const MsgCreateValidator: MessageFns = { $type: "cosmos.staking.v1beta1.MsgCreateValidator" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts index de89b2950..ebd6958e9 100644 --- a/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts +++ b/packages/cosmos/generated/encoding/cosmos/tx/signing/v1beta1/signing.ts @@ -7,22 +7,22 @@ import { Any } from "../../../../google/protobuf/any"; import { CompactBitArray } from "../../../crypto/multisig/v1beta1/multisig"; import type { - SignatureDescriptorDataMulti as SignatureDescriptorDataMultiType, - SignatureDescriptorDataSingle as SignatureDescriptorDataSingleType, - SignatureDescriptorData as SignatureDescriptorDataType, - SignatureDescriptor as SignatureDescriptorType, - SignatureDescriptors as SignatureDescriptorsType, + SignatureDescriptorDataMulti as SignatureDescriptorDataMulti_type, + SignatureDescriptorDataSingle as SignatureDescriptorDataSingle_type, + SignatureDescriptorData as SignatureDescriptorData_type, + SignatureDescriptor as SignatureDescriptor_type, + SignatureDescriptors as SignatureDescriptors_type, } from "../../../../../types/cosmos/tx/signing/v1beta1"; import { SignMode } from "../../../../../types/cosmos/tx/signing/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../../common"; -interface SignatureDescriptors extends SignatureDescriptorsType {} -interface SignatureDescriptor extends SignatureDescriptorType {} -interface SignatureDescriptorData extends SignatureDescriptorDataType {} -interface SignatureDescriptorDataSingle extends SignatureDescriptorDataSingleType {} -interface SignatureDescriptorDataMulti extends SignatureDescriptorDataMultiType {} +export interface SignatureDescriptors extends SignatureDescriptors_type {} +export interface SignatureDescriptor extends SignatureDescriptor_type {} +export interface SignatureDescriptorData extends SignatureDescriptorData_type {} +export interface SignatureDescriptorDataSingle extends SignatureDescriptorDataSingle_type {} +export interface SignatureDescriptorDataMulti extends SignatureDescriptorDataMulti_type {} export const SignatureDescriptors: MessageFns = { $type: "cosmos.tx.signing.v1beta1.SignatureDescriptors" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts index fb776f0ab..72a282df8 100644 --- a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts +++ b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/service.ts @@ -13,32 +13,32 @@ import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Tx } from "./tx"; import type { - BroadcastTxRequest as BroadcastTxRequestType, - BroadcastTxResponse as BroadcastTxResponseType, - GetBlockWithTxsRequest as GetBlockWithTxsRequestType, - GetBlockWithTxsResponse as GetBlockWithTxsResponseType, - GetTxRequest as GetTxRequestType, - GetTxResponse as GetTxResponseType, - GetTxsEventRequest as GetTxsEventRequestType, - GetTxsEventResponse as GetTxsEventResponseType, - SimulateRequest as SimulateRequestType, - SimulateResponse as SimulateResponseType, + BroadcastTxRequest as BroadcastTxRequest_type, + BroadcastTxResponse as BroadcastTxResponse_type, + GetBlockWithTxsRequest as GetBlockWithTxsRequest_type, + GetBlockWithTxsResponse as GetBlockWithTxsResponse_type, + GetTxRequest as GetTxRequest_type, + GetTxResponse as GetTxResponse_type, + GetTxsEventRequest as GetTxsEventRequest_type, + GetTxsEventResponse as GetTxsEventResponse_type, + SimulateRequest as SimulateRequest_type, + SimulateResponse as SimulateResponse_type, } from "../../../../types/cosmos/tx/v1beta1"; import { BroadcastMode, OrderBy } from "../../../../types/cosmos/tx/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface GetTxsEventRequest extends GetTxsEventRequestType {} -interface GetTxsEventResponse extends GetTxsEventResponseType {} -interface BroadcastTxRequest extends BroadcastTxRequestType {} -interface BroadcastTxResponse extends BroadcastTxResponseType {} -interface SimulateRequest extends SimulateRequestType {} -interface SimulateResponse extends SimulateResponseType {} -interface GetTxRequest extends GetTxRequestType {} -interface GetTxResponse extends GetTxResponseType {} -interface GetBlockWithTxsRequest extends GetBlockWithTxsRequestType {} -interface GetBlockWithTxsResponse extends GetBlockWithTxsResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface GetTxsEventRequest extends GetTxsEventRequest_type {} +export interface GetTxsEventResponse extends GetTxsEventResponse_type {} +export interface BroadcastTxRequest extends BroadcastTxRequest_type {} +export interface BroadcastTxResponse extends BroadcastTxResponse_type {} +export interface SimulateRequest extends SimulateRequest_type {} +export interface SimulateResponse extends SimulateResponse_type {} +export interface GetTxRequest extends GetTxRequest_type {} +export interface GetTxResponse extends GetTxResponse_type {} +export interface GetBlockWithTxsRequest extends GetBlockWithTxsRequest_type {} +export interface GetBlockWithTxsResponse extends GetBlockWithTxsResponse_type {} export const GetTxsEventRequest: MessageFns = { $type: "cosmos.tx.v1beta1.GetTxsEventRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts index 7783cf5b7..ad5df5243 100644 --- a/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/tx/v1beta1/tx.ts @@ -11,30 +11,30 @@ import { CompactBitArray } from "../../crypto/multisig/v1beta1/multisig"; import { signModeFromJSON, signModeToJSON } from "../signing/v1beta1/signing"; import type { - AuthInfo as AuthInfoType, - Fee as FeeType, - ModeInfoMulti as ModeInfoMultiType, - ModeInfoSingle as ModeInfoSingleType, - ModeInfo as ModeInfoType, - SignDoc as SignDocType, - SignerInfo as SignerInfoType, - TxBody as TxBodyType, - TxRaw as TxRawType, - Tx as TxType, + AuthInfo as AuthInfo_type, + Fee as Fee_type, + ModeInfoMulti as ModeInfoMulti_type, + ModeInfoSingle as ModeInfoSingle_type, + ModeInfo as ModeInfo_type, + SignDoc as SignDoc_type, + SignerInfo as SignerInfo_type, + TxBody as TxBody_type, + TxRaw as TxRaw_type, + Tx as Tx_type, } from "../../../../types/cosmos/tx/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; - -interface Tx extends TxType {} -interface TxRaw extends TxRawType {} -interface SignDoc extends SignDocType {} -interface TxBody extends TxBodyType {} -interface AuthInfo extends AuthInfoType {} -interface SignerInfo extends SignerInfoType {} -interface ModeInfo extends ModeInfoType {} -interface ModeInfoSingle extends ModeInfoSingleType {} -interface ModeInfoMulti extends ModeInfoMultiType {} -interface Fee extends FeeType {} +import type { DeepPartial, Exact, MessageFns } from "../../../common"; + +export interface Tx extends Tx_type {} +export interface TxRaw extends TxRaw_type {} +export interface SignDoc extends SignDoc_type {} +export interface TxBody extends TxBody_type {} +export interface AuthInfo extends AuthInfo_type {} +export interface SignerInfo extends SignerInfo_type {} +export interface ModeInfo extends ModeInfo_type {} +export interface ModeInfoSingle extends ModeInfoSingle_type {} +export interface ModeInfoMulti extends ModeInfoMulti_type {} +export interface Fee extends Fee_type {} export const Tx: MessageFns = { $type: "cosmos.tx.v1beta1.Tx" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts index 7f993271e..b6fd129ec 100644 --- a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/query.ts @@ -3,26 +3,26 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { ModuleVersion, Plan } from "./upgrade"; import type { - QueryAppliedPlanRequest as QueryAppliedPlanRequestType, - QueryAppliedPlanResponse as QueryAppliedPlanResponseType, - QueryCurrentPlanRequest as QueryCurrentPlanRequestType, - QueryCurrentPlanResponse as QueryCurrentPlanResponseType, - QueryModuleVersionsRequest as QueryModuleVersionsRequestType, - QueryModuleVersionsResponse as QueryModuleVersionsResponseType, - QueryUpgradedConsensusStateRequest as QueryUpgradedConsensusStateRequestType, - QueryUpgradedConsensusStateResponse as QueryUpgradedConsensusStateResponseType, + QueryAppliedPlanRequest as QueryAppliedPlanRequest_type, + QueryAppliedPlanResponse as QueryAppliedPlanResponse_type, + QueryCurrentPlanRequest as QueryCurrentPlanRequest_type, + QueryCurrentPlanResponse as QueryCurrentPlanResponse_type, + QueryModuleVersionsRequest as QueryModuleVersionsRequest_type, + QueryModuleVersionsResponse as QueryModuleVersionsResponse_type, + QueryUpgradedConsensusStateRequest as QueryUpgradedConsensusStateRequest_type, + QueryUpgradedConsensusStateResponse as QueryUpgradedConsensusStateResponse_type, } from "../../../../types/cosmos/upgrade/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface QueryCurrentPlanRequest extends QueryCurrentPlanRequestType {} -interface QueryCurrentPlanResponse extends QueryCurrentPlanResponseType {} -interface QueryAppliedPlanRequest extends QueryAppliedPlanRequestType {} -interface QueryAppliedPlanResponse extends QueryAppliedPlanResponseType {} -interface QueryUpgradedConsensusStateRequest extends QueryUpgradedConsensusStateRequestType {} -interface QueryUpgradedConsensusStateResponse extends QueryUpgradedConsensusStateResponseType {} -interface QueryModuleVersionsRequest extends QueryModuleVersionsRequestType {} -interface QueryModuleVersionsResponse extends QueryModuleVersionsResponseType {} +export interface QueryCurrentPlanRequest extends QueryCurrentPlanRequest_type {} +export interface QueryCurrentPlanResponse extends QueryCurrentPlanResponse_type {} +export interface QueryAppliedPlanRequest extends QueryAppliedPlanRequest_type {} +export interface QueryAppliedPlanResponse extends QueryAppliedPlanResponse_type {} +export interface QueryUpgradedConsensusStateRequest extends QueryUpgradedConsensusStateRequest_type {} +export interface QueryUpgradedConsensusStateResponse extends QueryUpgradedConsensusStateResponse_type {} +export interface QueryModuleVersionsRequest extends QueryModuleVersionsRequest_type {} +export interface QueryModuleVersionsResponse extends QueryModuleVersionsResponse_type {} export const QueryCurrentPlanRequest: MessageFns = { $type: "cosmos.upgrade.v1beta1.QueryCurrentPlanRequest" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts index a5257a119..ce24d14f2 100644 --- a/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts +++ b/packages/cosmos/generated/encoding/cosmos/upgrade/v1beta1/upgrade.ts @@ -7,18 +7,18 @@ import { Any } from "../../../google/protobuf/any"; import { Timestamp } from "../../../google/protobuf/timestamp"; import type { - CancelSoftwareUpgradeProposal as CancelSoftwareUpgradeProposalType, - ModuleVersion as ModuleVersionType, - Plan as PlanType, - SoftwareUpgradeProposal as SoftwareUpgradeProposalType, + CancelSoftwareUpgradeProposal as CancelSoftwareUpgradeProposal_type, + ModuleVersion as ModuleVersion_type, + Plan as Plan_type, + SoftwareUpgradeProposal as SoftwareUpgradeProposal_type, } from "../../../../types/cosmos/upgrade/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface Plan extends PlanType {} -interface SoftwareUpgradeProposal extends SoftwareUpgradeProposalType {} -interface CancelSoftwareUpgradeProposal extends CancelSoftwareUpgradeProposalType {} -interface ModuleVersion extends ModuleVersionType {} +export interface Plan extends Plan_type {} +export interface SoftwareUpgradeProposal extends SoftwareUpgradeProposal_type {} +export interface CancelSoftwareUpgradeProposal extends CancelSoftwareUpgradeProposal_type {} +export interface ModuleVersion extends ModuleVersion_type {} export const Plan: MessageFns = { $type: "cosmos.upgrade.v1beta1.Plan" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts index 5b05b5f76..68037d1c0 100644 --- a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts +++ b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/tx.ts @@ -3,14 +3,14 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Coin } from "../../base/v1beta1/coin"; import type { - MsgCreateVestingAccountResponse as MsgCreateVestingAccountResponseType, - MsgCreateVestingAccount as MsgCreateVestingAccountType, + MsgCreateVestingAccountResponse as MsgCreateVestingAccountResponse_type, + MsgCreateVestingAccount as MsgCreateVestingAccount_type, } from "../../../../types/cosmos/vesting/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface MsgCreateVestingAccount extends MsgCreateVestingAccountType {} -interface MsgCreateVestingAccountResponse extends MsgCreateVestingAccountResponseType {} +export interface MsgCreateVestingAccount extends MsgCreateVestingAccount_type {} +export interface MsgCreateVestingAccountResponse extends MsgCreateVestingAccountResponse_type {} export const MsgCreateVestingAccount: MessageFns = { $type: "cosmos.vesting.v1beta1.MsgCreateVestingAccount" as const, diff --git a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts index 8d7b6ee3f..0b91b896f 100644 --- a/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts +++ b/packages/cosmos/generated/encoding/cosmos/vesting/v1beta1/vesting.ts @@ -7,22 +7,22 @@ import { BaseAccount } from "../../auth/v1beta1/auth"; import { Coin } from "../../base/v1beta1/coin"; import type { - BaseVestingAccount as BaseVestingAccountType, - ContinuousVestingAccount as ContinuousVestingAccountType, - DelayedVestingAccount as DelayedVestingAccountType, - Period as PeriodType, - PeriodicVestingAccount as PeriodicVestingAccountType, - PermanentLockedAccount as PermanentLockedAccountType, + BaseVestingAccount as BaseVestingAccount_type, + ContinuousVestingAccount as ContinuousVestingAccount_type, + DelayedVestingAccount as DelayedVestingAccount_type, + Period as Period_type, + PeriodicVestingAccount as PeriodicVestingAccount_type, + PermanentLockedAccount as PermanentLockedAccount_type, } from "../../../../types/cosmos/vesting/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface BaseVestingAccount extends BaseVestingAccountType {} -interface ContinuousVestingAccount extends ContinuousVestingAccountType {} -interface DelayedVestingAccount extends DelayedVestingAccountType {} -interface Period extends PeriodType {} -interface PeriodicVestingAccount extends PeriodicVestingAccountType {} -interface PermanentLockedAccount extends PermanentLockedAccountType {} +export interface BaseVestingAccount extends BaseVestingAccount_type {} +export interface ContinuousVestingAccount extends ContinuousVestingAccount_type {} +export interface DelayedVestingAccount extends DelayedVestingAccount_type {} +export interface Period extends Period_type {} +export interface PeriodicVestingAccount extends PeriodicVestingAccount_type {} +export interface PermanentLockedAccount extends PermanentLockedAccount_type {} export const BaseVestingAccount: MessageFns = { $type: "cosmos.vesting.v1beta1.BaseVestingAccount" as const, diff --git a/packages/cosmos/generated/encoding/epoch/epoch.ts b/packages/cosmos/generated/encoding/epoch/epoch.ts index 1d948623a..284a07c0f 100644 --- a/packages/cosmos/generated/encoding/epoch/epoch.ts +++ b/packages/cosmos/generated/encoding/epoch/epoch.ts @@ -6,11 +6,11 @@ import { Duration } from "../google/protobuf/duration"; import { Timestamp } from "../google/protobuf/timestamp"; -import type { Epoch as EpochType } from "../../types/epoch"; +import type { Epoch as Epoch_type } from "../../types/epoch"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Epoch extends EpochType {} +export interface Epoch extends Epoch_type {} export const Epoch: MessageFns = { $type: "seiprotocol.seichain.epoch.Epoch" as const, diff --git a/packages/cosmos/generated/encoding/epoch/genesis.ts b/packages/cosmos/generated/encoding/epoch/genesis.ts index b53b856d1..75a3d5642 100644 --- a/packages/cosmos/generated/encoding/epoch/genesis.ts +++ b/packages/cosmos/generated/encoding/epoch/genesis.ts @@ -6,11 +6,11 @@ import { Epoch } from "./epoch"; import { Params } from "./params"; -import type { GenesisState as GenesisStateType } from "../../types/epoch"; +import type { GenesisState as GenesisState_type } from "../../types/epoch"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "seiprotocol.seichain.epoch.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/epoch/params.ts b/packages/cosmos/generated/encoding/epoch/params.ts index 01123c791..484269353 100644 --- a/packages/cosmos/generated/encoding/epoch/params.ts +++ b/packages/cosmos/generated/encoding/epoch/params.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Params as ParamsType } from "../../types/epoch"; +import type { Params as Params_type } from "../../types/epoch"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Params extends ParamsType {} +export interface Params extends Params_type {} export const Params: MessageFns = { $type: "seiprotocol.seichain.epoch.Params" as const, diff --git a/packages/cosmos/generated/encoding/epoch/query.ts b/packages/cosmos/generated/encoding/epoch/query.ts index 82e0cc56e..215b93e8b 100644 --- a/packages/cosmos/generated/encoding/epoch/query.ts +++ b/packages/cosmos/generated/encoding/epoch/query.ts @@ -7,18 +7,18 @@ import { Epoch } from "./epoch"; import { Params } from "./params"; import type { - QueryEpochRequest as QueryEpochRequestType, - QueryEpochResponse as QueryEpochResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, + QueryEpochRequest as QueryEpochRequest_type, + QueryEpochResponse as QueryEpochResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, } from "../../types/epoch"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryEpochRequest extends QueryEpochRequestType {} -interface QueryEpochResponse extends QueryEpochResponseType {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryEpochRequest extends QueryEpochRequest_type {} +export interface QueryEpochResponse extends QueryEpochResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "seiprotocol.seichain.epoch.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/eth/tx.ts b/packages/cosmos/generated/encoding/eth/tx.ts index d4e81e88f..2a3bdb86f 100644 --- a/packages/cosmos/generated/encoding/eth/tx.ts +++ b/packages/cosmos/generated/encoding/eth/tx.ts @@ -3,26 +3,26 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - AccessListTx as AccessListTxType, - AccessTuple as AccessTupleType, - AssociateTx as AssociateTxType, - BlobTxSidecar as BlobTxSidecarType, - BlobTx as BlobTxType, - DynamicFeeTx as DynamicFeeTxType, - ExtensionOptionsEthereumTx as ExtensionOptionsEthereumTxType, - LegacyTx as LegacyTxType, + AccessListTx as AccessListTx_type, + AccessTuple as AccessTuple_type, + AssociateTx as AssociateTx_type, + BlobTxSidecar as BlobTxSidecar_type, + BlobTx as BlobTx_type, + DynamicFeeTx as DynamicFeeTx_type, + ExtensionOptionsEthereumTx as ExtensionOptionsEthereumTx_type, + LegacyTx as LegacyTx_type, } from "../../types/eth"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface AccessTuple extends AccessTupleType {} -interface AssociateTx extends AssociateTxType {} -interface LegacyTx extends LegacyTxType {} -interface AccessListTx extends AccessListTxType {} -interface DynamicFeeTx extends DynamicFeeTxType {} -interface BlobTx extends BlobTxType {} -interface BlobTxSidecar extends BlobTxSidecarType {} -interface ExtensionOptionsEthereumTx extends ExtensionOptionsEthereumTxType {} +export interface AccessTuple extends AccessTuple_type {} +export interface AssociateTx extends AssociateTx_type {} +export interface LegacyTx extends LegacyTx_type {} +export interface AccessListTx extends AccessListTx_type {} +export interface DynamicFeeTx extends DynamicFeeTx_type {} +export interface BlobTx extends BlobTx_type {} +export interface BlobTxSidecar extends BlobTxSidecar_type {} +export interface ExtensionOptionsEthereumTx extends ExtensionOptionsEthereumTx_type {} export const AccessTuple: MessageFns = { $type: "seiprotocol.seichain.eth.AccessTuple" as const, diff --git a/packages/cosmos/generated/encoding/evm/config.ts b/packages/cosmos/generated/encoding/evm/config.ts index 31f378f9b..17abe4ebe 100644 --- a/packages/cosmos/generated/encoding/evm/config.ts +++ b/packages/cosmos/generated/encoding/evm/config.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { ChainConfig as ChainConfigType } from "../../types/evm"; +import type { ChainConfig as ChainConfig_type } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface ChainConfig extends ChainConfigType {} +export interface ChainConfig extends ChainConfig_type {} export const ChainConfig: MessageFns = { $type: "seiprotocol.seichain.evm.ChainConfig" as const, diff --git a/packages/cosmos/generated/encoding/evm/genesis.ts b/packages/cosmos/generated/encoding/evm/genesis.ts index 3bdce86a0..2375e440d 100644 --- a/packages/cosmos/generated/encoding/evm/genesis.ts +++ b/packages/cosmos/generated/encoding/evm/genesis.ts @@ -5,22 +5,22 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Params } from "./params"; import type { - AddressAssociation as AddressAssociationType, - Code as CodeType, - ContractState as ContractStateType, - GenesisState as GenesisStateType, - Nonce as NonceType, - Serialized as SerializedType, + AddressAssociation as AddressAssociation_type, + Code as Code_type, + ContractState as ContractState_type, + GenesisState as GenesisState_type, + Nonce as Nonce_type, + Serialized as Serialized_type, } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface AddressAssociation extends AddressAssociationType {} -interface Code extends CodeType {} -interface ContractState extends ContractStateType {} -interface Nonce extends NonceType {} -interface Serialized extends SerializedType {} -interface GenesisState extends GenesisStateType {} +export interface AddressAssociation extends AddressAssociation_type {} +export interface Code extends Code_type {} +export interface ContractState extends ContractState_type {} +export interface Nonce extends Nonce_type {} +export interface Serialized extends Serialized_type {} +export interface GenesisState extends GenesisState_type {} export const AddressAssociation: MessageFns = { $type: "seiprotocol.seichain.evm.AddressAssociation" as const, diff --git a/packages/cosmos/generated/encoding/evm/gov.ts b/packages/cosmos/generated/encoding/evm/gov.ts index 09441763d..193eb3e99 100644 --- a/packages/cosmos/generated/encoding/evm/gov.ts +++ b/packages/cosmos/generated/encoding/evm/gov.ts @@ -1,22 +1,22 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - AddCWERC20PointerProposal as AddCWERC20PointerProposalType, - AddCWERC721PointerProposal as AddCWERC721PointerProposalType, - AddERCCW20PointerProposal as AddERCCW20PointerProposalType, - AddERCCW721PointerProposal as AddERCCW721PointerProposalType, - AddERCNativePointerProposal as AddERCNativePointerProposalType, - AddERCNativePointerProposalV2 as AddERCNativePointerProposalV2Type, + AddCWERC20PointerProposal as AddCWERC20PointerProposal_type, + AddCWERC721PointerProposal as AddCWERC721PointerProposal_type, + AddERCCW20PointerProposal as AddERCCW20PointerProposal_type, + AddERCCW721PointerProposal as AddERCCW721PointerProposal_type, + AddERCNativePointerProposalV2 as AddERCNativePointerProposalV2_type, + AddERCNativePointerProposal as AddERCNativePointerProposal_type, } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface AddERCNativePointerProposal extends AddERCNativePointerProposalType {} -interface AddERCCW20PointerProposal extends AddERCCW20PointerProposalType {} -interface AddERCCW721PointerProposal extends AddERCCW721PointerProposalType {} -interface AddCWERC20PointerProposal extends AddCWERC20PointerProposalType {} -interface AddCWERC721PointerProposal extends AddCWERC721PointerProposalType {} -interface AddERCNativePointerProposalV2 extends AddERCNativePointerProposalV2Type {} +export interface AddERCNativePointerProposal extends AddERCNativePointerProposal_type {} +export interface AddERCCW20PointerProposal extends AddERCCW20PointerProposal_type {} +export interface AddERCCW721PointerProposal extends AddERCCW721PointerProposal_type {} +export interface AddCWERC20PointerProposal extends AddCWERC20PointerProposal_type {} +export interface AddCWERC721PointerProposal extends AddCWERC721PointerProposal_type {} +export interface AddERCNativePointerProposalV2 extends AddERCNativePointerProposalV2_type {} export const AddERCNativePointerProposal: MessageFns = { $type: "seiprotocol.seichain.evm.AddERCNativePointerProposal" as const, diff --git a/packages/cosmos/generated/encoding/evm/params.ts b/packages/cosmos/generated/encoding/evm/params.ts index 80a58eba3..22c7ca1e5 100644 --- a/packages/cosmos/generated/encoding/evm/params.ts +++ b/packages/cosmos/generated/encoding/evm/params.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { ParamsPreV580 as ParamsPreV580Type, Params as ParamsType } from "../../types/evm"; +import type { ParamsPreV580 as ParamsPreV580_type, Params as Params_type } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Params extends ParamsType {} -interface ParamsPreV580 extends ParamsPreV580Type {} +export interface Params extends Params_type {} +export interface ParamsPreV580 extends ParamsPreV580_type {} export const Params: MessageFns = { $type: "seiprotocol.seichain.evm.Params" as const, diff --git a/packages/cosmos/generated/encoding/evm/query.ts b/packages/cosmos/generated/encoding/evm/query.ts index 9782bbf75..a2dac2c58 100644 --- a/packages/cosmos/generated/encoding/evm/query.ts +++ b/packages/cosmos/generated/encoding/evm/query.ts @@ -5,34 +5,34 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { pointerTypeFromJSON, pointerTypeToJSON } from "./enums"; import type { - QueryEVMAddressBySeiAddressRequest as QueryEVMAddressBySeiAddressRequestType, - QueryEVMAddressBySeiAddressResponse as QueryEVMAddressBySeiAddressResponseType, - QueryPointeeRequest as QueryPointeeRequestType, - QueryPointeeResponse as QueryPointeeResponseType, - QueryPointerRequest as QueryPointerRequestType, - QueryPointerResponse as QueryPointerResponseType, - QueryPointerVersionRequest as QueryPointerVersionRequestType, - QueryPointerVersionResponse as QueryPointerVersionResponseType, - QuerySeiAddressByEVMAddressRequest as QuerySeiAddressByEVMAddressRequestType, - QuerySeiAddressByEVMAddressResponse as QuerySeiAddressByEVMAddressResponseType, - QueryStaticCallRequest as QueryStaticCallRequestType, - QueryStaticCallResponse as QueryStaticCallResponseType, + QueryEVMAddressBySeiAddressRequest as QueryEVMAddressBySeiAddressRequest_type, + QueryEVMAddressBySeiAddressResponse as QueryEVMAddressBySeiAddressResponse_type, + QueryPointeeRequest as QueryPointeeRequest_type, + QueryPointeeResponse as QueryPointeeResponse_type, + QueryPointerRequest as QueryPointerRequest_type, + QueryPointerResponse as QueryPointerResponse_type, + QueryPointerVersionRequest as QueryPointerVersionRequest_type, + QueryPointerVersionResponse as QueryPointerVersionResponse_type, + QuerySeiAddressByEVMAddressRequest as QuerySeiAddressByEVMAddressRequest_type, + QuerySeiAddressByEVMAddressResponse as QuerySeiAddressByEVMAddressResponse_type, + QueryStaticCallRequest as QueryStaticCallRequest_type, + QueryStaticCallResponse as QueryStaticCallResponse_type, } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface QuerySeiAddressByEVMAddressRequest extends QuerySeiAddressByEVMAddressRequestType {} -interface QuerySeiAddressByEVMAddressResponse extends QuerySeiAddressByEVMAddressResponseType {} -interface QueryEVMAddressBySeiAddressRequest extends QueryEVMAddressBySeiAddressRequestType {} -interface QueryEVMAddressBySeiAddressResponse extends QueryEVMAddressBySeiAddressResponseType {} -interface QueryStaticCallRequest extends QueryStaticCallRequestType {} -interface QueryStaticCallResponse extends QueryStaticCallResponseType {} -interface QueryPointerRequest extends QueryPointerRequestType {} -interface QueryPointerResponse extends QueryPointerResponseType {} -interface QueryPointerVersionRequest extends QueryPointerVersionRequestType {} -interface QueryPointerVersionResponse extends QueryPointerVersionResponseType {} -interface QueryPointeeRequest extends QueryPointeeRequestType {} -interface QueryPointeeResponse extends QueryPointeeResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface QuerySeiAddressByEVMAddressRequest extends QuerySeiAddressByEVMAddressRequest_type {} +export interface QuerySeiAddressByEVMAddressResponse extends QuerySeiAddressByEVMAddressResponse_type {} +export interface QueryEVMAddressBySeiAddressRequest extends QueryEVMAddressBySeiAddressRequest_type {} +export interface QueryEVMAddressBySeiAddressResponse extends QueryEVMAddressBySeiAddressResponse_type {} +export interface QueryStaticCallRequest extends QueryStaticCallRequest_type {} +export interface QueryStaticCallResponse extends QueryStaticCallResponse_type {} +export interface QueryPointerRequest extends QueryPointerRequest_type {} +export interface QueryPointerResponse extends QueryPointerResponse_type {} +export interface QueryPointerVersionRequest extends QueryPointerVersionRequest_type {} +export interface QueryPointerVersionResponse extends QueryPointerVersionResponse_type {} +export interface QueryPointeeRequest extends QueryPointeeRequest_type {} +export interface QueryPointeeResponse extends QueryPointeeResponse_type {} export const QuerySeiAddressByEVMAddressRequest: MessageFns = { diff --git a/packages/cosmos/generated/encoding/evm/receipt.ts b/packages/cosmos/generated/encoding/evm/receipt.ts index 7e085a98d..a8d9c2c99 100644 --- a/packages/cosmos/generated/encoding/evm/receipt.ts +++ b/packages/cosmos/generated/encoding/evm/receipt.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Log as LogType, Receipt as ReceiptType } from "../../types/evm"; +import type { Log as Log_type, Receipt as Receipt_type } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Log extends LogType {} -interface Receipt extends ReceiptType {} +export interface Log extends Log_type {} +export interface Receipt extends Receipt_type {} export const Log: MessageFns = { $type: "seiprotocol.seichain.evm.Log" as const, diff --git a/packages/cosmos/generated/encoding/evm/tx.ts b/packages/cosmos/generated/encoding/evm/tx.ts index b0ec7a70f..7297bf0e5 100644 --- a/packages/cosmos/generated/encoding/evm/tx.ts +++ b/packages/cosmos/generated/encoding/evm/tx.ts @@ -11,38 +11,38 @@ import { pointerTypeFromJSON, pointerTypeToJSON } from "./enums"; import { Log } from "./receipt"; import type { - MsgAssociateContractAddressResponse as MsgAssociateContractAddressResponseType, - MsgAssociateContractAddress as MsgAssociateContractAddressType, - MsgAssociateResponse as MsgAssociateResponseType, - MsgAssociate as MsgAssociateType, - MsgEVMTransactionResponse as MsgEVMTransactionResponseType, - MsgEVMTransaction as MsgEVMTransactionType, - MsgInternalEVMCallResponse as MsgInternalEVMCallResponseType, - MsgInternalEVMCall as MsgInternalEVMCallType, - MsgInternalEVMDelegateCallResponse as MsgInternalEVMDelegateCallResponseType, - MsgInternalEVMDelegateCall as MsgInternalEVMDelegateCallType, - MsgRegisterPointerResponse as MsgRegisterPointerResponseType, - MsgRegisterPointer as MsgRegisterPointerType, - MsgSendResponse as MsgSendResponseType, - MsgSend as MsgSendType, + MsgAssociateContractAddressResponse as MsgAssociateContractAddressResponse_type, + MsgAssociateContractAddress as MsgAssociateContractAddress_type, + MsgAssociateResponse as MsgAssociateResponse_type, + MsgAssociate as MsgAssociate_type, + MsgEVMTransactionResponse as MsgEVMTransactionResponse_type, + MsgEVMTransaction as MsgEVMTransaction_type, + MsgInternalEVMCallResponse as MsgInternalEVMCallResponse_type, + MsgInternalEVMCall as MsgInternalEVMCall_type, + MsgInternalEVMDelegateCallResponse as MsgInternalEVMDelegateCallResponse_type, + MsgInternalEVMDelegateCall as MsgInternalEVMDelegateCall_type, + MsgRegisterPointerResponse as MsgRegisterPointerResponse_type, + MsgRegisterPointer as MsgRegisterPointer_type, + MsgSendResponse as MsgSendResponse_type, + MsgSend as MsgSend_type, } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface MsgEVMTransaction extends MsgEVMTransactionType {} -interface MsgEVMTransactionResponse extends MsgEVMTransactionResponseType {} -interface MsgInternalEVMCall extends MsgInternalEVMCallType {} -interface MsgInternalEVMCallResponse extends MsgInternalEVMCallResponseType {} -interface MsgInternalEVMDelegateCall extends MsgInternalEVMDelegateCallType {} -interface MsgInternalEVMDelegateCallResponse extends MsgInternalEVMDelegateCallResponseType {} -interface MsgSend extends MsgSendType {} -interface MsgSendResponse extends MsgSendResponseType {} -interface MsgRegisterPointer extends MsgRegisterPointerType {} -interface MsgRegisterPointerResponse extends MsgRegisterPointerResponseType {} -interface MsgAssociateContractAddress extends MsgAssociateContractAddressType {} -interface MsgAssociateContractAddressResponse extends MsgAssociateContractAddressResponseType {} -interface MsgAssociate extends MsgAssociateType {} -interface MsgAssociateResponse extends MsgAssociateResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface MsgEVMTransaction extends MsgEVMTransaction_type {} +export interface MsgEVMTransactionResponse extends MsgEVMTransactionResponse_type {} +export interface MsgInternalEVMCall extends MsgInternalEVMCall_type {} +export interface MsgInternalEVMCallResponse extends MsgInternalEVMCallResponse_type {} +export interface MsgInternalEVMDelegateCall extends MsgInternalEVMDelegateCall_type {} +export interface MsgInternalEVMDelegateCallResponse extends MsgInternalEVMDelegateCallResponse_type {} +export interface MsgSend extends MsgSend_type {} +export interface MsgSendResponse extends MsgSendResponse_type {} +export interface MsgRegisterPointer extends MsgRegisterPointer_type {} +export interface MsgRegisterPointerResponse extends MsgRegisterPointerResponse_type {} +export interface MsgAssociateContractAddress extends MsgAssociateContractAddress_type {} +export interface MsgAssociateContractAddressResponse extends MsgAssociateContractAddressResponse_type {} +export interface MsgAssociate extends MsgAssociate_type {} +export interface MsgAssociateResponse extends MsgAssociateResponse_type {} export const MsgEVMTransaction: MessageFns = { $type: "seiprotocol.seichain.evm.MsgEVMTransaction" as const, diff --git a/packages/cosmos/generated/encoding/evm/types.ts b/packages/cosmos/generated/encoding/evm/types.ts index 24a2ce0d2..5fe9dc2f9 100644 --- a/packages/cosmos/generated/encoding/evm/types.ts +++ b/packages/cosmos/generated/encoding/evm/types.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { DeferredInfo as DeferredInfoType, Whitelist as WhitelistType } from "../../types/evm"; +import type { DeferredInfo as DeferredInfo_type, Whitelist as Whitelist_type } from "../../types/evm"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Whitelist extends WhitelistType {} -interface DeferredInfo extends DeferredInfoType {} +export interface Whitelist extends Whitelist_type {} +export interface DeferredInfo extends DeferredInfo_type {} export const Whitelist: MessageFns = { $type: "seiprotocol.seichain.evm.Whitelist" as const, diff --git a/packages/cosmos/generated/encoding/google/api/http.ts b/packages/cosmos/generated/encoding/google/api/http.ts index 9a2bd4b7f..108a6dcb3 100644 --- a/packages/cosmos/generated/encoding/google/api/http.ts +++ b/packages/cosmos/generated/encoding/google/api/http.ts @@ -2,13 +2,13 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { CustomHttpPattern as CustomHttpPatternType, HttpRule as HttpRuleType, Http as HttpType } from "../../../types/google/api"; +import type { CustomHttpPattern as CustomHttpPattern_type, HttpRule as HttpRule_type, Http as Http_type } from "../../../types/google/api"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Http extends HttpType {} -interface HttpRule extends HttpRuleType {} -interface CustomHttpPattern extends CustomHttpPatternType {} +export interface Http extends Http_type {} +export interface HttpRule extends HttpRule_type {} +export interface CustomHttpPattern extends CustomHttpPattern_type {} export const Http: MessageFns = { $type: "google.api.Http" as const, diff --git a/packages/cosmos/generated/encoding/google/api/httpbody.ts b/packages/cosmos/generated/encoding/google/api/httpbody.ts index ca0afde37..d7b83acad 100644 --- a/packages/cosmos/generated/encoding/google/api/httpbody.ts +++ b/packages/cosmos/generated/encoding/google/api/httpbody.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Any } from "../protobuf/any"; -import type { HttpBody as HttpBodyType } from "../../../types/google/api"; +import type { HttpBody as HttpBody_type } from "../../../types/google/api"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface HttpBody extends HttpBodyType {} +export interface HttpBody extends HttpBody_type {} export const HttpBody: MessageFns = { $type: "google.api.HttpBody" as const, diff --git a/packages/cosmos/generated/encoding/google/protobuf/any.ts b/packages/cosmos/generated/encoding/google/protobuf/any.ts index eaf17813d..7dd89c9fa 100644 --- a/packages/cosmos/generated/encoding/google/protobuf/any.ts +++ b/packages/cosmos/generated/encoding/google/protobuf/any.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Any as AnyType } from "../../../types/google/protobuf"; +import type { Any as Any_type } from "../../../types/google/protobuf"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Any extends AnyType {} +export interface Any extends Any_type {} export const Any: MessageFns = { $type: "google.protobuf.Any" as const, diff --git a/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts b/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts index d24861f8d..1befa25f6 100644 --- a/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts +++ b/packages/cosmos/generated/encoding/google/protobuf/descriptor.ts @@ -3,38 +3,39 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - DescriptorProtoExtensionRange as DescriptorProtoExtensionRangeType, - DescriptorProtoReservedRange as DescriptorProtoReservedRangeType, - DescriptorProto as DescriptorProtoType, - EnumDescriptorProtoEnumReservedRange as EnumDescriptorProtoEnumReservedRangeType, - EnumDescriptorProto as EnumDescriptorProtoType, - EnumOptions as EnumOptionsType, - EnumValueDescriptorProto as EnumValueDescriptorProtoType, - EnumValueOptions as EnumValueOptionsType, - ExtensionRangeOptionsDeclaration as ExtensionRangeOptionsDeclarationType, - ExtensionRangeOptions as ExtensionRangeOptionsType, - FeatureSetDefaultsFeatureSetEditionDefault as FeatureSetDefaultsFeatureSetEditionDefaultType, - FeatureSetDefaults as FeatureSetDefaultsType, - FeatureSet as FeatureSetType, - FieldOptionsEditionDefault as FieldOptionsEditionDefaultType, - FieldOptionsFeatureSupport as FieldOptionsFeatureSupportType, - FieldOptions as FieldOptionsType, - FileDescriptorProto as FileDescriptorProtoType, - FileDescriptorSet as FileDescriptorSetType, - FileOptions as FileOptionsType, - GeneratedCodeInfoAnnotation as GeneratedCodeInfoAnnotationType, - GeneratedCodeInfo as GeneratedCodeInfoType, - MessageOptions as MessageOptionsType, - MethodDescriptorProto as MethodDescriptorProtoType, - MethodOptions as MethodOptionsType, - OneofDescriptorProto as OneofDescriptorProtoType, - OneofOptions as OneofOptionsType, - ServiceDescriptorProto as ServiceDescriptorProtoType, - ServiceOptions as ServiceOptionsType, - SourceCodeInfoLocation as SourceCodeInfoLocationType, - SourceCodeInfo as SourceCodeInfoType, - UninterpretedOptionNamePart as UninterpretedOptionNamePartType, - UninterpretedOption as UninterpretedOptionType, + DescriptorProtoExtensionRange as DescriptorProtoExtensionRange_type, + DescriptorProtoReservedRange as DescriptorProtoReservedRange_type, + DescriptorProto as DescriptorProto_type, + EnumDescriptorProtoEnumReservedRange as EnumDescriptorProtoEnumReservedRange_type, + EnumDescriptorProto as EnumDescriptorProto_type, + EnumOptions as EnumOptions_type, + EnumValueDescriptorProto as EnumValueDescriptorProto_type, + EnumValueOptions as EnumValueOptions_type, + ExtensionRangeOptionsDeclaration as ExtensionRangeOptionsDeclaration_type, + ExtensionRangeOptions as ExtensionRangeOptions_type, + FeatureSetDefaultsFeatureSetEditionDefault as FeatureSetDefaultsFeatureSetEditionDefault_type, + FeatureSetDefaults as FeatureSetDefaults_type, + FeatureSet as FeatureSet_type, + FieldDescriptorProto as FieldDescriptorProto_type, + FieldOptionsEditionDefault as FieldOptionsEditionDefault_type, + FieldOptionsFeatureSupport as FieldOptionsFeatureSupport_type, + FieldOptions as FieldOptions_type, + FileDescriptorProto as FileDescriptorProto_type, + FileDescriptorSet as FileDescriptorSet_type, + FileOptions as FileOptions_type, + GeneratedCodeInfoAnnotation as GeneratedCodeInfoAnnotation_type, + GeneratedCodeInfo as GeneratedCodeInfo_type, + MessageOptions as MessageOptions_type, + MethodDescriptorProto as MethodDescriptorProto_type, + MethodOptions as MethodOptions_type, + OneofDescriptorProto as OneofDescriptorProto_type, + OneofOptions as OneofOptions_type, + ServiceDescriptorProto as ServiceDescriptorProto_type, + ServiceOptions as ServiceOptions_type, + SourceCodeInfoLocation as SourceCodeInfoLocation_type, + SourceCodeInfo as SourceCodeInfo_type, + UninterpretedOptionNamePart as UninterpretedOptionNamePart_type, + UninterpretedOption as UninterpretedOption_type, } from "../../../types/google/protobuf"; import { @@ -57,41 +58,41 @@ import { MethodOptionsIdempotencyLevel, } from "../../../types/google/protobuf"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; - -interface FileDescriptorSet extends FileDescriptorSetType {} -interface FileDescriptorProto extends FileDescriptorProtoType {} -interface DescriptorProto extends DescriptorProtoType {} -interface DescriptorProtoExtensionRange extends DescriptorProtoExtensionRangeType {} -interface DescriptorProtoReservedRange extends DescriptorProtoReservedRangeType {} -interface ExtensionRangeOptions extends ExtensionRangeOptionsType {} -interface ExtensionRangeOptionsDeclaration extends ExtensionRangeOptionsDeclarationType {} -interface FieldDescriptorProto extends FieldDescriptorProtoType {} -interface OneofDescriptorProto extends OneofDescriptorProtoType {} -interface EnumDescriptorProto extends EnumDescriptorProtoType {} -interface EnumDescriptorProtoEnumReservedRange extends EnumDescriptorProtoEnumReservedRangeType {} -interface EnumValueDescriptorProto extends EnumValueDescriptorProtoType {} -interface ServiceDescriptorProto extends ServiceDescriptorProtoType {} -interface MethodDescriptorProto extends MethodDescriptorProtoType {} -interface FileOptions extends FileOptionsType {} -interface MessageOptions extends MessageOptionsType {} -interface FieldOptions extends FieldOptionsType {} -interface FieldOptionsEditionDefault extends FieldOptionsEditionDefaultType {} -interface FieldOptionsFeatureSupport extends FieldOptionsFeatureSupportType {} -interface OneofOptions extends OneofOptionsType {} -interface EnumOptions extends EnumOptionsType {} -interface EnumValueOptions extends EnumValueOptionsType {} -interface ServiceOptions extends ServiceOptionsType {} -interface MethodOptions extends MethodOptionsType {} -interface UninterpretedOption extends UninterpretedOptionType {} -interface UninterpretedOptionNamePart extends UninterpretedOptionNamePartType {} -interface FeatureSet extends FeatureSetType {} -interface FeatureSetDefaults extends FeatureSetDefaultsType {} -interface FeatureSetDefaultsFeatureSetEditionDefault extends FeatureSetDefaultsFeatureSetEditionDefaultType {} -interface SourceCodeInfo extends SourceCodeInfoType {} -interface SourceCodeInfoLocation extends SourceCodeInfoLocationType {} -interface GeneratedCodeInfo extends GeneratedCodeInfoType {} -interface GeneratedCodeInfoAnnotation extends GeneratedCodeInfoAnnotationType {} +import type { DeepPartial, Exact, MessageFns } from "../../common"; + +export interface FileDescriptorSet extends FileDescriptorSet_type {} +export interface FileDescriptorProto extends FileDescriptorProto_type {} +export interface DescriptorProto extends DescriptorProto_type {} +export interface DescriptorProtoExtensionRange extends DescriptorProtoExtensionRange_type {} +export interface DescriptorProtoReservedRange extends DescriptorProtoReservedRange_type {} +export interface ExtensionRangeOptions extends ExtensionRangeOptions_type {} +export interface ExtensionRangeOptionsDeclaration extends ExtensionRangeOptionsDeclaration_type {} +export interface FieldDescriptorProto extends FieldDescriptorProto_type {} +export interface OneofDescriptorProto extends OneofDescriptorProto_type {} +export interface EnumDescriptorProto extends EnumDescriptorProto_type {} +export interface EnumDescriptorProtoEnumReservedRange extends EnumDescriptorProtoEnumReservedRange_type {} +export interface EnumValueDescriptorProto extends EnumValueDescriptorProto_type {} +export interface ServiceDescriptorProto extends ServiceDescriptorProto_type {} +export interface MethodDescriptorProto extends MethodDescriptorProto_type {} +export interface FileOptions extends FileOptions_type {} +export interface MessageOptions extends MessageOptions_type {} +export interface FieldOptions extends FieldOptions_type {} +export interface FieldOptionsEditionDefault extends FieldOptionsEditionDefault_type {} +export interface FieldOptionsFeatureSupport extends FieldOptionsFeatureSupport_type {} +export interface OneofOptions extends OneofOptions_type {} +export interface EnumOptions extends EnumOptions_type {} +export interface EnumValueOptions extends EnumValueOptions_type {} +export interface ServiceOptions extends ServiceOptions_type {} +export interface MethodOptions extends MethodOptions_type {} +export interface UninterpretedOption extends UninterpretedOption_type {} +export interface UninterpretedOptionNamePart extends UninterpretedOptionNamePart_type {} +export interface FeatureSet extends FeatureSet_type {} +export interface FeatureSetDefaults extends FeatureSetDefaults_type {} +export interface FeatureSetDefaultsFeatureSetEditionDefault extends FeatureSetDefaultsFeatureSetEditionDefault_type {} +export interface SourceCodeInfo extends SourceCodeInfo_type {} +export interface SourceCodeInfoLocation extends SourceCodeInfoLocation_type {} +export interface GeneratedCodeInfo extends GeneratedCodeInfo_type {} +export interface GeneratedCodeInfoAnnotation extends GeneratedCodeInfoAnnotation_type {} export const FileDescriptorSet: MessageFns = { $type: "google.protobuf.FileDescriptorSet" as const, diff --git a/packages/cosmos/generated/encoding/google/protobuf/duration.ts b/packages/cosmos/generated/encoding/google/protobuf/duration.ts index d407116be..4915d3e08 100644 --- a/packages/cosmos/generated/encoding/google/protobuf/duration.ts +++ b/packages/cosmos/generated/encoding/google/protobuf/duration.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Duration as DurationType } from "../../../types/google/protobuf"; +import type { Duration as Duration_type } from "../../../types/google/protobuf"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Duration extends DurationType {} +export interface Duration extends Duration_type {} export const Duration: MessageFns = { $type: "google.protobuf.Duration" as const, diff --git a/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts b/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts index dd19b61f3..4f4b8aca1 100644 --- a/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts +++ b/packages/cosmos/generated/encoding/google/protobuf/timestamp.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Timestamp as TimestampType } from "../../../types/google/protobuf"; +import type { Timestamp as Timestamp_type } from "../../../types/google/protobuf"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Timestamp extends TimestampType {} +export interface Timestamp extends Timestamp_type {} export const Timestamp: MessageFns = { $type: "google.protobuf.Timestamp" as const, diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts b/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts index 028f85b04..795468ddf 100644 --- a/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts +++ b/packages/cosmos/generated/encoding/mint/v1beta1/genesis.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Minter, Params } from "./mint"; -import type { GenesisState as GenesisStateType } from "../../../types/mint/v1beta1"; +import type { GenesisState as GenesisState_type } from "../../../types/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface GenesisState extends GenesisStateType {} +export interface GenesisState extends GenesisState_type {} export const GenesisState: MessageFns = { $type: "seiprotocol.seichain.mint.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts b/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts index 577ccf8bd..3c0c4f9c3 100644 --- a/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts +++ b/packages/cosmos/generated/encoding/mint/v1beta1/gov.ts @@ -4,11 +4,11 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Minter } from "./mint"; -import type { UpdateMinterProposal as UpdateMinterProposalType } from "../../../types/mint/v1beta1"; +import type { UpdateMinterProposal as UpdateMinterProposal_type } from "../../../types/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface UpdateMinterProposal extends UpdateMinterProposalType {} +export interface UpdateMinterProposal extends UpdateMinterProposal_type {} export const UpdateMinterProposal: MessageFns = { $type: "seiprotocol.seichain.mint.UpdateMinterProposal" as const, diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts b/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts index 7e0f7b92f..8c1d289fa 100644 --- a/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts +++ b/packages/cosmos/generated/encoding/mint/v1beta1/mint.ts @@ -3,22 +3,22 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - Minter as MinterType, - Params as ParamsType, - ScheduledTokenRelease as ScheduledTokenReleaseType, - Version2Minter as Version2MinterType, - Version2Params as Version2ParamsType, - Version2ScheduledTokenRelease as Version2ScheduledTokenReleaseType, + Minter as Minter_type, + Params as Params_type, + ScheduledTokenRelease as ScheduledTokenRelease_type, + Version2Minter as Version2Minter_type, + Version2Params as Version2Params_type, + Version2ScheduledTokenRelease as Version2ScheduledTokenRelease_type, } from "../../../types/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Minter extends MinterType {} -interface ScheduledTokenRelease extends ScheduledTokenReleaseType {} -interface Params extends ParamsType {} -interface Version2Minter extends Version2MinterType {} -interface Version2ScheduledTokenRelease extends Version2ScheduledTokenReleaseType {} -interface Version2Params extends Version2ParamsType {} +export interface Minter extends Minter_type {} +export interface ScheduledTokenRelease extends ScheduledTokenRelease_type {} +export interface Params extends Params_type {} +export interface Version2Minter extends Version2Minter_type {} +export interface Version2ScheduledTokenRelease extends Version2ScheduledTokenRelease_type {} +export interface Version2Params extends Version2Params_type {} export const Minter: MessageFns = { $type: "seiprotocol.seichain.mint.Minter" as const, diff --git a/packages/cosmos/generated/encoding/mint/v1beta1/query.ts b/packages/cosmos/generated/encoding/mint/v1beta1/query.ts index b221b624a..89899a446 100644 --- a/packages/cosmos/generated/encoding/mint/v1beta1/query.ts +++ b/packages/cosmos/generated/encoding/mint/v1beta1/query.ts @@ -5,18 +5,18 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Params } from "./mint"; import type { - QueryMinterRequest as QueryMinterRequestType, - QueryMinterResponse as QueryMinterResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, + QueryMinterRequest as QueryMinterRequest_type, + QueryMinterResponse as QueryMinterResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, } from "../../../types/mint/v1beta1"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryMinterRequest extends QueryMinterRequestType {} -interface QueryMinterResponse extends QueryMinterResponseType {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryMinterRequest extends QueryMinterRequest_type {} +export interface QueryMinterResponse extends QueryMinterResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "seiprotocol.seichain.mint.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/oracle/genesis.ts b/packages/cosmos/generated/encoding/oracle/genesis.ts index e93473dbe..24afbede5 100644 --- a/packages/cosmos/generated/encoding/oracle/genesis.ts +++ b/packages/cosmos/generated/encoding/oracle/genesis.ts @@ -4,13 +4,13 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { AggregateExchangeRateVote, ExchangeRateTuple, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; -import type { FeederDelegation as FeederDelegationType, GenesisState as GenesisStateType, PenaltyCounter as PenaltyCounterType } from "../../types/oracle"; +import type { FeederDelegation as FeederDelegation_type, GenesisState as GenesisState_type, PenaltyCounter as PenaltyCounter_type } from "../../types/oracle"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface GenesisState extends GenesisStateType {} -interface FeederDelegation extends FeederDelegationType {} -interface PenaltyCounter extends PenaltyCounterType {} +export interface GenesisState extends GenesisState_type {} +export interface FeederDelegation extends FeederDelegation_type {} +export interface PenaltyCounter extends PenaltyCounter_type {} export const GenesisState: MessageFns = { $type: "seiprotocol.seichain.oracle.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/oracle/oracle.ts b/packages/cosmos/generated/encoding/oracle/oracle.ts index f69afe4bf..d7f671780 100644 --- a/packages/cosmos/generated/encoding/oracle/oracle.ts +++ b/packages/cosmos/generated/encoding/oracle/oracle.ts @@ -3,28 +3,28 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - AggregateExchangeRateVote as AggregateExchangeRateVoteType, - Denom as DenomType, - ExchangeRateTuple as ExchangeRateTupleType, - OracleExchangeRate as OracleExchangeRateType, - OracleTwap as OracleTwapType, - Params as ParamsType, - PriceSnapshotItem as PriceSnapshotItemType, - PriceSnapshot as PriceSnapshotType, - VotePenaltyCounter as VotePenaltyCounterType, + AggregateExchangeRateVote as AggregateExchangeRateVote_type, + Denom as Denom_type, + ExchangeRateTuple as ExchangeRateTuple_type, + OracleExchangeRate as OracleExchangeRate_type, + OracleTwap as OracleTwap_type, + Params as Params_type, + PriceSnapshotItem as PriceSnapshotItem_type, + PriceSnapshot as PriceSnapshot_type, + VotePenaltyCounter as VotePenaltyCounter_type, } from "../../types/oracle"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface Params extends ParamsType {} -interface Denom extends DenomType {} -interface AggregateExchangeRateVote extends AggregateExchangeRateVoteType {} -interface ExchangeRateTuple extends ExchangeRateTupleType {} -interface OracleExchangeRate extends OracleExchangeRateType {} -interface PriceSnapshotItem extends PriceSnapshotItemType {} -interface PriceSnapshot extends PriceSnapshotType {} -interface OracleTwap extends OracleTwapType {} -interface VotePenaltyCounter extends VotePenaltyCounterType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface Params extends Params_type {} +export interface Denom extends Denom_type {} +export interface AggregateExchangeRateVote extends AggregateExchangeRateVote_type {} +export interface ExchangeRateTuple extends ExchangeRateTuple_type {} +export interface OracleExchangeRate extends OracleExchangeRate_type {} +export interface PriceSnapshotItem extends PriceSnapshotItem_type {} +export interface PriceSnapshot extends PriceSnapshot_type {} +export interface OracleTwap extends OracleTwap_type {} +export interface VotePenaltyCounter extends VotePenaltyCounter_type {} export const Params: MessageFns = { $type: "seiprotocol.seichain.oracle.Params" as const, diff --git a/packages/cosmos/generated/encoding/oracle/query.ts b/packages/cosmos/generated/encoding/oracle/query.ts index 252f9d6bf..76ca5efd4 100644 --- a/packages/cosmos/generated/encoding/oracle/query.ts +++ b/packages/cosmos/generated/encoding/oracle/query.ts @@ -5,52 +5,52 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { OracleExchangeRate, OracleTwap, Params, PriceSnapshot, VotePenaltyCounter } from "./oracle"; import type { - DenomOracleExchangeRatePair as DenomOracleExchangeRatePairType, - QueryActivesRequest as QueryActivesRequestType, - QueryActivesResponse as QueryActivesResponseType, - QueryExchangeRateRequest as QueryExchangeRateRequestType, - QueryExchangeRateResponse as QueryExchangeRateResponseType, - QueryExchangeRatesRequest as QueryExchangeRatesRequestType, - QueryExchangeRatesResponse as QueryExchangeRatesResponseType, - QueryFeederDelegationRequest as QueryFeederDelegationRequestType, - QueryFeederDelegationResponse as QueryFeederDelegationResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, - QueryPriceSnapshotHistoryRequest as QueryPriceSnapshotHistoryRequestType, - QueryPriceSnapshotHistoryResponse as QueryPriceSnapshotHistoryResponseType, - QuerySlashWindowRequest as QuerySlashWindowRequestType, - QuerySlashWindowResponse as QuerySlashWindowResponseType, - QueryTwapsRequest as QueryTwapsRequestType, - QueryTwapsResponse as QueryTwapsResponseType, - QueryVotePenaltyCounterRequest as QueryVotePenaltyCounterRequestType, - QueryVotePenaltyCounterResponse as QueryVotePenaltyCounterResponseType, - QueryVoteTargetsRequest as QueryVoteTargetsRequestType, - QueryVoteTargetsResponse as QueryVoteTargetsResponseType, + DenomOracleExchangeRatePair as DenomOracleExchangeRatePair_type, + QueryActivesRequest as QueryActivesRequest_type, + QueryActivesResponse as QueryActivesResponse_type, + QueryExchangeRateRequest as QueryExchangeRateRequest_type, + QueryExchangeRateResponse as QueryExchangeRateResponse_type, + QueryExchangeRatesRequest as QueryExchangeRatesRequest_type, + QueryExchangeRatesResponse as QueryExchangeRatesResponse_type, + QueryFeederDelegationRequest as QueryFeederDelegationRequest_type, + QueryFeederDelegationResponse as QueryFeederDelegationResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, + QueryPriceSnapshotHistoryRequest as QueryPriceSnapshotHistoryRequest_type, + QueryPriceSnapshotHistoryResponse as QueryPriceSnapshotHistoryResponse_type, + QuerySlashWindowRequest as QuerySlashWindowRequest_type, + QuerySlashWindowResponse as QuerySlashWindowResponse_type, + QueryTwapsRequest as QueryTwapsRequest_type, + QueryTwapsResponse as QueryTwapsResponse_type, + QueryVotePenaltyCounterRequest as QueryVotePenaltyCounterRequest_type, + QueryVotePenaltyCounterResponse as QueryVotePenaltyCounterResponse_type, + QueryVoteTargetsRequest as QueryVoteTargetsRequest_type, + QueryVoteTargetsResponse as QueryVoteTargetsResponse_type, } from "../../types/oracle"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface QueryExchangeRateRequest extends QueryExchangeRateRequestType {} -interface QueryExchangeRateResponse extends QueryExchangeRateResponseType {} -interface QueryExchangeRatesRequest extends QueryExchangeRatesRequestType {} -interface DenomOracleExchangeRatePair extends DenomOracleExchangeRatePairType {} -interface QueryExchangeRatesResponse extends QueryExchangeRatesResponseType {} -interface QueryActivesRequest extends QueryActivesRequestType {} -interface QueryActivesResponse extends QueryActivesResponseType {} -interface QueryVoteTargetsRequest extends QueryVoteTargetsRequestType {} -interface QueryVoteTargetsResponse extends QueryVoteTargetsResponseType {} -interface QueryPriceSnapshotHistoryRequest extends QueryPriceSnapshotHistoryRequestType {} -interface QueryPriceSnapshotHistoryResponse extends QueryPriceSnapshotHistoryResponseType {} -interface QueryTwapsRequest extends QueryTwapsRequestType {} -interface QueryTwapsResponse extends QueryTwapsResponseType {} -interface QueryFeederDelegationRequest extends QueryFeederDelegationRequestType {} -interface QueryFeederDelegationResponse extends QueryFeederDelegationResponseType {} -interface QueryVotePenaltyCounterRequest extends QueryVotePenaltyCounterRequestType {} -interface QueryVotePenaltyCounterResponse extends QueryVotePenaltyCounterResponseType {} -interface QuerySlashWindowRequest extends QuerySlashWindowRequestType {} -interface QuerySlashWindowResponse extends QuerySlashWindowResponseType {} -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface QueryExchangeRateRequest extends QueryExchangeRateRequest_type {} +export interface QueryExchangeRateResponse extends QueryExchangeRateResponse_type {} +export interface QueryExchangeRatesRequest extends QueryExchangeRatesRequest_type {} +export interface DenomOracleExchangeRatePair extends DenomOracleExchangeRatePair_type {} +export interface QueryExchangeRatesResponse extends QueryExchangeRatesResponse_type {} +export interface QueryActivesRequest extends QueryActivesRequest_type {} +export interface QueryActivesResponse extends QueryActivesResponse_type {} +export interface QueryVoteTargetsRequest extends QueryVoteTargetsRequest_type {} +export interface QueryVoteTargetsResponse extends QueryVoteTargetsResponse_type {} +export interface QueryPriceSnapshotHistoryRequest extends QueryPriceSnapshotHistoryRequest_type {} +export interface QueryPriceSnapshotHistoryResponse extends QueryPriceSnapshotHistoryResponse_type {} +export interface QueryTwapsRequest extends QueryTwapsRequest_type {} +export interface QueryTwapsResponse extends QueryTwapsResponse_type {} +export interface QueryFeederDelegationRequest extends QueryFeederDelegationRequest_type {} +export interface QueryFeederDelegationResponse extends QueryFeederDelegationResponse_type {} +export interface QueryVotePenaltyCounterRequest extends QueryVotePenaltyCounterRequest_type {} +export interface QueryVotePenaltyCounterResponse extends QueryVotePenaltyCounterResponse_type {} +export interface QuerySlashWindowRequest extends QuerySlashWindowRequest_type {} +export interface QuerySlashWindowResponse extends QuerySlashWindowResponse_type {} +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} export const QueryExchangeRateRequest: MessageFns = { $type: "seiprotocol.seichain.oracle.QueryExchangeRateRequest" as const, diff --git a/packages/cosmos/generated/encoding/oracle/tx.ts b/packages/cosmos/generated/encoding/oracle/tx.ts index 0de0d39c6..093d06935 100644 --- a/packages/cosmos/generated/encoding/oracle/tx.ts +++ b/packages/cosmos/generated/encoding/oracle/tx.ts @@ -1,18 +1,18 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - MsgAggregateExchangeRateVoteResponse as MsgAggregateExchangeRateVoteResponseType, - MsgAggregateExchangeRateVote as MsgAggregateExchangeRateVoteType, - MsgDelegateFeedConsentResponse as MsgDelegateFeedConsentResponseType, - MsgDelegateFeedConsent as MsgDelegateFeedConsentType, + MsgAggregateExchangeRateVoteResponse as MsgAggregateExchangeRateVoteResponse_type, + MsgAggregateExchangeRateVote as MsgAggregateExchangeRateVote_type, + MsgDelegateFeedConsentResponse as MsgDelegateFeedConsentResponse_type, + MsgDelegateFeedConsent as MsgDelegateFeedConsent_type, } from "../../types/oracle"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface MsgAggregateExchangeRateVote extends MsgAggregateExchangeRateVoteType {} -interface MsgAggregateExchangeRateVoteResponse extends MsgAggregateExchangeRateVoteResponseType {} -interface MsgDelegateFeedConsent extends MsgDelegateFeedConsentType {} -interface MsgDelegateFeedConsentResponse extends MsgDelegateFeedConsentResponseType {} +export interface MsgAggregateExchangeRateVote extends MsgAggregateExchangeRateVote_type {} +export interface MsgAggregateExchangeRateVoteResponse extends MsgAggregateExchangeRateVoteResponse_type {} +export interface MsgDelegateFeedConsent extends MsgDelegateFeedConsent_type {} +export interface MsgDelegateFeedConsentResponse extends MsgDelegateFeedConsentResponse_type {} export const MsgAggregateExchangeRateVote: MessageFns = { $type: "seiprotocol.seichain.oracle.MsgAggregateExchangeRateVote" as const, diff --git a/packages/cosmos/generated/encoding/proto.ts b/packages/cosmos/generated/encoding/proto.ts index 7435b394b..0e027eee3 100644 --- a/packages/cosmos/generated/encoding/proto.ts +++ b/packages/cosmos/generated/encoding/proto.ts @@ -111,115 +111,115 @@ import { registry as tokenfactory_params_registry } from "./tokenfactory/params" import { registry as tokenfactory_tx_registry } from "./tokenfactory/tx"; export const seiProtoRegistry = [ - ...eth_tx_registry, ...confio_proofs_registry, - ...epoch_epoch_registry, ...epoch_genesis_registry, + ...epoch_epoch_registry, ...epoch_params_registry, ...epoch_query_registry, + ...eth_tx_registry, ...evm_config_registry, ...evm_genesis_registry, ...evm_params_registry, - ...evm_receipt_registry, ...evm_query_registry, + ...evm_receipt_registry, ...evm_types_registry, ...evm_tx_registry, - ...oracle_genesis_registry, ...oracle_oracle_registry, ...oracle_query_registry, + ...oracle_genesis_registry, + ...tokenfactory_genesis_registry, ...tokenfactory_params_registry, ...tokenfactory_tx_registry, - ...tokenfactory_genesis_registry, ...cosmos_accesscontrol_accesscontrol_registry, ...cosmos_accesscontrol_x_genesis_registry, ...cosmos_accesscontrol_x_query_registry, - ...mint_v1beta1_gov_registry, - ...mint_v1beta1_genesis_registry, - ...mint_v1beta1_mint_registry, - ...mint_v1beta1_query_registry, ...google_api_http_registry, + ...google_api_httpbody_registry, ...google_protobuf_duration_registry, + ...google_protobuf_any_registry, ...google_protobuf_timestamp_registry, - ...google_api_httpbody_registry, ...google_protobuf_descriptor_registry, - ...google_protobuf_any_registry, + ...mint_v1beta1_genesis_registry, + ...mint_v1beta1_gov_registry, + ...mint_v1beta1_query_registry, + ...mint_v1beta1_mint_registry, + ...tendermint_crypto_proof_registry, ...tendermint_crypto_keys_registry, - ...tendermint_types_evidence_registry, + ...tendermint_p2p_types_registry, + ...tendermint_abci_types_registry, ...tendermint_types_block_registry, - ...tendermint_crypto_proof_registry, + ...tendermint_types_evidence_registry, ...tendermint_types_params_registry, - ...tendermint_version_types_registry, - ...tendermint_abci_types_registry, - ...tendermint_types_validator_registry, ...tendermint_types_types_registry, + ...tendermint_types_validator_registry, + ...tendermint_version_types_registry, + ...cosmos_auth_v1beta1_auth_registry, + ...cosmos_auth_v1beta1_genesis_registry, + ...cosmos_auth_v1beta1_query_registry, ...cosmos_authz_v1beta1_authz_registry, ...cosmos_authz_v1beta1_event_registry, - ...tendermint_p2p_types_registry, ...cosmos_authz_v1beta1_genesis_registry, ...cosmos_authz_v1beta1_tx_registry, - ...cosmos_bank_v1beta1_authz_registry, ...cosmos_authz_v1beta1_query_registry, + ...cosmos_bank_v1beta1_authz_registry, ...cosmos_bank_v1beta1_bank_registry, ...cosmos_bank_v1beta1_genesis_registry, ...cosmos_bank_v1beta1_tx_registry, ...cosmos_bank_v1beta1_query_registry, ...cosmos_base_v1beta1_coin_registry, + ...cosmos_crypto_secp256k1_keys_registry, + ...cosmos_crypto_multisig_keys_registry, + ...cosmos_crypto_ed25519_keys_registry, ...cosmos_capability_v1beta1_capability_registry, ...cosmos_capability_v1beta1_genesis_registry, - ...cosmos_crypto_ed25519_keys_registry, + ...cosmos_crypto_sr25519_keys_registry, ...cosmos_crisis_v1beta1_genesis_registry, - ...cosmos_crisis_v1beta1_tx_registry, - ...cosmos_crypto_multisig_keys_registry, - ...cosmos_crypto_secp256k1_keys_registry, ...cosmos_crypto_secp256r1_keys_registry, - ...cosmos_crypto_sr25519_keys_registry, - ...cosmos_distribution_v1beta1_genesis_registry, + ...cosmos_crisis_v1beta1_tx_registry, ...cosmos_distribution_v1beta1_distribution_registry, - ...cosmos_evidence_v1beta1_evidence_registry, + ...cosmos_distribution_v1beta1_genesis_registry, ...cosmos_distribution_v1beta1_query_registry, + ...cosmos_genutil_v1beta1_genesis_registry, + ...cosmos_mint_v1beta1_genesis_registry, + ...cosmos_mint_v1beta1_mint_registry, + ...cosmos_mint_v1beta1_query_registry, + ...cosmos_evidence_v1beta1_evidence_registry, ...cosmos_evidence_v1beta1_genesis_registry, - ...cosmos_evidence_v1beta1_tx_registry, ...cosmos_evidence_v1beta1_query_registry, + ...cosmos_evidence_v1beta1_tx_registry, ...cosmos_feegrant_v1beta1_feegrant_registry, - ...cosmos_feegrant_v1beta1_query_registry, ...cosmos_feegrant_v1beta1_genesis_registry, + ...cosmos_feegrant_v1beta1_query_registry, ...cosmos_feegrant_v1beta1_tx_registry, - ...cosmos_gov_v1beta1_genesis_registry, - ...cosmos_genutil_v1beta1_genesis_registry, - ...cosmos_gov_v1beta1_gov_registry, - ...cosmos_gov_v1beta1_tx_registry, - ...cosmos_gov_v1beta1_query_registry, - ...cosmos_mint_v1beta1_genesis_registry, - ...cosmos_mint_v1beta1_mint_registry, - ...cosmos_mint_v1beta1_query_registry, - ...cosmos_auth_v1beta1_auth_registry, - ...cosmos_auth_v1beta1_genesis_registry, - ...cosmos_auth_v1beta1_query_registry, ...cosmos_params_types_types_registry, - ...cosmos_params_v1beta1_params_registry, ...cosmos_params_v1beta1_query_registry, + ...cosmos_params_v1beta1_params_registry, ...cosmos_slashing_v1beta1_genesis_registry, ...cosmos_slashing_v1beta1_query_registry, - ...cosmos_slashing_v1beta1_tx_registry, ...cosmos_slashing_v1beta1_slashing_registry, - ...cosmos_tx_v1beta1_service_registry, - ...cosmos_tx_v1beta1_tx_registry, - ...cosmos_upgrade_v1beta1_upgrade_registry, - ...cosmos_staking_v1beta1_genesis_registry, + ...cosmos_slashing_v1beta1_tx_registry, ...cosmos_staking_v1beta1_authz_registry, + ...cosmos_staking_v1beta1_genesis_registry, ...cosmos_staking_v1beta1_query_registry, - ...cosmos_staking_v1beta1_staking_registry, ...cosmos_staking_v1beta1_tx_registry, + ...cosmos_staking_v1beta1_staking_registry, + ...cosmos_upgrade_v1beta1_upgrade_registry, + ...cosmos_gov_v1beta1_genesis_registry, + ...cosmos_gov_v1beta1_gov_registry, + ...cosmos_gov_v1beta1_query_registry, + ...cosmos_gov_v1beta1_tx_registry, + ...cosmos_tx_v1beta1_service_registry, + ...cosmos_tx_v1beta1_tx_registry, ...cosmos_vesting_v1beta1_vesting_registry, ...tendermint_libs_bits_types_registry, - ...cosmos_base_abci_v1beta1_abci_registry, + ...cosmos_base_kv_v1beta1_kv_registry, ...cosmos_base_query_v1beta1_pagination_registry, + ...cosmos_base_abci_v1beta1_abci_registry, ...cosmos_base_store_v1beta1_commit_info_registry, - ...cosmos_base_store_v1beta1_listening_registry, - ...cosmos_base_snapshots_v1beta1_snapshot_registry, ...cosmos_base_reflection_v2alpha1_reflection_registry, + ...cosmos_base_store_v1beta1_listening_registry, ...cosmos_base_tendermint_v1beta1_query_registry, + ...cosmos_base_snapshots_v1beta1_snapshot_registry, ...cosmos_crypto_multisig_v1beta1_multisig_registry, - ...cosmos_base_kv_v1beta1_kv_registry, ...cosmos_tx_signing_v1beta1_signing_registry, ]; diff --git a/packages/cosmos/generated/encoding/tendermint/abci/types.ts b/packages/cosmos/generated/encoding/tendermint/abci/types.ts index a7ef22dfa..962c4ce0a 100644 --- a/packages/cosmos/generated/encoding/tendermint/abci/types.ts +++ b/packages/cosmos/generated/encoding/tendermint/abci/types.ts @@ -11,54 +11,55 @@ import { ProofOps } from "../crypto/proof"; import { ConsensusParams } from "../types/params"; import type { - CommitInfo as CommitInfoType, - EventAttribute as EventAttributeType, - Event as EventType, - ExecTxResult as ExecTxResultType, - ExtendedCommitInfo as ExtendedCommitInfoType, - ExtendedVoteInfo as ExtendedVoteInfoType, - RequestApplySnapshotChunk as RequestApplySnapshotChunkType, - RequestCheckTx as RequestCheckTxType, - RequestCommit as RequestCommitType, - RequestEcho as RequestEchoType, - RequestExtendVote as RequestExtendVoteType, - RequestFinalizeBlock as RequestFinalizeBlockType, - RequestFlush as RequestFlushType, - RequestInfo as RequestInfoType, - RequestInitChain as RequestInitChainType, - RequestListSnapshots as RequestListSnapshotsType, - RequestLoadSnapshotChunk as RequestLoadSnapshotChunkType, - RequestOfferSnapshot as RequestOfferSnapshotType, - RequestPrepareProposal as RequestPrepareProposalType, - RequestProcessProposal as RequestProcessProposalType, - RequestQuery as RequestQueryType, - Request as RequestType, - RequestVerifyVoteExtension as RequestVerifyVoteExtensionType, - ResponseApplySnapshotChunk as ResponseApplySnapshotChunkType, - ResponseCheckTx as ResponseCheckTxType, - ResponseCommit as ResponseCommitType, - ResponseDeliverTx as ResponseDeliverTxType, - ResponseEcho as ResponseEchoType, - ResponseException as ResponseExceptionType, - ResponseExtendVote as ResponseExtendVoteType, - ResponseFinalizeBlock as ResponseFinalizeBlockType, - ResponseFlush as ResponseFlushType, - ResponseInfo as ResponseInfoType, - ResponseInitChain as ResponseInitChainType, - ResponseListSnapshots as ResponseListSnapshotsType, - ResponseLoadSnapshotChunk as ResponseLoadSnapshotChunkType, - ResponseOfferSnapshot as ResponseOfferSnapshotType, - ResponsePrepareProposal as ResponsePrepareProposalType, - ResponseProcessProposal as ResponseProcessProposalType, - ResponseQuery as ResponseQueryType, - Response as ResponseType, - ResponseVerifyVoteExtension as ResponseVerifyVoteExtensionType, - Snapshot as SnapshotType, - TxRecord as TxRecordType, - TxResult as TxResultType, - Validator as ValidatorType, - ValidatorUpdate as ValidatorUpdateType, - VoteInfo as VoteInfoType, + CommitInfo as CommitInfo_type, + EventAttribute as EventAttribute_type, + Event as Event_type, + ExecTxResult as ExecTxResult_type, + ExtendedCommitInfo as ExtendedCommitInfo_type, + ExtendedVoteInfo as ExtendedVoteInfo_type, + Misbehavior as Misbehavior_type, + RequestApplySnapshotChunk as RequestApplySnapshotChunk_type, + RequestCheckTx as RequestCheckTx_type, + RequestCommit as RequestCommit_type, + RequestEcho as RequestEcho_type, + RequestExtendVote as RequestExtendVote_type, + RequestFinalizeBlock as RequestFinalizeBlock_type, + RequestFlush as RequestFlush_type, + RequestInfo as RequestInfo_type, + RequestInitChain as RequestInitChain_type, + RequestListSnapshots as RequestListSnapshots_type, + RequestLoadSnapshotChunk as RequestLoadSnapshotChunk_type, + RequestOfferSnapshot as RequestOfferSnapshot_type, + RequestPrepareProposal as RequestPrepareProposal_type, + RequestProcessProposal as RequestProcessProposal_type, + RequestQuery as RequestQuery_type, + RequestVerifyVoteExtension as RequestVerifyVoteExtension_type, + Request as Request_type, + ResponseApplySnapshotChunk as ResponseApplySnapshotChunk_type, + ResponseCheckTx as ResponseCheckTx_type, + ResponseCommit as ResponseCommit_type, + ResponseDeliverTx as ResponseDeliverTx_type, + ResponseEcho as ResponseEcho_type, + ResponseException as ResponseException_type, + ResponseExtendVote as ResponseExtendVote_type, + ResponseFinalizeBlock as ResponseFinalizeBlock_type, + ResponseFlush as ResponseFlush_type, + ResponseInfo as ResponseInfo_type, + ResponseInitChain as ResponseInitChain_type, + ResponseListSnapshots as ResponseListSnapshots_type, + ResponseLoadSnapshotChunk as ResponseLoadSnapshotChunk_type, + ResponseOfferSnapshot as ResponseOfferSnapshot_type, + ResponsePrepareProposal as ResponsePrepareProposal_type, + ResponseProcessProposal as ResponseProcessProposal_type, + ResponseQuery as ResponseQuery_type, + ResponseVerifyVoteExtension as ResponseVerifyVoteExtension_type, + Response as Response_type, + Snapshot as Snapshot_type, + TxRecord as TxRecord_type, + TxResult as TxResult_type, + ValidatorUpdate as ValidatorUpdate_type, + Validator as Validator_type, + VoteInfo as VoteInfo_type, } from "../../../types/tendermint/abci"; import { @@ -71,57 +72,57 @@ import { TxRecordTxAction, } from "../../../types/tendermint/abci"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; - -interface Request extends RequestType {} -interface RequestEcho extends RequestEchoType {} -interface RequestFlush extends RequestFlushType {} -interface RequestInfo extends RequestInfoType {} -interface RequestInitChain extends RequestInitChainType {} -interface RequestQuery extends RequestQueryType {} -interface RequestCheckTx extends RequestCheckTxType {} -interface RequestCommit extends RequestCommitType {} -interface RequestListSnapshots extends RequestListSnapshotsType {} -interface RequestOfferSnapshot extends RequestOfferSnapshotType {} -interface RequestLoadSnapshotChunk extends RequestLoadSnapshotChunkType {} -interface RequestApplySnapshotChunk extends RequestApplySnapshotChunkType {} -interface RequestPrepareProposal extends RequestPrepareProposalType {} -interface RequestProcessProposal extends RequestProcessProposalType {} -interface RequestExtendVote extends RequestExtendVoteType {} -interface RequestVerifyVoteExtension extends RequestVerifyVoteExtensionType {} -interface RequestFinalizeBlock extends RequestFinalizeBlockType {} -interface Response extends ResponseType {} -interface ResponseException extends ResponseExceptionType {} -interface ResponseEcho extends ResponseEchoType {} -interface ResponseFlush extends ResponseFlushType {} -interface ResponseInfo extends ResponseInfoType {} -interface ResponseInitChain extends ResponseInitChainType {} -interface ResponseQuery extends ResponseQueryType {} -interface ResponseCheckTx extends ResponseCheckTxType {} -interface ResponseDeliverTx extends ResponseDeliverTxType {} -interface ResponseCommit extends ResponseCommitType {} -interface ResponseListSnapshots extends ResponseListSnapshotsType {} -interface ResponseOfferSnapshot extends ResponseOfferSnapshotType {} -interface ResponseLoadSnapshotChunk extends ResponseLoadSnapshotChunkType {} -interface ResponseApplySnapshotChunk extends ResponseApplySnapshotChunkType {} -interface ResponsePrepareProposal extends ResponsePrepareProposalType {} -interface ResponseProcessProposal extends ResponseProcessProposalType {} -interface ResponseExtendVote extends ResponseExtendVoteType {} -interface ResponseVerifyVoteExtension extends ResponseVerifyVoteExtensionType {} -interface ResponseFinalizeBlock extends ResponseFinalizeBlockType {} -interface CommitInfo extends CommitInfoType {} -interface ExtendedCommitInfo extends ExtendedCommitInfoType {} -interface Event extends EventType {} -interface EventAttribute extends EventAttributeType {} -interface ExecTxResult extends ExecTxResultType {} -interface TxResult extends TxResultType {} -interface TxRecord extends TxRecordType {} -interface Validator extends ValidatorType {} -interface ValidatorUpdate extends ValidatorUpdateType {} -interface VoteInfo extends VoteInfoType {} -interface ExtendedVoteInfo extends ExtendedVoteInfoType {} -interface Misbehavior extends MisbehaviorType {} -interface Snapshot extends SnapshotType {} +import type { DeepPartial, Exact, MessageFns } from "../../common"; + +export interface Request extends Request_type {} +export interface RequestEcho extends RequestEcho_type {} +export interface RequestFlush extends RequestFlush_type {} +export interface RequestInfo extends RequestInfo_type {} +export interface RequestInitChain extends RequestInitChain_type {} +export interface RequestQuery extends RequestQuery_type {} +export interface RequestCheckTx extends RequestCheckTx_type {} +export interface RequestCommit extends RequestCommit_type {} +export interface RequestListSnapshots extends RequestListSnapshots_type {} +export interface RequestOfferSnapshot extends RequestOfferSnapshot_type {} +export interface RequestLoadSnapshotChunk extends RequestLoadSnapshotChunk_type {} +export interface RequestApplySnapshotChunk extends RequestApplySnapshotChunk_type {} +export interface RequestPrepareProposal extends RequestPrepareProposal_type {} +export interface RequestProcessProposal extends RequestProcessProposal_type {} +export interface RequestExtendVote extends RequestExtendVote_type {} +export interface RequestVerifyVoteExtension extends RequestVerifyVoteExtension_type {} +export interface RequestFinalizeBlock extends RequestFinalizeBlock_type {} +export interface Response extends Response_type {} +export interface ResponseException extends ResponseException_type {} +export interface ResponseEcho extends ResponseEcho_type {} +export interface ResponseFlush extends ResponseFlush_type {} +export interface ResponseInfo extends ResponseInfo_type {} +export interface ResponseInitChain extends ResponseInitChain_type {} +export interface ResponseQuery extends ResponseQuery_type {} +export interface ResponseCheckTx extends ResponseCheckTx_type {} +export interface ResponseDeliverTx extends ResponseDeliverTx_type {} +export interface ResponseCommit extends ResponseCommit_type {} +export interface ResponseListSnapshots extends ResponseListSnapshots_type {} +export interface ResponseOfferSnapshot extends ResponseOfferSnapshot_type {} +export interface ResponseLoadSnapshotChunk extends ResponseLoadSnapshotChunk_type {} +export interface ResponseApplySnapshotChunk extends ResponseApplySnapshotChunk_type {} +export interface ResponsePrepareProposal extends ResponsePrepareProposal_type {} +export interface ResponseProcessProposal extends ResponseProcessProposal_type {} +export interface ResponseExtendVote extends ResponseExtendVote_type {} +export interface ResponseVerifyVoteExtension extends ResponseVerifyVoteExtension_type {} +export interface ResponseFinalizeBlock extends ResponseFinalizeBlock_type {} +export interface CommitInfo extends CommitInfo_type {} +export interface ExtendedCommitInfo extends ExtendedCommitInfo_type {} +export interface Event extends Event_type {} +export interface EventAttribute extends EventAttribute_type {} +export interface ExecTxResult extends ExecTxResult_type {} +export interface TxResult extends TxResult_type {} +export interface TxRecord extends TxRecord_type {} +export interface Validator extends Validator_type {} +export interface ValidatorUpdate extends ValidatorUpdate_type {} +export interface VoteInfo extends VoteInfo_type {} +export interface ExtendedVoteInfo extends ExtendedVoteInfo_type {} +export interface Misbehavior extends Misbehavior_type {} +export interface Snapshot extends Snapshot_type {} export const Request: MessageFns = { $type: "tendermint.abci.Request" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts b/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts index 85c33695c..bb80d376d 100644 --- a/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts +++ b/packages/cosmos/generated/encoding/tendermint/crypto/keys.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { PublicKey as PublicKeyType } from "../../../types/tendermint/crypto"; +import type { PublicKey as PublicKey_type } from "../../../types/tendermint/crypto"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface PublicKey extends PublicKeyType {} +export interface PublicKey extends PublicKey_type {} export const PublicKey: MessageFns = { $type: "tendermint.crypto.PublicKey" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts b/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts index b01b58baf..c5de29dc6 100644 --- a/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts +++ b/packages/cosmos/generated/encoding/tendermint/crypto/proof.ts @@ -3,20 +3,20 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { - DominoOp as DominoOpType, - ProofOp as ProofOpType, - ProofOps as ProofOpsType, - Proof as ProofType, - ValueOp as ValueOpType, + DominoOp as DominoOp_type, + ProofOp as ProofOp_type, + ProofOps as ProofOps_type, + Proof as Proof_type, + ValueOp as ValueOp_type, } from "../../../types/tendermint/crypto"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Proof extends ProofType {} -interface ValueOp extends ValueOpType {} -interface DominoOp extends DominoOpType {} -interface ProofOp extends ProofOpType {} -interface ProofOps extends ProofOpsType {} +export interface Proof extends Proof_type {} +export interface ValueOp extends ValueOp_type {} +export interface DominoOp extends DominoOp_type {} +export interface ProofOp extends ProofOp_type {} +export interface ProofOps extends ProofOps_type {} export const Proof: MessageFns = { $type: "tendermint.crypto.Proof" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts b/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts index 95684b3d2..b1f325a07 100644 --- a/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts +++ b/packages/cosmos/generated/encoding/tendermint/libs/bits/types.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { BitArray as BitArrayType } from "../../../../types/tendermint/libs/bits"; +import type { BitArray as BitArray_type } from "../../../../types/tendermint/libs/bits"; -import type { DeepPartial, Exact, MessageFns } from "../../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../../common"; -interface BitArray extends BitArrayType {} +export interface BitArray extends BitArray_type {} export const BitArray: MessageFns = { $type: "tendermint.libs.bits.BitArray" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/p2p/types.ts b/packages/cosmos/generated/encoding/tendermint/p2p/types.ts index d63f34752..5ccd19983 100644 --- a/packages/cosmos/generated/encoding/tendermint/p2p/types.ts +++ b/packages/cosmos/generated/encoding/tendermint/p2p/types.ts @@ -5,20 +5,20 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Timestamp } from "../../google/protobuf/timestamp"; import type { - NodeInfoOther as NodeInfoOtherType, - NodeInfo as NodeInfoType, - PeerAddressInfo as PeerAddressInfoType, - PeerInfo as PeerInfoType, - ProtocolVersion as ProtocolVersionType, + NodeInfoOther as NodeInfoOther_type, + NodeInfo as NodeInfo_type, + PeerAddressInfo as PeerAddressInfo_type, + PeerInfo as PeerInfo_type, + ProtocolVersion as ProtocolVersion_type, } from "../../../types/tendermint/p2p"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface ProtocolVersion extends ProtocolVersionType {} -interface NodeInfo extends NodeInfoType {} -interface NodeInfoOther extends NodeInfoOtherType {} -interface PeerInfo extends PeerInfoType {} -interface PeerAddressInfo extends PeerAddressInfoType {} +export interface ProtocolVersion extends ProtocolVersion_type {} +export interface NodeInfo extends NodeInfo_type {} +export interface NodeInfoOther extends NodeInfoOther_type {} +export interface PeerInfo extends PeerInfo_type {} +export interface PeerAddressInfo extends PeerAddressInfo_type {} export const ProtocolVersion: MessageFns = { $type: "tendermint.p2p.ProtocolVersion" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/types/block.ts b/packages/cosmos/generated/encoding/tendermint/types/block.ts index c439d71cc..33b81628b 100644 --- a/packages/cosmos/generated/encoding/tendermint/types/block.ts +++ b/packages/cosmos/generated/encoding/tendermint/types/block.ts @@ -6,11 +6,11 @@ import { EvidenceList } from "./evidence"; import { Commit, Data, Header } from "./types"; -import type { Block as BlockType } from "../../../types/tendermint/types"; +import type { Block as Block_type } from "../../../types/tendermint/types"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Block extends BlockType {} +export interface Block extends Block_type {} export const Block: MessageFns = { $type: "tendermint.types.Block" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/types/evidence.ts b/packages/cosmos/generated/encoding/tendermint/types/evidence.ts index 14cbd19d0..4fb608965 100644 --- a/packages/cosmos/generated/encoding/tendermint/types/evidence.ts +++ b/packages/cosmos/generated/encoding/tendermint/types/evidence.ts @@ -9,18 +9,18 @@ import { LightBlock, Vote } from "./types"; import { Validator } from "./validator"; import type { - DuplicateVoteEvidence as DuplicateVoteEvidenceType, - EvidenceList as EvidenceListType, - Evidence as EvidenceType, - LightClientAttackEvidence as LightClientAttackEvidenceType, + DuplicateVoteEvidence as DuplicateVoteEvidence_type, + EvidenceList as EvidenceList_type, + Evidence as Evidence_type, + LightClientAttackEvidence as LightClientAttackEvidence_type, } from "../../../types/tendermint/types"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface Evidence extends EvidenceType {} -interface DuplicateVoteEvidence extends DuplicateVoteEvidenceType {} -interface LightClientAttackEvidence extends LightClientAttackEvidenceType {} -interface EvidenceList extends EvidenceListType {} +export interface Evidence extends Evidence_type {} +export interface DuplicateVoteEvidence extends DuplicateVoteEvidence_type {} +export interface LightClientAttackEvidence extends LightClientAttackEvidence_type {} +export interface EvidenceList extends EvidenceList_type {} export const Evidence: MessageFns = { $type: "tendermint.types.Evidence" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/types/params.ts b/packages/cosmos/generated/encoding/tendermint/types/params.ts index 8f8bac421..49a69b98d 100644 --- a/packages/cosmos/generated/encoding/tendermint/types/params.ts +++ b/packages/cosmos/generated/encoding/tendermint/types/params.ts @@ -5,28 +5,28 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Duration } from "../../google/protobuf/duration"; import type { - ABCIParams as ABCIParamsType, - BlockParams as BlockParamsType, - ConsensusParams as ConsensusParamsType, - EvidenceParams as EvidenceParamsType, - HashedParams as HashedParamsType, - SynchronyParams as SynchronyParamsType, - TimeoutParams as TimeoutParamsType, - ValidatorParams as ValidatorParamsType, - VersionParams as VersionParamsType, + ABCIParams as ABCIParams_type, + BlockParams as BlockParams_type, + ConsensusParams as ConsensusParams_type, + EvidenceParams as EvidenceParams_type, + HashedParams as HashedParams_type, + SynchronyParams as SynchronyParams_type, + TimeoutParams as TimeoutParams_type, + ValidatorParams as ValidatorParams_type, + VersionParams as VersionParams_type, } from "../../../types/tendermint/types"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; - -interface ConsensusParams extends ConsensusParamsType {} -interface BlockParams extends BlockParamsType {} -interface EvidenceParams extends EvidenceParamsType {} -interface ValidatorParams extends ValidatorParamsType {} -interface VersionParams extends VersionParamsType {} -interface HashedParams extends HashedParamsType {} -interface SynchronyParams extends SynchronyParamsType {} -interface TimeoutParams extends TimeoutParamsType {} -interface ABCIParams extends ABCIParamsType {} +import type { DeepPartial, Exact, MessageFns } from "../../common"; + +export interface ConsensusParams extends ConsensusParams_type {} +export interface BlockParams extends BlockParams_type {} +export interface EvidenceParams extends EvidenceParams_type {} +export interface ValidatorParams extends ValidatorParams_type {} +export interface VersionParams extends VersionParams_type {} +export interface HashedParams extends HashedParams_type {} +export interface SynchronyParams extends SynchronyParams_type {} +export interface TimeoutParams extends TimeoutParams_type {} +export interface ABCIParams extends ABCIParams_type {} export const ConsensusParams: MessageFns = { $type: "tendermint.types.ConsensusParams" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/types/types.ts b/packages/cosmos/generated/encoding/tendermint/types/types.ts index 6bb48566a..08be84eae 100644 --- a/packages/cosmos/generated/encoding/tendermint/types/types.ts +++ b/packages/cosmos/generated/encoding/tendermint/types/types.ts @@ -11,42 +11,42 @@ import { Consensus } from "../version/types"; import { ValidatorSet } from "./validator"; import type { - BlockID as BlockIDType, - BlockMeta as BlockMetaType, - CommitSig as CommitSigType, - Commit as CommitType, - Data as DataType, - ExtendedCommitSig as ExtendedCommitSigType, - ExtendedCommit as ExtendedCommitType, - Header as HeaderType, - LightBlock as LightBlockType, - PartSetHeader as PartSetHeaderType, - Part as PartType, - Proposal as ProposalType, - SignedHeader as SignedHeaderType, - TxProof as TxProofType, - Vote as VoteType, + BlockID as BlockID_type, + BlockMeta as BlockMeta_type, + CommitSig as CommitSig_type, + Commit as Commit_type, + Data as Data_type, + ExtendedCommitSig as ExtendedCommitSig_type, + ExtendedCommit as ExtendedCommit_type, + Header as Header_type, + LightBlock as LightBlock_type, + PartSetHeader as PartSetHeader_type, + Part as Part_type, + Proposal as Proposal_type, + SignedHeader as SignedHeader_type, + TxProof as TxProof_type, + Vote as Vote_type, } from "../../../types/tendermint/types"; import { BlockIDFlag, SignedMsgType } from "../../../types/tendermint/types"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; - -interface PartSetHeader extends PartSetHeaderType {} -interface Part extends PartType {} -interface BlockID extends BlockIDType {} -interface Header extends HeaderType {} -interface Data extends DataType {} -interface Vote extends VoteType {} -interface Commit extends CommitType {} -interface CommitSig extends CommitSigType {} -interface ExtendedCommit extends ExtendedCommitType {} -interface ExtendedCommitSig extends ExtendedCommitSigType {} -interface Proposal extends ProposalType {} -interface SignedHeader extends SignedHeaderType {} -interface LightBlock extends LightBlockType {} -interface BlockMeta extends BlockMetaType {} -interface TxProof extends TxProofType {} +import type { DeepPartial, Exact, MessageFns } from "../../common"; + +export interface PartSetHeader extends PartSetHeader_type {} +export interface Part extends Part_type {} +export interface BlockID extends BlockID_type {} +export interface Header extends Header_type {} +export interface Data extends Data_type {} +export interface Vote extends Vote_type {} +export interface Commit extends Commit_type {} +export interface CommitSig extends CommitSig_type {} +export interface ExtendedCommit extends ExtendedCommit_type {} +export interface ExtendedCommitSig extends ExtendedCommitSig_type {} +export interface Proposal extends Proposal_type {} +export interface SignedHeader extends SignedHeader_type {} +export interface LightBlock extends LightBlock_type {} +export interface BlockMeta extends BlockMeta_type {} +export interface TxProof extends TxProof_type {} export const PartSetHeader: MessageFns = { $type: "tendermint.types.PartSetHeader" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/types/validator.ts b/packages/cosmos/generated/encoding/tendermint/types/validator.ts index 2382b0cba..70d93daaf 100644 --- a/packages/cosmos/generated/encoding/tendermint/types/validator.ts +++ b/packages/cosmos/generated/encoding/tendermint/types/validator.ts @@ -4,13 +4,13 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { PublicKey } from "../crypto/keys"; -import type { SimpleValidator as SimpleValidatorType, ValidatorSet as ValidatorSetType, Validator as ValidatorType } from "../../../types/tendermint/types"; +import type { SimpleValidator as SimpleValidator_type, ValidatorSet as ValidatorSet_type, Validator as Validator_type } from "../../../types/tendermint/types"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface ValidatorSet extends ValidatorSetType {} -interface Validator extends ValidatorType {} -interface SimpleValidator extends SimpleValidatorType {} +export interface ValidatorSet extends ValidatorSet_type {} +export interface Validator extends Validator_type {} +export interface SimpleValidator extends SimpleValidator_type {} export const ValidatorSet: MessageFns = { $type: "tendermint.types.ValidatorSet" as const, diff --git a/packages/cosmos/generated/encoding/tendermint/version/types.ts b/packages/cosmos/generated/encoding/tendermint/version/types.ts index cac372f0c..9f2ecaac7 100644 --- a/packages/cosmos/generated/encoding/tendermint/version/types.ts +++ b/packages/cosmos/generated/encoding/tendermint/version/types.ts @@ -2,12 +2,12 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { App as AppType, Consensus as ConsensusType } from "../../../types/tendermint/version"; +import type { App as App_type, Consensus as Consensus_type } from "../../../types/tendermint/version"; -import type { DeepPartial, Exact, MessageFns } from "../../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../../common"; -interface App extends AppType {} -interface Consensus extends ConsensusType {} +export interface App extends App_type {} +export interface Consensus extends Consensus_type {} export const App: MessageFns = { $type: "tendermint.version.App" as const, diff --git a/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts b/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts index 0f4656f89..febcddce3 100644 --- a/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts +++ b/packages/cosmos/generated/encoding/tokenfactory/authorityMetadata.ts @@ -1,10 +1,10 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { DenomAuthorityMetadata as DenomAuthorityMetadataType } from "../../types/tokenfactory"; +import type { DenomAuthorityMetadata as DenomAuthorityMetadata_type } from "../../types/tokenfactory"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface DenomAuthorityMetadata extends DenomAuthorityMetadataType {} +export interface DenomAuthorityMetadata extends DenomAuthorityMetadata_type {} export const DenomAuthorityMetadata: MessageFns = { $type: "seiprotocol.seichain.tokenfactory.DenomAuthorityMetadata" as const, diff --git a/packages/cosmos/generated/encoding/tokenfactory/genesis.ts b/packages/cosmos/generated/encoding/tokenfactory/genesis.ts index 25cc716f8..255f9576d 100644 --- a/packages/cosmos/generated/encoding/tokenfactory/genesis.ts +++ b/packages/cosmos/generated/encoding/tokenfactory/genesis.ts @@ -6,12 +6,12 @@ import { DenomAuthorityMetadata } from "./authorityMetadata"; import { Params } from "./params"; -import type { GenesisDenom as GenesisDenomType, GenesisState as GenesisStateType } from "../../types/tokenfactory"; +import type { GenesisDenom as GenesisDenom_type, GenesisState as GenesisState_type } from "../../types/tokenfactory"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface GenesisState extends GenesisStateType {} -interface GenesisDenom extends GenesisDenomType {} +export interface GenesisState extends GenesisState_type {} +export interface GenesisDenom extends GenesisDenom_type {} export const GenesisState: MessageFns = { $type: "seiprotocol.seichain.tokenfactory.GenesisState" as const, diff --git a/packages/cosmos/generated/encoding/tokenfactory/params.ts b/packages/cosmos/generated/encoding/tokenfactory/params.ts index e4b40e6c9..68e386fbc 100644 --- a/packages/cosmos/generated/encoding/tokenfactory/params.ts +++ b/packages/cosmos/generated/encoding/tokenfactory/params.ts @@ -2,11 +2,11 @@ import type { GeneratedType } from "@cosmjs/proto-signing"; import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import type { Params as ParamsType } from "../../types/tokenfactory"; +import type { Params as Params_type } from "../../types/tokenfactory"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; +import type { DeepPartial, Exact, MessageFns } from "../common"; -interface Params extends ParamsType {} +export interface Params extends Params_type {} export const Params: MessageFns = { $type: "seiprotocol.seichain.tokenfactory.Params" as const, diff --git a/packages/cosmos/generated/encoding/tokenfactory/query.ts b/packages/cosmos/generated/encoding/tokenfactory/query.ts index a47dc7189..2c6358ff1 100644 --- a/packages/cosmos/generated/encoding/tokenfactory/query.ts +++ b/packages/cosmos/generated/encoding/tokenfactory/query.ts @@ -7,30 +7,30 @@ import { DenomAuthorityMetadata } from "./authorityMetadata"; import { Params } from "./params"; import type { - QueryDenomAllowListRequest as QueryDenomAllowListRequestType, - QueryDenomAllowListResponse as QueryDenomAllowListResponseType, - QueryDenomAuthorityMetadataRequest as QueryDenomAuthorityMetadataRequestType, - QueryDenomAuthorityMetadataResponse as QueryDenomAuthorityMetadataResponseType, - QueryDenomMetadataRequest as QueryDenomMetadataRequestType, - QueryDenomMetadataResponse as QueryDenomMetadataResponseType, - QueryDenomsFromCreatorRequest as QueryDenomsFromCreatorRequestType, - QueryDenomsFromCreatorResponse as QueryDenomsFromCreatorResponseType, - QueryParamsRequest as QueryParamsRequestType, - QueryParamsResponse as QueryParamsResponseType, + QueryDenomAllowListRequest as QueryDenomAllowListRequest_type, + QueryDenomAllowListResponse as QueryDenomAllowListResponse_type, + QueryDenomAuthorityMetadataRequest as QueryDenomAuthorityMetadataRequest_type, + QueryDenomAuthorityMetadataResponse as QueryDenomAuthorityMetadataResponse_type, + QueryDenomMetadataRequest as QueryDenomMetadataRequest_type, + QueryDenomMetadataResponse as QueryDenomMetadataResponse_type, + QueryDenomsFromCreatorRequest as QueryDenomsFromCreatorRequest_type, + QueryDenomsFromCreatorResponse as QueryDenomsFromCreatorResponse_type, + QueryParamsRequest as QueryParamsRequest_type, + QueryParamsResponse as QueryParamsResponse_type, } from "../../types/tokenfactory"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface QueryParamsRequest extends QueryParamsRequestType {} -interface QueryParamsResponse extends QueryParamsResponseType {} -interface QueryDenomAuthorityMetadataRequest extends QueryDenomAuthorityMetadataRequestType {} -interface QueryDenomAuthorityMetadataResponse extends QueryDenomAuthorityMetadataResponseType {} -interface QueryDenomsFromCreatorRequest extends QueryDenomsFromCreatorRequestType {} -interface QueryDenomsFromCreatorResponse extends QueryDenomsFromCreatorResponseType {} -interface QueryDenomMetadataRequest extends QueryDenomMetadataRequestType {} -interface QueryDenomMetadataResponse extends QueryDenomMetadataResponseType {} -interface QueryDenomAllowListRequest extends QueryDenomAllowListRequestType {} -interface QueryDenomAllowListResponse extends QueryDenomAllowListResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface QueryParamsRequest extends QueryParamsRequest_type {} +export interface QueryParamsResponse extends QueryParamsResponse_type {} +export interface QueryDenomAuthorityMetadataRequest extends QueryDenomAuthorityMetadataRequest_type {} +export interface QueryDenomAuthorityMetadataResponse extends QueryDenomAuthorityMetadataResponse_type {} +export interface QueryDenomsFromCreatorRequest extends QueryDenomsFromCreatorRequest_type {} +export interface QueryDenomsFromCreatorResponse extends QueryDenomsFromCreatorResponse_type {} +export interface QueryDenomMetadataRequest extends QueryDenomMetadataRequest_type {} +export interface QueryDenomMetadataResponse extends QueryDenomMetadataResponse_type {} +export interface QueryDenomAllowListRequest extends QueryDenomAllowListRequest_type {} +export interface QueryDenomAllowListResponse extends QueryDenomAllowListResponse_type {} export const QueryParamsRequest: MessageFns = { $type: "seiprotocol.seichain.tokenfactory.QueryParamsRequest" as const, diff --git a/packages/cosmos/generated/encoding/tokenfactory/tx.ts b/packages/cosmos/generated/encoding/tokenfactory/tx.ts index c5fbdc1ad..4cb5fc00e 100644 --- a/packages/cosmos/generated/encoding/tokenfactory/tx.ts +++ b/packages/cosmos/generated/encoding/tokenfactory/tx.ts @@ -7,34 +7,34 @@ import { AllowList, Metadata } from "../cosmos/bank/v1beta1/bank"; import { Coin } from "../cosmos/base/v1beta1/coin"; import type { - MsgBurnResponse as MsgBurnResponseType, - MsgBurn as MsgBurnType, - MsgChangeAdminResponse as MsgChangeAdminResponseType, - MsgChangeAdmin as MsgChangeAdminType, - MsgCreateDenomResponse as MsgCreateDenomResponseType, - MsgCreateDenom as MsgCreateDenomType, - MsgMintResponse as MsgMintResponseType, - MsgMint as MsgMintType, - MsgSetDenomMetadataResponse as MsgSetDenomMetadataResponseType, - MsgSetDenomMetadata as MsgSetDenomMetadataType, - MsgUpdateDenomResponse as MsgUpdateDenomResponseType, - MsgUpdateDenom as MsgUpdateDenomType, + MsgBurnResponse as MsgBurnResponse_type, + MsgBurn as MsgBurn_type, + MsgChangeAdminResponse as MsgChangeAdminResponse_type, + MsgChangeAdmin as MsgChangeAdmin_type, + MsgCreateDenomResponse as MsgCreateDenomResponse_type, + MsgCreateDenom as MsgCreateDenom_type, + MsgMintResponse as MsgMintResponse_type, + MsgMint as MsgMint_type, + MsgSetDenomMetadataResponse as MsgSetDenomMetadataResponse_type, + MsgSetDenomMetadata as MsgSetDenomMetadata_type, + MsgUpdateDenomResponse as MsgUpdateDenomResponse_type, + MsgUpdateDenom as MsgUpdateDenom_type, } from "../../types/tokenfactory"; -import type { DeepPartial, Exact, MessageFns } from "../common.ts"; - -interface MsgCreateDenom extends MsgCreateDenomType {} -interface MsgCreateDenomResponse extends MsgCreateDenomResponseType {} -interface MsgMint extends MsgMintType {} -interface MsgMintResponse extends MsgMintResponseType {} -interface MsgBurn extends MsgBurnType {} -interface MsgBurnResponse extends MsgBurnResponseType {} -interface MsgChangeAdmin extends MsgChangeAdminType {} -interface MsgChangeAdminResponse extends MsgChangeAdminResponseType {} -interface MsgSetDenomMetadata extends MsgSetDenomMetadataType {} -interface MsgSetDenomMetadataResponse extends MsgSetDenomMetadataResponseType {} -interface MsgUpdateDenom extends MsgUpdateDenomType {} -interface MsgUpdateDenomResponse extends MsgUpdateDenomResponseType {} +import type { DeepPartial, Exact, MessageFns } from "../common"; + +export interface MsgCreateDenom extends MsgCreateDenom_type {} +export interface MsgCreateDenomResponse extends MsgCreateDenomResponse_type {} +export interface MsgMint extends MsgMint_type {} +export interface MsgMintResponse extends MsgMintResponse_type {} +export interface MsgBurn extends MsgBurn_type {} +export interface MsgBurnResponse extends MsgBurnResponse_type {} +export interface MsgChangeAdmin extends MsgChangeAdmin_type {} +export interface MsgChangeAdminResponse extends MsgChangeAdminResponse_type {} +export interface MsgSetDenomMetadata extends MsgSetDenomMetadata_type {} +export interface MsgSetDenomMetadataResponse extends MsgSetDenomMetadataResponse_type {} +export interface MsgUpdateDenom extends MsgUpdateDenom_type {} +export interface MsgUpdateDenomResponse extends MsgUpdateDenomResponse_type {} export const MsgCreateDenom: MessageFns = { $type: "seiprotocol.seichain.tokenfactory.MsgCreateDenom" as const, diff --git a/packages/cosmos/scripts/encoding/extract-encoding.ts b/packages/cosmos/scripts/encoding/extract-encoding.ts index 2c8e12e24..1bd08208e 100644 --- a/packages/cosmos/scripts/encoding/extract-encoding.ts +++ b/packages/cosmos/scripts/encoding/extract-encoding.ts @@ -93,14 +93,14 @@ export const extractEncoding = async (sourceFilePath: string, destinationFilePat const relativePathToTypes = `${getRelativePathToEncodingRoot(relativePath)}..`; const importStatement = `import type { ${Array.from(typesToCopy) - .map((type) => `${type} as ${type}Type`) + .map((type) => `${type} as ${type}_type`) .join(", ")} } from "${relativePathToTypes}/types/${path}";`; importsToCopy.push(importStatement); // Create the interface declarations for each type. This is necessary to fix a TypeScript error. interfaceDeclarations.push( Array.from(typesToCopy) - .map((type) => `interface ${type} extends ${type}Type {}`) + .map((type) => `export interface ${type} extends ${type}_type {}`) .join("\n"), ); } @@ -116,7 +116,7 @@ export const extractEncoding = async (sourceFilePath: string, destinationFilePat // Add the import from "common.ts" for the common types if any are found if (typesToImport.size > 0) { - const relativePathToCommon = `${getRelativePathToEncodingRoot(relativePath)}common.ts`; + const relativePathToCommon = `${getRelativePathToEncodingRoot(relativePath)}common`; const commonImportStatement = `import { ${Array.from(typesToImport).join(", ")} } from "${relativePathToCommon}";`; importsToCopy.push(commonImportStatement); diff --git a/tsconfig.base.json b/tsconfig.base.json index 493667353..663a83db1 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -23,7 +23,6 @@ }, "exclude": [ "node_modules", - "packages/cosmos/generated/*", "dist", "**/*.spec.ts", "**/*.test.ts", From a265914537d058c7cde0e8614cc842e99046ebce Mon Sep 17 00:00:00 2001 From: Carson <104383295+codebycarson@users.noreply.github.com> Date: Tue, 1 Oct 2024 14:37:34 -0700 Subject: [PATCH 04/17] Regenerated and added protoc-gen-grpc-gateway-ts to bin --- packages/cosmos/.npmignore | 1 + .../cosmos/bin/protoc-gen-grpc-gateway-ts | Bin 0 -> 9621762 bytes packages/cosmos/buf.gen.yaml | 2 +- packages/cosmos/generated/encoding/amino.ts | 92 +++++++------- .../cosmos/generated/encoding/evm/params.ts | 16 +++ packages/cosmos/generated/encoding/proto.ts | 112 +++++++++--------- packages/cosmos/generated/types/evm/params.ts | 1 + 7 files changed, 121 insertions(+), 103 deletions(-) create mode 100755 packages/cosmos/bin/protoc-gen-grpc-gateway-ts diff --git a/packages/cosmos/.npmignore b/packages/cosmos/.npmignore index 047607578..84bafcabb 100644 --- a/packages/cosmos/.npmignore +++ b/packages/cosmos/.npmignore @@ -2,6 +2,7 @@ node_modules scripts/ gen/ public/ +bin/ .gitkeep jest.config.ts diff --git a/packages/cosmos/bin/protoc-gen-grpc-gateway-ts b/packages/cosmos/bin/protoc-gen-grpc-gateway-ts new file mode 100755 index 0000000000000000000000000000000000000000..2b1f012dabc1ba73f7051f5b7027321abeeea1c3 GIT binary patch literal 9621762 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

Y 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

Fs`x3Q|T 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 z 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

A#b|!MuBu94fEem%h21K0X64<$Lmp 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

}5Bn`PV&7T7LH_%T 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ᷢt?y%CQdQ6ZvW6N1yv!JX!u&E{DR{n>cLl|PGi99 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 j}+&%O)mWdCJY&?cL6MV8M# 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≫UOTX12{c@foU^bSS-^ZQ@#DpVU3Ld^-&6DaG@cQl zhhOtU>S3*#mow=7XrCX?dcIqyTIl%?7JB{-$fBFca~F9&aqOX*$EHV?p!@uD7|Zkh zHb5AB^;2h7NM4El{I;It*8`X3%dcGfZefl*Gya6J<^Hkb(4KT@59_-A4+l0>r^?S0?(loD z(JCWr(V6(?rv7Eebl2ZeElg))z?}WDow0Ykbc4te-{QiLXy~O;! zPQPRC@A!g~d>)*tr>|_1ja<_ibFcpv@70f&JrYUr$Ig55{ot9tHT#xtZDf-e`O)ph z8Ef!HqBW1 z2Yc!le8}ug`5OHSOMqc%5E?``^t3{Iw3-BC~>H2cy9C!&`4Ua5r!b zBeOHG9q0N!zvnC?YDfQ%2iumv1vccKo!1cd(J*$>9}fegaFct_szCUzW^CI5&V+EV$CRY z!Jbp;g9Y6&{_KAy=5Pyt@UWFHOX2UOJR=N$%P+U}iW>Jp^Nfpg;wTF zRtzK%nG1hk!x+05qi-X9_K^d9(A7oA0{G31gUS}+w|f~c!EdT{`-U0Y$&5YUm9u*< z=6-1PBH{)bSF)uK`n|}DA6>N5_9x@)CcakId%xa5?n?X}#;rifLgvEv)CGJvvXtJ8C4BcZ{_bjGDCGCI>%271 z8@Y#lo#*z#v#Ysp4cD~#?)wLNI?JE8dajK%ZG(ms_Yc4aC0a9RTeU=grS8M%PjsaG zBKb?Rea{-tv%*2=JjDR?TbO6f=2?Gv#b;wyA*<^6 zIOy3j-gC5`!dtVqPLKQWv;H{YKYRbY>ITB2orgnX!;k-NRqGYMYxwSGnw{~hreFi# zd&6Bv$2^~FV#p>x&SzfVam8&*%$Te0(EMk0T=B%mH|zdY>1PlV*8Q8 zt)3MIck0jU$Mt?wv=OH(zK`aZ}Ob?=H^BjjN$a*xefl4Nhzre#{B92TXjWB9e)Z1dOk92I~+97eQi2A#CY`4I|v=w7RdUg@I%f_H_^63kT2q zRWS$i_^qw>hdIG;r0 z*fEBIz1aOd$IT`lZ@ckEW`KV zd-68q7SZbyxd$D04lymGv)8n6J+#x!^^$LPY}LS~QYT~op0X|VS0~xZS~PoW(a2g< zu@*}{>?~L-TvUYGn^=n`*5XE|v^}J?s4Ms3&hDxz=M}y`3r9P^(R9v0 zr>Bdh9mR2*pq*CMe+sm)rU(s$JsODr2KYiHM-LzOBwGEkO_%=i;N!aMbKvvC&;rei z&O0Xp19YCi&Md8P+Hd46nNrbsm;V`V{B*dhlGthqu~k2Q-QNy|DqY#r;J&8L3M4NF z56aQJuDle!OAof6`lMO8PtNPbS@fn@kFFA}mZE<<`P)2-KC!mu$Oa);hXgFyYh*82KuX`rsT{> zC-N!L8cf?eo0I4uez(v1J!2Ui85(KqthKDk4&;z%={{&_EwnWC2xw`(XsJ7R^t8l1 zg<@!Vw8VA4)tMm7-O3Y7OC|?{Jhk)`Cx)3tM@{}1okvH|$`If0P2~T!w{CWF$0g3N z;=MbrBR{~}N2-I7I%K=aWk7@Rx_sT0H)pQ<9&@(ylpfI@H_2zkx8w&os%39EH8P)b z(`U0*@(oRHu;L8k8>aKM+}i-%&LIz}GpDejx7%2e^o{b=Wvo-_PWrzY8>BRPnxVV0 z=v?Ty6gq7nM>ZF_);U{>F`4_&Yvw-mn!WEt?>^-a=T;MwnCB!fA~w*6t$XogViUwW z8m1Gs#KzZN3+3b1Gu}$gW4dd{S2hO7e^o|H84J6KdcY}>_X1-N`pNTu_oV$_Vj0%| zwK{t#<1J-8`M$#I9Q2h1zEz-`Lt|34Z@QV+HY*l_UI(85ceUhwsJ5@bk(zc%_Hj%ss%Q*Soye4)66V zyvoMWZ|%I-`dWWt)m+zp``X)HyuHDVm#sAM_RM*5I!n&v8rf^W-nfpY|C|=t0$sF= zZ{hJC_&ZJ1(+v{4B*wwKrb*=K%YPYTi19^~Q#-Q>;2{V%6&o zq|9^O9Q79-ss)~U;OPRM7x*p4oIVAP{j|K6HB0b4Hl3N5=6%0sL%C~K7QNA1Bjv?q zW7ipZ?&k5U$Oly8tC)NzIdjD{8=14}u!yyoGd+6H1AW-*qUY1_X?Ky2=!2&3r+34y z@XSabbg#J?AHc@Hn=&!@k9l+dpm#ouRubm(EA{~5W=UZXWmr>Vi`ebTfbjm zelHx$2tu>E=1i^;t?K;;c<=f*Zk)o>+MYQstzF~!39f%oZv2C1C&)jj%=Ql^1&DoP zi#B76{u%j$4v=3U9Z-)BkZnI1+y&wJgV^B4k7)J$i17h0KU`sW>ZiX#4CtvA7$CdmJt$o~ZLZMe(5Hskxa*NG{0u%nLM@E;Co3Pe9KIp0WqKNx!^@?t zNsJh#r9a)DYQ|n}#$JAo>yT%ca?NlPc79iW{#*0^G4m()ANjH7-=G|L8M*Q@A5OeH z_$p|+2HqO0I6+zTUdcxIrw3jsWKZcFAC2FKJbns$>d8^zWVg?rsz;|GG!k+W*<0HEk#_m6rcYO zW2v{FaNw_l5H6;Hx2L8TrgztVu815fS`W$QDNO4z)}x>g#XWt<>FxeQR*S;{QAQEZQm1aJwyw1 ze=~T|vwFa(YKL7LvC^wipl;aMm*wPDn;()aD&bFY^vb^?*SRmi=OBOC_qnwVPpiHQ zo|T?_lJ}w$E4wx~xU%adbZvHgqr}LsOHY>kD$9~zsV9)vyUD@KBCnLHz+W80-`H)b zucAY8)>btx6Fpg$N*&L2@7b1m)T?oUe>Jaf{gQPBM?-v$cje26*zR8#9+6>I*?y_dP~?V_$5 zTHW=nS&^;4@eK4S8WBvQQU85CTpMUnUb2#-eej>c^d6kgGh}x)1tUGsne5jd=&VWd zk2xs+EV_I132fL5Rm)#rmp_`1WN6R~(K@!|1I zaL{IJd{6gqIL*c31dF>_Ik@9&2I6eu;H2fMd(AkJP*TdV*(b zh-Ym+A@@91${Dfo!B%+CWO!dT$hmv?wop||F)~07dIjgR*+|S5_`C&Wm04& zXAU=ps($&E5#E|%I|=_iTcPD2hLg|Rwaoec)8zbI{&KJXNoDru9(rNn>vq&%H`&xx z{^T#{4rH_&3QPPxn%C=e?&Qd){Mn;Mg=W`}fOpeit8UEupoD zXwBB~rjRX`7GEV_u?|{%ne|>W+F78rZX@Q~M$C7+Nby(ez~W&JO8fJUxX z?syWkfX?b2Pplo;Y4+M0oq9^d@vV8fc7`=329&ktacWrhBEPYlO)YsTYreP6jfb>Z z**OVXKpz>IE5DP^zu>+!ZP@c|JzAG7EIa0_s;|TT(fd1j@3(2Lo9)WTUwSr;@yA+& zMqX8p!=7m^$(C0ep#P1~8f3vSlVoH<)$L$Tw53i!6{Wv(m0RpW_Yr zeozd(qDZk#AtH1)a^FB&&TJktrfqj z!RCn5en*LN#N5-{bd2x%BDNOS?dJR!jbnWh{*dqV9xj;J5?X=lt(`7qa_=U901M=WRK!S#vkKz6||&tJ7VaSefaRmb$YbX%Ntp> z4}Yo>8CCU#(6%akvdT?PWZw-o-V}(=_V$|XL%tsDKHgi)_qc2MonUf5GWVa^b3NSj z9_)?LzPXPyaSp*b@_NqkAnr8sdd1Dg5O;b{WH9lbylV&hXD6FKLGO6_{n`6e*C)E- z{ugz>>P~|1*Ie@H%EW5;e(TSnsnDpRG!+9U(u4Khe!}#g1nwDV9p#%>mLBX#`}AD* zL7geYIChL!6F#AbE3JX>CEN)1W_vCUH%>nm!V3bXG9WZX>+BNHd zw{m3rs^Krbv}!Xo8G(`QBjpEhe};}+{L)m+wF$vZs0dz69RPS)EWA*MQHygrc+s4PirileXT#m1k&)1d|Cuhl2V0MGaoFv?rdor^U829bX}Rl;OAflZp3~uPH`W53O^sai>VXXxK~J^^`0d0=3i0-2YS+ZumtuQ}ulLVl zuOED^y^*BJtFXkU3dJ;T0#M>S0g$sxiUnyX^E z`I@%ZW$NTRGjE?`Y;bGWrx_^`l=>oFlRNQ^H{b z`N;6&3qNq@6~BA+yPsJU7{99Llg@$>W5Y8ReJya)YTi!;|BIlvsk}cJ8t2kfgZr8~ z%ayfzg3x-`IC#n*t1Lq6P4cD3MF#7R&8PJjsB@l;yn&vd-IH1%x!b~P0J=3Y>s`p* zOJ793biE6?%RK{ie%(<-zHr?yIQzseUy8{PD|h2pyR!6Sqdgf~Kt~Ou*QC1!yZv); zar(-=^~sIISEbJ{#-~#)iC@l3#vg1N>&bQZHB}W%&WHAg8_?<4W*M1XX>{Vg!TRJN zc1Lrda;!a($va(-EWx+=Au$TWujJ|L z$k|UIPd^vh+{hV^adIuO{ibzZk#fAMc`uDV+voA^aCVdqDNGaptFcg50nEI`P-*lZijq zCwu=|pWJ(}-ps#;T7f?JLHu#`pHfEl*zvT#yApV3dGt30+*AU$u_xbuXuZE}k8DZ& z#Ui$3QT@g}15N&QDnfr;clKfEPxN5sj~?$tc223RZ2#Ek%J#~<+@wnj!_basWFK+5 zTsj#XQ=e>x_LQTM?{6t zEQaTXTTkS^F_C>;etX_spK&$8$Q0yurKwBhnuf7?>!ke^#3VEJA@)mD@Ub?zvSQqm zzVUeOzR*dBACK$4USzy|#Gu3=2`@vyt#5+bFs0h@zB_M#%{)!ZPZ8Yc3F!v z<6y$GdFnhn?1o^n48DEYi?#0}zFEe-M`Eu(@dETlUbPs#Ss$dj4ykZ9` zCtitd_AIo#9(ld*Dn9$|Kt6wsG5mJm6rUaVl=R9Xza3Z^J!fxWJJ8rxJj-wY{j25& z{-smYFFdx$)hUt@-0mC@0f-x1n=|6uS}8r_fGH#pz5`!rAC<8tOW3cGJQc3(SopXS-lJm+EeOa8F;Wzm_}0D`EeBd#<~U zGfq5S*&}}Qc*X4D(%G81yi!k{NEWYjYJD0l^?zZp3rfr)G^z1 zPT^bhpa`-T!|WsfJUnz8f2=7r2}3o%C^NC!L>GB5uMVwOz4~0a>&};J?HYWYH7KML zl~*}jOyMr!y^dVk;dLT&_0`aG&p?-7w`X)>7T&q;6!7lpL^Fo)Ao{~^*&{zt_LB9V z{ILaM(Am1N+y6XQ{|)0$$Y&TNCzP=>Jl$C5>c(p9jD5mCwgs{AJvAqPAhLx1asJr& zox-nYyOCVy+L6ZIxXjSKn;*H@ym!BM`C*i~X14G93w`frn)hx#<$T`D=2gx)9Sc8> z{2=>c-ZL{h9{;zW9-DL3pl8|0OZ;?p zIy8nHj!iRlfgLr!cOq->2@_43ddJIz2Y&BC&ero@=AWK%4W$ zyPC-BCCF>l^L@O|F*P%)nb4UxtC279I(+6yVe`yc>}eW7eb3Tc79UtUiuqDgr5yIN z?5R>60k@R`?+o=VnCgTj}Ma^lYeh=e|zLhfd zlG^7^9Y~}ExC7Kh*3ctIH47H*CE7dZgLkoVC1a;XMgjLrth=!}yWRbI4zUc`rq8Mt z5k6F{#UFWJY#qBU$Y0017}KubaD!L>Glh6`Lr(oqH+0cjHY4#n^yIIY?+ePCQ44e) zuf$r+UUPIo3SCoc_V{T;30N*z;W;0`MX3PZlE@e#7)KbPYbvYO3)WV)f zoQgd(vDS-baHizBspjLzB~tVB9pQ*Mk&{-Pr+@z!@tbu0q}~5@BR!2x9c8!QA97>y z{`_-Dc}Ue$rQW+OwSzthXTS?hs;LS^FaD`yB{^R{#}j^8Pa*7eE#%meRoQvJM3>&Lu#l!dhT+)q@N&y~>a!Z+5d^C&c%xQx7p&)k&JY zE8sTHJw|?_i`_i1TOWC=>LJ0S>Iy!`d(rCiEzmjlY7E_H$H=;0y0U?Dp2r|tJY9L& z3{S>3g!!KP(3MBCznmmdUd`5f81qQ?mtTqwd}mB{zy2QNEHUss^_=;n{yuBj!yX&Y z+|g;$iPDd~=;%#~HMfk8tnELr!LE6_)&pE*)q3!GIqN#B?Qvk!$2dTh@=LVVOQ-@WW9`CIWZ&WDd*iXkT*( zd{}#D{d@B59b?~6qnb)l8-!f4HDvx=`$Vg|n$gAD6M#))bXTieoE_M~aTp4aEed(}c3Ir!EYhR$zSpZ$$o z-^IOKk%QQ5y$`B(K($XL)H(QVC=Z6)!t_a{rtNlWo{*n*-sk&xLb9(7J!$O#|GeMl zpZ5vgypfr{dL_=b_0Abg>nYbqdx3j}Z!7yAJkOPVA3^q+`lOIspSw-=d#F%-E_P`% zw&M>A*STfrxo~~%gFk_uyTJ|fI#hiww75OX7w4V<=psW8S-v`Uv^N7A&8(BL5l@Z$VDEtq1E;eG2pT2dvfbuy zlo#%q&%M}#$Vlo5=*z}*7A{eW&~Jb*iuh zwYM(5oLmskRh%$1o$nZHIperF-zkw>fKhgaY{Mm^ur+MoC2S|V?^J!4u(7w>Sn^WF zD%5xBG^3(38yl z#9n4W3k7Ulvqw^WV4IKG7Q>Eg%(Zt{G0&^O{S8jC%}+&+cnI`@Kk?R(Yjp@rNep5Qw_jNhm;cWG-mxqED#H)qjPL*KJUaw2ewjyB%t z#f+QWYlgXIBmJKA`&#`DJ~x8Pa?$7__nHB&QC~`pxtI4n@QiwV#CL<+v#=#i9DPRQ zPrXK-XU_|mvihp?`4^0l?yHXNR{|ZG{VULLFTA6DD-)Q{)66Fhj~JVB9J;1z`Pbs+``X#24 zw#BaZ_RhW^o8MQP@9rTiiv)z%#Nq4mEl$#PY1~t&c3v_Cy`RxrTz6*lf6Q>HogQJ*}vBkg*@v2A( zI8i(qy|ldsyyA-*UA2T*nDmTz)bK36Ut%}(6j*|TzZmhb%1UiigbNe8)y`JnM2|k;=s>PJnK@Z};tYK~LyN?cw~!0J0lgsZVtYYj=Qi8swKc{FxX-$n9yG z8;>`(=Xmr+6?>1dn-!mbzX!9eS69rT_XKqNcytT4Wq(~bS;#*o_iO5p*MC6%&xox0 z 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�s`eJBwQHnYM@z$f*Y?qJ3E8-LJhj_)s zBXfA8uG`hKy|;G|=l&Lk?zDQgBYQuqwEnVL`SWlC`4gRO*71pEo%a`w74)6exM9Q} zx3A;*2yNQFT~+gUAI+{6?awAAV-~vP($LUKwvVNivX39?vybw3 z?!gAuV*?kn=WT@bFU;FaQ+%s?@r_nyt#$LiR^g8+KjG)xix}g2{HyP557*abENVR> z)OL)q*bfysurBrmeLP=z@q$aoSgZck$9!1Sf8Dft&he`pxpqec+}mTlg5Q0iTLbtF z8<8v4M^;${TNHDs{;1m8|EmVt7JscDb5Oa;?)B7>R1nuFzK~y{y`)rECm&I5b?~fw z#IM3%*xU#AlpNTh-^F*T!C#=9@Y*YzuPE!;Udj2HI`g`cv-5nMj~C$?J!^QX$>!b4 zH3cmV=z<#jAK4q_`NTK!tHbmup0Q5dZ{yF^*|})hi&o;pN_d)a|I9lV zH%?%0t(x z#&{9Gclf(FE2T@7=H!huR{Oc zvUtHYvI`5qMFg52&^d9?q77fMlkq)*ExBd!m}~UBbp6Bdg!T*%P}9ADnr`9Bi(kbe z&D8Med!_UJb-u~_bFL|8I#6Hp8nuvBz_AaT^e8ovqOW}Mw~;&T?{!n)jjoOkcAO52x?eQgIg z?Y@ooC;EKs)8cOr({|zF@z=b3nay{P!gs0{zYV|VW!i63`;2cq?Y~0%CA43-&5zSRC$(>{Bu(*8Jet$L$^P=&eX z8GawbwasHy%?DU>Us-!m^XfhQ=$$5OntXBTn=@a`(>G1E+=GA6Gdc0~*t6qn#nPI4 z>VQ8}yYbapX>*&!o>bJbp=Y|DurleV@x5BC%;%W%@z#H}GPXD}^(KD!LTr)z#_9Z~ zZ^f1|#%=HWSQ6@h-{as8{qYQb5O90_gObpr>}i+UjX%)p@clOU9vP5tYU-@8`8UJA z$_2Z*jI|Db>#S$xU%YXP`1Z&xneCrjGU*z0QgcJeD?56Lh3_N}--zw`INuY1Wi`Lw zv9+Y76*|sov}tS;w0f57@3r<2J1WOO zJ(?L~S;+Ut-hRh;r#nW*W@OtLpLp{72dw7uC6^mmW7t%|`g!`*+*>){?2~%*@$Y{3 zjo^2m|6TCAzvPqo-5qxyY`O2fx?}g34i4TKC~vP}y~ZmBR`FYDXfyDgL?6b{cZy}T zf1Px^Y=!2oPqpCBvN!s$g7S9Ohy?kxpYRWB|H*szZ|Mfcj~A4)FIl#BHHKY}1DkT~ zN$6zg#hA6%cNg|1{WSCO?2mE$3H!Gbb83m{&~Y=-b?7iXa}qmrY6bmDm(fQ87`$zD z(Z1Tzd_%SQyiJ%n}&E=u1CAM3gC zJa-)3ExU3GT%7=iCxyRj!5{I+26EmT$$3w>YXvpnSzfklr8SRM9QsVc&N(HYYuyn> zZ@V=MX3ns|9(xWB!JEcz;uOz#-LZBnP66-K6MgzV_~CnnJ9OtF5FX70giF_9y*S_x^Fl>6fph3H<+_PhNNel?42vS zd>ntP6&}2kdWdcGS??Q>?nK``L|+g6?(Sm`J!~Dl+BY)z5cq2?YBp!xKW22Q_6jTy zS+2ZD7f|n&qubVA)O_6|I6t7RSd(|>uFoMPWdqDPPNkuuc=N$epd3Jui2hAC^qX3 zRg=pGOVCyRjp|ebp^p!6@0dmBz|R5bX6(g5+aH}sPUZcf+5HzcAajRmrM7_nn&MVyY0sJ{F2CuPwaCgMd)$hr+}ydbr4Ie%^Hoqs(#4(vrKKgoGS&yp0=`+ar<(Du6;`Gb zoAQd^diEv!elH&o({0zh-mU=q0hFLO*|+Bq`}R;{Z_cXTiA>0L+cox9=;E6*+neCC z2Kek2+Dbu}_?ke=BbZCm5Q{J}&z7O*m zMtf#nYKn=|OuX{0HGuc0V29z)4%stom~zCLlbE=F?GELSEp%OVUmbuw2k{~4;+e<= zcFTp$i}#LMTEoO1Kfo>iDPmqZ1>7CrL$yI2*x^I?@rQ^L6&H+SkGDe?mzcQ$>9{0k zUFXZ4_%C1fRO7z@y(C$v<+~2tEAFGVhPV=+3pj`;GTP@?=O;u*aE)KAb-QXmQo*|2 zYAf?!Ly7;!L)&+HpEY@WV1AUE$0#t*q~2DsSPe0P*0c#%A7yN!*#UgQe44d_bG_%b zqZ*nB^ht?Mv{UZVX>yiM5BB#C&!(_H>aT`4t%RI@C-{DoHRBe%5}9hTpAkMew!Og6 zN9Qq=h8{;o)K6q8WB0;=f0eoxyG9$+;qjU9_&VgI5;+;~$lIft1}-r4q*{mz*;cIw~iZ2NJ|EVSXC9``wxM0ynd@Qw*E;NDs)6^=je0Kv{i8fe=invYOAZWPGkJT7%2`;n@%J2|tf)*z;HR{#O%O?~=d&m3)^+hme;8hjI8-_}z&tqmg6bLXc*IW{$HIQb zG0y{&VAmMrpBeZk<--5DoM(Y~lH~Rr`*R^v?*3f2qpQL-;AaYBMTcrk`7rA@+2#A8 z!DaYdg?HUzpREjjl*@dD-xa$_|9QvSzQDvO&?d`!9~l7eNjE<5cW3KHFQ453Pf1U@ zf8sCIyV&tY?)gHlPocO#F^BBt#o)09yp!LX+dBo?g4+b2WRtI%bpRt(Qy0VTgr$Gr zN#iegaDMuIcntnhOdbPoaqw;D?!g22RDGQA*kSNe#JW21i|VHAdeXR)>(JaE{n_gd ziB0zV>;J1iTk*Mm@Nv+C19$xP{*>AMV9c51j3dGr+ZZo%FveF-RWoMBrgaC(+x^Rn z=>5@pjiJn>%l-=3fM6!$*j!M%9U)^Coz z<_ui#{CvK>j$38z$^k0ppuN`O*bLX6%Qnk)>mApg%f`!=%dS`6bw`i<88a5e_o{)c zch0UrFY2tC=(YIn_+l~fZZYo-qWz)JdmHo|!8bP0j2l~_8iWM;Y7hQpVh-2P=qIdk zlx=1{q&e24`X0NcTW8s5PC)j5I&*9JHg1w+g7;+0q^kxya#YR!Wij|K`@CH@QQAnK&jABup zy&YbO&q^+~6yDO_^Q^52Cg}HZ{$DzHP_WTgnwBmQzbYr-2X@`pvz@b$3B_*kne5Qb z#E*-(zpo!0biGF&lRgE5c^_VnfD6SPvOPwZT!j6ZoW;j)`+KJjo<|w!KIqP2gE!Wp( zHgmSD?it@_Hglu2;pT^>^Vfo-TURZxbv`h)!VixzzpGq>{1QVW#%t#CM9ZQ4?$QYw zDQ6RdMvc(O@Gb8|cwYTT2e`In9Q_nKb+xibvMuB+jBRn}F2nP97Z{~)Y&o}moGYo5 zl%4tn-x~iFs+)B5#3kl8e`vgU#^$}t%zZmwHk@k%7qZgtd?c_-U-q~5GCB8ybwz%T z?Dy_`g5%%c$b5oVU#ONRybM@Y*m5tOAYWfPLOLOeT&niy*VIo%8o@=7JuochppgAS zjMJuk;3Utb z;4ibL8k}ohO7?LO?T4X}IdfZb$ulSGkrke?<9+!?T5~cOf2llV+E88d%vyYmL80j* zd!EzTV~x!3h{tZEX7O|Ew+Rw-=^dP+7id@zrZ+D_E8?Ey6zK>XQr?0xxu_1%8 zAEluK`>`LudoOdmt;FFIIj@i^K5$njkN3jLc+Z_!yywddv;Ozij_Lypy?vTDTwPwH_25!+pdrfU+ z%~^O7Yb$`s=uO~E(*ALD&*k7F3Ot(cu1D`3WIrsOKO`M^gRappM(!EAkr`y%mHY5) z?$M|8a~L{==~w6N7@bYO?2B*uHF%q90~{l z-<9L|p701v33#f4cOu|dxf9`V7uUqB&+1Ihzr|MDzgy`e^rPPf-!-OZHor^m&(ewW zYctnzwy;;fC{`|3Jud!*^h|*3(R@B+ezWU)NA+D7hDLHNe^0(rsrg-gNI~ci)cWat z{qE=Ya`jKJIA{+TM} z8{liv?Z?6ge64%YMd-+-=t%e|0ly_zB2V?3yQOJE zK8ExhG;OX33`vuyn0xbG3wrL+nQXuoX1%;@^g^A_4vf1v%Qj3~dRJ}y&f(kq=c4rc z9iBCOd(e(IUH?h4>8(5U#`vPy)dQs2cj&v1UUfyL9`(pw%!k*N;oBhhN+RRl2)F{daEEr*Yz!%9) zH2JNOv&q%t*Wy!U_vT*$FGWVMhHTVyaKJkGz3@pj>q^J7u5>qiGMP0bQ&?L)m9=-* zvi7cq^?Y@#&)Len>@jNV;GNU>i)W1AI6X5Oe4Giw@A4br(QJPsLSOjr=nK9&6GTt@ zr)R##n70)%2U^Cb%6ec}L22`_g4*Z5LSDbQfc@!#CCYvvXOJ76EBO9={4I@>`NlEa zJKYQaqT8OKu8f>1K4z)vkDlMf`zIN*#=C&^eP&*u7dc|ACul>z>%L(4K-|fX0C)L# zn?nD#&SpM}IC`&p4tt&be+9C=5V@{Iu3w_I%=>Ikzh{u`R%j+$^LlOOXoPc{p-Tre z?1WZ^ZqV>J@SYId(3iT%%xP%bJ$gFp+o3h@<+KT|;=r9C?oTq0oMO(n1O45Jen_K# z%~-&p=zo%T-z=P&{s}(O&kARG# zx2<{ZANs)y?}z;thwfJ0-9YHj9}jP{dH6JA=teJ|X{W9ioBsP)ZRQV$Ycp@R2nO|E zn|TNL>ir|ri~kn?SMjj_()8}R*4$qe&I~Rq_(=OH!~L=Xl4HJM{v?+W!`xK{|tRP1bqFJ_p~?B8UK*>5$|u?a?BbLJo7en z#DSUZ4^eCT*3(wzQ#_-w+BKDzz{?+oHbbG!2xv1B+6;j<7ljUSj*a*x49pS6bCUD1 zqQEX+@0BlLqg$~%@Z#mA)Cl6j&qM$T>&Q^I6$djO+{j z(>v%2cuj4p9ld`7xtIOulKj)}F!=h!MsjxAZw$MZZKFK&h5p{(XxkszA-ym7zfbJj z#k;D%NdMZ(>@xEpgF*$OwZ`VaU~Jc~fuYWpO*if`x~tySU19iEH3?CCkDHN=aN5d5 z7NMV(feYx{1+A6)`gd@pGgAYMU+X({mQlxa#dDf(FAW|3ja}FAy;|_N2ps4c@LIzE zVcPK8E^j;;P4jF8eO9YauE$%M-xNE(Y=rY`X)6L8@>>_P7hYr=^EkvBF?g}T@|p83 zXP^USP_q}OpBebxn)`~wpX<0Ue>OIhwnxy%D6U7N)97z1YeD~j&+=vD?`Ngd-mJDV zN1=K5DO;9)S_prvurfcT9_oO>@9{{Luu7x1X6EYbg*syqpKbpqkxOcDY_42m`?l+698BtR6j zv4w7WhM7M|6tq#XhgR$+BtTF!gE;my6cv?LRQ`9UO68qE zf;^HF`=Fd z{1xl%Db}&aM~i%!*b+qlJb#?|G*>e_;4kN9!B0+U#D6JJbFl3w&zXapzTQ-JLQC^> ze5IM4)H5VnEAKqa_cPU8l9&+*&_oh*X%OQp^C^Y-l*W7-!hA}sItM>ibBVqL=$o`p z_TfVM{}|T!0rt1AYUs1jLSqKwx2boIjRD^+6>jss$T;TMKsCqE_h)xemc$f1aEUqg zsL34L1f5W(w9?ywabSWNwkK zbu#Td!Cs*n``D@+8GGrgU3b$7<_7s%CtqT2%?-^hi4QG$?SLwepSjfl4HiO+iz%D6 zrFpwGx5Pi8-p83McwXqazk#|6>E~i>b}_`pAzr)e>!ClSiu|z;-_Q!ay%Y37)8Jj+ z)t|KH;LGCgMqAaKqrFO}179JXPTAa;2V&b3Th1?;Z&FWyb}Ri5yPed3xj7qTeUyAM zXKPtIYqOy@&XS4#soG3AGTu+JUn}JX8K)@``A4w@<0levwEj5X4kd1P19jACk)FC} zVz}@=2HI0*896TFuzqRo;796YggI{U?J>z3dv+ofwOSA=?;8m zt@UVxe772XWpMen&EkvZsG7yQ>6du_JKkII0VAvOcpt+1>E`Y}c%Ox?aTD)DX(uSy znj6;xkLNGGjiQ@RRPP2eZ&IqR?s*@RBD8t+y~%i%7pjc!I=2h^dl!_wys&%)8hs zIYS*<_jX{b3GURGKi1k86PkC>l&rssURZ=j0#5&MbS1I<#{N-@b$JjR5OIX2zk-nVcu^4tn(C zxyi48Ief}TUk;C``!Z7-UM76U&zZaMa$Zc)ZuG+k1N7B8D<4@^QT@cnS%3H9m!;!Q zeVH}oFJC^+_fTuwH-B7vq~gok_D{a7y*2RVnxg&QNNk*IBBpxQ{AJ$px*I$nNACaA zmupr=dPiOT^v9z*wtabb)!SdbeXQoo7f2hWMIL=2VjABroOgU-@xOgM?dN~|@`aUA z-p8uSHcb1;8($tOiWvUYIqiq1wBd{8o9WXQKDOa8{KVDs2J88~d_N`XmJJ&gp8UOf z?j8BW9dkE4|F4qg3Fh)+o~Je(n!3k&cg^NI_BKAJ-c>SBr)B?U!(;#crh2!0!P+|} zJ#4*uhc)9+VAY1GzyFg}*DcXOX({;}_drQt#&GuDfIIE7rSM-c9?@XE!Wd z{o0prlka51(|33`Z~fPO;1WMVwHFsoCw1BE4?~mNpvUK+%laHk{*k?Vc*`^Mp;@6( zu`L8iJD;?7l6C=U|1;zhW7BSbTJFPd+=I*8f7{nbM&{h&AN9_;Yi&E2X8+XwZ)t?G zhu!-_Dz7Sx;~-XF0S#vB+?K3ccp{9PH#9EJ~y?_)D^ zrnIvKJyC3s*4hzQ_3~%ko5YSGI@bN@SaKDcrizuagmRZskJ@{&;-rWlis+hRYmxH) zr53qz3-fIrX$v)T5p8I2XO)XDl=vMsfwSOt_zCNQ*f%9lsEh{IIEgv9jy5!$6yBcR z5<7-@zlgFH(}oJl-6=keZuX@#Q%ev(sNv<0|Aq6PyLsnvn}hy9Z1;GvndQjYoToGW zSCrSV)@GgS;Eds5j-jRTA5wXccX{$|4`uVdW-sOMql{|JtXrgfVL#G!VhLB^caLAe zI^rjs#@721zW3{f>K?UUz&qJb64^Y|55cYAOyrtq{^A!bc3au^mH5m`-!9=hvB(1= ztJj0Kp7@E_y_(_qEvy?-ue3wi&)3pEA9yQ;#|Eu)YfrMrukJB%*|GbQ`v)fibgSDW5ab3^2&S5Q_iw@+qbP#E$)ElZ(&Z>yr z5q%1JLpK5k!>H5o1N5RveCM<$_DfRLwSRLxVt1z=)+4DW-QjFmy8r3T^EiXzhJOWS zVb__-xNp+TLS>hdxE^vQ)>-wxe#Sf`Phb`}-}Kk@wS6Wr9O;|2569Ww#o!6OOZEeT z6_Mp@uwUN8Si~?EQH(=0;}Of;lsOcdTQU!#PT&h2hU0d7u1eojOzXAuqZGPj-dMhg zN$AD+5En8Y%#&v3P|GR$f~+C?rs@pOJZM(-FxErs(23Z5?xQUdL${Q+tf4KB(w1e+ zL3rL9^^Da3=?i1r<72qJcmCc_x^(7gJwE$UoB@zMGnJ0?YR?~V>mATv{m*k2e}VG4;}b$6@m}( zb7^9Ii^ku5EqYf2=YShzpK6HH^AtLXw5y%8>DU&+<$5I}R#<1FkKEe37WK$~6>iu6 zXYZ-0^{CqV9z-nm)$`T;z6a3_PUJg)d=G-}WSIWrnt7@I{ulJU6(3Cham%mZMW=RS zw+H+|Cv{xASK)xFC{GRp+ZTq2Zh4boYMSDGCVBa56b_D$U z$R~9LnS(-K0p_L5Rq5aGnl&F!)`qt{ezWL8(8?lcWgl%?j{jeg?#)ZWFOEL@v!crb z6;b7rk5G4n_S#D5cO~B}kbUV>TdkNXa$ZmAK>N7L+>q-cXp-ka>Z+w3b+lsx@fO2r zdNq2cTH~l&wIM9+a{9WTbzkZUFaI6N@84g+kN7w0B9l`FdoarWmB(3i(f1@qhS&mR zUGMSPvvGAPnMBGD$pGQ)KlDkjEYcd1MJ9tc@GEkR<c$wQ~N+yl>&STiDD&-_2rjxYJulFr))xi_?p`fzib?%vS67MpP#XAxvRF|Wi| zNY*upDJ5$gaZXtSV`;1SPm5nr9Bq+!>I157#~ufs;OS z)dj>~Ii;hsUp0vz?5HI%crLICZWk6eut+YeVI5n@wr|h+|&5d)>Pd1_(kmjz} z)@`2p+7p}CzUJB7fGpm0lyv0JBHc8e*Y9Qwna?5FEQa#>w(Bx;Z#Qk2MH}Yg+eOU! z=OsSEWb_dFpw6eyv3Q;EJmGyo@aMPjB0Sh7{1^ThzSax>k~u59EF?$EceB z-!H+XoIjTH0J2s{45goAS9uHkgm|&=<-k(w+{>NB%@_bZ&WmM@2kyWA_s3EH_unOl zCfai7kMM7mHPU~QaXZDh1;JazG}jd3B4wTF#@AMOJb12%D4(gDo1Tl3^~<6;sdHNt z`n@}%{Bh0PRC1;Ro2ypEy7{4;3EA{aUmJ_^QNqrWJiV`MOZoQ2Kh*#ge;<>8l-k6%iK zoLA*t;r#LC%wIDU*F>e~*);s3LUqicjyof)I_{L%IzLPQW*wSU$DQ_h!I1AufI2cW z#+PTW7hGLU9Tq)nN_G`n(}%a1o5Ig`_~W3X6zC`&I*JyXOuBDBXP4t1b$5>A zzgSN+W<08OYV2?LwU`^@t~;<}T<(D#@_e11WX!m3)ea5+*sai0+;s&eCkdJ1V*@3_r1xl%*kJukBB1mZ5_Xr}noX!fsvd(t^~*{?lamuXKI z?dkfC_NX+pr;GNGwqJX)zuBH3IFU95z)=l2N?)m+9e_P^D}F5_*SI^^Xb#_9Yi#_m z&$boZSO9)T?zWD13JrBcQ7x?SC4F1$R z@Ye{PjEw!=Keg@VEM#_`7U-{yX^duXR_}Kzl)GPaCLv z^7s=M?DcAN=UQx%Yc%K4Y3t^7zCH4-%}0p!mB~B}K!ft^FwZ2maOipTy7bOmJ?6$~ zS9Di4^Nu(TRSo2M2Y8GgZKY!_$6mRw@=nHL`q-~4Z@oUZa?hx@Hg`B!?=q`5{|5L| zM|{;f;D>*}xa(VWr%BU->@`R>@_Ch?PXRpe}k=R^A zcsUTQyoqnGtVoK2P2r9P#|m8PaZWL>#G9=CQo9aCBgYygS5md4B=8 z5%>*9R8{KiRXe1O7LE??xb^yy%GsIVbCi|#A>hTpZ#V{2{RVg)@TcHr5AY7)4sez_ zd-aaN|2(-DNAPdyQ#gL|X`j<>lZBrHJ0eo8x-I-1+%XN_5y6~`V$KP^`{M_@hvHu$ z8mi5Lj286}mMO21BzGtQ8=jl3V|@kY`Lr#G3nNJ)-FW2A#}u3f$3 z8n?wSPBXURzY!W+SrYoUUu-uScKb&or!2z9{T_VX4{6b=52Hi8So(0~fgPjAx-0K5 z8sNRJ=v{Ab+6dob+Om#*NWR5-jIjoIwB4uq@OJ5cLB@d{W3F^pj-me#5C?I(o?t8~ ziuUGQo2%Bg2a967vIhRL=!o|j`f@*Q8KcMhenEStv*tZibjUmA%2lkDgN&s`he?}a zA6-N_EOc|J%ibVqVaE`B=9jdJ1*nGL*?w#YBko?Do+{o8Xp{vSPO zFc`N;+GCxKvd%(DT)(Z~(LOo*B5ka?L>pz_+2607tN3&(HyF`!otsiF#NP!0zZ{%y!zJv zD(Cogd#o~vi;)q+g? zar(PN-J$um-mde1biPsFchTQ3!tnh+-rtOG;yTpdS^qEkOMTzf-y8mh{>HKg{dHn5 zf78@inBnNfD?gt5NyjF1?N>$D&O_IJ4qf{Iduo~5gdRQkAoqFPiypifpQZtyby&Kv z&3lFK#?wBbcbR9QUk`n=_wsdO-*^v!d~9~qduXN3H%?AHeu#SKbFXo~O6&n!2b6!v z_f`+d{vLH7f;V(`N8oc1Sy?|0yB}+$KTGFqn9h+GYcHyn{Q%j|`q3Ain~;m&P_}>K z?A~!6o5p1JS6EYPcyI0TVh_p3R;+9z;cKg|^m|JVuwcb|Y(9T{YVZ1gvUT2 z|HWV18QIsrWIH@V>|Z|gJ@$RZvd)#VZ{bW8Is4&V3E0iHfvaHLa`qM;Qv1c?tB8D$ zPwOMaxlQwttfOImoIqzR=TA!!RVb7j1oaT{Om0Dt}oz4u?^10u0jx(g#* z-5X`U@CTLML8q&`RN$ma<(Ck2mM87%-Xwn8*k)+QnDTb=<@VZUUd{Z^fyy=`_NJ}G zf7P%7DZD!))fo7FZsn&^GsCTPHtV~Z&Z@7Mnw#(geItM#mw}E^KOS2G-^E!VXNpO? zkodsR%dUmQP+f?h+#&z3b}b~faymA$`U!4xKl00AY>Nk>2g~j%XG5c_uBgW*$om5^ z#7rY**CL6_$Gni3Y3!@quphgX#BXChsJXBMU!zl$YsG2$^{!OD(>K2>`bG_Uj3r%Y z4GHg4eYRzDlsw`al^zq-@-DVP@vZCWZvp*9w+Qw3ApH%*i@a+0cbwJVgUR%lwBOp_ zNtf@hpO~HXy#K!ay)V??!U$-JxFF!F;SFrr>KO80``!u8BfvSn z;vdx#4`d0U0>1NuNq~6~0DYHr-DVI-d+p2OXpvSlPXpc|uvzPe1X~AEa;Hh4OAdWjA(t)o04~ z7dpxx61>3UWY6EqZcl#+ZlU=A_!>d_ zeExZ)&x1Z{ppQc0yIXPBf4!>|yG-E_hoTQBeG&du2>()i4&D{wTf)Q6wZgmLhe_Zf z#CJZXt^hV~9eP+5h5!5OS6rI!l-m4W<|Vk1HA9U@*jyAE{I7pyKE`NoD1MS{&94JC zKN0>ab^+Pjjgk4q`|mryp1IB9Cr2nN9slb_d~kPQ50rV93x0%W42KT*7T+EzH^iU* z%zU_$c_8OFM~3Kv_d)V4AantDRx-~l(GyqV->t+}C=v@79%J^AKa z{O&&Tt)gwEjB^d;`1f@8rLPeF)S4QKvEFwL4ax6%KN`E2K7{Bi7MpOmejFOd`7(}) zCA(xCb7dT#PFCZ{{sDcDFNZI;=dJvK+CK>I(>D5afOnZ&e^8!b+xAsj?nS1#k$ze0 zeXni*^L%sD|KD$Y50uQ`rIVlev_aaCUZhv~)pjK|2*b-O;jN!yLBS3@yzT+3XwbMP?Jc!Jo^c z?pZK#5&uwog+EJwzpcH})?e6dJrOoWA^cnRgI@hk^t$1!6_fbaIG67l4Da)&+p%fF z^~*R->GJ;+hKEbpC;Hoy{P0b9(1+T}$>n>_TKi{y^gm)N*)hX(Gv)Qu-l0$zLenCU8`hMnFgKoB;O&?emqA1{x)fnwA>HH}azH z$($H@&&Y|4d->#v+Sz8trO*i<mBGW47*Xz4BH`kMVw<&Q##k3o;~h&3_-KmE6Pw@-5}z8U*gi59u| z7WxctQT5*PSJW%AL1@l)cRMSC%-_k(wf*!<_KIuh$8vBcYq-1%jmbjBWFcd6cfT=N zz?e*7OzsXF6IsVXdXJ^=III3c&IVDYjB_AMFK-qa;9km?`4-L-)L9MMaX@?#p%;mF z@+aW%aSUJky?MPnAhh;BWshr!KEG{#&81Dn#QwkB{0i~^RsHH|qK@xdK0*7wv;2Gi zhVrKgZ@vtF2(|ym-%|b){p^=wN0hOe#Gh}aJmXKZc@I2Z_+a>aniN*q zy|m~p??Pf)OWffG^xu21-QSDde>!usxk57+vzKrmdkWYd%$hBld4JJC?*n}Ara~X+ zTcXDrNqUr#%z8V%_yh0t#R=YXCGK4h75~}$aB-@40@sOLP1fa`O8)H4C`tAHqjQMw zoMW)@k)G;H)||#!=IC|KMB^+n>MtBg2ImfZ_fl>Y<<>jXH{VS9M$$I|zo12VqVz$Y zBjk-C@0H}chdf8LNMj7`%~|o5ckGG?@6{^~dv90~?Y(iuyWR;a26!i~IOx4;g~J=` zO!FOd3^J};FQk=IHJiW5w zJ@3vH1HG@VIO^TKBF=jrJiW2v&)(m!NcHYN=QbZK z{=|EC@gQ$|G`bk;>V@srvj=!~p#mEO?;jC(3%-`X%YZlPLwwI_2}YzN(m3x(^_}-h z?2I_${3gw0iB{=6%AV_R`tG7V&(oIYX$QR8 zsP%w*FJ}+H{Sj#U9cY^vL%Xh8aRge4QM7Umw9*dluUqjUG?V0==t%H&uGP#xFs=yG z<`-J5uWOUr{LnGXkaz`+8!68jV`Ms0jcZ5?%^Iz=vrHf0X)e*s_elR9X$O*KENO1l zBaGH%_=AG~m*er%0{^eA_`v)8iUjZ3#hO{W1V2&mFVCuYb_V>v4*Um!!T%26H-Y2z zp}waa1K3N9FlrZ}LphUt?ejGARXy5hpR1W4g75Y@#GKKfM{rRHF1CV;t>D6soa%-a zg?10pzJs){W-WN8FAC44!0T2;v*dC zboySPJ#W*NM`_1Y>a3qf9Cq;k4tt01vX9sV{%5Rs$2)UHtoO%^!z{)@X#XeB{!eY% zcR|lzXajs*bJ5?Vt#ja44hQ&5QuIE~ruP;-&U1`($4Jx0`*FNq0%vUvT#xN?(#8tfcz`yF-(YZ=_;x#uKq2r_8wO9+lv^!zQ|<`LT|l`t zJQvz?Q1)udUQM|*lqu^v&%3&3z)zg%UMp=o6c9GPX{s!D8o-368|k-@i`&R03tOMe$6@S%UKPs=j^!hP^bs&qiBItuhvd=x0{cedBPzSG? z#@bN8+HfVj_!h=`I%7RUkMfNLZ(`dGY$tAA(E;y|I0tYVx<3QmA7pOe551uso_$u$ zL&mN6BX4SPviHJ@kGvOGBzrrcjZU7KJR9a5?Az){H9E9p-vnozak~@#ra6ph)H9lT z4pE-08-q#rI_b^>zoC}R-&^Ml!^zc2}23oRxHPtX&5 zkH0984unl??uXbk#eFa1Np|N&th+SoQj3Ep{3{@ zZ);Jkw}pB06l+B}YsE(9&u^JOvbJts@ws=+ilN?o*2-TwlJTh;=xfO#CaD%@G^If& z+1ME<^Gc^~{ERfeAkA6ohj)3-lD3?5zu^6Ky#I)G_neRTLff%J6o2MjSUkkr1<$Kb z)XYbUk9&VzoZ{__BfiOSw|Sg(=O@lVMwFAax`KEn@bfY7>LxE|GMO_?n>4f15o1W~ z-FH|Arqj)w6 ztk=1`3&cT((6E}jC9GR%lGjGuNpZha9nLO$=X$ zXOeat>1Oi&81Ik4bJ{$dWdpaV#UFapij&}b#Dyv4*<$nc2`6h6B~OH+Kl zV~MQwalV#$*ee~n(J~jgOp7ukwx=i@czxY^(l{c0 z(X?j~ZCOh@3c#zxIOQDZh5^v$Kx zF$}pcoYzMpxoyuw?D5JK7Wuh|L1sp;$Ok*6TXwziwz@raxb4R zvw3{D%}(h6@bX7Br*Aa;x`2NpI2r?QpU!^Zx7WfPF#o=aY{(QA*Bxj`R-FE+E}%()8esIT~6cM`)2{)p}+bGDuYo z&%5C>vUZNpV#=JXY3e!8y5Tw2^SH9Y&~y8l_}4}BdJ^J3%5N=eWE{~Ew$ovK0(a#uM-FN*zEkwWm#LXA8xpd zb@Xo5(OPi(82(jj@wF1)wMy37X7E2_#oOLnS44X6*JFJN(CJJq(kEw%p2ko4HU7u> zUr%42btL(2gl8?||7LNu_YcKR@5GX~yf>9Zcsp6|x>%DkN~(G0^h)gF&Iy`1vgBQF zR>=Ub=t67YE1EXUxXC%l_iJsi@mu&2x|uJUIvbde@D|@{>Uxg)CqJ*>u()*2mZ3E3d#;&JX9?dGL{I(a&DfqkSKtZ~PJ-C*M<(cpcN3+s)&FS!aNa zX4*BDwiMEqQrhCCEtXt7jP;rR&=%>7?DOQK)1m+IcX;3lzJrv#fU+H0lA0e`toLi^ z>s0bAr0qYa?e&b?tt$?Bf5LajTcPO-X`1;{+CE3t6lk^sdhTQ#|8d1<-hWy##EWub zjz*V!4_)#nx|20E!uS-r>KIOpKi0nv$53=Z;2Z@T9kgvbZ8=O^7SR@swn+OkY0E0w zl1p1e&yqa=WLFRU^JMVPrR-eFK0w(zvUv@2db@)de2yVqW3;%g)6wWAtN|}0r<{gX z&!j1sxu4E=-JQOC@>Y{qBd^paI#&hwnNQizQO-fi89_O$6T2MDmmqUrbI8Hw&{{g5_3t3-pTql{9_O3Mn6<5kp24G> zX%DxZEG_!8_o1Rx@3|$Kc_X%y3D{01vQD~KCx<~FU5nu<(1?GL#LP?eUB_BA3wn(Z zT4cV@N49pQ(e9gRH?fPPo4H;w+F!FYmFsBB2JK$ZPAvbl7!%l*)tC>SNjsd;~WbZgr2^2eUP^iE+DsOHS=Nk`o%r;55M4!-I_Vf8R6Ru?-6_2Y2+()J{nnJ88r70G}qyS@9iW#_ze~x z@Lnv|y}=4%jcz9fB==*umw2j8TQsvAT6_jtJi7^6bj12vvG*0CBR%UF=DQIcY7=;A zN@VSXAC1wIeNFJ4v+zS;qX`~)Hrs~5MFIU4{p)STr(zUt@22f_v|HAr2-;n{*KO8A z3+%rcwR?c0ZFo0uwGETDK8tU*=uw{i@Hb5(R@^?mS;AG|HMDIcZCgXzBA7dzpWg6d z@!Q_*#gU5tH{uW7gdcU|M$K$y4R2u$KLbwNiazkR7h(5dPR&AAdeaf@8$y3wjx=K- zcAZ9ea*Q*krO`udK4(H#<66FDh)mL0!d%$I+}VPSMUV8=d6{F|)x0w5Du8#|FztSv zwlV(3D%vKtOX1Z4>dU1*p|9tt(?OjhsB-~zsKsLGOqA^vD1{o^O-+onbgz6^Yf!F$@6dfhhCol*d^rQ z?i8{8^1TE80lqOm3b}L*_8H{Cs#@NOTsj3FdpG|+?|3e<=@ev{yZQHd$8(XN3;EYV zv-lK9C;k=?JbAF^JbLB8k=GLK}%>6?=nf^47^x?pWLA+1p zeG2cBd7s4lMBXQOba1mRb0F{Ict3#mvAmDreKhZ*DEc> z@F*FdJ)4k>uhw&?!-^-xH!sdRBl`IJ1(;)^*LHWuvv-?d@7*rP|4{aC#ox$TwG_X} z?(R6=<6qPr%O78&?r8ool>um6_H%^hCH=KuaUNLUprc&g)$q(~+Rvmso@a;B$i1YY zt_`FSpCs`wO6R>_cmVr~;=^Z^%{$T!;hlUV1KVGDIzEPRw$DH)uas3HWd-rOq`ZOQ zWlgZll6Rzwl(Ht+Weu^)QswZjhBWt6j_l*Ac8u@aj*DI79dGBw|FNeX(r?L6-TxBm z6VIAS-_xgYeai|;S>rC%C&9l}*7Q(W;O9hmSvh^n`cTTsvCCo~{Zj3k5Gspyy%kvRF%0S^F0)G-YU;Pb#37*&DEj z@_RJ@0iI~m7HC6^Bjl6xk30AdGtZ{;YydX+#mE$6S+|}-7Q+T={F47C*x5f7J3DLX z=jg^?pd0VU9{36Nz*uYmhx9?n)rrU}!+avIWH>d?=R9-qY$$f(B+AdDddkv6Uw|l0C2S?8iJy#?JZyb&OH%O+|(utYoZA z>d2&yRn(#6c-DN8r81Bow~;rOygGSx?Ar^pl$Mc>fnB4u_%5;EvTw}3Y7G64Q)Ox3 z`EJsTBF!k$)G_Xn$bsAS_%4w}(7lwb6-0i>)3U!|C#%ttk-f6Z7HFJLgSNY&aiR49 zI`u)G=Za1pdWK9QJSA6jYUXUN=+x0%S!?~sSKCN0@|D_K3bUbot9)_^`&WQI$oj8j zN2x>PO6o}ei(Z+Y`t9~I%V)3GUMAnRlCuWg-BD^i4ixIdM}T(}P%bnkeHDK!@%s_~ z9N9k$RNxm!8nG8n4*BdAT*haw)cW?z-|Dls)78r#-@6QdwEXvazc(53C6l%bAGH1V zUd?l>cnja{znA~F`|qu?+x_46--|BVHClW}p(o4F>6<<@KM%vnf5U%|vnON94>x?b z|K1&T`Iqz08KeC7dhsp(pW!%{^+sf=kPqJjvCtLrj*P_;`F1z(x2{R^?KLSf%!iM4 zzh_MXM?GtjJyyyOjOUZ_*XzF~{e2j|j)l>XWv{aA$xX_KFRjO(9GHaz~cG_z8{QG4a!~{rKJk4j)Uk2M=!&Iiqr7FJGvE|B5Yj zUD()$%TM3s&vz5w)VSPy3+?+q*{{AP>I%tc-&KCu_bC6NzoGo^=B9h_Bj zSpIyR39j`zdi?q7;AsV%i*DHD==JGC4r<=$=<(^h4H@n9dWZQy(fi&dMe*L-MNafM z%wH6J=v`WreQ*Tv8T|MHyo{ef zH2bl`_`kp&?o{kpb%pG$A#2sm)65sJtJckB9~zlZ;+;-)4mIQ(jGL0k>wlVPffl&ViU4Qk8`g06Z}a03G(r8K^AG-lxN<);uwBTiQabfdGU8V zw=vJ0z2Z3jPbuDW>+{SRz_$R4efyk8$~f-Lm3M3N%xS>?2>h<5`BS%MQFXXJY_=Tkb&y)SGB%>LclbFRn$A_yK*|B*Junvq|coqBo z&7}_WUF`eKB@Xj>`YLv1jlOQBuYUUK-;`^L-++G+a^mt_k!h8TDn3ov0)4B*u81um zQ}&%Evlk=wVC)n%$W~&9RI+fs$d|fD&g<9E#w@497aWJ5A>&X>+r;)+PrDXDQ`xjh z_O`@NqhYzjY)WJA4jQ`}f5~y|2cp+(IKSe3{Db1XHv)IyqtPio8qn6o6<>HyuNVgG z-qi~12VRfw!xxSrMgUuNV3~vQOf?#pI?PwNo>}5BN9meRd?n7JThzmgXW-A$vdE!q zbmOtnpDT2rcjcK$y3=T%=fG!afKfBoVXmXx_b9iOa$lk>`HLUmI>$gy>tcs_HRYbB z%-bmMYRZWx|NG>9lKs=ua~$S*=;ql0eA5fM*;D+f_s!zL-j10L^CC3!I`@0HKR<(e z=w&cz&$im#r-SXH|KK?%~Wu|gZqon%r@ZXfomr_%p0^A--SsI^I`laFHUe+ z`=8?-W&``44dWc9~I8tosjG+mgta~_;Q0U z|FS&%Qbm7?H2h0}!M}o+0GHVCV&LUAO#V#zdMEu196#4Bs5qX=P>KC^2~Z@a0hn%O6>aL&p4KS zscYDm8V5XqIX;m&u6&)@FB->w5#ML)*;|Tbj}6~v!_PeRM?1^|@F&iPnD28v-L2y{ z8|6Eno`;WEs!`LSn+?O^Dd>dF=XA3@EzeA0o}6pb&5J2{Y;O%VT3U4TLL%c%yp>>s zZpKhPzS2e`HYb<5FMBahon;O*dNzF5l#j{TZ zEq1Or;q6+H=IuPGn;p>N8SXo|KXZb6Xt9?2M(%5m@$JXsJcAxj^Xvl8I-tb>@I`^4 zML%#maH2NY*LGAlC$O*6aacEZFuxnCb;f>(QM*sa&w7|~X0LATd+p}Ck}}73a%DVf zd_33VjGFDbxfqwjU}JCZ)*pMx*$K=zk( zqt2_F^}C6^3?06MFZ28OGK<~kHS8#_V@J6G`1kCIzR8}b(4hexzG2g0CGd9OtFc=M z9qxx$`8Tr8aSg23&9TC}Jd6W=U}tvbLRa`(m+EG%FPD8N_N7Yr2I=-(=rGPWw~R5b z;Cp?{t>&eC?{iD8DSjX|OLX?+2KjEG{C6mCjQwu{r(+zko~E_B`4Q#6M%mXPZ)B~yI8!&DVC`y}p)-!i5d}K@aF}sEUpEW! zcL+|>%?fNX!3nxq&3FXI>t+^X6CB5L_(L#9$4@WW2xjYi>nK-z(|y6Ce8cjbd~Yhr z2p$G*v*Bvs78~9N++f3dfrB=@2l$i?gENWO^dh)|&l2O{z9kK_FoJ0Ey`KGAQ;bh>_T=Opa|2%ycemIgo zKd<;R&?mgC zv77zo>|FfQ;fG&otj$TjTcN{NWWiR-RDW=ST{wCMa5%D#p&6DaE%%D9HSPr(n* zbRf6+^31kD$iwi%4*JqbUpiXw8E8YUf)=}Y*1@xO=&%;J6}UFYxr_$hLx*R1c0t}l zhXLS=0z-#>;AY_FQ^a`|o_JC-uZ35%AJ>?JoFh1*Qb*q->Gz}bS$JY3eHETqzYiS;et6WT zL-8N+;Un@IJ|foxhtAW85BVQhiwxEx(K)uQ*pKg+=Diww^F(~IE11V4S^ux(|DKlM zYu)SST*W}++#Y;JoGC`zZtWpW0k=N->Oz5+Ua zVR9y==iM^iEe+)xRwidudfxH8dr9b>qfE}W-*Yv z68Kh_#?P|X{XpsSm5+#jS!!Q>e!WBO@noU52TPH?L+2~dRqBT0zlHu@kB(M=40CoqF^0?p_QEy(m^(dS#ypKfE1<45dqoJPJsGhQ=iqHo`h zzTJ)-`Vn&DQua?$;qe!s$4u-9q9gqjKb|@G@mxHG4-b5;2K}s)c{a4`SJ{0~qPhv(m)H$bPw0Q|_PNdCkw7HG8$=SD6 zlxyku=%Xh@_eAE0SH*HxK>i|!v@&Pb>-ZXI$Ro&h6ZOHqpHc5b>U@OyKBKN7)H4yf z@0=t4OL=DNGW3k%_q?^m1HE-KunEi*zqCBFq49}3?4 zBJGm+`cI&%3r^c+Kz};;OvAoG8;|3ob&mGEj*r`U+V&IH*$cF5F#5(t+Vn8(xertl4G=xQ9aF&f&ykC`))$B=Ckz1hIk@bzQJxed_M7r^@!>{jycQQ*<&j0N~W zKEj@x@asMNuXM)w8WY|4A!hT}`<`;fa*vB!7^+PUMGRKDG*IKT9gUS}u#+V7emou4djGKb9ff+jmX93T(;dJ0R zHk<}L%Z9;K4mdglj_SctBshu$M|F#tLvpqRU95gludY-NeI25o_0X4+VaH+fLf)<4 zmy2(BywNZ|&um1uL-f0IUx{vnymk`Z zrXv?STdL7~0^R*wF5f8`WHcYw!EKt)Ntr>)te`yk%X#8_r_&?4eI(_NqU=b@e3Y`@ zri@7P-pyFm9m7@t9i3)wbTA)ISEHL9*3HfW=2c;yIm9{4*SQ-T?cQ9@JHr=t>fk%g zsP~Z$n(Qh%;SCn0d4qFwa~b&V*pB=U{hns+X%nB&7R_vHL(V}zZ>Zqi9??(Yd_k|y z`Dfh-ZbAowhXgnB?nJIx4Sxu(2bS}q9bFb%lChEsqUNA)}rc(M(Hqf6mN12_H#z75nSdJgs@($#^FM(}|jvab$YG(u;< zMjdq4cv$3A;5oq6xh6s0jYj$__LKP{haN@W!;TW%qO;zzp5RL<>&X-JyNNz?-WNS% z0J3|oc?P@F1K5n(y}9OD=qz-WQTz*@<^0@lI6o(A<&*drugAw&*2#^)RwQr4xlx#rEX#w^jnMY3-`Wp1U+t&}H!!3}4GJ^oVNjHmo3Df?>5JWW|oQpRoM zjmM^TdNKS0dN~Vioa0>P1x_sTl7n&FVy7>lexiE>jGhFz=U|;=s-K^IgM*TRQ?@S}- z=WxH&)+e%ca}>I1U6yXXfQ_y$9sQ7TIUSVutgpL)Pbt`_+X;NqhJC<{7io;T?ZC%v zxB{55Q_r^mAGKj{BRYL4ILQJhL2$xZbj~=%VH=To0PiPFE&XkvziZH0Yw2qPeFZjZ z=ZG$j9d({P_s*fK%*{o2u+Gm^;BOmTMB58&0lkNQ_h(@2>gJ8 z-Mb2b7XdFtCmDjRBgdI$T)P&MV|kAm0Pb zmorZIGIZ5*Cb9#$>nrr=Q6>C5L?1I#uzHXC9h97D!z zQ8sC%JFB(ku*j~+%#J8u{XWjwB4^g`)yyc)O4jeuu-VC6;_T{fjW{&1M*U9Be33D& z-_AS6p$=Mn8-7(c16_8x&;&NX0^nsf%-HnMNkB}OP|-$--g5RMEZM=(Ahrrub`*Ud007%^%8qoJK4*+ z4tO_n{tf25oQZwYJ`*c`JQeuvZ^w84er>2PfwRDO30)vF)$^ZCU(fI5JF~1;?R(tj ze)bZ&cFUQ=VTSDWb?oFEEqhEYTabUZ3$EkP35K#34l)WUCrBCUFEqsYhFdA`CCYk_ za@JACSn|F{p8Md}Gc~=X&8uM-8r*emlV(Z`i#Hv~U7Z`Di!JhNaxSO&h zFKw2y2-|7zVcNTf_Ku{zZ>c^aKgw9sC-%fz&~v-68+2vTKK#VGR?#l;F<^h9OJa6H z7s}Ubgytv0;|Y7Wly^%)`G`}nR`&EHhJjw?=efTW-EqCGN0*={iypn4tLV|oxQZUV zl&k2`OSp<2ouB#*JzD%D?!2~FhyJ0hKYyLr>$4-V*+Tx9*n=*6hIK4D^KJZJftJRh zSKrP*8QKy(H;?};XkX5-zM-YI2yLh7gS!;}WDJHuGyC;nUH&W$n-$k|&X{p6rM@6@ zQqH=!5HF^+2fK1VqY%2+`DgXA4S`UU*OUj&`1t9y9(ct)00IP9_HIaUHSmU8wr z7<$e#Ih!D3JVJ{r%W{76tn5KuFAHXc(M2M8&;?Z<2k+9u-tj!-3%G!H8sp~{J4iHR zGMw=n$GC_cB#o<#UkXlAI`s~e}B^x;RVoU??1+1Tf@9^`sQM4_ZcIjb$gv#E+ zH#;Xgl3MP)4SP#|e_E*mOPC=jfNAwvv=X-O>QSZ-6;=GMHnmME7 z1Me**3Erk`&HOd791`@Q@GkLv5T5|f5-}HU;SBIC#1d#?KD>h+rU}}80$oJ(|5(;E zIX4%}7&SqMd9?pI+A)GQFW|qL|8x8g@=W}T#jgJX`cGY_mU+E}UrGJn{&KlN$7w$c>UsIROnQqQaO{3k1X!B#VH;T4K z(awd)@%7A$7S{6zW3l-oYs&eu6zrd!DPj}!`!x}8Htj@Cj-iSS+i?#P=Yzz&w zSGDOJc5}w#HS8)cU{{gzwFc)HU*Q~MSDR*vEK|k(OWZfNV6S34wsOCXdw+x6yLY|F z{U5l0ThobAHjua_3B=17W_-cFE2wckdZ_PZ@Ot``W?s!Wojyri8}=o{zbPJiI(?jb zbnVl}G_z3Y59~?NPbdAvreo9~Uj(ydZ-spu#v;gAC>UG?8H*(>Yb0^)z|B5v(oN$|axON^V zrV4t}%dCsobd36H_RAQHLFgQ@=p2K<{Y3Vs$Fo1(xsN>$?#FU}4fm~kk=YoFOzuZ; zAJ`-J?p-6fzlnQvZQl*_N4_g_C%Alsf9Gy&!kl%y78$F3CvmXQ)7pK+zd}E2-!A)V z@kV=v#L0>>+P5$k^s|C~X3@`l`l-=R*@p_Alf5W-n>`i^w#TB5{wkXVeU*8kY!LKU zUFom79<#4U?JId#(_V?!lt-Iu_R19-&_4W~&^_cY{$^@EFfZiHLXC{YVeyCJTq*r| zp1!Q1A0z2Q1nr+9ekfk-FwBbvGgYffzEeg`z)u)cRrJSTI)(>o{LRCB_?oQPq*$($H$ ze9C`1{J09d%C~E;Vvnx56uURPxw%Bc#)bdca?N}f8)+eZ%c5@;^sSV>5iisT><0hU zLaW5zvhg2^=cDEVeT2?^LHgG-7wDs+efp@bTkNaXzJl9>f`5mx!_+8#x_57Fjn$Qg}m(T$+RfqGnvisM#FYy@cabv>c$ z{8B}yiq9L4w63lt@So-Ko%fX+Zgr-1wJz4oTXn9BBraTP7keHy4dPEgJrcWNKlQk& zM{F@Vb!?;DZIqQu{#^1NAfKkic6HA~?&{f7iz%yFCjF8%PG@kkA zAxEMQD>-s5a-ztQbGV8eIg6{vku$l9965ul$dT2tJ#u7dKTY(2c~|%90qgjNr55&6 z@?B}XlJ9Q02l=ivv9EmBfqeIsCEw+1`#%oJcYR|u%Bk*;=#~qsT zbugI+?W}q2;I$I_NE5hvk!yVcx(xB13fcb;<^zi@crx)NWp7~;_t^P^6J*aQ(icPf zh}C4kUzGeLG7kIJ#629y`U$TfkDPsai}w=SazAyu@gwk4uf$E0ztGuAvH7)#9WBmx zH+e^qSM2no$on>Vh1W&1rZ$Y@96B=QbnrJDf486D?{<+h{U_M_`i#A=u9A7Xeu^wP z9a-`V&V%X1JCwR4#`~jUqswORFkfUZhp%a}+nmYzaAp!ds_>8YbXhO4Weq2;0&_`N!CNTJ(wcMA0BGGWUi~ ze0?t9>(iM?91ZRpxNqdXAr4z5V^qt19rv|C>{pDFpZg&9!BaX-i1hsio^kOcau#;v zh7&qIk?fxx*RdzC<{VQpr7tMF zfhV-C&BbpQm^sio&xWD@)&d(Y07e#2X{49{pEqdJg+?6NG2tTbm6$ z-iEV)$JsD>uzmadL6OObgAgZc9OIIRJqA0h{6+r82IUDr2Xao$-+&L=sa)(Z_*>Aw zx9M9Q{d$x>MbaPTgSLlt=PTrrSc@hkj^mHmuR04&jORSz4V)(wnz*&(9q*4zV%h6W z@co>9zk8sq#@)I(AKAdalX-bG*SwxsZk>n4Haf&Gt8>i)bd84Xx_NqEF21(1cI)O~ z#`@wGoxQFE-+h#GALWQ&x9mGM`2@eZZwC2ikT;Gzaiq^dK5X$KH$oRrv2VMPecJ@+ z;2~nv-baku3!8NF8t(7r{$B3uHX_$R7xTF<mF1G7|#)W0N`J^M>cR#%R^imzaPUOHPy7@BvU2Ny^$it@>agPjm zx)A?GS)ahM`2W?X3tx>gYEA$Tx8dW!X*PTeIK_q=fT0bQ9vt9{!MVaA#8@55TFN_c zhiqpAb^`CUVIS}w8zztF)xq_)9Jx`h@SRQAeYwitS{sS43SBH$T|(p<*W;cJ<}-og^r5Nv@L7mE)Nx?w(icu}qyjXkYlvW#IoyhJzu ziL!=Jmc&|7{(M3kGsUOT;UmryG5ZGN=PEw0@z@NbjMfRd*#>PaW8dNt_ANwb8&-0{ zn^=W_ZM4Kezwon`XdRz(_<|Gu0gem7vFtC@ZkMqE zE&;Bv;pMA zOKrC7S;XSYE!RY1BIlZotU2mW8l^u#7o{5eVbDeG4ECDP@nh&;BYitUzpkWDH`AYc z;7{V0*Yp*88p+t9x%r%C?xYNf6}yDI0*am6qp zzNfxQ&Pp`x1I8xbv{&pW_&Dyt#=;(L({AiL_#!mz)EJ8-pZLj$Ze5!%JUv3`+qIKz zcsS1|*>D>01RJ*LLZt@>74*NF{uk1J(H(2SouZizV5beA1MU`C8rmaIEq$pyAv*s6 zqxPg+iIIKEZDvEK@)ujxeAy>ebP;XQ#c_P(@KxDP|75=*ntm0~r)>JO2wg_b{xm}u z(+442Lkssq7Y{%eGoXwBW*ls zZ-XvmZ>^oZwX^K4$=Y!(Yr%Ndg7!_CT0642zl!^Yjp$y`LI(F^)Y>8U`2BN#6ZgrC zvG|uZp#N#;MoIkJ^kJM)Lay`>ryIPqt!0lLp50a|KB4$;lyIe;Yrx+&IZJbl@o1BE z9ox-O;1(M`4BTMD)xbd;w#PhV->DX!LLZ4&ZUncJ4!o$btpMI>!&`uTy<;9hyKC3m zW4=+Y>|<`?n@3#bFMH$cPk4k6)OzLlFyEE*=?MLiIFd2+BZfZ6-cpkXJr$hf=mT0> z*Rn?fzMkcqt*dh>V_0JC)!e{d$b}`$Bc1DF%^bv)Jro~&jaY-k zG^GxXZGzKyW4^6BWm5hs$~{0?vX>Gdk1l^?S@tNpx)-5u^yp8qWed<*lN}St9!o zmyLJCJK2l4WV|Dut5`|+9DXC-Q3~%8$%lRaZvK5@A@N+rNy6TLH~&8G;&>OWsr{Hj zY#Ui&F_9!jfyDh)aRbu0f{#E7SMU)?FP`v{>j!sBs__)orTx8op?lxh_Uo4 zF_!r5=;)W+u6klGW$$pi8i>7g<@0V=Be9ppY<0Vcspq=t-`uX|S(+>7w{92vpRTdb zxLvJY&2{zDZrABen(LZ%Zr7QOnrqzSZWr+aUDvL0yV^aP>$;V0*V&nxYkUzgnI3Vw z&ac&6H~iA=x=^aQZhX+~x>%yQCfw(Cbu8Ch6Yp`mI+tlK*IjOxxm0uAG~ey&nn4@> znb=Q1BL>uLw`=t6#BaKl_)RwxziEowHNs8Ir+*;!(?nuGT~92iYl#Upme^2N5+iCP zv7$1F`E&)bpN0?vDwSAJNyLO2NNlJW+7l6q|3qvjH!+^(4<>$78u6Qm{j{GLQ2t>a z8OPjAVmrBs@iaf4_X)hmA9Fu3p!~@y{!?y7c>Jg+-V^(2KQW;Eu~z)2wcx%KyqAFU z<=}f6xLyjLXK>Ak^1SVi^gKU5!c)4^=~=MV;mO@kd?v*#2vLe+v^>@ch zjH+bb^PR`;6#jfOuRD={68})_Dv5Cw!{3TwCF{r}$`Zcjr<~8v+i|L-Ox~&Z2kl|c zhzamvC`|=1kR%OhPmo6P2Y7ab_x@1qs(g$0sdwZ(z&o)6xckShvhzxPZ%J8vlQ6)u zH^R%BY?mePNcW1AHQ6r9j$NhtVds^yUX!vU?h((P3omPuU6#Bfoma}5WS4cV9Z$)w zr-n3JC`V)ch>>_)6Z*Deo#dTxiFQbzC|ka-xSsssZ7U&4dhlr4==GXvIwCHNb_$iX-)Xti%OMw4R9~_LN0$lAh4kmzTetsUqb#==lkY9&w2K``<%1S-fOS5 z|E#t4TD#=k4D;@1O`SLO?cUArGG}T$oBM8gmw8Lm`(__$a^Li667P@n$W$_8lXy%XpgcrtPHmq4TDL)VUG!PRmD~cFTW&j`6$e zf`5>5Vq^L3I_BNluu0P$*8g%V6}j*z&paxAby%~EGKWhW*P5;Pa%+PoO*QYATIqVo zy&`LsQJ!lMe>=?6hixWC9%~nTTwfvPoKv^=zw2*jFzW)2o_z~{8kYZ;3-ONE{H7hl zCQUc(DL3tb$3}VPPTKPAYi*Adw{PWt z=fox){a5|(*mSJoExsu6sD>GY~^2y)u z!(;kN{J2Q||9bbuzFR~W@u!>c7LUI;ALp;D#Gm^n{$kHk!ME<=`(pbeK4xqt&hl3U zhsOVoJ%L!--?RMh++*To%KRl`p*0Rze4+jCP+r{s&Uc{0hn^*_E^F9$484LaSN6XX z|L$l1e|%SbO|SJBzF0HqA;TYahCi4WLp-zDFHZqD{0=yj{fyj;_t9m3c}yQ&&+{98 zc}yRrieH|3d~MdVZmDP8V&eFY&{yK0r%-5s@`VOQ$@{l7>%V+!!#|JH!e6{!qheQP z{PTo?^_VSt4E7+K{qsC`(}i(F#;*|c{?J>DCx6I)&hK_oueadG_?fXMF8SW%f05tI zY5PCD?GKm#FaM45KP2P-AE^Ileoy(o&p%I!_|{@yr)eF&-W;;E>D`&Q%0{}=x} z#p!>bEve8lyq>@5yYc?N)IX2-36Aeok%e@~T)f#QuVsIhqvzi*?XzQlcKgNp$x{i6 zc)+UY+B`Mhm7wA_XAw_=inb)E_g{m3ZfAn}60wv{NZhRS1a&qiK^5;sW)?_LUnbtb zzeucvs9R01yVZx--_Eor;KTdp`0(EDpB-|mxnZ~ZFniv(FYkqbTP^mw)t|EmUTRBF zUqx@$g5K<0y&GQ-ZuOV!i@*NB8~$%RKwN?nxB3X<%lXy>aI&}KYY+U+|CI;!`#(aR z&-)YDBkb((k@v6U&7`=|L+%cQ*IjDA^XlOFGcN3;uM_zq&H;Uu^jye}OQMwE@)^7OI;rYHFT?ky(bo_gFYqp8*)z!G zw>$O+XOPE#0{z9zf=&G^y2csyT0cjIJ=2N|51HjmEwVoBv}cg>NSv7&)=ZqE4eX?S z^Cd-Usinv|S6dIi;$5&@1ev z{)9fA>N=u6T>pyyX#F<-d@c0WoS>#Ut-L>zyfXd=j;Igt%wO^UY$^ZSkEkR3FXMlt zBtd-;AM!=`ke@o5pvH?6)Va1J*b@HQe^)&|8V)C@zaX|qF|kD!T92qZ(S?5mUHF3k z2)2j#I|80Ol%T$0+aFlXO~BR;zY+%$h;K;DuIvQyagOd78b_xym6>4K`eh`b1HUSG zHZ1|!Gc=Q$fKPb*0*FueYw9lvyyjMutzt*GB{;t9 zR>%$1!}6U4;0kT)9~_@`qif>4T8upL2@!H*&&}Do<^uY%P~hM!XW5p{7#JJf!aaNhlt_x-ol;5h%TsoQ*n|QTyOJ^{YBlT)rzCKO?ubeTPcd-xXZXjT20x!f zb~*=ch!YcB$~vNc1dh&ulNNMF%i!ZTeB-acg#r&>M;D~dxYhaOBZ~OxPY+;A+J`Nv z*vh^E{4?M}?0~|9j6`3>b>u{^x z_*q%%a;w*zTLW{6N7Q5J78lzY)0{^*OL|psq0OygYemFiOb)KLy4A#T5$83Ng7bd2 znqMeV-+-=Ho84-4wuqQyR|glG+-f0Kq;A7jY|-l`HYM>Y8{OCt>Ns+s>^<^Q=#xBA-Wp7(#_bMO?rZ9;Yq}a_l zFl;D}x*2yEvpjA^T)g19!)}W=4!Jo$1^wr`v2{TAoiZ3Oz>QU43RM z7Z|$KXQmDSLz^1T28KR041Gr7T@7afL#G>x&*ik_&m1d`&U>SuTyUuc(uG+U{-v?KjJeb~(sNN4b1m~_$i?}-w7`5;k$Q=9eiK73HJw?+ z87t=hL6@4!C{h8jjTvyM#q=U<*wNMYyOc^3d|*G==Tc`=i->u*H5lu4saSH6dXct9 zPO*kaq)c@A6Fn~U(`f;1N5Ho)O{225pbx?};&%+Yh)YZC8tT$c9oqSJ7T>JmTf~bA z_EB~pWi~S2MY~<$e5Jev?fum5P1-F6{HC;OpJ^xO3y z3V0{*yw`=lEO%g{!NvJM{4~|OEdH%?iLbxlTrGH#wN#Bu_0xvfF&B1@oNKFgLG#!y zRZ;JuLdJl-f%yuTnjb8*bkgPEZlKT_BT9k$3)RgsUX%d$@eE_$L@{u0A!kTs905L6 zs6HmJ2e_w@d6{$Ghh6MJ@dFtn!O7%;S^;V7`s8uMQy1e|E#VPL0$`Q8)s$rJR)cvB&3TgK7mLZ$uVv=pjw zSy%WA)eDl}Mk@bX3)OU>ko5=WPkEoVdBdIHtX=XFyyKO?-a`0zZ(zEikToag*XbWQ zzdlRfOLtdm$v|k1K;~!X)oU1NWL-f~jRiRR>jkG;ou1l>}6mIZ!k>Ts3 zalYnE!357v9Dr|0&t=17q_Ir+oOCGzx*|QB4u6s^rordf1kRoERO6#i1e!%n5n@ICli@+8)3c#ygbkq2MTkvC1=^Z@_i z>qY)Y_#f%#KfYAX;!EXhFKcr6dWHQ|jQv#X6#qFxKhGKZ8Tk4fd$I}kWHa!!!~j|V zUg&Xhu0AOc?Q*j3pszcfjEC@Vz-i43?M{h56pXYv#kP#G-KnA)TX zrvXE2IzJWokbzTxa}CV*Cg_uw=#Pn09(;u|*7bT6F`2O8@mS;IfJbTD)FJZa{-8%q zo&m-#QS2gUn>QQ+XTu)LpKOzpvC@NW&%VH9mq*F^an@N#yl(cf^v$QRO`E4*?t*3) z+dQnt;XV4}N5a?igd7qoq#xnzeC>Q*|&#pDlJ;^L3*~^)pAtJWe&&;31B~j^NB;r<$$z zsFztYOdf*P>c9={n8<|&YXwjHf)hEkvj$u+CrloIH;(Zxdy1KCr<$quuwKE|Ez2o3 zZ~<)x$G0y{^_l57UmtZEzTS!7iyiPav2OY16MSo&Z#+!dvR8Xp_Gy{$3i6K_e0>_Z z$Q#H-!fA{->3k2qmb{-yUW$`71$prG&&hk4yvbz#!`Hv$e;@y&iB8oIUrQ{%38%%^ zzk#n`g|DaA9qL!`^&osb3t#^lUp24bt7aCyehv5+!1HSk&X{itM3x=cCeham4(vYR z-&qH~6rq=x!{W!N!`hdI#Q!ey_ZbI#!F)aJP%9pfHD3?no93|aDP!n>Lq!gGke|St z{lK|~XZwJ2G_7&w2KWHa(4Uc0z}X&a4Cw*R@~|f(zuRH)br*TiWjNXJHMALF4AH#V z2@H*DH~K)iA zP9=IQo9kqc^2+#|3jMS8j-`0iRJyqr=j#k7cDWwrH2g#l;b&{DKz*Ej<1PoTkq z-^4opTDH%+VM9;I@#v1__`IpzWk5+@hwcc*n+QP=wPDBVa?YA1?pAi$mvFh zn(HrMpAKI);6JFZK)nKQP1Qqdz4)=A9kDuS@Kgcw(cWOJmUi~wpNf6(REHuV*YEseigpHO8ZWJ6~69= zuVWr?#(ez-eEl+fJ$cyT>tAf*>z{4n>p|d!T;c1j_$Cp)#+T9o2j@7DD`h)4_XfRW zIaIsMt(o{{68g$;ut$O4(}k~@uhXb^V}UhaCp**v{#0IMzK$fqhxG*(Ups;83M`&o zx2p(#F`zZpPr&#X(R{rOe5}BlqZfdy3S^$a7S?X@HFlU0=rZi_So1Zs8DR|3ytx1j zjcRxn7&_H(3>aF~a1jOFL0-U`5yM1fuGSIXAk2STlUYM0&D$r zl>aiW78j@!l3!Y2jk6^MYP!6@k|oCZy28QU1>aM`*QxlF$}M1hx-T%DQ@}brH8@j` z?-Akax&rlXXjc5-d|Kw~8f1RL*T)KwKf~8m1qvSmoEOHAGJK%tYwV;~li!-Jf6Dpi z?=tR94BOR@NY4$~@z;#pbC9zIq)P*K{KMd{yI=f7rv(@L>?#0X$9lzo4*ToG0@mTg z!t9ZAN(Joy;p=W}+}HD2hjUJ~)AB=gf_9t@a9$bv!VcMAx8vhw0e?5hKBn6^cQKm} zUn4tcMOKb2`QOssNxvOGTWJ9>Km7+wisctFq?nt$H1PzvgS^>lVAZ z3H^qw!%wrGenZyWUVIld;R8qW^~>-nc@5&jh&;{LFEan;9htzEqg zU;j+j;Wc*6*D_zf0$)!ZvtKq}zqE<3^?Y58k0D1=AW~(w=IcuEFZ^4`4(U20tYxlA$*zx z+@5dE#Rq`fct+;yY~a>>YaN~i?8nAkp3gLVok1RS8E!1F_!`=bG>EUE1nl&Ip-~NI z14E}8&H{#3HJk|yy=piE7@E~^IxuvrVdyqeY2Z}g3IoUa8d}qQJ)F;8*zn*GFtnz5 za}apVzyrY0n$GVBhSoIP2Mn!gxEB~&)9@)^Y?n36_gGuA4rh&d44+)G&aM$()TFhf zGOpHf_CWF*^R02VfwR+1`4_Llo57hk-&%)zIHOW6{)+YnCadz*yJWuZ%(wVDkdHoz z`MN!ybvW}ieWLlA{?O}i`l43&`e^=z`8plGKAiu1=j-@+4?SNe!(%cxCPJg6daicj z7Y=xF-Da)9*KF2YeF(o|%+*uNoEgl`SDz4`p2bc)C*N9w$2hNW0KCwKi74l+vjs=^ z{0eb)J_|g^8vG1rFEWLvS%VLw)5^$429Gb~A)8`(*|#3fOFc+&#}%t z*4+C7Qvr!F$lOd{=((AG_yKe}Pao`(xf%Rx9tQV%%?;l5n%gVBJgm8SwGmx5a&MvA zF=s-D$iHPj9df!mI0O4=S^W!~ZFT$q0vYoi$d~_|>nPVPwVs4J47B<3f}jhrS->R*&IB$ta0c*E1E&Lf44ejh$iPhr zY9`mfUSRP1qHX(Xq%i?n&QmkX!bjWTOW;`z<8uu-X5cp9sDb^!Ap^Gn)2F-}j5Gt& zuNrOw9x||3Qm1t$5xV&RxcC{kkXVf;!G-9#8o@;(xX1z*$Z&&t4(D0HU8s!n3AVJ@ zICyx{mbNOs*!oDZEyq_{+A22Q%pYm1le8P3JF91Db1`WwS7RsGJXq<^^Z1SH*p|Ojf8T1pIlyVS+7e_BfUAk(S{>RY+OTp_wOXXhWrMT zpGiLTxKHwrkzZ-@Gsvf2ACdfO@;xR$oqX!~my%yaex}J!BcFQzPsy(&-)Zujj;Ijr z_@LxhkRSSEt3F=xY1a|SFDJj(ir;ecCv#D?$Dd#A{HKd%S2p=Qm zJVm&g6x;c56)86G;Y!lIq!pyskd~8PYcuwWw_juf6t|E1Uw?G5J=QJDR{XO0-UF6> zO^Vppy!&GN8f*}5U|tI6Byiq@{(RuHzx@H1U;O+=S!DAI*wEPbb2fe_aT#_6!{}T73EEyo{;q9mqE1V{ z7(&J^^V%t7aM0pAh`I1i;x9~9AqQ-T+tgSwYG%8TL1BL)HZ@{Tqityx?3OJ}zgzIG!%)W}*)Ys7g%lXFNpmSEOa^8_RVYQ5X z?7>t8XZ@+0Dz~YWs$(LQ~qxfO`^n=NMvD^Bka~D1p-PWAmg)N2X^RZWWH$GM718!A|F7cnxB`)_P zOB!&f4~l%No$t&3w@vOp&wYn~xtz5t`cw22B>L1QYz~;?_4?Wi z%-F2$N*bwCFMh~H&tDJR%6Te*>ws%{Ms)tQz!iCxPx2Z!{>NEM9doPi&?n()?sdtY zVlRGfw&SnDjXxaxKrP^d3VFQt;nWX|Oj5&rz)_Jc;EyT*95Qen@F@cq12-F(z71zH zZ}t|c7o7O+Tt??4YmmMoH91g3d>hun{Y7eS2)($h_XpU&4?;`SVWpov`k5l^*Y*cL z0$$FS=d0E9BkH% zxs@{Kz=@WhgO59C@85!pli=YF{40t5huBQ4%6!2%(8M?(J_o(PUkCmZ{Aj-&x_%ee zJGiDQ+~|ApZB#~olg^hi-jFVpxK#~hE)=`fSFznVhu-x4(8YuY`;tbn89<+X7`wmv zA~l4*d-)LcM{n8!?=9!j=e0%n5<|X_W7!zoOnW8{(C5d{)w92fWJ8zLMdf12e+ z$C->j>g3>+uKTHn=;fGKz2isS%1eEUsY@|+=;zyBzM0IoviU}Uva2aGK%c}ip+RVW z7G8P+z4=M>=Hp%LU(&F@f|n%kNy$T|7D;uhPUyS~I-eaxj+Ww9--WlHfwv|S-D)YB zcEDRdAP&e=4<`EO(N)hm-Kw3KaorCh2V8TpU&a1_G3Pw=@n!q|z*Nko&O;;1tPPf< zF7#;FhJ;-36>&4pxZnx)p~EuHLQ6v~zW+Smclc*3k*!qO)!#$M(}Q9c!9HRDedq!@ zU{8_gfdk`xE__xOS+-`qz=z1^`SDZ0xxk{!>;Xo%eWT=e1Ebq^i_W+UI2&4)XF7qi zij=Hb#@k(-c~3^SOdhm23EyJZhHqZt17{nUeimDyLi!imui$C=H(bGeXiNJLC&;`F`+6KdsVFtMt*=vCC2P z&jRwXg?`(QpD5!9u>-TP*WtTo2SgX29Q+kLz0~SbVf3D| zr#OLatQXtZ{qXd^7(3aYVuLC%o$wtM{4Upo--UdE*nBN6_AbOCXlAWIy3*uAmW+Qt zuS+$vR$k~uzmGg%xdHo_Q-%1F+NbS6R(lHZvx7g~I%uxD5SoGiYH3p!&p=C4HPCry zp~_{gyL=3~Z%4n5UG8KxwAxmPK7R|bHeAHI*&g5`hQj4nfO^Q>ianC|Y@-XF-X7?u zF8$QO%eRyHW0_13!1e&r7A$amb;53_pJleqJf2{w3fB-hBez9Y2b#!a$Ll$iV&w`Oriz|D8o@ zw!eryK5-6m_z!JpyNd%ZE2dI5Wzv7kSuSX2cW^QjJ0MvfWl$f+n`iJb@Z$%!`j@(q zqx9gD2%DPebndY(S!yUmPP{vCHkJSNVmGrjIFW+wOI;y$N5~KofosKn17Al@@LofI z2!F0SvG*&q_SYf!MVq>WPCVGIBM<0Ar#>q>U-rTQbl=p8i~arOS43o1;O$A# zZ45Y7BlXFmE?Lx}k8d~f%_!e$KOeZANau#P`FgsmfbnzMEMPcA~X zQ)Jn))bbx1SYjOCA?u|Y+72B&fsNw$F{dTht){Jv8Mm|l%4Pqxgr02~o!cn;r5R*K zGnG!&1+6SpI4wC`IrZ*G-&$UTug=|p=~Djpc`SWT3Ha>wSo@@6;2w|ED|q%OaJPr= zf@cr)?($gk?_uChk7d7g2sq%eY`t=w%*pti$srHgi!^8(uE03-7pd1U_kf{8El-6G zBee$328JGWeikq^so_lEY6E8gLz_B39T@u5a2jxhfi>^$4BS9pYM*cPrRLu==-Htk z&5y&t(2s_PfT14^4+29!8Xf?S8CZCh{+gt}bX*qtYLdRv{ygcYN%~2{UY? zB6@awe$pQibPltA53wHEJ08ndi>>Iqh3DeD+Xl`~<)Q1^<2_f#{)@ia2k)vnkNOk* z(5=!x-((&>-$NhJrtxDQ^j`SVp-*@FFx>Vf8zstv`@Gu;AY@|z{mS1c;{1GALIHo*J8GlK4sp_a$+0ZiDt0eNJ?eJW2}>!o!Q&AhCBda+==ZP(d#&Bb z`JuZ*9&~xwwmGpU%M}|K>|NKJ3*!_L_Wx5Bu1L$C>l(CjNEq0@0ZxX&^9P30!PTgVwzDrwY+tKUGTDpyTreUX1 zS;X9&7MS$&KUMgUGa4-pHJ&14A9H0ha5DJ0^vMK$qTv>gnxH>4JS=&;gOM`@*sWm~a)3EEDsipR zYln#KGE1CcWJ?QiK3xD`u>#^HqB}^1(i~}lbG-%X4fG`|^v&04gG%pJtBw1iU&^>)8cv zC#MP62b=?6+z72?bG@DGeO$M3E!Gexi*)rE^v9e&UF}d`XHHWs*y4cKsY+~DnhVfd zbH1d)ikJNv=6Z<*Ch>_yhQCxsdm2S=&U&yEnrkS)W`j6BCD3?%0sCis(-mV=Qdhv7 z!XEf2^h$lWm}4)$BGg0XSoA&KNR>m+u~pQiojO$UZP6L@@vTO_ag?&#DYFkbcGLqu zz^AujJ9ZQLtGQhG^bqm8;LBU#%efqEY|`n^Gh*+~dN+;#sYPmf7<+$sa5|O$83k%8 z6B{1*e=3Fl*~E1!E3{%NCnE>SD!@Lmz?_ZZKmC5E*o`~EBjdqsj0dYV=poUgkD^a& zqJ0uO?1;9bMov@-k2kQ#64}!%&s9J_@cTpzeQJ3DI!M;RQQ)!y%a%L@Tv}kw-DiMH z3M_r?FmSQZ9?uT}AEjOL?x0k^Yp_gx~~ZQ8d)Po8GZ40BFCG}XU`z>Xg~94 zvR`7tGy#7TIEKt*j^~x^$+=dzX5{L%t7X#VQ~2Lx?waaBmdrV}bFqB&_uzE8i~V1e z_`S>z3!TtX2)hY#J8|T|-%P`Mi)3VUY8gmFc7S`s|e)Q*q`Dy}L5&N#oHGb)TXSG-uKfiq+%-tlg+rPv?%D0NAo4ma`boA_n|-+Ga6L@4`< zl=&pD=0J7TxSbD{?pC(K766 zkR47{;olCPJX;DbkV8zfm(lZP3GMJR=am;SZ=ydu3eH$3$yhvt?fQ&||MdGph_O-D zwTJmn|Lb}45Ot8fV=i^;%EvxR&KV(xJiz}>@r}uPAse_|{HX$G0k;wJN8n6gbi?fe zX8`+&u_tgka7(_#7zj!Xf@pI-cIm*WVs}JLffVv8g$J~(DliUxMJt3p!D}iobf)1H zU}#Ol$-vN?h7*CIISo63p*sz)^BrhU!_ZySW8h`r!|~@u#;ZlJ$zpub%7 zSGbqwpbdSl>l84wq2V52XhXx@k~;Kx$S8d@NgqX#lSv#du>k=NM(LYL`bNX_%Ow4x zVfti}KGAS3F#Vxn`eL%dJYNs&H83%jO|4CLTr@x5H{;(8C)JGrLU@wZR9w1$2e{E1!3W616nvl&;AWu2YHo+K+@ zeT?~E>`CS_^UAALLe9Ff(FZ^hXFKG@SZ&$eEKZ`l3XU*vh@ed9fx z@g-J-#GX2j>|m;ub-n0E{QPG>a&{K`K(Y5~;Xh;T?})K=zS*Xh=-+4X!?@H$o9SCU zzj%RX(egr_ zP2H-22Y6oAwpBLPt*nD9$%Bp}@VZ{NmH|UgdVN|73{7dc1h~z>M}eU&o$mqm8~89V zG^X*#F~+eNeeogm6*FyloVh?2L?8Hs7r}oiYtjX9|4Zaw zi{Sl7vQPEqah7UJuv^YrH0EhJkYyj@?r_!r#_z7*hkeMF4)IN}2Y<%9@Mlbnm_Rc! zs&8_g;PP>Ond=d*m*~swtes{W#14cr5M|J3eIDa2a+gwQw~n^MBasqf0oCNGzhYgd ziqV%I!)A#2S^UFCs>PowW3k7kqE*-+Fjh|_he#`w;L&dp{1| zu4o^Ezk&_>kYr;Yl6k9dVg|bl{1=QkZ}p8PU$74ull(O|_814O{7lO}6U%SYmz@pex=Dzv+P5DCiyY)J@I_YKIF9IN6F7L`KgwD$WJ9d zM84DHr&#tOKPEq%h<(Um>^sCh#7QdlA#0om7yFQ9Qn3$NAQk(NSyHhNiIIwZNR(9U zLqen*_95@S$Ua1TwfuV51>2B1>_X!HIyd`2JGtv(|4ic7C?2m&;>V4{hvEIWT4&Pj7 zb6+tYT?2IrQ5O$&5Sk5_U-0c4hKIk%w-flzN4bcHvU(HWc#Uy?K;R{;FA-vD#Ix!BvKVi!}!FbXk`u26kgA9Db-AC*?D~6Z3NB%nFgLNDmUJDJ6WRXI{Bk-K| z$qSEZpSut9Xa5B0lh*E{(yc>{xa8I z_9iP$;(MMlDs8MiDFZ(K9qD=a_(j%H5%~BspL@aosn5CnOYrbK{QMbWsoej$B>xh8 z^j+KTz*ETR=HQ!7(ph-q-$`fShwqb0td#GOPC@4Z(ir-TAFwu?N0;#ovfvx7_MFn+~eVhR1lGpxCn&|Q3meex2zi_b96Eg>_%9o%vSuXJU}UQn+c zwg$qzBI7{M-)_=IlUACPJ)FLOz@&**dY`;Q8Iz^xg1W_L4?2C;p|^nV$r_WgC)58~ zf9jNVq)weC9TuA9dCG~}9A5E@fsYYyn0{!d?TNHq+p*B*KHA$(TN`O-6>UW4#lG07 zWL!Uc6uCX$A7c$S=@D7wmJTWREOOWnNQxdHtmUxO8C}49uAIe0Mu9#+WU;y*k;TW5 z#a8ot481^<_C?VNEJC~ABM!h%i32c&F5o=6fo;(65Ao&leSEnrq7xv7Z6L^d|IRgo zUf?IBYTZF>0(`%(q5CFXS$3e4C$8Co1DWdn;Q3jH`XRck$C!^6V-93-=tH6o{Jpq> ziy?=)js5WA8RYM@b#d6CcCp@F93o{6vp7gTW7tn^y8>LnD_!RqCm-WGi{O^n+yRL- zFEJB|&B)nW=ENp}*~2j2O;j3~F>gYT+2k|sP3SQixCEKA9+QFT?}=iOfdfHf@__EXPts$ogydKDP^2v+mOI^L=^nVw)X$Ci? z;AIe;}BRB*7sKH`VyK^F%c3V+p{IbnZ?EPKqkr{f%Z{1EA{smC&V{AJSd zxGb(8`=Vhvvqv5K9LO6)20;9?Q`mqGB0DF4t_L4vq@wSbp#S@chx7*VkYb(4p}Wv~ z(El$HWAjCcu^Dh6uS*IHP{wSV105NDj9MM|T1pBkzXSV!d^fc?urI+MSu^K?NzXPp z#8xu6;^jOcvXGC_Hxmtfi@n%HJ!gv9Urf}=*<$p~wGMpoBTKE3vxhr4JL5nmg{-!k z=aG~C82J1@XfG}yg9?bYryFSUIs>f ztDji_PBkzzFa`c~K4njV`w!Z-1>lR<|6Y97fb;KD?ld^pDfreYxYj9n*6DyrDPsxw zZ<2ktm-&qAD(?g|fNUV}x8PD@^ccq~~ z1v#^&&zIB-4eaiaSUxLt1=yk@|F0D}H)#d>ff`f)a?S=Gle2@!^~&I@>H_+HTX3<| zVb!t30iN=n{t$lB?!-^p%u(p1*r6nb#0QD3T1afwslyIz0$l;(V+5mz#E+c|TO)KB zqy+Cnrs)cfXFJ%Vx`Ojr4*Y+(mWVf!-r2IF-uW zi2pOu0ep}7c`BLzj9XJqo?~A#wT>JzP@rA|_guj%U2|RNLHLf?$i8Ugq>(n+dvh+k z6&u`sfzk2$f%^>H0({EA&A>edZUXK$Ffz|}NIaj#@xq`%j z*D3hcDY(`tc-Co^Nh#x8r_^E;^P1@WKv}upq(kE&dcB~S-yuI<^u9tr_dsP)Ml-7mb1XK=tFcJqsaZB zfnUJ$zl7)K&xoAct|V?;fBi4~FVye!$A<0d2eiL~wx1o6GnVLr2kqFiBnMG$vkpMU z)^A7mhF`osk;7t-(QD_-DgNV!>Wtd;bzoLzMVxPn)@7K;n4c?}#(%#G8~TKJI68R9oxA#8Q0jxXpS|E-a!HeKT@FBR+cn}<%;(hSB=(nreWzW`=e_JkSt>gC)mvbG)6eXh}N)vK&rWSukg%}fdL3K_R&itRG41ZR#C8%yL}9y{|0ez*?v zAD)(2Ss#LaW^$?9a6YuPJ-`*b(zOuEM}NrKDscP+w00x3Ha;YBLDmC<`D%Vy;GMzo z0pJA#_XE!wxDPmH;9lUUfuVtU@UP#c?0IniVRX0f2I~RlY;aDjp5OvF*D3hcX`4yG zv;OZlDP^2HBX!;5eF2-}_V;u$-l53C>9!! z^}tSj-gB9B++*sT4ek!h_c%M6g`Ve-=y*7Lo(YfV3SF`e%dlH@Ot-6fXy9dd{xx`h zG8H;WvumHGzd&yIB67p|WV^b>kr2p2A1|?-wJqGbIWw_l!?r#l7+$t9juW?RLE;VL zGijFCww(Kzi`iH|>5xAcPV=o+?Uu=0`SJ`pAws)qjHv-6rAf6eCrfk>l8fe^nghzW2sK~kM)2f ziS@uvy&iZC+}z4~U=F-|5;^;=;NuZ+@d$W$3LMPE@+_T9AG#6ty(`f?Jr0b@dD9T` z8oeGM&Lh5WSI!WZ2>IZ|knExH+k2jTI%;PI(b z#0Kk?xK1+v4>13e*JG18otW<~O`9_B%bZW}6ZR`E&fqY{ciZ$_HYM|Xm&A}|p6}#b zEMve_0D3?cKh-XKLFTkJ8?r^t3b&%$frmt&F_jE0qC@ARyvwh}G|@%M+Q6FUZvszp z&Qs6x>zvEa78rZ3HQ+1*F9T;9cmX)Wz_Y;V2BvSt=3Ku^*|#7=khr~fQI?#?dy^K1=y zJ$d*Sbp^PBSGpE^8A5jr?#G@}dflC10+{v*gR=q#|D~BNh2_DXGYpOGrh&TudtR z<)fq`U-po0$d|9aOuqcSlne6ZlC?|Z%MH7%^M?;h{NX(p%d>{CQ5|-u>yc?WZ7*%a zAHE*h(Gl$Ij$&swhCemgGj4hC1!P=q|742pw?{wD|G($|zZ3VqlfA}MTyuS_8A<0m zSr?KnG~y40bdfc}Go(x9BG=j)JeMPKEq7puIM-qE*QRMO!OOYd0J2`r{-SG&+7x=@ z*Y~nF7Mpi$n(;qm<2+%a)|Vb99f3bil1@S+za~AGV^h~5Ke?T{-$vanu@%fl*M>1{j0Pkm*_tVj(BI{ZaSy!q}t)$8Seq!?``0Ne`Ru5_IMj}jyB32^p2IQs%P8|%wg z_&a`G$ISh>9oa^w+S9c?7$dl{)sk^~fxk^S*#D`LE(jeyrAk z&7cF@RR=nK2Qkkb!I2u|AEfig9Qdep1Q)6u>bIn;RStD0>-4!whx&qTPr!i<)>wr@ zjWKtRmBUZebF9pP4rP0Atd#%kzsE`(>R#sFv0{fRK*v9Jl;@L~qluf$6}-|lmxjEX z??@cv32;d)d2MLmCFhIt9Nv1-Cl&n^fwRDs?3G8GSDC>PPAK4V-`v!G+*K za3Jm1ZLcgqx8(?iJji_L`{bSAfxiFrgRgP^bccWO5O$D<9V%8XzQ>XSbL`vxS=M=_ zvbRQl$bRiHNppFoSoT-!D|2{zJR?V@ufJUCVg}K z(dVFt-$D`>1! zZ{~9*Wi*j-l(~M?=}`Aj&(U>>7rZMdvE8p@k3PC=Cq7_WaCE`0p0m?mv)D1#7H|g0 z9^eXI=@J`0bZ3+)^Yfm7OYHo>=MCUf+xs=iKGoR!c@12R4OF9ntHd74!2Q7BTt82F z3imY8V{r6#VKG-0IY0Qp%aElR9qke%?m>I`sC^_ou;0 zAvg(xkNd#IL*Rk|2~- z!@D&wy`Ik)58tol!}s`|Tozjw(lb1>AbT79zYg=xY`!%I4B4%E4zmAEwE8|w--qb? za6fUP2kbINK03--`x(yK6PE>@&i25y&}c4~j(2>@uHFqi-$RUM(y4Ac@pakvciAQO zBRoR?@y_QNzed}oZ?^g+0O1W>RE+qfI=QQJ_4~ z8yEV|%db$@1wQQsp9SD^41C@TKF8AGJ;4SG-guD5gXC#;Cu9I8+<9CK3m@rxsU3S2JNhd-^ELB#vEAbPqwp|#ihLU}v^~lFOz z6x{06Yf}0?+AnoX^rCO}Qnq&lzK`QX@FBPmJO~b?{krW(Wo=?dUj<*%_mjvpWWIkF ze4i`xeL6Oz8H@>s^RZFb5|}o)qthHZ^4_!F*9uGuwY z52W+U__`vMc-&p23$r%X$MAj3roM&#^IH03BxF-}Gxm&}u@M8Fz8PlykKAo!i2v*% zM+R*w5Bc860MBujV5Fb>75T(Zw*|O@SGq#g(pSzPF@V3(3yl>(V_yKD&kNs|A@iw| zH5+_i3S4X865tvG7Xu$Nu<$)N-{AWUcpcor$AM5fF!pSpCvFpKY{<%|@3_|P>zsx%4+;ATHZR8?DBEv`so*T?#Z09`4fXFtO_xol4oe-3| zi9ajp>*wj~)AaRN7yG4dS>GRjRPqKTFF;?QGyDMhwKA?dxIWDFA+8cGu^|Yz+0^qq z<6y5l)@oA)=w`?KHZ>-=Zy`21W7t@;#7IvHjy3Tt^V*n~`^;%$4W#Sr(O5rn1+R2T z9CN+?28Z7PU)O=Jd%)Lq;A?a(PleNjr-+}u44i7<1>h6|&jKeKSoj*8#^Yy;zl(8j z2cHJQr+~qq=2`H!!PnqW=Yd0=fxVH5iY_W$G6 zHtg1AF9BQy++g5Jn|fIC%E=3WU;2j&*~H~nxLfYikF?_jp0m-9dGz53^}d#RUrW88 zrO!sF_qEhncx<#QPs!Rv#<5ZA{W$f#j=I^o9;aTT)aiP@KSq5#q@j9z9Fae;W2BfA`NqgmQsf&F8&TUH9VQjqqeG-(dz4Emwnq(nF0(xn z`?-YV3-XQrP4bQNDOYdA3l;mXw~QCgz4a{aBiFc}i}m}7hiunzVH-xi*nbrwH@Khc zqI=|v{nr)ag_Eyil%uD;EM9mz_tJO|{oVas7nMoA*nbtG*SVkTqI=})_~guu_j6rz zFNJ%_j7!LYE4kuv-Pm(=NNm8-Y+{SsNZAwG=>yh2Rt)kCQu;v0D5nob)A)~!NyjLs z4|I%j`d~DfeBB2ZVv}Dl-=Q8iNIhxCO|&%&+k~6J(=FgJ9-Dj%-%Fyu6ZuX8-*8jD zi?W@R>o{)v$9T-S&GFr@cjX@(J41YOTmHdNG4aXY%sUt!CO-K}-of!9;*&2Dw|bEH z=}eDW~y$$N=UK0hW*X zqmg=jje0du&&Q}|J@tNsde_m8FVl`%+V#)0tA=(yL_3es?&GxELp>hIJDBrX>Qqe~ zKTRF0sPiYOb0ux~IBlq)O&_C8<+SlW+E_-L@21U%sl(q88~rbddwv&j&+jDe`3H%6 z{(j<~7ZUe8FYn+Df0}pj#`h9S{WfB%-%4!tcjO(s})*S=M}^j%iG^hVxo;N5!Ot>fKV!7uL~1Mi+c5bs?0p^f)jdEd|bExg~%`%S#> z<^7|7;Cv!pU`rEdSG2XpvQyI6IGIZSY z9BXchmvcS$He!tL*c2ChQ(5_&%G$HJtOFO9l_F&wz*bt~!e4vkvfj0+Ea&F3n0Gd} z@68xxF;45U@~&J~`lhnxcwX?N+sHh%xvWVki?Lppb^OX@B~jMKJGA{jq&(>Z(}iN=<;n=Y;k>m6AtIbE-wG{CFM_Wf1`Zn%gyEgM9ODw(&f7x z^T}7}?>80(&cM?5p5G%dT#T(%*mVE_NcteJgMup zIX1eq-QeyAyg$;I$9~@76F%{!vPR**6%*NYnU3aHNf*{IR~x%&&7YpFnm=E@5&raS zyNEy6*LT2YJ5N5FYXN5)`a#$Mm`z@yg@ zv)Q%ZuQ z`=}ddE^gQLem22(?dH1iUynOGrEbJlUf&`(c*Msi?NxugtiI?ES>My^pYdUqihUs-Ig@?$ z^|q619+NhhwAV`4kuTCeuOUrJxmInA>klQvlCI|`rG2WA>Kaj-(j`yk;)N^CcyC{mA0*M96u#ISqV?JSv>j3bZN*4Qlxa+c|ujlJ2k+k|&_`)t%_ z1pbNtfAbmsv*(evjKW*8mJ}JC>|Zh-u%C=S_y5Rq@Za4!KE2yF!+*xOr(}#{5AqYc z-FCa)-w1uDvX7DdkL+{UlO!|V$@)X|V6RYj`?WTo#7ZA?+B;t2zax+TJo`etT~7N( zyFNy{`Zt|%k?~sEcZW;b_eUG;8LK-zo|6AgUx@rTPDZ&O$A^r!p@9pyU=6*|&QtMw1`ngX7w-L7 zaKL-e$m{6uUbpBlLE}Q&QW3Vzk0x2|Xx(A^)aQXi!%|mkU3;I)_KO=?$BlTHzmh+P zPjz=kh`x#RuD3j%V0&hy`@&i{Je;Q*K5hF&c#wYjH19Ca%R9q7`<#nsJE1Y?YNQ)l zlKAsB+Yg1NBu~~no9m|A3Qb7Aj`DoGPalf6)zHLf=Y@L@nzlN@gUmbkLEAF#&<0fx zZ(Ionmwxxs{}rFM&EK=l;3vuUsk?2qyIQx|KJ{F(?XLCuE%fEqla=5o>~!`&^k#kY zL$*NT}(2u?k@r}bDx6Mz|e=hdEQV%(Q z{si>N^(bap@{({c<|Ev_Ily z1u5$ur&ZQ-Zr=Y+?jJ1cZl3=e#w?A`L~x#LQ~I19GZb_&_}dQ_E+0ZWA|j%Nh7R%M#&Q%*iOId zXC==(yCt3%f1i8rC$HdI+iL~KZ}%0@Z$cj<=Kg=a$od-C;v;KJ9x?5d_SrYJ@8_Gw zJ3T(@_UyaR9*@u}>pEyr`elSM9$kIMv+I0=wyxK+)~k1(9Q9Zf%7?XGyA{TY2W>e%SBN3Q#>)&J7oYoP%fG+>R@R^6rVg=aVCZEnx2?hE~O zX?tGgyPM}5nKSje+x9S1H^#a&ll!0f_Z8lSF9dfD z2YT?$&WP_Q7j1j;(cB_0Tqh4R&89bqG;TC3*yTHw@o|vh!5E z%@wPpE@HDtzw8>R2bZi7HtIsY?B7eJ9?a_@@T+OF9+?)L_>@1&g>;B1t(3N9|Xw~2>t-9&Q_LL2e%;H~M+?rZA$!}NCb@1r-TMQ>Z6 zp-bgaLOUXpiqqRCpR@Sx?yWLES@J2N4NY%Or|(vww_4#}_N&OS^u0^zt-+$VQTj>d zDw*f>b8&iea=$iD{f7Hv&ibcA;8fFFv!OTUIBnO-|L;;C=}!;ykjzhCV$BqvpE&c} z;Q{CC>#mb)rG`fM_GqTv_YL0DG)n)sG6xHdN;z$e;a3T5)X;9$#TU^AeJA((zYl$+ zZ=#PHU}%1<4jsZ<(CR0IHtL`a=t^Wby8oSqHu!FwHoi^yoA1e-(zpHMIYq{gCtVlD zrlw6}h#o(Bt^RyDlm6_zc>EY`qn_=|C9U+4k!57kKXr@+g`|EN?=xLmwkUpsJ}Z4> zWD#PYdyna(aC@Hm0&uxJ-{$mvLO*B8D)e)VKZm%dp99vE|q2hJMb_#=RS5 zIee9j^KltNi0|BU=`)!Q-(Sb)zBZAAGWU`9XOykyIN(v*Fh;%Zyux!$DqyDxf z>$s@h@nrXp>+&rbiibJAk~uz(TUjee zo!=DxW^J)qe&UIj#WPk}_KsE785_@O9N2tI8+r1a$fNAO+cw@cc;VR?&t3L?>M3>n zkB#penHJ;ynRvO>PnXMczum}-ha2B=AUb1KYYn})y!BWds{OGiCw%NO9a=<&m(#~vBsUTX67NouX0{N=8w4CRNtfS zhxB;m@V&0@S#nH$&+wy%_v_>tjZbICd*is{zosd0d+KwwD{lPg?mfnUDl>H zi?1W`GWc(`$>Dov{QDbuPT$S(JpC<;U(alO%e>3I-^TOwbJ8Ar$FJgfLL1~u8(-U; z$A7_ZO8gs|hOF`Xr}6p;e)Mxr-*ddXnWhTj<1p_%9e+Mv2Jbwx@h!?AU%vm{jpyRL zXZOus`dp^d_sxyx%=dZs@y*Xkow)u@>ePfDWP@)lKKzTTl$C!8-`*L|-{4!pY2DKw zAb*5%G~aqI=37}`{Hx;v&!%0nzL5RgNxh%DAWs~X^)c)05!U=6)=e(z=ZBAqNP9?c zA{`dKVof1>%P}qIN$7Y7drDbTA2;{Th(T1#ELSKYiPziU%F<9qVHOWHf%YqRvV$Yjo^?B3YJdXRV2=h;4W zJ!|2S3fiCPJUCh@YhOzS6PL3HpJ<&8IMT8@@FaU%YyZoBs}!8|+I`qusE~)WME)ZK zCI4E}&(de3Jo6vh7@sRQ$>~b0F-`9ODt<5C*QFQk{ao%koWZ4WSx7; zcJPI39vr;qWB0GP|0r+p31m%AJWw$x{Ur1zKA9WXlVihn@VM-yC_`+NqzsYMg&Bhr zz{45A1AAh@zqB`ja{9EXWH`dvY*lgDm zIt;mu&F%Zd2Uo1|#q5p7u(=SroFJ@NT&7Ar4t{M@Uv2E4otc*Y?he_{+<1|Eb)?;; zMguMt>T;>EPM2ECyxNlaSDLhKpY=avrP3CW^@Z_&BXX#5{Nb!+nrA9a+Iy|F4<<%P zgz_T90f|sfgjgXFo{f;d*0$G_Ytl@UR$8h44t`$7@&B^cmS&zcX{9Njm=zJqi4aR9 z!ut{8i$r)fLjGE2{8^K>?J;FosV;wra~8u6o;CL>P3kn|Cri1M=ah2y_#(t9iSTTM ze0hJZZMP}Yq?snIv{L>a+yko+el-)cvSDbu8xCattm{f#KL*D-WkZQISWCe1Y87?844 ze33pWo3vm4Z}&;e533#K`AUuJ4t%WT8pZ-P}-zb-MT%sd%nr{T8Y|3ntvbXvo?ed?Le5)NsUx;o`>pL?|T4|;F z8=N;7=j_2+o6#SJOxkvhg{xL6dy6m9B4v~M<$sb-VyIZ{xJ2)0^pU#kWo%y8WUXxJ zq1Qa7%w{QzGQ3h&qA$`U|4GT0_bffK=&vokvM#HSvihYgOSilhO1J9QC}kx0BK1-R zX@mTC`y%99Wuc?eI%!K6t;<4YIqsLTEZd2-22)m@l)<|-QijVHsg?hv{V=0*8Pk}jJ1(UQpUtc6)9s^q?(lRC31|EF(6Vy8rn~Jr0`Otjud*2 z)RRJ!kp@!eCelbs-$uNo;6Ktt3eFh*o<6_I!>Wlqjm=czU3znf*ww#!_hrr&yPyztx%;zsuiW$5dsoJIu3^oRcix?ZJrr~8RtK^yp7HRE>&-mx zLvQ9cx03(-4%R8isq#O2--_r!AAggzWTvsH;lAfT*O|X9`>*(ZD{g-x{ixS4|1WiK z10Gd%E&QLEGm``Y1OyF=HN=1vXfG;NJf*h;21H9++tQY{+_!*Zi(YO^d%3-~MM*Ru zYHW2tn>O5A&=fIAEf%y^Xp0(^D_B3^R$J{`W-=KD2?8P55Mr74xAw=(nITwvKc4^d z&+|<7Is0SnwfA0o?X~w_Yn{bL*J6o`r#{E&t1{!cl=Ta_H?^1$nKrdV-h(muCXbZ2 zXF7K8q+m|rOm(Wj(tD!5HoXpKqHb>z89q6munC!HfxHt+{HB@NeXGFGvi|Zd_emd0 znw5dE@wWZWSet`G!^s{~c41H&x zukk&9-1mGn&q;IvuN_pq#=`uk0+=IY>?%Z_L*CmulQU|k^Lvb+++BBU=DT3mFT5hP z&+)4JGLPE&Cj08R*!TQF-}3~Xu|M!$Kt7Ukd3TfUSbaZ>?Dfb1p(|u^o*(8}`qSQl zSUI_)9C;Mk>yFHcoa|Lrt?sWn%8|SOlDosw=Z^s`e{sKks%%(RUPi`y*>OG`OFqm! zU8Tr*IejS3gV2MxEUUl4KJuO!yvtoc8+uxbe#}|1ocU`RTi+k4yJXI5Ij@f;q03|) zbh1?535i#*H(VyV6uqK1l|Az!zs#*-nOjTsxkhqc?u=8?97*GRcNFtbrTOM$Fa0HS zQwH70{k71^3qm92`FY>-bH3*`p0j#zapo)g3emyXFvvM7IvMNeAMrJ7-y7te{e_}+ zqmv=FvO%MhVe@@Y^0EJ@9xQOeu{-3QJ%qongXm=>7gw_nfxeLCL%@(dK?uDJIrmmF zKj~kk&qL^C$Qf`7ULkvjMZ^U~H-r3N=2`Xz;sZkFnD7(nuSe;VB>Rr+9Hd|E92ELe zX?70MuQu&L(ku;J$2hG6W~%JwE&JKaZMvyQd>+*Q2Q-84w%C9`^%HlX6VpyTw_ZQ) zgy_!+To0Tqj5PB{_~k&-^q#|2H2(Dg{Z9Ip?-axipu2NDeOvqOi%vWS?~wVI^wsr!aUpisT<%~r^+tK&h@8(H{(esHshUrw?7TMCwX^xXMcB3<%R*VPhQm9Fr7JG z$sCtGt{S5{eMc(1=Ig+J)4=bFxQd?)7%u07;k^A^VkxBY9s4t%(l=wVpwb(Gql5z(;J! zL{~-5eJU8Q39j>5!FvqrTMaz$0p8{8sDrgG$=qGVI=r8Gx|q42MrMg)+o<)G!Y%6x z>WoO8)J2`IQ~;~)WahKQv{~@VTlXTmJ&Dqrw;U7QEO?eYAK_VzLos7h%2<{$=EM0x zhcEo)^fhljbSY;I@@MH^>z|Fx(tmt5u%HV|6LH2qhAx0T_la}9BlK|bujxN|o=P7* z!I>&L4I8+Nl(ExiSLUo_wqAo2y-`kR;fsv5@VLBurVWDozx#0a>z~Q_-3{FJ`fasX zn^`j|WAC))cvU65;C|-rOy=pzCohZDvSvuXsW+cPEL zoe0&gIWaZhc}2BrdZz`v#z5_wlaYY;_UwT7C+55?&MVR*?79+<^B{V4j-C zJ9o9G<_EkV4lE4DnHcXYnEKCDMiV6#PjBzT~Cs7X$NjiY%!f5gU`;fzF76-JPkpdFKP-5gYPZ4bQh^1ZRP8=r!%}TBI5qm) z1po7wt&*~K-!`*;4S?0Pb zdy@|j85?N_aIUAk-6tv^V5D_#FSt8`2EQ!$+H$;qN#09q_lUmGt;`WiOP{s*rio01 zY(gEQxI2kQs(XcZwsJ2K7ru*5lISwYJ)XX^TE1m4d|v3}?|_+%h}|Z84Ciun|0elX z{Zidup;vub41E%Pmr%@_3~$Ci%I+QTv8T~9j`-t~b3J12V5Zpd(f4W((O2zLbRV}`B<96;omHF&T z@Ph>SO%uI4*44i!RO91Y1I~XZw|;f`^uh07z4hyZ>peqB?4}lET*mpS3q*hN61C3k z0IuArjD~;6x?|IxuT*#6f61khKa(D2jt7AlLP2&;?uLqi47g-+%xp) z%VREKbo3P8Ig+c+krqI|x1hg-K8_bDaxOc{SzVIzL45}1sxz=SarFPoc5J>NxO2AW zkDDuToEb76W zHcs`Q+;J}7GR2h5m$e4yGX~nfAQb4jA6-UiR}DJg(|JD1*ZFID@0{9~Mq@2&2AhPagrFO98KWkVfp)5J_+5EiKK*~llXsn9seb}13~98?>~N%QaoQxbm_Y9A@U__=|0jtje}ev~3h>;oZo7q>Pa`jh?jO8d%F1}{mUrP- zReGFv%DWwV>X1B76PFu%J+*wl6@peL8VR zn?kX8GMqpD66YI#E{*Svv%fiQoY$E+#@UShNzp-3`55PHT$71ooU?IeoT~>qkH$@X z{(fGm`Z-Krg<{_l-FeQZWi7jwK7Uel=Y8vn8avXZ{P(3CGI~Pjl=ik0-%eW`bmMtn z1AXq2d>@j0P2s%xx>)+K34SDH==-R=3$G)eye}|)tmmelhhMV&Zh0g652C~KSsTw7 zN!hr>1M8F7c)y*7rWZ@Ye|ZSmKc_!`PvywqU!`GN_Aq7tR{FPP_fd9HZtlEXIrNIZ zTCd^>^rwHXw&-MzPusivANq8SWX)0MlXdz&|7!Lmr^?RB?%5J^n2Ymd&!+G1+uP_v z#!z@p68SaB{EUxf{D{xa+c}Im@qZ@Xzt>9;FFGkJg@z)sZXpj5S8LuC{=gL2n^jq@ z4-ntpu&4HljmN4Fy>YB|c;7Kui=DG>+fzGq^RW$2JbBFd@!QAbZ1~C7SM3?y@tb1{ z&wl1u^`q|`iz6e}7TvKYe$R$u8`{Ws8)e6VFSx3@!C{fqZQt2*{vUatXVy&Ogg2{x_jyFny*ka++SdgDo56Yz7&}+9-&9 zru1=gYISeY*Uz`nCnEQVye7P50CLiNWC6~~VjYxO#ofl0{P=#+F7ySkA8=bLuq*FG zE)p52-K}hy@y^1%Gw>-gqk6`jGe+|p%CCf9h#zxO*4sEb3ziQ59y(0;&qhL;{-yt% zGU4;ae!$iJVsX=Q&gp&i>)sqa{=&!&ew%?z#z966G_x-D&g7@QDMnw6pBV0CX-VCc#2;m9<^-Fxk&v3rT*8^G$@U~Sax zQXjr%wu!&P3xRnnFxn||EqU;N`Fgt>+|By9i}m^ySr4n60e8-HO79fCYdK#|f`j-( znduDCadOTH4mxg_j^oTz>|j`58I!Y>-y89bg8f?7?~Ke_`)B3F=g$&)J6&G1_efd# zsyclR9~lGP6R+kVvZBnvIQ<%yxeaZpc+w?a^v{LIwEN2V*NYPpe_ELps?6`sP^Por zGB>L-|8a&gf9ki)O{&cHGn9FyFrN7>ylS&AKH+Qsv%YxMM)nqxzsVQx&;NukUh+T1 z{zmdQNc?GiQmt^kN7AU%$_p~DWnHVv&g(@dioU%_&FdM=YmxV-`Q~-fy|5+9ypB2- z-Wjcq+!-CsZz#VKej$F$>l)_u2LBlvyiI*O&F&9`Cg_VhL@(8zpV>SxCMRx6YvI703C(n(!%wx`4;1vTn?yG(RJT4nOnzOah$oXD)7L&E3lP zOIg!oU#{k(%tdIcb{zBrzmPRh&TA5kSNqoLUfD1FTFGuEzoZc-^Ey$%9EVT-yo$0G z9%ZuWRg^dD#dOw-%IfKNR*vR3lwS$I5I^WjU~KTicsvI~_PZkM#mUnkd74Ci(=zfA z(J_SP5>;A`?v(eIxP#ch0nJombZ*Yu;$wf+4h`_}jQ=vU;SubK6_ zE28gbZ%{g%!?QFTU&=R}!Mi;fG_(^``!dnvw{p;Rs*j~DM*bH(nCrH!kIMT}(>5tb z+culHytdIF%{JcOHefZGc-=OAZ)e*k?MnCL=B3T8dc zTmANiT@fv>-k@Zx^6YrEBdgZr+VqI*LkIcVbc^gmbN4%soW2j$GD~7E^W++l$+X>z z(602i%&C_zq%CvxcxK0svHP%$5%B>#c8uF)5_gRmd(vd=FE(-6vSvRr!N%M2YX9QI z#+Z27%RDUo2t2!1=zh$Xvur8>>O z^k=`R>|NDZ<>V7t<6PPrgeMCB6}~tNzW7yic({9gB+WU^0iNNByZ8>ax+hzZx9*KG zJaV%ZV{N;zB;UR@5s`7$a=Dd})Y%y0_dfOmN$fj2SfA^FQ3rlW z=s@Y+KntIS7UbORx|PV_#ETr>LHrz{5#lSUOZGf!oZ9l~UFL1?pL6rp%ENZP7W$`1 z$XZYiU5<0qnUwUMx+g^*Xa!F>cUJob##Z(X9kjIrUjJ=y5kEnaCiE*lCS>3CeTlba z#_2LbJGcAt%e`e3{wwe#?G|4dfpwoRue{@kMBDbd`E6A+Nqc|oYp=}fXAS=q`Zxpq z-QzeFu~F}V{vI^2&qROE7w5~z|DVwx=Lvp#csKgHnZ2R-{SaD?I{5K9108OzH1r1S zccZueLe~*rJ(hp(_tn=`r}_6C>U+`! z=MA%Se7A63`qy21{(x+$WDA8W=LuGZdDR!MWOq4RfQBFS#mkw5&CjMew+DjPN_=~< zmeDu$lO}T1uNAC<{ZX;rA2s^QsQTdzQa_7MwjLEv9TNY21s|KONH_5Qzicu63;oL%1<9j8C9ON zPmrc)xh{VV6&haic8)jCHMDExsjfP`|G0W2`;WQ;{hRH;M`q9I&}cmy_BfowU!J{3 z8^gXx_715w^g(Hh@YuQ&HG6LxQL}gDh*^6(+|X|E7myx>9su`a&p9FXa;$YDg%|K0 zWq3kcC{mxCOj+9U18HZ3Gwg_#sn0>|?rICfINx|==&gM3ozRJ2;=5yU)E$fXh7n$v z01uH*IDTl5IFU~ht;_-9)Y=K`fKBtuDAds>dXTNAk6AO6+)sOcJsO<0Gsh-Z0|#4i z*7*;x&bLp(j)(q`Jz#)-m}>S?NpO($wekb#wopDXYUXb7oq+ztmIt|Sd=6j1+9z&N z%Wbs(nb6Gojw!5lwEy$ce(=uH1+ZlN+pEM!aP^vYc$1u;$r>uUF|xOMnDt8hcLZ72 z;}g+08%Zd8Bl01~wJ6-#S1tId)3uBH!Q@2bOULcH7Mc0Fcdpzkd%*`-SHkQUzdE9N z&Big$HLe7f#NR4*_r#~&@2c@zIr_QAefTI`dGY#2d_dQ)WE_73U1i}QpZnqbgmjS! zj<&IPb?v=?x$`29v;9Zxo!2_)|41k=?gtXrMx6MdGIw4v;*#`{l40myrPoCtss5mU zKFE0K`C#@>q6droa|GQpZKt+k%OT(Mn>-5*E8Z*cm^aTHCvUOvRlacq{%XHo_dazW zIDU%Emx}!Rz&^J(-h+NScVF#Q6?yxtqe;&Dxs%cNeR}V8G|G8D_W*fuNocpq?(c0r z_F7H(`?lc1K&*>;j&goEDyy>|RP&%+>M}g#h|mS~sCE%Aw0KbBs7J+-CUGg1PxGP# zX%ZJFt}9s*6WrsG;?w3^7j_!bhD2M~mljYsbR~yTj|h7q(w#YF~mn zQVj1Jdl2?d}qbpG4QUjtT`z+yc=EFEziJf(VImi!0$R~x4;Wouh!fW znqHrnNI!t*t_u2L6l*Me^F#1-#RuponIG-IR&6SuzB>v3X1|Hws=)4zoM~4&Rs6y& zV}WgmR0*8 z@*I^s$h6W9#q(LeWUo~L4}TLLF8eJDLumGZtTP6tymu75#|z&7Sn&RPd6zYEg!78P zMt7y_R@Rds>xt}dZ$%F=$#`AI-ZxC&uN?Di;|$gmNt=ORG-cz$nlj4?@2(vEY~v2r zluFhV#;9J#>c{Y03+r0!a0S-2zzUHzW6U#+(+Te*kG~CD3vg8X311ue5JX;^l|1ZA zZ<2KCVa$|FW9N&dgCKH^JG5r6GZb4AbPAL$2Q*RVxVxi{!#&67J7<8`wN9`l0$p4i zno-{lor#Qlv7atjn=M^DDC1`Mn;Lf?T}=Hebg|4w7YYVtF|kr2RmZbMw>4D`|J<)u-2Lkv}C(&39yEjf+VGwxr#n z%9-`t)@RDK3(c_hYFx}dETYRT^VdfnfBU#gRC0NL^?jwEazcX(`o%-#@7w7Q z;m4oJgJt)L`VMWYDx>>fXh`YbQ)X7b_2_+~nqSEFg10Wi*ihz*e(U+J>f0Zkp`MAp zG71)Z3W4>#Gvu!z|Ir9*L1ciD^Nc4p*LLu& zrv%@6;w-Q?iH$1qENh+CT|0_BY8=~IErS}|BGASZ@*$hcH@4b^PWk3m5?V_}fCpW4 z%*NIg8coe1yoTRg@?&Eg$Hq2^zuo=N)BY&oV&0dKwv^v8em9bLIWTL;TSvH>Up>FO z$-5TV4dh=JfH!7s8#p%`AN$0H+<87{-!Es+zR4%&L@u@`QSR_NuQ z3C7?;bPAHp1uI|5JgJazE3fWN&=38kZ#L-;>sH0}=%8Xpnbq@WKB==MVCHB`pN-s4 zxmu-ne}3!&aF0)>z0jZKCvTlkz33AqpdW=lILp~_9^R5)cnEmPeq=*ejt9$G)P{ca zU*!Bz{G|EyKe-d356ffktk?RV_Wgvsvpxu~PvB2Fz#V1+f6@W&@)NX8{P|YA6KJmB zy9>5Vr<9>T(J2LHX)Mh<`?7ofR^PzSqH7Wu&3WwbYG@ySOuPrHd1ows!?W%OefBDC zUqsvggSB4HE$p8?U)J^+@4-KC@l9F(zyWk;wOxrmGsyD~Og_4R+r(@8gFZcMbl*YtGC00dJ#D@dLh7>L!G*l=04Z>u`Xq9wTZ8H zLYJ_Zka?OUUhcM+tFsey1WiBvQu=`JWM%FB_@7NAO%Cc!K(l?aLyW6QN z(K@5Faly(!*DdI0N&D8LGg`@WvI_s(_&&CBz;)=IjFq#DI(QHGSl_`rAI~&Y7CVm# z&&$aO!5oy; zALO^~`WM?~YlGaAOZ%E>v+^IzT)K|A)WMk0j$XOHxQ@A0!(6IiF7?+hS)OHZD12Y= zjMG(#Jgxf7=S%n&CAqBWLecs(lK>_m@iF zu)auNtsLOoJGvOX$gE9nNppL*&$g|OwV8akp`&kkqR3-$@+6oO@29S5zjC@n7ccZH z<5!sR*~qx_%lQ>1ztZ;y-hA-`1ntz?{_o56@d)}@rP=@Mz&FqmSnEf8m|z#ASJ+<%jz2KliOJ(bp51R_Ix1 zS@C;or!j@GqFrKtaDef$_l9y`q3-^P7yi5vn+JuLoc){p8*H3~L7EFKa6bIVjOxpk zp7wm|i<|U&$uG}}XEN4GZ^x{0(!K*na_z$>gg$SJnEMr_&yc$xmwRn1`^#QH=^;jh z9)m5MMRJBH>Dte*_+m=T)pR8H`VY|dIQLI-pWpcy?aJv2Dp})F#?I;rDp_NprUPkr ze2Cc68C^lvufM+5ah#jYYL?+1k9-ass&OfrghqoHv!<*>WQ9fLVm$Um1 z2_Edp#a2+!>n5JTr5#*EzBrTb;a5f16c}=@BX(t4<}l~lwA1>RmA=SJ^UbYcJ{tV4 zPaZkbeKqv=vg1sQE&cbuPJbs4>v`KR{ncsu6Pwh+`z5(sN^H;3U$vpXCzbzU{VfEM z2ihMu^v8bVaeRKp>0kBTEb~nSm0n1Hb(;RRLN~dy1L#j+S^8^({uqN6@+e=#+YS9? zeNjMvhl0;dW) zQ{{`ei9Ud?vvfXayQiKu=j( zsWY?!>@2MSU-My;#@h1}bjlQu_t8zA8C$snxvL-fyQ@uq@8bC}!e0u$caem))2u!F zgkQ)vY_t!eD#mI#^M5AcI>iUrkHag(55jC2FTQbOzkQQT=6rT^q=Z|F6fuPPXO%EFbp zq<-RX>Y(fAS=pP=?#KJdcb=`^w#(K}xmH!be2+=L>2^wtk*f z`>DUd=94(`3g0`a>d^j9Mb4(l?mW|`x)?4k5lRBuk$;PR&^fz$-*|tM) z7I?&cEgNUXg?_r;A7|i=%fh42)SB+JeA(u+{Y_n~Y(DAlq#ozbX7howl%?)#Y@Fni zIw(7YviPCM`h8O4id;Vuex%~9ybs=y7d_SNy7!pm~}=|bj^;xV*CWY1FkJmkqvyM5~o z{qL&u93N_zblNdh_!NEAhn=#Y|EP2`PqY4uRsXsz?>y?`H`15JFQ)+ zPn?!b7KZH;+WMk}VdEI<=WU$SrOF0c{=vrCe5B2@aVnpl%b&4vLNmlm8$aQXllD;W zBZYCmt+Dt?|42Sye3X1@oXt8h!}4j;mf8GLm*nRs{s~l{0MGK08*Dz?pQL5S$L3=^ z7TA0eXW(7nhiBr>6`Xcr+Ya6M=V%qWwJN?~PQTB_+c^ziwhhzr#Z7K+%wKU zl$*~(`;kvXzWtx_XZ#`jioaKX#^Y^X)1DN%IS-g|Nlnc6XM6#9iM&Jz4*J?iXf3270rRUxcHuVXP`8)v!1k2d2kW0@dN6Z(|NU5?J1Cn<{%t;vS8yKCVSO9}quszrB5!uUvy1R$yzg)Eaa?EY z7L1SMSJAISerLaQVJtBO9i{4U?6S-AW$AX~<9Kstj$YgGalFK02P1t0@x(_N?neE};H1(yo5+=vS(vK5TCQW=_bd0XA$%IM!US;qx zVU>Vc6&x;%rHSvWGG(JCY_ji_ z1}76Hb*So|MBS6Ady4pO*8Y+Ek|xAIr1J0D_5l@Unxvi7wN7xT=khWID(sv6Uglh$l z3u0;FRsBuce{CN+RoXADg`@q$_Enkqs18;A_?u0MpW991@7m-;=SG!pGNEhgub1|| zFP5$oJkF1$R|_75#H;$F+COMtlL?dd-T2&2nh+nG0$o86WK(6-(bJc$^nYFBd${jirfK_2YwEmos6LeK$V1@u{uSlRjVEWz;{M z`pf(A$Bpl8l|N$YUncFPz9oXk$XI%*;87k+6R+w|8b8~GKDzO(t?@EplMYq;cj6m* zcd&Q=OZbO2{-HMI z+4#!Vc<4~oUqk(M)W5nPKil}!R{85p{qv>0BVy^fg2(V!dY<4xNW7{)YW!8r?mW4?o!|Y#Xn_OhnpCeNzRGvRHbW z;4vhYCSKK_H2$!wO!=sVW8%>@RPdT~sM^1Y`dg`gGxZxk*nQl=YdlRDHT6%C_70Av zCkY;elLe1Ku{80je*9qTawe>@a0cpld|IpYs18;A+|Q@X-TZ0(ue1#>2iB_`t5x@v46AI8)pM?yrz4}82KRt;MT+`IsmHc2# z;Z*0>c`sIaw&@+SdecWjy$3|j!Y}oB*{3Q0)Fqq=4rmd%>PqyOlSgvClRF|;=KNEW z{!yE5r7k>-)Xb-7?1V9d*60 z?n`PpC{rBn-Jitgc!ssUiqPdf>c;jHujxnoxYlQV_ysZkUsOHQs3QXW*#g_z)bTyS zIs?0p?@Tly^L7&^k$HOvs|Y22+LhU}41uNWXX(cdbm&x?m3@0=s(rtV(f_q+R`%`7 zrM*g;+%t}*f0Pev`ZqxvLw{l4KwWAd#{0i97WVzOeYxjdzUQ63=Vy4f{y*ae<`Krl z!e|HPY8hYdJQgxe$vIc%`>>vUWxfw!SqJUZ$vz31fu7OHh{^XbRXqzYSN^P$OP%c5bDaD_Cv!y)bG6=6Czs~V z#wG3Jl2-3agO=o6Nz!H+8dCnOUCsf)d!~$sd7kcj{;2PHD$iLzfcUlhN8``BR{6$4 z4*CK5Ks8RUeNW0e`%6Xl>@`HEsGa>Ib}6*6dW-l$wmL<&%&Ss{z3Aw{vWF^-?U8r( zj{Y$Sif`*0>{>*xf<0VF^eWiL<@vTIeKUGDA@qvmE+NGkm+To^hzp8t5&1XqoD|>I zb-HiFw~X}9Ul_wA`_1gWls>k7_h*}C=O%q@(~gj4Y2!M0?>hS1`k=PHtsfHq3x40$ z)RXmXEzjU&VWhbW5?(uyxvuYLwC}(t<-W(~+uFhu-g&3-ZEgGW)`BrvA@9rnwlVo; z!I*rF_cM)0av9?y<4gbM`MG91=9ux2JTfM;ePc1x*Y0fJ!D~+Qa}AAt1wX*HkNV3i zey-8we!0-k^%nNmGDpYz>Jr~Z!Y^J(pJ?bSIRBONq8pU|kDR~j2e3Puft{H3cfEmk ze165A8Ul}aazJbi-~S9?16Bz?kn;{bZaKdnTd3zv>eTyteZD*%d(r;x%NF3Lvr^7z zxHC&6jlXN|NM%0hZ^T=D>D>LOoon(fSD9<=tcU8XX04pnuqI}|9gmEJOw{3qV;#E* zBcWIaa#9E986CvyI^-NkfBV&bzg75}s)O~go%Jv|N8lQN*y2x1?)G+qZyRTVI|yCE zHo^#JloG$MAD`Idm3dde{E_t0W=(8w^ZC3cz1*goxhH3b^OM;@G0Yw20%J5jw&T8>-smEq&jfW&Q>fF^rq37cnkaHjG>%VfU@M>4k)qf*;f>&{ z)?D6qoM3$%XVyn(SNX&SpA=;h(7W=9&6rN``^1KiKJZ?AVgp~w4=kwj0jZO^Sd(87 zU!z%{*x;4Fj_US^AJGp&|HA9!c>>Qeo`vhE%!y)X)!Mw-Gse#_zz%{^p-<*NFI4`piGOMf{m2=i*wqevnDc0Ka5nh;`mo-qv)*}n zJyY~YIiZ;~sx8Jhw#`>e{iQ z{uBd0&yOAlGG)*A z`5cyX+9Lfr&9+n8M*JkoWc$kW{pA){@{IH2Ix!#D(Nf<;Q{PPm^_g~8Sy{yaf%I++P-%JKOK1|5nPDo3f6< zS<0F*dBtCLcz)U6NZH}0?6-BjY7J$5D!lL6m&(oULB6?d=eMliR~P8N>$TwA*hlU~ z4x-KW{R(+ExCDmA_lT@o@eXH{qVxVvke}OZ^L|kB(q?2-)|DZ#@w_7sJ@U8ey%(d0 z74Yf3ySxXD-n+xIzURv6y*JU`T|WM++NXH$U)OgJ4yfIucs}dUEObZpnxXlr=$qZb znkzg^^8LL{H|wlQH~R-kzf5#bp(}+Se7kU5zT+F0Jbm}J0s20pO5~l=y!(s<_8)QV zKt$iY5}!I_(5=Gv%w>IrXGxql=`$=HX6A8jhMu&FYcrv1&YdDU%wTUJ^yxCLVhfYW zpgV8Ar`A`c%Vf%c6Vc~lnPuq0Q?J;nB!Qh=N{H=elK8A{Jn6PiyBMovjZZgzsn&m& z^n*6d?iZHj(vqabDVM)am+Jj4{jp#~u{*hO(SEahLOTq1;SIOl^h=i`f~ z_x7AgSH4Z-tolICof0XtMt))-Dk@N@~m{`{ri8;ndT!q&!4VjSH(Bm^xAv(%bAA0?T)79J`+w2 z==bG1%&=a^DT}UTY%(}a3kA9ch)#WIy0;QN`V`}Mnod3WWxbU1g*AWR{u7$Z>eNSb zV=;}fP-%9YC?_=RnK2Tb`Y>Z8I`!)rBc(^r7_C3U7+JYHu_mWWf4|7xSGh4|UnKXV zr^(&@kEez8BCxD3J^I*>R36Z}^!>~58rEp&`5Wjis=hX|q5m%Z6CJsAq`j~8CjDdNkMpeOM!x=l$irv(+FGc8-sNh2fdOjG z9Ff%*NGy?aPpt!J&qXuypkd()O+vfD7QS_&zM0iu8?)aI1NTPJ8J|zT@Vsw3?S-A3jdDa!@t#`@>sV}GR95;Qj0o{CSAD!j%Z_w90 zS~o1-7LL8i9FC`DO!T)mvwZz=lTXh5p+%udt$#1NQ?Ali%s&Hw2d*_`%=$07%I)du z-Y>vglpcPc)`RX_9@Knjy9xVDIMr408O|rg&w7G+mHpE%KTZX*5bcUe7W`aMZJvUO6gZ~f{xpT)fHTV{CVRugucaI(fR6CH3u z+J((2-=@|3qH73@ zJiYz8Vl6w-eyfWueWYmFruk^O%16uBpF!U3kDfWpzQ^HPKsB+yPR|41jh-W#o|XMb zq=24}&|lp-dj5c+XGhtO@S4huwnw~d9 zXZibc*7dth8B5RXRoWS&pO9DS^>-V3o^R-PoeAGC;V47T@I19wBHtHjOFQM1zCY{j z)%ZrT>#f!I@0)9AZmkLTnsB(G!DI^o*p@4c1h`S3yc21%8a>qmB0Wz7CYmEl>HL6$y8)s@rnwQ{p6W9Tw#Gf)+d{o`+? zj??AKB)C|e_H2GP6#FvyRsT{}t@*_D%G{ANIi3@=Tl|fDwx4|Ni|{gEd$TqHl)Fms z@Yya{IaT3d`X`$ox%DF!zSJqQ2XU`iJa|rkLp%L(X+QZA#O3ve?LW$0BzTxJz^s1Z ze0aLQKWu*F)AKBRsZ;PE?lFr8&#FJbW2nt1apV@kt;u;OiDH?-s`IY@D=J`h>KVwk{h7oz&Pkfv4&Sv^?i8YjAqX#z{V*FY5i3 zjgxt1@;&a4GxdJeUk9`zD!1u&cOSztwZ{ZIUxPw*?bZw z`M^i$Sg8~Nj9IfL&{S31RJOF>9VV+BRP%zx!s!rSN1h7yiLV3A4FD?K9l&r zpqHuQp-UAHEQ#+CeNEtK+1h-A$E?rRrr^Vg9B-7p#5S{!(Dyys-v3R$mwddfz}~+K z-Y7aSH5afqMGwX`XBiQ5KEb&~*1n*Q_9B1mY!iCV>AEN#7}nwTs_8kqwrEl8*OD*m zTSxoe$?P`yXya7jkCAX}tAYpblJA;Y*>aP~XLw!K?x0Gq!7uVnG|j&Z-(XzE)8Dy! zBXj3eR{)24mrK1a>ocS*=EACmusu=J<+!*+;4Za>HD^3>=BN)<=?kin}nd~l&lwC z5%#bRVvo!HvrnHZvs(5E@B_cCLR8-&sPo;3lwrR6^t3Y5q>SF{CadsURFC}OqI1Ju zA(=!MggvmeO^|U-kmn}GHrXWis%8ziJ9j?*Et_WPVQnt$>yoyH!Z+#oZJg@HpkuWaPeLn0wYCyU)`k|R+|Z312dw- z%rfeWUZV3fnJ{U>DqSXXjlm7Q(!R*WI&Yl`+f3-{G8uGG``V_dJQ)`}s6W+L+?%3~ zRECi9DdJ^a?5mojVMR^YWWuBlGw8+kxqqkgL`+y`!Zsadl3E|LqYZnGq_#WgtNNgU zYr-ZSW_F0ZiNUQ0T&O?AN4`_kk?JO-e2RF5TiZkp1HD{zR}?W}oeneWfYmfXr=g>( z@>H2JQ5|M(G`P(pZ{2vE2fbaD*EMA#I?SLW-{%_KI>CkdQ%OSVNTmrWpCVr27Ja{l zfv&HDl{8_MhMhs*yDwtwdFo8qW$(TJYdxs8=N*1 zx+ZT#hZ$^tRKE=;Z-ISIp*>Hgj6BJ|S9N4|f(!Mhb`VlWs*RBHDdH7w5o3E(XTmlU zy4v<9gUwH&Jx(9CHG2GYnAz!S+{8A=HMTer6V{oqO@|q5c>3xLZrj0y`cqp8vH3|o zPDuF_@d~#BJDfgjYV>&N5FH)H$=J@g#s(*1!a5yhu-Q@lHkG^ub~Swkb~u?SBA;Q;cx72GJJ?h z;U+dUk+XGLoeA4a=;|^VY;XG7KBDqun!ttnQ|kz+BekB8@+smKZUy!;eb~b2@zP;t z6R_OjIxb?uIuo|(FoUg)!YwNHF2i(QV-M4ZZHpcU9cC7gCu(qO02k^{-AzaxskMZZ zPZ6(hYcsYku7MdbVVw>$*x2+H*uV4@*vsHySK}tOFm*#TE^Q`s%S^j;nCT{uYjCRv z7wS*d5mHBLH6i6w#4Fqi>|Xk?VbSBIVP{^FyZ1pluFiyQCUkY)3^p>V-?;zotJ3%M zeNhuOnJ}rt%xdy9O;zwXdtxjH$5J;EQb%ezA>~uVE8N_Hrd=kiGhv$!Gu-#~B})vx zTA!dVYC?1Xq#YT~G!<@Y|9<-3-RdV~uyg5)7`&E&2X&{G5CT87l(4NhmLmRWadm9y z)AId<>e$9=>;FBhZBN#+21|S`I>7VIGdd)x1w6A(r=oIk8^)M`S;H&staU#9LR1oss6cTxW(?VN%6@vQax z9uF&flvKr4_yaBOeUP(*H`wcsBkWUq{vzyAid#h1egGZA;JPA>7Pz8d|#jjaAIdzid)5jpE!tm{k87F_&x z2ArX=FY2o^bRyBpHaSI9U>n%xi0o1N9~ zxWuN}{m}ee+62<%j`l+OP1&o^_YQrZpxw*gVQ&dcwO8l;2zuT2{X_J{CJEw(F7?hV^3Q97T~6Ac$RCU6_o~4#|hxhyOZCM!~5c?C~Y2+@N=l<>3hRUE zaarTEtR}Kndy+GH?oHaEEAf5a-o$w}@rs}2*}~|v!Au7GJp8O>?@gEL`V!X&EoxCgfA%imlcG%4-i0yGvv+}?K5zzmmz_7c>l9CL z_)Zq^#opzg3+mk8W8^vJO$D&B_AcP%Uw<>EJ-5&&-(+5h?z239oo6);#pqa+a?V`F zoF2}Pb$1T5Txjp|F>~&z*4K#9kL%}qx{0XJw~}j2VcMX`_nB^`f<Qy^i+)>w5cZju+v(2FW)ZZ)RETnhws` zQ^hN`q>_%epKmDaPdnaf@~1l;@AiSUYYrT7ysH9)-HtaN-Ih0d9PeZJzC76Hc)JJI z?&-`p-XOw5ZovB<>2DPWyu*|~TpI9(NLUu|%EGm4jtnO(AuJDgM?172bp zKib(|x?+pymTmY!CT}fzfbWa9!-r?oUKXoHE(kNv?Yr>)ZR;TsQ19ty`^<-KqX?wC4VzNg;X!Cjk@ zg{BZh6T}N5Ms8p(J@^4Ss}oB?poBVV?UcT)l^1V8Zn}l>Jl(w9--GdSS*m zRpom7OKZ05ALn{$Xem9>^=31+=}E44{ovX?2PV7T4di=sit7y|{@_&C>*PCrozq-z z4z$!6alLs+rMd&kbzuJ;RkjsLmc^*qY;-c38!y5333o@{Wv75D`{wa)cU4XIsoYCSm9md+;E zJDYj&_9oZ+rqFMz>%|zWuFZtt+_ly9dLDPZVbFTlcGvr;OW7T+_vIqOHef>Ar*^vD z&xeqAx9fG4lJ6zgyBd7n+$-QCfujPTj-a>f}nRH{nj20dP#iZCKm@i zm$oIB1ihco2OUd;UdM30y|OImg?Ufi81%kMxPN)j+fN(z*95(B^mDo{=sg6#I^(31YjW5d$QU1-67~+3)oeL9HSFC94>&k2>~-=Tn$Aern?rq_v%}t9%$Nnfd2>mY(dxwQ?mxR4Z(AANp zVQ(09bS(>em&n||G3<3Q54x6zy`R&ju9~nHgWkI8!rolyr+anS>n^={OLu+PdsKMi z-C^jsX3N`a!`@@UuNnw}`}Vr9cMfg;^ZKxNyeaH`h_c5wg}nyw?P(2r^T4xbGj(kZ zd#{kc>v7<2rw-cHy(8?sM%dF9_P)THePUNViO6MNnWdsE==J^Lsx{5csGn%v&a>cN_TZ zA6Mk)q^XAl~B5yPBj!Z7{E&=bZDMj8l$=5Zt$on+y>6%vL9R~K{2%)S; zv#FEu@0nBNow$Y{w%{k`7I|;ZEAp;@u1?GchXusLcTYr%G@n^q_ zUNbA>ygY+A|TX?_<#I!D%7p%y*eHA@2jU`_Sx=_b~b1niKMV#+V$wCggn* z8aq5UJmlRdb7_0X z`#pG_*b(wZ5`UsCP4dqY0 z5%L680H-j5`IGURoqL*8(3>+S>wG}U{Aap(?t*RxI>=pkfI9q0>r=Ym&nCgi2~ z&SJ_9d-!$oL?2Xa7G=G7V6$2;uq)#mUdRJxy->DN)qa}VplRwNA5BexrsAAaSQ?uw z@0=Tm4ErwUdWs(3FL^oBK#t{oNNf!6tP@#0%Fy|G#+_@<4LW7)Ij$+4sd!AGqV zfxSiE)%5?HuN8U!Ncn?r6nS@&|KPqNZ*GwIy;NJPR6hENRjt(${*@3@;(6ELp|^j_~4lk^JpzUOdNv3CS|JTk7>E2F(f zCK57Nj!Y`n>(b<6@6eQD?*mfz)MCB9O)K_Zpf3+aC<|^!W*2)u2X@z-VsAM4y00nr zy1}h`Zm~BR8t@9x;d);M#pRA#LnlTkNG9ioN5=E63LrGe42*))#vR zn~J>&^x45p)YZz5b6M`xy^Yj^9)R~1`UyP%_Q$+$FZMci6niV-MICL$-cOjD9XpAW z_ua+bftN@FR>xk-!xzvE@xB5tK{v#EmbRiB;-v&`k~YDE&}Z>hG5+YYc<-m}2aW)P zd3vCmw)T*>uhYC(!TwX60eB*_s=fz z{)0X{FsH;jeocwjIk&{SiZMGduf#h5zdA6##CtzAhn7=U4bReNb>Im6j@2dJb%Jw!iT8})dN*wV*N(Nk!@oKj zXxlp4xW2?oFn^UD9K34k(cJon?d}sl(R&yC2o(A$Q^NVtb6v!E8TNWcDfa>bFQ;yu`{amcBgDxvs1Bcmov0+ zNuc`JGG}$;z0U28k2!ZVzUtiBD0fyXR}5dbYQ^4lt%Mt$($)ug-p%uKPU*ItJg1$C z#?}=hn-TsAwF>{9oyWS~oi3 zZO=JH+tN<)wvs@}w()@h+df8mlsc9Geu($mbSis)4d&N1x zEZz3PidWZtjQ5qbZtIeF7VaIi!d>UCXj5gSTohb4)`nW^Ra$6WXvH(C9Z}L&lJ;C} zxV2TKh1Z2wJi9JR9VZ>+3q{9)zF#wRLQHNIYXo9bgdQu=>%MftkxR=l>Z zo>1Dpisx3IrTq``yqjm;_phnGf48fZ#`A8Tr7vIM zS;mbvwLa$zW;}*49>d%c!x!TcW2tvn0NpYgn#XBqofcs>Yx=&!XTFc{cF zprc{`>*Iz!@Cg6-$r-8topnC%-JUB~4Xth-J92t+bkLKpujIFp-*fzmMmWu(L4jtO zdjiMiZ!fD>y3{pJMJL}gZ@%dK>CNvSGo$%aGpn2DerkI2=e{tbITT#kI5xPd@vFhx z8dnEbH$D`+z47_r9gQJi7M&kxE*TSS9y20B*_o7`McD{tXHs_7yOeb)8=`Dj;gl$@ z?&Tb(m;0I)7aHF_z&X0yy)<^6i%$UNw0cLs^sBs2ytumggICZ-r?iuKbaJCJ_~diW zkk_XLD>|cry2h1(m5mz%s~VpR+}7w0b(+H?bM3Z$c&e--YkwZ64-&(Kn=kvq^k%*({>m$-G7a5sdCPHkWXs#`xh;Qo&uf{H$vjrR&}lyR`arX` zan$G3|K0lLEv#<-;`P&;`QAXoyTP~Pc_#cVUA)`8{@>tX{qd_PylN%9Y9qYrIe1ln zV|0WuX%~8cE|vv{@47cQV%KBAvv<83JZD!=uzc4@cjPY5J$Kia-1BxV36$=-D==u+ z!-2uOUJMM`H57UoT7>_qU|DBm=u;0ZbJnu{+}k*7SI1$IH%hiV-=ht1xMB{3rEUYI8yc^14r-_I7;RL&Pw2HL>{^bIQ_{LH#%jV zKSY*z0$%#MGepT0-51t1j;LDMcv;n|#?M#X)_CiY%wsYi?Husa*nfq-EN}Z;Wt0EP z_=-GPIKKVKF)^PU^SDor`F)-oGYmPV99d)Je~Cs)kV6Y;q(7M_=976I_sKlJ&y#tE zfk!!ViQw|L)0xQ3g>=@Rd=&G^N00mDqu=MrN5jCQ9QjCa`QM|}CD7_!(CWj`>WhX} z3)d8(Q~$c6?$_(Iec06_xeu<(w+~B*ZVmcPT}`Yxo2q-?YUO*k?16U#DmveC>l-VO zkK%-iPa>BX`QYW{$Rr{kIHAG2<}IATS{-Q?`GtAg*%26dGUc9ovM6}onf6E9meBt- z)RA=R8bin}W06~~L~apTrYBg}IMQ9&=((#JzvSN5*pqacdpiU0=b6YNvzj-fhuD)0 z5f?_@sz%hw} z{?Peh;}g!08eexBb^EYwiVinx0`^T`8C6Z*n$z-HJUY>tyKzyd`8zj+n|qQo!Dm); zhpM}px~DfM6rMriU2vZP?vdtisPq!j2Q=TT(g%?~xVd}pmBh_%{ey6vPX!GUgN8mexLsSI50lZJWJrY!&^?cBU*ahvs+HO z=d^V1{Umi>)BI7=tZXIyX=M#7XGD<4XCaSE{}rZ5zb*T;)BLS32I#jdscUxg1cm!m zJYU_smgnxhGpHxhJVw+faVvy{zFl)_-MiHjq#jqxrghqGPxki@zH*|$LucYt zncu%E^6-2m{~{lpPV08u%M`Af{w&QcqrdMBj@$2LHDH?%o@utwJN3zNavs zJm%Amavm+Xvl>ZJ%_9syUGfRv+sO);A7v?`r&@`@P0by5DcSBv^iD zLwNVvUxr^;`-kvv*M7L@#kE%Mwd38Btfv2_Hy`lV``;KV%dafm|0{4UPl)ntWe;2L zmsP!b4CQ+R!{IMy!(YCjo`XDFnz!H2))KK^4~&0o(I>1c`2OM>tOxtfJO}2Q{p}}J z{X^-4Va=O(w*2iUD*i0uhiBj9j@kwP+6C|0RUasAc_HA>Q`^|R_fx?8be868Rox@N z=WKYarhhAceMhC8Ls~g$pQYUAnoATOdhO^BkDtE>JboUCH9F3)JG=K@1s@cYMB`nLFHJXMzS7Z{(0u0h1$9dRM&@S(_T= z^gei^X7Bzgr}t^}q}$7#UTnJWQGV3q{_ETLFyNeI0rJoQ^c3Y@h_fiK16|`=$Un^q zcD^5j%##Z zr>LWPkoZ6w8S{T1d*8osXE)4wEJ6QYX!^gJ{twXq7t-f5=#R?dGwLgOzL36;(C_#O zMNgx;cfI3wF2YyediuE;|9;8Y)xBTAXYG!m&Nl=29Yr?}-Cur%u(5$kF!meNJ@(|- zc`JGvI_OIooAzsD+yb30aAka=z==a63C4OB=URNTX7_X8^c-W9roN<8R9}SdZ~*<_ zl0l3W-~4WOOIp78jZDLS#^Wh;Uc3FGt^`et)82A2ecd zdi!Sl#L-6acPI3cgocGq_Jdy<8hCEd>fO&8e6D=wwmT1iOPfF+4x zCvz!5dGYDJkTHGIaV}Tzc=zY;55{|q3#s<;y>;5(PJbooADO>?_@eK9gXq5++W#ug z|A(Kg<6}JcNBh&h|#GET)>}Nu& zykE}ynjr5T;P*_xdF;A^eAq0UmTx6+bQ|>kJ@gJOe3*%#$`q3GpS_wJVG zTAqRNA3R@I;oP$leP-@H)wgmg;RlQ02epPj-D>#LugR;%u};tNJX)&d`_m&&G!(}D zzMr_g{lvZ4Pu%mw$($5=xe|K$)_b6rhi+2za9`nrnI&{#=w*gH8+w^0&xT$;!n2|m^mzXoy<9@xccYh2_cP`n z?|?R%q_^YwTft$g8v*sbUc2)&du9)*n+M-06b zf9HRUUVi;*KD|7_yQP<3$g`oBt@3Q>188%-;G|LEkB*VJlRj&_I~1i z(NEmZiL>E#(sFO}0-qyC51qe~c1 zKY#fk@0MOB$g`oBaq?{FWem@XUgCe9Ud|=&yU~l+&zOIxpSVf=#7*cYZY*(@ULJTM z$6vZ!eO~@1ehZGf`RC>F)vWRLPHzNxE{eP+@@5fhw)imS{c_%w+$VBrVm{wN8F1nk znJBgv%fyati2lB2)Qv4*pR)mf$L)9jKjz*AzN+fX``;%gR{{c}qM{}tAW*!H6-a5D zlLSRY$G*b6c8WHHfS|Nh>&)u~EP-%Qqrw3@RA?t$MC5p*sI}Hk6GTBx9TBG5md z+WXJupBloaX}uN0H(JQrWe0wlZIh`9${1P;9{VTGD^ABpSb?vM-_VS|thHGy_XWo( z^f7Y~>mdA`p0@tb;ojQeQ|Me@0WelK)~s!?GKs%f(^~Pnf*6H*1^uJkQ+A!4L1ZDT&_Axn;|GF%rYW@wFaV<4eg6kVK|=&BYj`)`dgXVv@-$2c3R`(ILBOS_(a zWRq%8N?&J$B!3rC3wsmq-Ow5_Jk?6*jF#*3t+J-g>J!}9#O>y?A%T>~e^N8CBzz?>tj<-|W- zUm&&sT@^Eka_tzuyEtpt1<$G0ubvZ4Mu3}<;6^+znu))(HW^=~*aYptsp2o{gBqeG z5&Gb~oT&-$QHjQYM>Gc4Zea|whNn;WdJE5(Yxu41wa30_w=+1~dE$E)Ui9E)hu5Dp z@u6Ye>kqB>qvL@Q_@2+P9*gE!;GZ#}VdO1^-3)%;CP? zoyFV|-+|Y(Hx_-ley#c$o?(sG`@LMf;P&V01#f>lSYyZNr%Lk#fAi>zb@i@SfPt<+ry|-j}2`mDb1b8!@!Yf)_H27Y`dRZ}&R9u#)d3FQ3M7R*0UKuaExN!)3ZR*ZNYmPCVdF*xOVB+Bw&inQZ z&kXJ6nUh(wKLM=n9Pek2k|X!`y_z$$5ii^Lciy*$K95S?z){yG{*tLv#RJ4B-Lbyz;8!uqeBGmO#Z6rPcx|Gdhd%vk4T@qk!?LT(`Sv#a^pepcNCtD!L!X11Bvx6-}-I5Hl6~n6@Dpb-UY$4F`ivX ztU2jAZDX{3i0iJrT#vkjv278qhq*sR^5c$$9c$)V3-?+@OYG}V;vljsqJ^O^*S;AEieH!W@?Dr*F z+Np8(?}^Q@N&ShqLt z2M_TwVzgQ9VcsRS47x1GE^MHmr}!+jvfICb|028;qAMd?tVG)}E1{Tc#P(bESXPhU z^3J!3sc!+lPQPu(h=YP-$+GcXo(?4By9}4_Qek`-)4rkCb{V183TQ|>#aFLxT(q{! z%586C?8qD|5#NVDvfN4x?~w13!#KI2U;YRD%JY#qJ#e%x2abKjjoQ(!oTftd~ z&n_#keV)NtUT73;4{ov&hdu>oSyo3GH3aYvl5keT+|{RQ*c!aiw>#dUPXmcI@OKdW z#rfB~P8I$JgTK-q{OO(b-#V#&GD7iE2cN!-_9=}It}XEOYcB+@c&(KhrjI|hZnnZuXkXi?`|CawhtVlqk8C(7drQ(`T>XN4#ShFI9v!0 zE5Tt?G7c|G#i0kj_(I@o0*96OyWlVf9I|im$}R9^u7kr22ZwL$J-TKSdk$?1%>iZa8q3^bjPt*abGi7uD_QA#f&-!fZ54DbW^?<+qR!0wnwT79G zo}Z2`*qy8g-iP0e9+-}70h0?)>wMtZ-M21~U-*E*xpa!`LT>05a4$XBr(QT<>xCNL zMctcTh#{+E=>Omvc)H!@>8doiybpXBy&!z9aqvn1-F)4CB3};?UZoqbxh`I%8|IvJ zU;a=W8*B5nzkQyg9|F=3cf;E^LjRq~yuHB1Gy0($&mK7AcLV26`1{86IzqS}{p)Aw^~EDO@(h8 zSW9=?ue{Lcbojh0&`tMv1NfYZzC>4Kp)1}%S0LY)=b$Tu%Pfa)TMaI=LO*^_e48E8 zx}`V0(G?p|!rn7=n(R8GVd{>G@4qSk`vv^C56Zgz&Jp;NUDZ7Q0?%)oSM{euzoL-hGTVyfEY;|F=h>1W2F&1#Kf*EkJV(*}Pf z`U3A4Q=6RRHh-L;aq>&LYBi42hFYhQ9NOfUCH`$3@0fvasy+HK2fWNl(T}>X^|02D z?tOln^`q8};VyK}WJ~X0{oxMjM-SYi86(_nm3$(t z5vSiw8=j5a?Mp=G`x0^5w*glheT1ulA6+kfpU0fLVqm6P^RxR6$NB{$JRjvbpKvma zdN$QOGgV{TwOJ#`V-)&?tNR6y3cewXr9Q#^C;W~Be^hJNA!X+J(*}=uC0!L7$L=E> z%L_*EO(f%S^)b-t16stqeGIhwSgSs&>EklNVb^~RSJMagqm1)4+T?%_aNoUFcX6HM zuMYLe-#h`&|9&|z3@xM9oQ+fAmVMej`-)BuB+6Oe74aWt&W8WMO^i8x-Q5FqY^i({ z#dh5KT%uLSP2h?#BgkG9*_+F`E0FwYlw$ra44ih13_XT4*Kc_~P5VzWAZrk$d`6zpXL!+6w$uXf9t|d)Q%rS&uKy+6>)h+W)54b~&NuvG54( zO0AssI5xO}^?~ulueTD-w_AypSHVkn95FleJ9Lkpk6aIbIRi8Ddhuz-j3Hy_!G_N} zzoi5De?c(ozJ8<6F7y6IM_%mxjjr9|9m8q&b&Vl@W6UVmyncDQ*g?xMXjOonB*t?0 zt`lP{iXpTNgH{F9C$-Nl6P@dc&mA=Jxt@5a8-G%aXXby5S7a3ZF3_ZwaSE?Sm7~i+FcRe)wTgb7~=fP5Z3}`AnWMT^!d-PCoj~@DJ zx;8u;hd*3B)DJyW;L9_5sBJuRL6619x_+(V2zjAzBdZZ~mpguZEaQ)teIxGoJ zIPkfCpL{<1T}4@;7W8W?HOPMbHQLVuci7RW+m?AY(_b?@y;%NPvHiZT3fa1ez$Jaf zwH(G)th1PL;K}Yi%wmT}8PE8xVenGm`cm{MIS~!#Gf%a5c~;jx=aGe1HBZUS^g!Yc z;p8&l)Y$yb(!4KoU;#(X>WklhDJ)-g+6xBB-k$$vf0LZ{-nsqOl`rU%-X>88iMjnV zG!YF`Z4xmRv*t=?lWu~C6fd!TM{opQ>w!Tzs}(8q(V9#;B$Yls?785bW$0u3H_8_q z?DP{BPXk|;a9;r}z`JysaAtAM=nk%>og2KSxqVr4vFl)`+E>}sjjx|*Q)fH%o!xwZTlIdm zlze~|Y)kVRWOp@kh&)HoXX5vN!S2ED81LY&&Irb1yeAxgEW6N_RkLTv zn5s*zHZAJ{iN@}I6MGN3oE+(T))CJt4vijuYVOPldGx9Hka$Gzlu%6I@`Ss`VYfRp zikJ%Lx95_-ZTe;m?TaWETygyH#Wsw}6)r8J#`y8BX$R5uZPau1_M1;#0qTpE)c&z_ zoc1)EY1={{ib)t<0p27RuQ0xzi?UaeN<;0h$VU<_FHS>C*FSpL*=I4%k;gyc@FM$B z=XCE!MZkmhgksQAu^i%=kCo#iWuD{Ul{slII0g-By7B4wGvLLC{?5RkGWi%h*TQq( z?A{|vkRMynS7Jf_w$t%kY`ICXc2m0BfeXC;L9clMEkPl z9yx!y_Zs_VPGo;IgV3**@g@de)CTb7J z{>c`qZzIR<9^1fxa~{H})9hZ)v2pqAPFtp5@ZeA5HWK?zrT>E|``44uy^0U?mDk-& zTtMp+?{nzj5`HJ;e?Q^aSOfb`dtcguKTe0IO35K;&Z%EpLoST>eky;9ukUr{6Um47 zn7i<_$1^w0$>oo?QqFIL@$(|+j@T6V8D9AUbeQDt!ToUX;_6>_&Lh&yWkiPclFn(k z`v!KNl64w3&g>iT+xQMztF|!jB)aXi`CjeicergwrfDl3y3}{{<)y&23>@FW^EuF8 zYt7|6uNWM^%~_9G>;PioE_`>wyYj(i zadxH|nOcheZ9#T7>Z}WEL}D{5-E&L-G>;evYqCn6r|IR~(wok?rD8tab1`YpEuq)K z$Z0XYp7PjrMydPUQn7Px30-H-EkR?+{h4}}wZqy*D`?JQfp@dF4otEY-MZ7^4f&kn znNITY4)QPAm+$gE-{q&IlZzK#JJEK3*^vuZ9=3A!$EzytmB8TVQ?ekt9D&BOo%2E6=asOHyR4i#?T7l16Z>pXu8G53 zSk3t$@V$dI(`)vcX=PvMm0lq~<^by?7uL4~D|9mU8<>z0!ym1{nD)F9u=I6aDNpdg zAF1%fomf&M@|uaPy;i6_U@P=p2Oi@C;D31WYtH|`6E45p!go9V=MPO!$1CX1F)4g< zFFfM%$6MxnPfvVAa?k=FG{XEJZWUQ=i2|{ zS~_{~`ay?xoG2HrAM{#^e7u$7|CoFjXWsLemydZxk@>HMIlqSwB%Tj2A6+YV@F1Fr zE|UAkd<2w8I$>h3Sd|%jqS^Erl!L^k-59-aqa($5&{2I<{B4>6U&y5%;|$pZk#{P{M(r0L2xMA-Pa54Tt1Z!X=8o|!R3lH^xT?q z9#i>XwdBrTfq$d3)s3wEU0=)0vDVhx#wVHx4A8k5`Byuw9RmIUdEl(uu=!uWw=2S? zMJvEH@~&8_^0;fbUzAVI{X~y1#JpVp;)mbDzX0xDeIfdiFH}JuhkPOVMB=F^eTc74 z@P!z&m9yLFe4#@#PB<&wr!VyX-b(g`mI+qoC;lh}COe+2z>B|?| zC3v9M$@)S!IPfU{G~)U~4vo^%4gFfATvNxNK9BFNe>8;ez3E2r+JT1jdV=^xx4(4I z_)9(Kp%pu*@R5rxdFOjGIznp{!(X}9ofh`5p??}abJoMMCrNw-PQQS!QG{NRO)xwK zzT}IFugIf#F=^gTKROR<{440>>dmg>uH4#d@6p6cd_>Q1ACC9Dk@`L24wGr2g!%NgZAl{bj&p2?ixAo=VeAn){ zIw1|*sd`I%bX_m=NYz>U+<9%X=N0)w&%FM_gZrfU!B2l0*u#IC-yPEDjz89e_o2bb zF5Vp;Nuob+7N@`&cj1W<7X{C%f9c}6?Y{v}jrLEm3DxfYXD{${{VZAj{t|e$8vLBs z9nTbgw&7n1FTlaO2)`Wsk_$&|k6ak}cg8>L;$f4G2i4nj@$iv@hi-o%jXWHI9$Nc) z{p4=CSQiGLb?MTJJP4Mbrr<&`ub2y$BL~!3>xQej7y8_4;Op^c4L*?97`Cks{zq;v z3Qlz4tms{C-PrTWH1N7>uK#r5uD1ES$OHF({rB+6+ORa3<;rOv_?(*tzP|*Y>GWTp z^rlA4ohJcb;C~3dJhPtd(GPy?$O!&bUq(52vQx4-dLPpG@=w>yu&nX2Cpp9)6oaY4 zpOGz@!RJicUBolC@7E(M(%s_GAs(2+Df~y>v69L3Dcz+%t;MwV&~^5$Pt#|;=e{dX zR~vrqfnWT(5_t+>V~I&oLxMG=S@&swCNp$HN3xCk!p)y1*?7Tu@ZWm$N~_C@j*cty z=s4*c8(PZ}eCs^$>G!Li-@<{e?RBnce)|1;=eK+RJfDpN_cwbf1}E-()A3WE_SCv0 z7^`|}ajt+#b;8HUAx3;H^I-gWy1-H2VNNwNxM110|14O@jdzr`I)}Edf zyvxOVFZS#D6gdA9`*rXn?7Ok2)G1lv?o0Lp&)EL~cs|>nmIiNi;i&D=5u#hZGyY%I zp4MC%{FO_WUgSZrwEeV42e`8Em+1e$*q#zYpX0(=(Kr7K-k+v{_itcNw^_uhE_LO! z4}3nB2EM-ppXu~p-}dzE;15m$zHj^$;pml>~RV^3V%>u72MClVpAIzvVx# zSNxMVLAbodc3NHTU`q}zoaE;496@Bx+;QjEG z^s+0S|Lex1vVv77fzQ{|!1uS&&*uf-ISKf_|33vEdsu%O*b|R^y?}FUf$Si8bJQqi zPw7mnV=FnGS30#Oc9Rpcg>wya(0TD0`N1vJ7FAy5M)umMUwovRYwwWHqJ5k<=xg(g z?BE9aA~!BkdXCkR$Ns(QRXnA$5j>x}BR|+ity1+7Wnabg(U>3nsnbVy+X+_3L1Je~ zZ5PpYg432gThq2CKlrSt?GlaqMXTd2*6odqyIyCoq_5ZK2W!4)w_VJBtZB=&f2FNi z8@RGQkUC4sZ{)qkmF6?B{brNzxN!S)J~dDA^91Pev?o60n``5)jQuFz{?&Uo6#lq# z!_)gZtL{#8D(5e^aCHu8-4Sr&(6r^Xs3^SsiIpJ?e!gP=#2dQ_0FnR+ESmjXyf9&zWir9BVT!|bJ6=9 zovN)D`6RfvsQ#JG4LjcGTvTa^@cU-WqvuMFb2G+8btM^7KpX}W6yZ1ZG8e#_4 zNP=rwPj@cb`0LIMzXdK}^}R%Y_dVZP^vyRqHyn-_Sj$ES_b&S0`p&A4-s!A5PJh7a z`_;0&8!Ddd^u4r)ws8Y%(X>^2cYI-c=Z0VWrn77~a|hOGf)#oS)a+L+7Hu zd%d&h%4P#=+4mmayD0CK&Zd>>DRRccgtok<3f!7T;{$Q_f z^wXV1v48LM?FQGtT6MgB?~cJQb(Z~Rcc04X^L)+|l%@fwk=P zHG4O#+}ydS6nxBRF|d|Bwsh}?3EMgsz4}IHPaMR)%UTK%T8sO+$T zu`2%9-m=HHb#B=6i_XY5=o8vkW!3Lpw6~$N>|6iUx#JP$FWUbXIEg*oS+?cBIwM;@ zv1$Lcm3w#m^rg26XC^}?djMP4|cgGyy8T?M?h8fIRbrqjov$tq&Lub|H`#YOKDZfqL#|&TpZGLAvxE2in0x(u z?x~JWJ-pZ5?xvo5ih0*VYu`|(-8Xvf%|@D_sW%4$8hkWKD6(*gm>1u?W6Q{soMuR3R#WxLB3KK`77Oh@V#TqZa&j?N~xr;EMq?mqZlxhJI$-g(>I2mK9n`(PhCtC2p~Q&4Ta?mqZl zc_g`yX5N?E-3R^sX@<=Q%DK%7_>azJPoj%`_U=CTUOC8@j1TH-yM09I@37kk`{-GX z{-aeh(4AIB#{=Y5s6N4nK|bnIX105A>b74@U;jya<>`wbm8+)nlbN)cO{`3{Wpvg& z0v)65D=$XB8@^=>)q{M(%4}LRi29D~sZ^5ZzZ1POdlqwG52kw#d|z^jYGY=$i$}s! zsAVP|8O9zW@Bs^PxeLe*b!u;M|Hpy}Uq*RmE$rK5%`G~r{Sf7AE05i_F?M~hLi28b zF~K3X@D6ckD}8`|+f($_Op|{t+0(hGTK4O!tpP!uL(!g)w~yC%=uG*&+ke8R;8rX{ zc4^hiwx5;ju}#`TarZY4@~#!{ezo?VDhF8|^QbYJDcN>pdL*(u|CC2=nE3GeZ#P)O z<~6bpkn=u`Jbt^+57&RYo<4nCtGvYDfi9jl zYmoI`vp=(G2|18UtnaKEId|4k$vOHYvBdJ#&A!BXkN3el@36Rk)v~#>kDB+Yf;-;N zS2z1Bz1&Byn)`S3avwWj?yv0SJ~qMJ-`2~0bg#L;rA-W{@vw zjvK7Zx&!bidu?W)PaO zv>Y5}%;HSznSoUqGvHnLNc?4Z$yxWg{CN9p&I5S)apgqAkIr5_JU<|qu3Z)F7NK9n z$5mOJZTRAZlWI5h&uo_zuLBR__xFEf^Sk#f$`$aw%kOqPyJ!D0FhFbf!NJcnwyD?1 zd%}Hlt;9<9*6n?q;$Q@PdgrNee#$uQ9+~>A{?F;|f1&CBp3mt2i9fUdOt*jhRlz^w zGx~q{&+PxhSq^@3Z1|P$*cX2ODW!kcAD#j4%GV5|8|24TNuN>=x6!Zn#oT9qVk6CO z_Q3TieHBKxx!?8M#kYNaq9>n7d4Vx}0iF9&PN30Yj92LBq%h-2KYqVId7#)|Sb%5|()>aj&_ZaJiT_sK+0zP4MdTg&u~m9bxy|bTX>@mND7Fh-AHhB^ z4&S>YCQofS(-j2RpcT1RFhUS>WizW!6#Mf0p}Ut}o+kUB@P0@JO-F zAo_x-&qNyRb>kw|y3r3f3&*;;8GkUgUpc3a|FMtSVbIj|J0kr4{?~P08~=kg;hj8> z|2N69>LQG#ToU21Lb%)s{Vs!U_iSG4D9JF&BEq)OZ@VdrV|lW1ipF znBca1O!5y-W}Y)WW1cWi^oYjH>tjrVQ~2{_#+vLI>xB8Ct2EX}%F*iur|J0gqBMN^ zkB)tE&vU9PJ=pg*BM}Q~4jVRr*Tj?2g2I!4_(9*u0o!c(G+*&8im8 zWiQ3fH#GV>$ZMI_n!jNC4&=5JIlT&fCZ95fTt#UA3^`C*_p}b|d8Q5j+xyHWo{{{y zYb%|lU3%o7_qF&lN|qk^=DwC3ea_z3lCRI3_q7bv=RfRg8KTeY_O%Sv=N0=}hGmp2 zp}tacK}Lz*?W*ykypKSzJj58yTw97xydukbDfR3y=TQ?DK8*6DYFOu)@93Bs)^+AP z`mBaEnfZFuzQdn77iGR9Pc`_q1^Bj-@fy}W<~p{chV_g2j{WGM&dQM(^@DbL z<ZjUV zTR*Yh{iL>EQhnXXbYJ2~H8MgSGn>wthR&JbBMUraGyfdsoy&alm}fucl+RpLqmuV5 z*KM{2)a|lPsf$|!>vDaA>c;p6*InZqQa8_cT3xl3@!p5ni--TXaP`B!dsh|ld^y)D z;gfdwra$`mT>AMC8eL;PGed{5OCOP=`!Ra@2zH7CfuY}0XY~_*e&}?bznSMUEeqK2 zXYsjJ4>T9wIS>E1A3ktCey+h`Z9k)bF1+U(N1q+g`0J0D<2(0WaP(o$@7I@E9k-E- z_y~2ND*N|u&qFSr<9elaO8eCV_?~Bfe~|UUa|7(}Z^75kQRh(4!9kB5B&>Qo{N>`~u&<>OZq??E|l`{@Puyzx}oP*WdnEE9;@ht?Y+>tKa{^n{U7W zG^)T=liLi?*l#G`GrRB9MMebFMRa^b3S_m?UbD9701Zp z|19+h&dUdl59-W75%e(YQt0#)>=HR?eICs_~ z#Cld%gEPf?%l-OZ=poYo1=|fh-$(7`YB4&gi3$82-%+=luR@RjjY!1C6(c zwUo~J-Gc023BTZ9kQafBqTkM+j!(fex-a~Xh8Of*`ZOCqK($D9)?T_$@lDmpQGDnt zQ#sdF+;gsLa*<`unZ=30%|X93VyCg!-Dli?L;i=(+^cO8o$-b2b-3i#Ls#eeEpw|T zwEE8vWzQ{|P=pLCrYgA=d>UV8pmzY{o4^=@x3wmf9aFtB)u%rH&xCWk1Lr388mq(O zgLW-2)r_=4cNg0JYM62Tj9JUsEL)%2@Ar{Bu{JJAH@{T=45aYqO}+4^U9YESKh@Nd z;jFjTZtgpjY`@3O#a+z#>I!^e)y}9UwouxCN&6UN(nqbMq7ggSE=0c-q2CI52duZ9 z*3IL|>q}=x-Tas#DKNYFF~9KGyIalsE_&>dY|$*@g|j}HRJR1!;C&W6tUdiDBi^9Ss;^@SbAiuFqS&bB zfn_jr=S-07fVa;ingXx+)tLe8OS@uJvYC<(={NCzIlRp} zs{OF+;5{>s&gQ=X8VBHY_n9#Ba${DmJ+aTPpJ-3izpLL*l}rn#CWe$1D#I?fwID*%$@Tu0yb@-$$&`vPAHIQPN*qSrX z#nuG2cg{JwrUkmVed+v<*13{(oBwS2Pr@a5ye9>ZulFJ!sqbG^ysj#T^O<}qUMJf+ zoVl2NoPNY+Ip-%jw*4b?l74jTqi`j=_#NUYGdVw45b$+8#9TK&{`lUdkH6Bn^zmQu zpXl7YAh0fr{eaEKuUNhLcukY)kRAXJV^}ljY;p^0l+C$Wby@whnhxN9Y0bbMWuiYc z5FQ$MHV+@5)xU7No^R#(20h0bB0J!Fua#%zkB7N`4sE1sR6oFbw#a+dyvRf`?JhDESn8JOl*xlwBN_;xnI0-llcy=^;NP1Lrk$$%Kx14$>jvd#1)nFT;d_l(48Q{U@ zdtkfnox*pU*Q`*!=X$Q^dKTYL&|~maY+JHy-tOTkSDxO2j^6q?sy8NCl5eWGr!5!R zp&0ln#orkK-6~H*j}a@??^~g5*4*j|i@}rVc)-fIvk{qolDNt1=VXR%5uX28I$nM= zv^!EhcaU9kj98QHy9W~ILObpC8DAT^Nk+Tr=C}9wj?E8jXOF90ezWe0)>@lOZ?>XC z>3e1Q0^Ze%td@CvkZk&HMknFl%D>SWNpkgUU)rwEDA`P|LDStAGG+QgroeaI2|_ zbb9w0(QqZY!SJ+=*9Xy2#^1wMX{=(|e(MYD_i~m_`AdagP#tb_&e{U6)`xjPvj@!H zh-z-D4n*6ji8Y%f8(hognO!_1pHBUqPanJJ?+yAe-|6plzMH;sFAB;>Hgd*#>V5hd z$#2sK_lonVLso(9xC~tdEyLhXb?8)ox*7g@E<0iBG|9(Qtqr|@X9qlC=2yzu^3Q*| zrZCeQuY0Pe*wvM{HOzI%b1gK;z{ZwSZzl?$Yo9xe4v-yK;JtS}*QXN8(%gSDG*~tO zc#AXO%Z2O#_(Lz<^oKR3<|F(hKhfwcY>3e_J8gb-ujx7I+Mkb3tSQJX?0~VSMR->C zbuSm3d7rKBU$aWGC!cOUZB&P_xgxpmq;Yb)&^YJEOg=I=|xAJWHv8rVC3 z_{1OZyzuYk4f7pZ;*%KOko-W?ZPv=ugH_P58d~n8#)oJpKS*>Gon)8%;If+MX7SvY zL_=t*wX*7%i-tw$N<%~F@z!OZuBjoh-qeR;?phz~xo&!jX3%pWG>c;6lIRIeBj7gI zd(WZg4D?SrdX|Zv@QCXhnEICRgcr}=@2R%?!4#Zt2IsDRz17rn?5RH)2B*@m8O%w# z)%Y0bQa}FctR=qpv@WloW!*UjKWJ8F&u?l}O`Fwd+4o0qU%$Wa{H6}WR{WA#&p5xS z`!R;!3u~-9!^Gznwpn+s*XJkJoip@#+`6++pHFfB7@yzcKA+{Xt&a^hv5+$MpWRr< zOH*yzI+MJ=@)LBI?az4i%bmCIo>=B6zBhRDr}ud#rr^z6&(XzSI{Q>b{ne;wiVT~k@@r}l?uU@lv!;Sdb zlC$gaXC`AS;2~WX-&v*(_?X}V&fRXnuK4g*is0pU0l=tcqvL58Nx?<3Hg`)$l61<(R$K<*^CJ zPoSBj$M9)2#)m&fC(!l~pVINEGVtbe$$Dp{qjwYw(x0(U6+RQ6&nuAr8Pa2)ZdVSa zul*1)>DSJ+rsY7hHf#Q>0$;(rHfm_LHCQFp%y_=t^I2vA15{51*E2>R6w(H3UjjKS#A|jW2e)WE~&xF0LVu;+4bf7j8YvnsyuG z6#)ZhowyM-kiQij5HIDo zUxVH)wfeQcLq6J8^g#c)w@tW)y${`Qux50;jnDsZQC8@JKXtwI;V?tfBjrafH8pRm zL{sEVKHvXy@D&{f&xoc44$Sy}>1Y}i-nWe~@8yfI-xH~zA8gAkw;y=oWcumm2Xvg_ z2l*=KrW<jU^H#O1b78;*V1k@&WyU$Hv+W3Ngtu{r|qVChv>how)hH*#HitaOIe@gX!T{i>aJ zQ+kutkOTEB0#a^Joh zo2l!iK3_ZW>uJ}JgHn%tXgw7HX35Gmi7q>qJpmtJ4r?Fr$2@Q|Cy;nC6*ur(QXZv) z8*sa=yzQJ|6g|8_?eC)f?c|B3wui6MwRhKcM$bT3tu<`l%f@{xdaUI}`g|JPJ|Dmi zW}0>NCnbMaqjiq-W^}6d`Um3s+xz`454509TdUdM1vl|2$RT<|Fm%@>M?ac(olnIs zKx5VS{Ty~7hV03gT`}ShYdVT8_O$)M=Gsh8?n$QE(~d#!W^ma8y<01&r%U``$MLQg zrFZRk5VaAf12g@5=VWrEQ|6guUy&ijB;8s}^7B7@=0tgN^Ntj&xFD_l9cJwB)?>=w zIX7v4JiObVh&1_m-;qDjvfrO*J>XBo_HnHXTpt6c$Q!Yc7dKj0jh7vLidsXtk+Xuz z<9*|D{AcJ9+gCyR3ffoDz9JDn#y*(ro@{NG;zpV6W%xL;>YGcN=iFS^%BWfoPE?cc&|6Mew@o28q?^pJp+T$SA900 zHtQX!wpuV4VwC{3nU7y()SCHKgpE*xg7e} zKEm+1fke20ns~ZT94o^6wik^+zc9}T^Ncdj82!rMFz=^9M@7+5v7K2ZONXCkwh%vrHU++%_ICWAI6ADNz#3mzfQ-_Qu2+AgT)CX~HxFCWa($Ui>`ga4c>KYK z4l!Q9msd9ypK;-xR>x?3B=Uc$0iP9|c+b3}GyDbb+k1Aop&xOE%;?BZt;CkEe7YtM zFSfvw!b$6=%*Xh>zTi9Ayvshzda>fxTPMgTQcm&D(J__yq0%X{s41md-E!v99X58qf2kad7$?;tv#aae2E>>EA@=At}O8=bL?x3$bR^@7TJmU z5>ei<+{`tPy5l=&iz{O)Cw+JHlbVaLA1y6gEV+; z?5DWW#NgdL?>@JhbIdW?HPe1&nl@p@`)e)^-bR}!dMmuUXN;BCCe~QkGT|Vy8=ZmP z7*^f0t`bfP@WWkyYueX7T~p?)Pkhj$=$XOYx$mj#ljw4I^Zo{NS;!W?rj_ikayc4@n_04K>f{{(91XsE=^NjD_Kf}}4Yu>(^=<8kj+UM!3;*{Y1 zee~t`^flcx|08MIxO4h_mc7p*{QcJR{RrQqneg!l-n;Muuy7_W@-lq<0`EtozbeVJ z(OKwBY*muJGJ6O*gW=f23P+En=%OcqF;y2`@u2n6Vf5{FL#%Pl=$((yyC0*A>aBt8 zVd{sv{C&V@eftP9-$9&f@TtMI1r{~(i05~pn=d8LrIg%){7{O~6oHGc-5{7*v0`6g|2D{pF5#4P%9U*7$O* zuSTB{jMn-R8x-4E4&H0a65nz0jz6OO3gy!!;T;<$+hyz<<8HhVKZ9rFGevaj zKQLtM0`#g#LyM8xtLcT7vWv2Z@fUirhaOm(v5PJKQ$l~rvL0KHZH!=tqQDdeCfP@$ zllv2gp3i)xlNU1I`DKZ6<{JTibi$tQycXGKquZQ4Du=ghoeN&-e72vwfGW-yyAv$+IG9)UON{)240kxqt9<*C;IXIBm9a3zJm7K z`Tfq|6>DRRp}k0b9@g9$yWwWe)WA0j@x80~EF-pkIOqQD@+QUGKNZR2$^(-=US-K8g&zL)$n!WuDi4Xn(?e z-qWP}hw-PO^Y|{}B$2Oy3*IBVfzMmiAHKiF)91UsjJH4jM{9f-A5-t+$j1NBUev=k z;&UK7U3?$QckyT?--{n7SDw$OzK0$_H?$zLVGo~eJoOL6iUQmJV>q9*X{O(q*lX6~ zy=w?-j2(C0Ky36B&uD0%r}r$P>y}LN*#4U!=hCMP}oR2v2b*U#VGp*!UoCvcJ8A zPtFZIq`2t_+ZWkme37Y+FLEP1JGCsa5!GrcTv+ewVW-h5&tIh`ZO z=^VkiaJ~0*33(*5h*O@={;1Y?_I`(b9`0&#t+dXO@06;a_UA9UVdBW=46e(Fb&X;! zachLZt#2557#+Hh^c4C;_0^Y-QKAOw33u{S|j=f%Yad+x~f5Ht58e!Fz2 zqW;GYWVjhxtOKTzz@&H0ZU&~=@LNqc&%@t_-!elFLx*(s_|+K?-Z1Q!8w~z^#4&7q zf8LC_$iw4d-o>^E9j-h*ja$nYsj_qI`QQ!vSFSgGZNRSBeO+$D&u{5H*6=00+52d< zm1x~*$35duv(_apU2qn)63#}aVoxmM*#%X|9((MH1r=cH`V)^VAoe4>RzU0r7^g*{ zsdRjWAD^CQs@M;5arZ6cXdu_!-w$2wSr_cY2chlhGkVqqnd-w{7ogL|1pl7=xw4*h z!Jd?L!Jcx?AiDeQzssO4F{cj&o8nQxrr!~MyD7&;UX zn=0hOT|0K$D!nf9<=gz>#D#kw^#dF1F ziPLFo{1tSxd}SO$gKCt)uM*`G}m9zT(yVtHDVna-;IlVZDqsffE$`f$409Ii6Ou(T0EgW^~Q6g z<4a~`SmT~#4Ze%DBL4HXc=()PE4(=hnb13Ylux(?nK1XPbAw^-Nf&SA*>Zks>^I02 z@^j7Yr_~Rha(sza-n)E0KFRKzcxODknCIh+9Q!C;R>8bcz6aI{7WoOXeX@gwj$N*A ztNnGw!pL{T{$KU^-u>KEylJj6aM=tV^=@(C3AuQ9h&6DnWWR}Z<6Zpsg1bAwUFtuj~!}9|`^iJ@9WNSI^}U!=L2V6-~G_c+S^}cMb#p z1>k;ISz-{lhgRF%y!cez4xLw;b#^svw9cMGyXvw;hTG0vXHQLD!)XoX#wAnNVJ0RC z4czr$J@40EpR)G47W!yC5qTb5VZS3U@Cm<0Ugi@!9w9c^Q86fZr21T9Pv?1Tuzki+ zvQ=~w_&}BvmkfVOJN)t^#pE^>V_VI6$qaLLNpbb(rWn1t(&*L68SrIB0=t9m&kIJX zvx2v9-^cGF{l1?2Q!^6l&Hc{>Bf#-x?r$*n`F$hzr}NJmQftJQ?Y`03!+Bpe*Q?b& zkO+FmoWr$w8HqyWR*Ys&(&fOq3E7b@4}BdyG7lQu4*utrB{r%peW1^`eb)NZwH?yI zGmr(n|3i5biYd44^d(xPZ+6o!GHreTLX(5ywIg*J`!2@5n`iDSOVl!U63?X2zPELG zWFE9&uOK`RS^&%N88&@nCv>lXHQ9yO^(gl$M%(vhh<2sK&nx_i=wxE)Q;4l!Pi%cE zvGp7MiTHFs@7eM5jvasE&>VlFeV#w@VfC<*4*%)wFPs&ORuA*=2JdhsA0+yGd1B+S zt`}L`Z!7;PIi3?)muqcb%KRplC8ng#4;p&)ODgP&X@3J9DLET0-ROZ|I@8P{pE(R< z4nvs3Q06d3mMg?Yr?@ukI=!uM$Q>b*Kl@#S^H zp!dhnsNG6LR}*hwz1l(>t>;>4x0}y46Jvhhp*Gg7S-z|~d+$)W^O>Ph;LowwE4}tQ zoAv50>vOW#D?RplTZ+BrJV27YUg_HFUy#^4# z>wQUoSR*=$ZqZHLM}~74vw04=*M zB^}j6f=4zHe=9!oM4n(Q_CjB3URa)p)Rrff!W*06jVIxajqpZ2@d@#U=BC(|?b@$XQh8>1d7`DR9Q@knua#%^nqsy$ zT^wvUmRK_rogc0pSQ1%2uq0YHuq3u(U`g|*=%QoLv&%<3hxr!|Dmgf6kgexy2Xf|g zkY~>JUZL4X)WLq@mSnl^ZGAG7e9@Ws zA}+1%7^ai6=-9DaE@1Bt9Eo3Sze{|Q90#=Ep8|5>`{7sYoI7K}LUMeo(MLuPjpp6M zV|~=RLl0dHUym(IjJc*eUkso1OF_w|cv1YRb;H4%>@|aEplk9wl}8YRuI9Zk&Ung4 z*LX>JZ;Wg5+Q^Gy{3GRU#5gbWC47qMj%WPK$`W~>G5%Y9jQ^r|1UTMAW(Dgm=kuq0 zX60Bf6=qv6N=H0}F38<+4reO@CAs+Y=6B?rpyjg?ql>IR)OANQo& z@Z}xd;0x^~Z_16AhKFFQhWZk1L&_3Y;m7CQ94PtR;J~UW`0-+p% z8d_%fJrDfl^52htuRc`HjPhh!h`T>N>JMvLps`};ad^khTS&8)fIlgIPu*iEf*zIV zT)peo&$*Ek=)cLK{}%ASsVuSe>h$!NoQmGJrrw{Husq_x@|nExw8I(G|cIw_&@>g>8icTf7Ihdx6dN zA96w^hG*>aSQqhK{L=kil2KM7HWqz*v6X1KjQGKLezTu{^a=di0{SgRSB*j*$0GX| zgNMtY+j!2M9_`7MvG{ZIBgf!(cK+Y@SI?E|F2*TxtTrZ2G$gF(Z99m<3re)Fl#E~SM0Rxz4Vmd zqH)sw94pbCqg-p1G%vSGTI#Hl))iJsd?;`Y1Fiz#Dh94%;2PyC5l&tZPIACWJ~$Z& zPHM@&TF!Z>x&Unhv?b;;jC~>Sb_l$+7njkttmGAF(TyM0QQq^;8Q2p)^VpQhJ`A*| zGHd>fP$4!?u@2?pM8N-Wp3ytS%UGM}UKIV}U6+(8r)~X3!QXRE%goiuaZTG6-RNyw zr2W}TP7TIW+7_}$Wz8LL;vwEXl?x(#-0tAxEoXimwRS$`7*m7n)Si6GyLrAA9$OBN zAy=D-t&66{e<2P*jG<%;GqvG{tSD0Nji&t3v-sI4gbN_TL&Foy@{MI?T5$E zG4gLlq4(qy#ja=UsnGR$;s~Fm$MC_mN8{CFibJ}6>AG~Abe!fe7Jayoy`Km%sW9`5 zYK_gB7G5%Q9g}s{_*<9#0l~Jgu~Aw6f}C$CYbgc+;7SWZlhe za_8>7|9fyEx_wqY(~mc$$oddqMZVp$SCim*={@()mG6V2CEsWE@IJKd>dGYdD~tbZ zj*}`ML+7tDLS-YZ7xCpdXRkOKvE5g6CJ#nB5+CjSN1>q=nbzv`^>jB$3>cBE_1%IKaM6c)#G8&Q~9O zr*qxk$2&#$L*#s^U-6MXrHif^WR1@^ZE9XwchSQ)9J|&Y$2<$}%(Hyz+1vVC<0E$e z_s)OL#%GZ|uae65e0O&9)lOdt?-n+EpmmJ+!NA8SK97NKV*f{bcnx_+sK= z8%Jfrqxj+#aLqV|569Yk*c9*K!>iKp;W&pD(!ZjKfrC#22cM37yaJ7HnE1|f2DfH> zXf*L*hsQL&Xe3&@<6rEIAL|)^bei#bx3J+QGd?_J#^=+F&*u&skBMW?KC*Y>BhPid z`pi3>!ydKq5P`=1#A7WUobL9O_~=tO=pxtH(2;$qqCwVs=xC>|<9AjCEUPZCE3wAM zT1n^4U0LlSZ%MKmK@a)R|6ZAGSAXzM1+*zDRIN>FYM5G^_phpCEh~v#TvpPIAJ~EpX~hqWkH_EHNq+C{vJ&=1 zN^Bp&J*RR1_I1h$W!?HXpI)6S-(kka9{u`5#&GrL)x=R!{m1YSU_&p~7O;0ne$Omq zL%B8D!`uL#|M_#Du33KuIR@xx`K#u+#-S%XH;?CPPD^>tI`O$Go||!M%5ya*j(a1| z1(3a@aRVpzcOB0ao|5uh;~6KwSHW}G{qFvf_J7XA=Y^M*gAjo43OHx9iQlq!5%N5= zHz^xpXyEw4_Ps#bdj&Vq53*V?gMBgeJIl^xQ5)NCsz1xgb+-L#yT1kWr*oIiS$xk} zRp`HTa73Vs+1G+L0esh_dBL+az@cYMoSA3j-%968rxo|N-s2rCbvqPy-*!H=?*iLf zMuI2uQ$7oxA_Gr)SR?RdI#}&Kd&g%Pa@1?PUgmH51nyqjQG+wxy)bx&7OOI#Nh&Q| z|3$L&$c7$Sx(NLupG0jN{gv;FGbrUkFvA?CUivwK8ryGb50UcX_LGWqs(uKht|3PS-D&JavmLki;w=G#q?RryZ zQt}>^+{1%fhv%Y0BJf6({!5AdECOCHuiLt8c(9B->mn;B_-1?Zdnuy>ftUW8(WlB= z7wn}Tyt%NuK3?kkfP0&dT_2>U{;bx!I`geFT*cdJ*H$v0Likwo(fIa!?3mU*@Txfp zXL|m#=CrzxIcYxmz04=6J_z<9760ha7X_dAOg^>p*~GJ6{5At)4f!{2+*bIMUXJCH zvyML2dqRt-Ri~JPHqbIyUv_dV$FNH;$L|Niwod@OqC zea(h>J^X9eH%YFy5vu?O)^$1~rSC1QrF8a1^U=O?f97NJwSDe0jtvVl7sbd8&Xu=Y|9?#H%9J^z(%XH1!B%pDz3(ru&muzOIna6@G_OYH&^7B7mm`ni zy{q6OctK}dkf|4q{=6~3*$3_8_(JbZ`gBcKR}M>sT&>5pRg14n=?8jv%@Odgcvt){-6j0ly7q$L-QZcZQHJOGnuNQV{WF^6A5J0$F^T*( z@~T!UuZn#WlgAgpXVqFnwrs*y>e3(&n~|e3#th?A3J&R)^^z6Ij`RoftHd@uqk4vn zp}gP~nnMoot8!|$XO1vP8be;b-mo^ zW;>Tiwz`ltfz6|~trtGM_NvJm-r1|Lp3Q|EAG zrwiye1`jo(yBD&~*#Qn3O`IwlTP^?D7y8;{WJj?@_@NnnptXpd;}zJh{F77YW9A_A zM)$f|ZT+EZPiV(EVdw--&3VvD{IBZ9#nd#*Y+ui~t@7ibrS$Gh@Ne(SQ$GmYY8=53 z9fsbQu7!W2mFVYco@egF^GjmjAy#SfJYS4$DyQaWV6Wl^@~?D{HR{Tq`gXq17YA@o zhCbI0?qYAgX74RL>&15_eeydA-$l9Bi;wdB4)y>wW^ML_aZz-(silKFqNh2ZlojkC z$0$4nJweW1QQ_IaV)T{yZk?^Tv03x`isU!v1=(kKWoAko`JFAyxs*90vr+W4uj11+ z#FJN67ZwM#A6$#B_tW0Z>#e4J4Y}mv&BfS0$-__82eNCgRmu6~J@>LFqQB-lLv@g5 zjIiH7LEN~}U-^DK-7}17_}zIXQ@M=HqlS4bk{)#W^FH&Ma_m$S^?Ik4<5X~SJ$o+n zFMcj(&EV$#bo;$-|I}V+_Kyf<&MnqC!=U{1Z=e%Yvm=7u3s=Zy+W0Tdo-p3U`D4QQ zWC!OnJU9=W9M10$zAC^ux-g2Jegas#aX$Iva9){$^VR9_nS%3&(mj)cbJtdU`~zUb zR(3e?8`odEnllz&e=U3?xI!-Em(OXwZy&WZwjZ#pZ)Xo)zP5e=>wJ76`CFVrU|%<< z{WZzoLhZR_phvZDDZ6QfY+Z0c@E2DeU885^-?=_}>%y{ci=Vg75jvz z?XogMBTV0!?TbBqr}o=Gzj{vnw!qiwQ~e3H2I>}Y;9{EgqZMa4oqm^@KC|0r(x>1P zye^FLWpq|NM4#vLoC{~x+z}IG`)!?V`-kGI&DfxZ<9=gqK3@zT(HOUc?*#`V3=Zsl5Zlhl<`gkTsWXOTGiUBdbG}7z)}xOvgbvKPk_9lMG18bk4?VQoOu{oLTGqE|U{n85G$HB{quw{k5>EJO2T&Cs=d>jWh`4n1b zHS)RS_~g}^x5ky-y+!9{fGKzGs0q9HPJNotF8|S&+jtj8?tpCkVPD5V;K{x8!L_4D zzqvM#S|z!Wd*P#k_T0e_u5G3-!KeB(+QW|H&$rE|?!pOl$q8NI(ixZxozdZO^jq6} z;+ViDo>MLN-h9l~m<4a17rNNte{bx=U4ym80woja!}b;|OMMjrqx4#m|B$jDtUX}W z)tN)=cFrf0>*B{NR<}Wq+#=P@^f%qwKgXN_ihuIv>X_wksxG9?D9;oR@Ygkfi-XWG z?!SM#?$r{{*#s`7vxXCk*va=8{!}%6V~S`w|pZ`Ob&Td`z+c@27ASy)*9gN!1rzakrsd0RP6z|_;dX&yWVDx zza{^-lzHcocaVV%D9_EPE5&z^U+>2ruqLU)p1mZQRnCv!*avD|Is8}Y@L!Y|s(i3= zXvA4^-uu#13lzI+&Yt7c43)2EL1)uuDH2aB$Iz9+SRqMPEyIFNberS0$fw=MJ9`=eP7*PNw7&ejLF1(j%X5dgQZ< zJ|&-%=wH5-Qus z@~H%SDSbZ+A7|e)>!{}0#ypkV6lb2=t5=?0D{?L0vK76R!}G?X4Z>E%o%>Q?b$?VgKy2OFW9nY*|8S}fIF|~$OeBITD z51RFOPdrpSrg%|=al^%i-}b21xbbt@pXfKq&Iu{!drWJnQS>)9khqro4nHw1>2N)( zoJ-|D+B(jToBGq?%JmIv?PpS9za<6sy$+xKCGal>=3iIX@awx5{%t1#|Gv^RwEhhE z$Mpe!M}=MA^lB5I9NL}p(Sk0HqBmv7?OJTeAbLl>oa}~Or#Z{`r-z0l)@0su-h1_L zS{>!cQTDcT--}KqhL&puw@~|dIkk_MQ~P*1wU1jDT)A$SW!3HCnK!ZdIrmRq7w^B! z_z1iktVudQJ1e^>Coi`yCo`uhcB9tW&O4@9??~S%@2(a8Ko1$dh;ZEpPmEwZ#a-eT z<4dAv1;egJE0~SGzmhTIN6vX~ccxWx0exf#3f?;ayo>Q&WXnDiUY-}c@da1?+3>ak zZ#)IwU%&$fUSL%$KP|j9=NWjrYhuek#?O;K`d#q~JTCiZ_`AZ^{~4xMRGw2Sje5Y? zD6MdPT6G0o~A(E6eAyhYDZ%q$lCYFgS^P z`7`F{xAAk$4lCF`#238n)={P|yJ}jLDhGuaUMu^XyDeYSQ}FBq@azNd>;v#@9yHIh z^6JL?v10X@Kh`vTE-$aHUuM6iF517ciLhvUx815Y;+dj`CAms9P(znpYDSMJ}HN zr^~?UGH|*KobFywwk~e@jNHeMFKT*o!Q^#q)C0%`$GLx8-js{{w`Jxw#dCA&MoAB> z5ni)wysii&*xWlUItQQRc4TW_4}O*BXRlkcLdVNlTQas_NF6^u58vc=2mf=}D}yg` zS##!EnRRh=2EJ8^;D3VlyBCzNn{4Gcur6+DLx=SS>ttY+zIqKmt_9h1;gfyVnRu5E zegSNf{}!z)J+Ooqf>Z2Y40*{0rfk-?W}gk1oE~AFC0s89{w?susBZWc zHEo424tC4l@}@D!-oebgZoVk+Ww&os{2e`T(BTCe*V>0szJ7K$&hG)v^BF@i*Hjoq zgM%Iz$AJ4h_#w~Xhfxkcyl!Aj=7)m|uILp;@q_Rgg&(x0Pll1bTVQl~;wugwm7DH` zCp;gXKxej1CSMk~{BzHr;8$$|a5p=JC#Ir5iw6hy`Un58(?9q<{yREn!M~H3#}%xZ z8%|r&z5{$I9;fw83|-W1U*{tS(A$M4!tb$yNzaLPw7DXmSU2|6wMn+^$uuzm#gChz zf%Y>iSu;JtI$k+e*xXnuC@@wPhSX&q_SH_S`(S;o5@b{${bwE46pO&fj0--p0=yc)f1bc|iw)urL9%+2VT z>EP{p_^LXPNQL1LIBj=$e;)jmPy8we8I-L&1b@YOANm`Q<*bu@j=KMfbz8dSb7|AT z1y}dV`$x~g8SIcAtlYbhm^E5 z4Jm1TcSuQmA!pTUIjgsvvwC%$)vG?O$OxA-R5+k#h$h8vEz= zhaR!p+vomzYyW>~AHJZE_T(4#HU5>f4~*)gePiG4$I-r!x{bZUPoAN7{GyckpRf53 zBPSTVxww=)nZ#Key(|9eQ>g(-uHbrn{d#f*i&$?)Ig?mPt&k1qqe5_7gbOTKD^(&vm(YElv_KSc~rAcD;ab7 z;;WYMqIY|#&bvj7SbKRon@1dU;t8}oVa$4PvH@K-f_=(K)Y@x4&pNV%y|DEAb~c^O zGrjKZIlMp~Y%R93o_x_Z__3bfReWk+Q|sL#tENQjh3v-O*I#yG!UQ7lW( zi^ktcHh`$}Glq1|w3w-7uif0ljYgmCf< zIMF&yd++t@t&XR~pE`R|NbSd$ExVrHtIXr&K;mZRK^~>4W#PufBwLEnF7BD*o^orX z+1nNW**szMhn|za-W@-3_%3x0)tUq6oR(1cRC6!lT|VqTn>mbN4kO70i8jbiAh)~m zjhd{)dYy~<|G0Y>_^7Kh|NlFg$&HJESiypl5Uy>qP=W%On8-X;-)MTX%oLBLzzM#R##D$Lg0E-AR|3}tO2v}YHwh?szt83 zF!CN+6Ft5&^3>(ex$HUD*%a$uz4N86rf`4Ts;S4G869dW^!D5JkVCMF9Dr@)foZLw zwIoxwtp|KbzW#tb6gTI&D3*LH{g}mzACIZXlJW@nmh9{>V;dBwJ>;}Z9W>W^?&Vz1 z4XkmyG?BO#+LB#DVt9W8QyYQm+u0P5geV6k;8PCaNN&*-s3w~gfj&eT8Ued+Tt`By#Vc>5E{-3%v zXH)-0{oz-r6>ykZ0V!$)bhFpHFVNrnyFmYu-v|2ps3Y*|{!!G=7(@MxGpL{8uMgnD zAFrZD!h*{FWxo0umB<+B6v@{!&cnW-PNe2nF(|(bkluT7*jvrU*1*Ql^HX?NG!rL2 zl0a9g4)GU8Q_}}JQ!b#9Gx+dZ@e_WmI%ddF<)Ex3S8Crd#!cK{K>yz><>f&(gTMR0-&X22v(LPPJ?5S4>F#1bclV>< z?+Nht6!_Z%{-_D_YS|es{x?!p7Y6fi~9PTUp-1bP^z#z z(Op=c>?uJ0}^@1|B!&!h@yv;rEf=*db0~)9m4M1-jptmOI?Q76m!w8q&g2SPQ5y#O(JO{mf=SY9^ z)uOjD=xsXmb^-Ku5%ku_ocs=7`Sn$F+aT^ac-`x?{v4 zHWH`pxaLpOCsV$i(I@+UpIe_uKYTjZd}ir~N_0atbR~O9>zcLi1a4kUj*5}dsxR^& z`a&}LVdnEe&JL!{Y(Uy^6o-I9;tz==?c#Z81Jl-U|EqIy!_>v~_Y2dY7{O`OO;~YnR{Y=;>n8NQoymc4hesks#1x9k@4wV}EQx+dNZ#D! zm^iTXPzU;B>(%c5Vflv*%5(Jm!;8+94}`8jE-YQ;?o%td7@Z@2M%E6bH)FfWQrSbLjwXrB*NX#C;M{R_(H7xI1@8A{!5 z)&@*1jEC??vtbSSU{$;FWw#SASzCn6S;M%oY2}}$XiI+JcE5rSt=bmf7u^#|gm8d2s@z?#$ZRmP`JHm%*7W&6}^C^z?nS6Jw>o`|i zeP3(g!6p!{<^S9HQG8Q=o$dSSiSAr!%}8UH9X*}#tDX7Tuwz#&IYrnjkB5C%#=myw zNpOiyR**~33hl^uY5^X>oB~eaM7hVJBhk(E>}x&1zSe`x!vRAxg?$zHA8wqgfamgK zKb(LaHHJ8iM`yMj&3lb<7JM;`b!P0e&A87;u1AJDv%WMxng98 z&W8FLIjmX_ya!(RTDbpLvj=3v=HvZXcZ|tuYPl3v^v_p&Ud(5*))&WL9F@{M6!uiH9^^Ydgq~xAQAp-bAgeWHmW52A^(RLeCpJVzFat z*lr@uqVWb4BcRO^`tY|Qde}SM_~4tZPq_EPgMC8b@vb-1<_t*n7pJztgTP|GlZWtt z;9@TC*C%kb_~sN8bc!5pYArTWUs-nAUTUkA zu^;?sups&x&vd&{RqKV3n5 z6#pu<6}sQf+7XQeimy}8^RtY{=uhl0t#MVTh6#Izluy1KUvfFVWSAUt zV>gD~{Yv7m>B?t%m_BJU`DnQRI@)1@*;Usf{O%}bwLr*#=8 zb~bGwYl$hG5w)_{^+8=azk)WibjQI3=%5AYpatk4t+`-x!!JkR z!M?~sbkM@`#hk(A?<=mlk-J7k6Qh*Z=H?@*X647{W@N3EqyG227y-OGIXZ0Co5T?p zmN!sOXHwYpsY;;H(V|zydq$iaRgIbooio+|J=KCg-tlaLA^AOi2|99~TOS%c&Q3s^ z33REQ=bwj}=WCefQyjaMW5V50>d49dqpkk@tUY7(%$NMZ^~{%Bi@Shx4cr*QgXHG8 zI;b$VcC_>OTH-~6_Bnxb_J}>!%{;7R??g8+OGk7wCu#D}yUAJTA&0Pg^j%wem@i@$ zvu7ZKm+*}C4|dOXW3{4F#Vky$0GjEN3;^CLX!l3pZUOYu4bAm%jkWLoV#Y9&dTZxX zZ|w$X&M9_jF0aC+x!Zx;;%$@gb`|qs;%#R{1K=Q!_bZ|ODrmNW_fxbR1P`MBkm#1* zTBl!0J4=xtHTYE8<5hz1pJ2?AmkIo#spRcwpM&MK)NFVU9DD${Hv{(o&+&|SEI%i`(%6)z6`vhS1%)nL-`<+ocz8`oCUF-`hJJ0 zC&;{!H|saPebY3K!>Z}b{m+ReO_@mD@23{ySH~bPczHcrj z&*j-r=J!U(Q+B34>w&)vI#4{t+C|1@I_Irs*+lMqx^~gmKic2iqS}xNb{HQW93UxVDyT<;K$ z3wd|AmiS=qel7;{Evgq?Ymp4k&fT6rqfw(YAbd@XR;yXKPYFdzs&boi(+j;Exs`RP{Z-|!9;_-ixn#&4?M1$qvxX-7@=2w~ zOdbTZXJ{no<~?YSaRNUi&$mBSy2iDA*>`Db)La<-OgVIbZqN*KFk}YZ^~t8(s!I?5d2Hs8!Ixvx+Obc`uXt zmear1;@5fo8$X71v1e#M!Zp7x-$DQ8etcYXKldfe8ULY5em_pX>)Gdd0DG|uT9{Uh zKNP<>+Qoc#F}H^q>jtlnRlHMFF)msdaQgRijkWD32imU5YMbBRrfu8a0oEQj&`-BB zJu2P);Ca$9qodjzA^uVB&~bg$AK#aOyJZ~u**6Y;H)syi!*-_OD@W_ftTAbyXfbn` zCppP)vp*C1PC~~+&LOpiPB@1xwJY+A%xR_W+NnvHpQ* zq9GXVk%FR_gFR9i6tFIanM8}wVleJ6f4^@9icgP+fi=F^{%Y5QH7CVBGE z*N!#+-ph?a{bcrw{87`@X#iI5E}i!Z#}=j+YgYSwzS|Iq(eQq^-uH@ zFGSuAN8XJ>Ceohv2aL%J_rH;1e_h^~zEbRuH_DvoS$WX7C(~^H{c{GM%zi4tbBMZQ z7M9ojqRR8%%l;TwXSjO|zLf>Tr#u+CEevG=Gw!9narb!R)?DcCeZX_5 z^sZ1e2|VA*g6H-ucxL_y@Mzy!Hhx|UK_Bp_LvD%ov{kdVwv4^%A@DU9zujRDQ_!~d ztDBe-dhmzPr1tKmpmjZuU9!ZF!xpozesZ)F9?<^1JAZ*6;~U3-t>)3$8~=1XovB`n znR5@{32ae2=h^j>EWURddYd$`SHjRg^w#3VLJW*mF0GaM;1R98Jm9?c(ea;j;~zD*%VuA6JAArFC-IZL-(gI9eHru&);mW^1+{t z*Vn%KKQ9j^`QQ;gf9k<-I`Uv6bx4lmuOe3-)KEtwgm010oJuZiAm@9-aeJ^s?Hhf2 zusc|9ZY*)4jqg<5Gi79`NjBYc-X3h-o5CJ!a>ZZRgPgvf`gW15J=i6zPg4t_FOGcH zK26mvQGV_xHDBd;L9>IJ`2FPz}Z9dlgpBD}-qv~_a-485HdNQj1&5VqC z(#OB9y)amQTYEvgP=fsM%kbSkI5cO=yuJtQ1y6<#WiLEuqHG3Z z8zHkhh;3n;nf<^KY8|j{J5bZ75xC4X$F1ojxv6KTdUZW&nIE_2PB3T9oqSVsC)k&( z=8n6*lowk7-v7}z-fW&J%YpX;7Vq0#Sx`Y7$LfZIo-FXogJNjwy-|blKN@|;dXCW# zaSsO$<1IDy9x^x>xaQ%&KTivNaBH59eZ}SPq=nC$r@cPimC6C%pF_UazdBgHm-=AK z#_4}}aQf}vUs;&{f1q!Z7i9QY^K!R0-c!}L?*8D+{%yqsWjAicCM<=PWKYTtn2Zin z-7Z~Usx>lvGx;PgZRf|nc@{NxS+ka}R)dV}C?j8k&$YyDmh!LoX$>;Wfv@D-Z|3a6*+d=na*$$Qiqis2jVgcN+Ul+Q}?haMgErWZFjo;Uu*hZp~T z|Cz>r%Fxeb*73HTpq=%;c7EsK&X2!r`C#GKnu_>%8S`wK^%jTY5jCy+W*|gm(ONy`CD}le}1qXkwNJ!ztSef90{{d|E1M)!FK|Bbs2%8%>zz!!zy}$-)?ks%cWdsoeyqH!#1J(D_uzLr z)E?<1=DeM@9x$|(sTrs>5Unqkins9PmA6&P9+L$4C$>Q>K2tOBQw-X%hIisd-AbKzJelYflobLvy7tER;x=`;*R;qU3VQ9aN{=12(CefXWWxKTl zIp-W%e(l%6C(oPOfyjYQ;81+Kdpht`vmO)So$DAcxH?(=Kw_1fBW)vyRZ33;Vi)$m zXX*!TV%^0F^;IGMlTI!wOOpNYO>CZ1QYk_VYX=GHntrf&aQzh;>-^+>5FDG^yX6;bx z`16r{im|x+L!8+6@4?RjH}-kO8S-1gg z-cf1EsGM*lfWyXc(PsvZk>I9MvY0viXZkPZcOK)#Pm2cWD*(MojxCcMyWCw@b7|tj z=q%`=V>WZhyNau5K9j6@b-ofVpUU3ekaA8~tM8y+yFRG#2Ux%U9pldntKUHEHu~-3 zx7MJ~WzH0j-gqAQPOOJ%jYah}*PStER{Fn~AO1V(hdJzD4{vwVw${dP;{6@W*R+Yw z<2!)=0Pr7XzMl8Z*XMlmwNG^rnJ@USf3jlVTDPU$W&F1AYOQF6V%^?+tpHD&E9$T^ zUMF@Xa1XqTpBiUvQfqRGneAZSfMJ$}2<{?a#ZCSQzs`%~bVb^>@T zo~DAQ`@Q+y4os3wn%{jn=2yP=zkd{Y!I(79!n=6g%r#@xTzCIhxcne<&EBQ{?aa09 z$L@RC!CY&-_I@+h)cU*oSaXQqYRf(=9i#cYVkC3N9A2+aV4UVqw+oz&^x-Vvo5Mc` z&;0^;2Jzg$9OlI=e45Mk@Suh1A@HVp0e&8Qh1{t3%Yzq!56gp(1J4X^j;1(yO{z!W zpC`kIv#ngdkiC=zu_fLd4VoL~E5&nN*Es!8(~j1g#HX@DjzK5dBcMFd2Iftehc^W$t~{;PK~K1Kqb687yJ1}?B~QK$bhRHQ&&`Sp!JM7v(twqqwDVOi*TCg#h^?mvetSO8uI$%3np1(%$mab1E3q*IxEIRwQ zk01*elj>dw?*sJ4Sd-9D_uXwRu=3Ao~itnygpS~@K@d(WzWq}vfvNU$?3=fo!Mk% z!6x8)mv!B2etzV|<7L2uT=V-9!Mj|0`XldV{PB%v$#ye|eM$*fGzWvt;cj0Lyj@Ry*`rP%VN=(cU>T-CUq%Q}hTMFqf5jpCaV#Fg}0_e$)! zM4mq@z3TT_vw!=2*efjj!;e2t#`>?lmk#z{6StrTZgr@=jUI+>68L6Ge6v)w>syoe zv{`viLCrs~Xf2`slk&sddJ#Iewf-Z(59~FWT*A%v4EK3%E+K8WxrEr>hPGsTKLb9r zFPU5|&dxYDx}ABJ-$c&QW^;Z!_f|8nnrE|r*?ZUI*yB5PUQ3-JVu?G*Cp?J!=pmo* z0QrQ6$tNrbY%qCZ-PgJKgz}-WDU2Vj_WZxydiScmT@d>M=Zsg;)^he6Ne-!&!XnOi zT{h8qp_=cCA=NJDe8-viFN|3}OcFR%BRzGIi?bT#LwPvUdXgg{^YRPZalr61x=E`L?I_E~y@=8b#Al=6sg z)Qoc9|L>TKf?RWf>`qlN7x3vx=c4NL=Hg7|A~nHX^U{8`bb}RAi2Z(hy^0^h926PSsxJ15~GkD2cJt1L8{lD!x zgk1>_=@W@1^pO8+HfVn_*W0>x`&6NF6;{Mpe< z550-4ka>3^?^gKV?U*#=yHk00vRA`n@=RkVVuN_P*ZFw#T<#Cn$A1wW&o#+ftIMoD zzI$CJCM$jXm%jR2s@L3$t@z%kOg&)L_)G)0&LCEe^8`AS0dHA*O7Ttk+pm8J z+nRROW)j*Az{}|Gvow}2_`D6-zL)sRKJ2tf)6&hlwijIQ!zaf_+vVT$(dOAR`#ihv zVe)6lmB9Y>tw%MuHr0R}@P2m%r^R%3L#gqrLwzy9ziR0m`PgOn*fV`F9rR#&7MNsT zx;bFvOOgAfJg`4ZJv}(Fy=2ia3a`4bdJZ~xZ#1?u{vQzj1 z*X2LP&T@14@?sx>kNmWtb&1hFI;iJaYma5;w+yz&n1AfC+ocnI_82;Hpk`GWutb=9 z)`Y3kG-p<=H}}*PD&OzSnO$At9326Tq@Wwg+A;pQ@a(g%fZu`n@U9UD?qB!I+g@6M z-k8ez>jNdB*mAx*%+Dm|WH|4D2kLu#ad#uwdin9QJZ~_5QUUNY#W{K- z_z}P8*o%5(c z8!~k;pMIyYT{(QpG26*rHR*owklt_QIpMjLdYP>}*IJa{)Hou)UA|T?_P}!HMmZ7o z{a*M$=O_5v(6i4`OQ10vctOv{xo`LG8yq*dvUULH-fz>!Z6(JXjT;>x*&jltDBo1$ z)OeRO);Q}=f;B!4+njMsVvVni+}-hh8RE4mnNWm}sC|qjz%m({>hOFW=)$Zil`;09 z#zdb}lv`zOL9Y$T+t<0C@b2mNulX+c_5Bs!^`HB$|6jgm%iG5qGP31%cxZrss9E;j zs7$?X?deM6_oUMWJCp1aPXNog&_^5eVfG|p53Bzle~k9-C| z?hq{h6?GznuHUFLSmcv@w_X zO8}ZOad6~yb0NNz zX=^O5FP>*&<0t#==f7$nP9GUUUe7f4%nu&l^ zdr$M-wDoE+d$>8T4xC9Q?4_L!ew#M9*P#4G=1lTHu{+7wZ~lTg<5|twHgt!XGu}U+ zIcxFiXZi7Lb21dGlDz);+t4iMNyyI8HO;Y}kw4*oHZr2_ZuwQ6*lQbjM|4mJ9c0r0 z`s=c_%s+Data=mUQhX~AyYhX|fPc=DYcqVb!8hlYpNb7XW%3yY>1Xz9OO`BRzQf`t zWQp?Ju?_m4A$NDjYj@tW>07XuL3zX4gJxGKH@B?_HJ}hH@c|IDQrq1gST-# zfqd#fPV0=A^hD=o$(udMzzT5qAbQ*3x9;gInWEBzThio<6@FyvmR9_%6{}X5b8uRn z!cDE%Dy@!lX@>S)IXRWwvsR~|UGp&?`?dl;n+Hz)ye2$Xfq&V4zgOBwy;0poY1Hcdgt|`EUAHRnFkDIeh9F}-Ad~*kIx-!H^OT>Bw$2;{N zUlQj{c>N!3aQC~eCYJd|!{Gg{szuWAAa>rveB#@yUVm~cv^f{rWQ{`g6I9bgwI;gm zaPtAlEp+P!y^iKE8U-n(SjSeCve>Y=r zW@1OY9WL*fMy;W_nHcLlQ+LkYuRRYvXMSg5teX|TABeGTg(rF5A7eE!NMc(l?u~{Q zrTg@~1Kp^1Y;3*;c_SSXWb7XRKIGDi z4I^ECBu-E5VAV4wPOloBz^(6lIornM-+>!sX*7C-{UrZovd#m>-m>p5 z%JmM(JyOJeZ_6{==&n~EZ_@}Wz(?}uk zZRq$N==+4vrk0+65dAM&y5GdJ3S)0>q-G@akG?G*&>amSV@H#-LfsAKnQ{Fu>f^-G zFNqDbjb6%rcEIlN-p&3^>~XVd0|lp;IHdXR@ZH77Ad_ov#4SJxjJGMiX-e9?c6+r z@9X(qh#oD1-io2S=Q*3kj(uM-6Uhh38}aJ~`j^}&=Kr%?%gjfXU4Twj&T=FDD>kcjzLP!M z5e%Kby!hA?`M|GuOd;^=T!Y^LOAqu`MBO3DV8J8%MX@I02knZ@bmM=VuNRj&V)Fjjj|QzKIqxYI92R>989Igbrqfo4_m=bCRPQ}^ zZCroJ*$!h`BJAa|59@ zt9bu@zTa!?V9!VP=KExG97nb&X7ngyQVb>mOwaN?7k`PbzFK=cUtK(e{hhtPSZk%} zTBkfXL+54H>74TN)E%4~8*pZaxYmgrT?a3vYx7v@#}1-~MF;+qVmlp-NB)!c-F47L z8FQ-ne+wB}qy5BpxN+^h$gYxOwRgvP<}G+V98?Ts?$7+T=%EANUWhC|$F6%U$r_{L zccav#jJvlvQ9JDE3_J4oyIaelXjzYknYd_Fx)@}Xy zKay{a$Pc$2*G^BCQM(7-qnsdeGy1hRD1|-}-MjRBVf5bVth=Bumh=7tyua70T_OME z7GPaLuF(8(=nnMh3f@nmGv~ug)#%}$AoE(tM^S$F_3W`->aA4sbr7&GXKN$Bq{oGmEpFXh^@7+F;8<}r#SV2wt{qDk&niw)rnb1}+P$IJb?~fN3uCM%=ahGq zb82z10$AZKlmDVv8?x7pwGl6Pjl326oE@9+SOpyiRWHNjn~sjY#okDJe=_Z@r9I72 zc!t|v2jAC*l|MwhlQz{x82ij|N}_$dD;uMXaZd&pQ@}wUc1s8t_c6b!K{t;!m(ym@ zgD(`8t_sDTr7io+6y`D1;!qTkO|_;Pkh-YJBeFpkJ35T|E+S*_uP1~crk^tm=Gc$=i3-?oP7~b0fCW+tp$7{j2Do>qphy{SbYPrT@3n zTVK>Oy1t(4J=B>W$@Mhn!Ry)%T_e6G-JfRP^Z|Y!Xxp$w^$~lK??rnzZs~4Q4vEvZ zn!KDHt4ijCI73%o6N4IY4=C70%%;XE!m^h_CY2zh4Y z(4^dQXdbkALODd6rz3|Z8hrcY5cH+>X~8Brluzzrwj8>_Cx=SJXD5?!JNxxj!I_kn6|EBIJ|BtCdCfg4fP6pDgmmBY&xj=d)$e9ORy2(H+2P zWD)P?l0~X#NWNl57V-Nhz-sAKcHDAkas{;6!n)K_XjSXjE07&s;Pas4kh5IK(OuZj z(CkkBdxM-g_|C>n-8?VfDuQ1-({bA8VsB6W-d$T-`L6ZC{CC!E+Gd_9>}!E0nQ|J*lPh&uT(5C3f z&RZ#byA(Mk{Sl&_N>6`$1soW;Q{}F6%wznG*n)!bOrD!c8#TOJ!@IJL_3mWzZYcJp ztattG99%VHj@s#FuYM?S?1}l{^9t~}kTDenLQQ+{GkRDfTTFW!*yk@*0p3eQaC z**&ZU>Wpq9FZg|!-&*6Af4vl6D9m$4o-jXCknK~E?N&Br*VMcw3r?+JrPGBw%S$;& z27ObiwM=|*#r71_4ugY_`tM<%s79Z|dECyOAB>hNcXhjTPwj5`15GojV++2+;L6Tn z1e`^{nPTG^dP zol6^%Q@=Rw-p8YJxHtIuk4G=zn$;uH9pAmv)g52JcO9@l!MQ))PAp`zVj)^_nct zH|hfedlC{6=5!_Y(i-{Uo_$8&$_+li+IEuqRIgRR=g7uMU#@>>QeLp{C*<>_uTcy? zxHGMJcc6!G-aySi#na-vlPJ7%cQWNfe@Go*tuaeKJpfH8o~#&#jRz!%?RBE#x-N%y z7P#@m8R+K&=#J_9_Yl)4dgrc9t(=1#;yu||{v2i#BZk*Ih)K9O%dA(6_l~Piy5GHj z1YWQ_uXQ)$k77G^cyTS+{@u{Lc;w+be758$XcSx0#j-}PRd%b1BVWt=*CBVY z$z;dYA$OFM5P+v9^Ir;|mTH}p+8R~2Ej<<)-S)Ebvl^UWdt`i|DGy!~o|m(>8hK-0 zQ-pdO%g}jA@PX_+qxUZ}5j=1Ot5P{T?KTn19Xb_#Cvq4*+cW(4X;Z^zwTn1bnbI8^l-;aI}K7-(^ z1Nh|+%7+Qbp5eOuzlGo}ua4i`pU-#ArS@4KK|X12BiJv-7v_0en^!)w>{qvbdqFG? zz3pR;)Ndtv>3;Q#J;%BL^55-K>-%fNu77v|{j9Cg_dslhnK#iuFlKZobm-#PjhSR{ z>|5*f@vm^a=ZnYlEAn?Rf0AeA&;Lq68(QyFUTqvaC$V|tmul=ajOTQDC&m0MSA80I zXgNHjS~bdt-!r1I?ep(*spTS&ud^^A+(4qDp4B`=F zXypWW1bVhSB3dpbPa(;iO?L9ybMcJkemQe5Ue?^ZvebzkB!5RSD8+fjKh@~!?-;vX zb;X_7xVNAM`qCVkxoL3c;;YQvB)>n7tdl=3nW}mD+Z^*EIeK3f{U7z@+jHmvzkHL< z6|JYs;Ailn{Z{cZbPaas^Ih*X8$M_LWZR1V4KKsnuk^sP@Px(dcJP{jzLhg4nhs)* z`1#oKtzf>;2lFq0)9BNNpgFHdIoWSCCtwlnU7jC(({w8!Z`^HR=u5%H5od+&y$}|x$vffcNm-6$j>J@&;B9K0vP5zF1)^`v6h8AT^w+A@zN4-gN()`_VgU=RWm!2j?H;#hUH4{aiZ;PTIr$ zcYD_?59+ydo=!Jc*EvV`V+$vEcg)Y;Yu<-W7f-5vmlpDkEKJ-3Jk54(?u_Ua;JjXS zB`%&AC7$J-EiCyD{P)Ilt<}*DOKjo~Qd8Vep<>q`YR2Zqrv0tF zyPZ$Qn@5{LWO*VLigqxLPR7y2I7)~y`QZ|*ew_I4X-vO__J^WjyWaKS?Z?X(YY*J! zqh*IbLoXgZ&%{6W)3fxoS?|3LdWk?U)r{vFY_XM2{{ka>kiAy+pd*nJj|+b3x+xC+ zBJp>A-<`+rIQ~E#b0PVqXS9}1o&^Nz&v?6N_m*lXYnf5ebi1hIE*kK zE1`pH!~GrCh5H{>ybhUY`RAqSZ#HY+%Qo4s$bnk%7jjE&YwvVJx2GfZ8y$J8xlgE?iR z;w9jAE-;nBgTT5J`jAgiqj-4T)aVtQU)d%f1-rw@QuJ9ET+7dh^IdrPmBxJ$^u_P< z#Y?m!-(&^t5FhJzZD#2`@t5++#A|Mja~*9-cH1$(F8cypP0pG}*2~Jl!Jv6;IhKCx z+t5**=Ow=tBlXKC&Eo(KR}H>rWmhhHR`TrFZ9~(pY}q9_=vVfL>pNujGj~9{ozQA( zF?e3UIH4b{V-$d&F2=3eyWQaKSwqK#F(=^a&^S1hE)y-w7ZNSQyXE|z#cxB)Nod*V z9Bk+$^IpaC5uTS#s^{^SSGag{>=3UlY2krMA3fIE(w@-lQhkZD9{j-44Co|c5 z`QE5812$i(37pn~+XisF0l5&tCqYI?@Aev+!!9#4r!$$0@qt)Rg#P2qOJ@T@z0|xF-7}BA=mFaZSd-ck!cmQG6&mbI*6dH)PHg|Lg^C%G)V{7S9)- z)BdGui~be+?BspntIOb4d@X)10Jnv%4~1+saWY_-X5TB}Jz!AnnO0y>o{HMwY(gUw z-1TqqH9=|$;C=|=gq(vPAI ztBWq4=K7J7up{DTt@D!T1-e#-UB$IDb7t&8Xjd_GjZL(aSji_kErFa!603+u0@0a& zz(ylytqXd&9^D|hGDdX5Gkd)~%8J*l#9yx=mZST!p$FY(Y}MRno?et*)-%k@>@M)S z!?TqPKCO=k9UDFZ|DsK;wJH98|G*hyu5US%tP$QNZ`Pg!=egq(nf#kL^H?wYVS>~D z6gi`b31OobMNgtV12cI6ZNciF4T6QfBUycSXUR9|kC`TZnu#acxoVs0#xh?{nOG*V zvSQhX#%G+Yb42jJ!(J@Y{uaM{o1CK-odM0-_IK6B@LF?@QN7MFdb%ho-SG;!xU}z%TX>$qSle@q&&|iq;8XQK zH>(~!_-rA6WgoarGFR4bTLz957gek;7mok;*_oKMpWg&SVHUm>k5aw)F?pN~vE8dT z?5pQ{I0wANS@BHh)toOTJ)szp_LNt6@l4})Av+~cN2mYTT&KKpV3#eEf>yOow3U55 zd(pq8$g^eqS37~e1hPXspz&$keq34_(s*9_$BexAxer!{KgkDUf0%e$X8(XWUx4-U zeBgF~SF%^~()1C`9UG9WQh!hQ`ZM`z;Lq6a7Kdf-ITI&3Ut?!he9zX87aj#q1lzdA z!sF$T*fAT~2^?R~g5z}Rlb*EyvrgXs7yjh_2h;m5^iaSXe<`*{i5vug-2RdFH}1 zm>x&N?JhWI%=l^OPuWs} zwFtg(Ws=tQWv3_y+O^kD1#Z9IPkbT6$AkC^U1He?&%K zSb3`WkLFx!PASF_gwOo&pOEL6e`~LZ4jw-NyaV#o(!)vQ>7rAG7ruPI@NWDw!dq+4RgcSN{6PF1-$(@6n>y ztoiPMZVTaaKMqB+aSPx6-0<0XxAxMkT(FMA_VQ@;Wec}A|9gFO`U>}?oAhV(({l!& zgXO`Y9Q@Wbm-shwAsc@2TqpUV@=Z>M?|Q@s&~n~M#v_}%2isEhmi_z}@Qq9Lx$Ss1 zp2R+2Z&IIK@ATUTMeqKx+0kCq9QHv4GJG=fW;y=@_5%F7jQ`WI7Y=?tBWJSfM_c$^ z{Wy3&cD+w~;bC8YgXCHkF8{mjg^gKo{7>5ptN-Nw2g{pNwHFq9{rm7N8-C;GuRl3VjJ&Qe!X~0hNlPdn9p`NE%}v09}lHZ zwAL9%KFVgd<2hA3!s?UzPXhnx>XXyahXe3qTfATRKlf*be^Czm;%e;UZ2O`E{iWQg zIP*M|&*1lerN^c3t{4Jd?N9dm!Sz17&F+7ded*HsV0&XT`dT#_bJ-kPFBgr-$FMlI zaY3W6Pr>f!#-0-Fj6rGv*~ z2JD^f%=5|#RU2!0RyJ~->WI~SFuHaexoNbSqP^w#ek*uiYfh@s;O0lTZM4xwn~4i? zZ#KDb{c-O3X z(`Jfy>$q>|vdWEx{3|(PVZ|ST?adz!9b5W`9CJrKo8#==jamM<@xz%1NAmzY1N{%d z7owB@m7}jA&+|0>W$cFl<8|n#6q#3I$J&sw{nh@*z4mjRkFq+uJr8!puZC)G<_X$+ zZj9(NQ_n?4teGZ|6DIcs zJ~sW)hT#j~3R{@%HQGKIugC{5eZUjyqYU|K;@iOY0J%pdC-5w4x|g{7@YfUfT~AC_ z=QV4et@7)4C@+ZLb}goa{3)%mZX>qOK0IR9ZeDi_v0bg*x-kqVcDC}Yh`qOj1Ldwi z<;KxZ_q&}toflzoxq;ZM;dREb9Nes6&Xx+7m&1G5LuUPkwVoEnT*sP=zfa49XZv_i zw0if=uFSmA$7>FM)}L9FMX#(0MoY-udFI{eXNK zy&L9Thw+NfOpZRp=qsS(H40&^mSqMnRDD2yLldZn+&aGkAZvwLuXT< zGdpjJ{jWE0pi8{A1mE{)PqvoER0aK2L4THZ8yOe*7?&}>1}8QT@$VE(?x4=!E9{v$;7oXa2m6H__Glnk7VpEv)^_P`_I^e7pWw$yiQ59=F+W$JQ5ZcCW8%7^yEfgE5lz;fs>?Kk?hBk*i znd9_)xSu%GV{@Uub<}pK2Dd@%sU-BTxOxH`O?;rd9og+~fp5_bbpE);BEMrUHrPJ= z1g+)zX-G6HzVl!E3^b*7KF#N(lHlOF2#nY9jaPo`(?iJf-Yowp&ib;`1|0`)+kFr7 zz7M?n^JiJ7+*MjKJ6ht&7uG3vRq|W1>N<;mpALBMCiao}@ZD?tgN(luHhI`%qBYDr z^wvL#Ih{1#c~WcU0cv`evLBp24plm1?Yijz9c+URfag$Y$yh%;hbs9kcxGF8JbDlv zybL`4`FG=U8GA0dmwi8~jsFm}dWUiL_0!Ng*IeAYcAeUJmUgo3xq zJHz)(f9LJHYJ&x9dRW&Kt=M~)zf*0lFGc=Me`ms7^;-PGxdofI`72Lhr^S(E3Vb#nI zczIU&X#MQ#r|-9}$>?(VztU4lbeWl#{jNB z7~TeV&l%hmt~ui2&fa^);I43uaQB>tJ3Z5-I6rN5!@E~fvq1atI=_y5X0DXOWpUAk zZP|@H5Kd+S$J}D)<}kjZ=C+1>Q|GKP>_z$VZsjltN4H(w-(2d|D%#FmN0@8yLJeFu zpUn7FPU;7(POwS#C-2;Ct^ud6tpmoVnBRQrLMR{K*v#}VnXv7j-MTT#-4Tt+zLISf z2R7u*EJw8xP7$Z++Txu_bXKL#v{+0VS2_J{Cf{LdG(qmjku%?HHuvi;kEX!MGI$uA z@VuLI&u??qm-O|rlFYt{tI11~J<>(abT@eHdS~lh(m}cKDI6{WH#>p77(6`h^#0(= zKyj1WG{3=#en0Qw1pR-hTSI49?C-#Z=1TLT_0Rx%T{cJ(+7zvIK%2^OuK5Fy9hWoEN?CCq7yj@G1s?Y0> zJ#F)?XJ^~v#m0Wf#4{Ajkh~C0qD}MwV%cHC5+BSr%AV^im)@IDiu0LYl=lRMJ!FJ__rh;GEz06s=MYtFZJ=S@3E*|0ez4`9>fqPZw;)mzB z_KfU5)ww`FNw2$l#kCa`hcUDRAIrYC`_;50yot}i=i4zVTL zg5>N$n z$%l@L!T(5?J|~DixqdSG)ZPHm=Y#*4p-d`x}T={)(8>e63l5pKAQe6g05H3AJCre>Zh4 zHoUW8Q;Ad9q`e=CN65a^9%Yv{U0hA2-`4Qh=yu?G0Jub};!ok$|D6B2Vu-4NG4y@6 zj&TVA?Cx?_s82S+K<|W&$5v5-Nl?NVvN|} zW=>`@_L&uDMb8K4Gr_r?leqzRPA=g78s_8%?yvUdWEi-?wls5M?lUL${tJ;>Rax34-jb4=UIN076N0>$k!&M7i-*3{}d*NM)2xAvZ*KP+l0;(PJCRrkyc z6t>U(kaM&V8P~nog}(=xiw|<|e60Z@1FJ`@Gd0%dG1uAy(&*$ruNr-l?V)$(Z3;Wo z;3sZSMNN(?h($#BKfpfAW&Gp6wdcLFb`$$9sq<0LS5H3;(h1b7?n2gTu1lafID53rA5FTbTb ze?Nm{Cg*Lh!M+x4oqH16(ptFIIBibSuhtwd3oM=4d_b+~uk_KJ<^P>#Jtec>D2_du zs6q!aU-*~(J>aVwUE2*_yP<)i+gBbdf(Ck_0qm>x!gC4@4T#5kur-UIf$ldJHg)s8 z8{L_{5IdC^R5vgupQ|Plwu)p) zC-&x4XhpC{H)`*-_FZdD(Ul|KzRUftyqQj1pc|U%1V>$iB=uvzx1#(Y?FBG)!^{X)dc`C<|EHpQ1kv_)M_Xm0AJ83Afu1VZgxy9ays?xHV+?{V*i@4k!vdxM4TQ?Q$b z7uAK3Ocu_BFZq*xc;nzh*O!s+CY!6iuk*O=8M~9qWcvUcq){M;Ile(AYJb~J)oul`kOI@w=h}X1DiRw(E1I$e= zwUpLQq|ODnmyBpbKWhy5G0@G-=oil+9-HxFHkU4(;rcPxK~L4t&>C#3mDnEirM|m~ zA9my4sDEO8ruM=Gz@WW&A=Nynn;m7XtiQyZdo=?;C>Z+&wE}`%3jtF-@fz)))SgPU zui6M*=oG_0JS&-O`(z)S8JmUmDq!6fa(%9C^0{V|oHnd0IXgjoz0)aZI+DfPSHjy@ z!rOiD_6>ny?F)Roeg222@d;0_G5o#Q@OSmd4SkP*&rZhP3xBI_mTC>F&Tmro^>iP9 zLUWgob>lYTznz>5BYU?1|4aLTx()xwVh>eQS8F@+A&$=NbA~mo z8M(gwRdm(X!0^7c-)q{^Jz{+m|JWvl?S=1dfcKmx)lQxiC^TzAN041^e5NRNzVbz} zw`EUjoa*Zc_Vx6U>zlgN#u{Q+&}DMh`Yoy}d&Rq|E9*3MLvy;`hD{~^F#&&$^R<;u zu{R%CnocXOX=PRbnH4gAxAe%k;mA^+Ng#KVi+PrJ{Ir)!1)_h4EG@=brTNraOkwOQ zzPs|<_zk;C!v)dUW4Uc!YgbA4DYjH{!-;hsHNTFtcaH|${hz(lC2!8k$eTN8^A>P) z6Z3|wNg!*qt|+}=<&5m5Pka107g>`x)micYvZfJPa~FKXx+LoxMSaOK_<{DiYT<(h zr@xUi(`vD4<5_a&GvkMlJGUSgZbB~H0ln117Y+Ek9Fz3UoZj8JD~?H?S{U+xp%NG>fuRx@8u%_-OY3(bYz2$|wNBn9)jiQV z)D+syho3uxQ)A>342*$zFwcaHt=5OFR*imh6mvKMUM&q8o6EzU)&~ldvuJ$Gg4hJ} zU9vwE8_#!ro?))Jw%Oa{NvR##X2+B>Wo)^kSU=yh}WIEPRlgPvr z&nTBl&(x{kx#$aG=Zf{o&+g@n37yx}OPe!Rm&_>r;YxE^V~Hn@QmAgAUcM+KR(}ng=rnz|cYe^7j=_*Sg}fg~(H$Lobvo zS9B&dm5x9IGqFQ^3ywX(+Q9DCDQ;|EXENsp@{w;&xoSOi0h7+GT896BeNo-r1)MuC z`@`xW*ROGHMr%vosd-~RdO*1svZc=o7+X33&h%~yT^qs9*L;e{a<#E0yNxBzDYv2c z-*E8r+eciVzl86?PXV8nk0+RGMX@n_j^G@=e2Uvfsc**zM1DaOOC)pf4Taza}FQPySX0v{ii^n{iod5x_q@Ws&7C3 zUz%rU@cAj)`p(FW?GHk`zrlY0&AVUSG(Rx1=|dwnHtpd0S2>^LA>tYjeel>5zk%ky zGxgam$bq8|v7Yp)K)C!nff<{=gYNijAvrq8npcrCzeP6u4%yJT82ro)l=n(Tz-wAd zh*K*h5gZkh-06Vs&w$Rgt}Z)Z<~VE>U?*p$ymM|v`2$X9({inOz~^D&8=CJ_A#!Ip z?J$=3DDVz%COP}+>R12R93Q9Wjy;ir{zFc%Nj3s)wAaDU>O*aJn0p~}ua$c(;&p=; zr!R#aBA@mW<|WVU-OsWCJiGpX`W`&GOTPI%AIR9q+r*yCmyx z0-gl(I7rqrr^m^9@0mFFlrxaH7Fj3R2TdDU&irbf66J=Y)1!PmJ)YY&8`&JQmv&* zmNbkHnlVV1+BH;Ds}vh-nfxB)9CjA`>eedVcZTQpfN$gXAcyLIkrgkf%EWI>&MspS zjcFW)&V2WCT|X5aXzAnZ)1Z$#eDO)`-)IY})~Neu4|m)DmCVhg|B$Kbb_E2U#;a-5C8U$+u6@J~8>bXuoLhl&D$f38?+zzJ1tGz2n`r zoZdIk%jf8O)jdV4BXdl=pYxj(-^R<}vSv{*WtLt4}fS{&ny0z2tbDD9#jg zX+mq{3AF+3YCl2;blQpB>_U!qBO`lgw-?-w9?04C-otm&y3D_kx9GxVVoIA8Q~JOz z$sOGw06bG<;@qMBiEjC<4w<*9G)`=;!Vj~=%7jUS&2I$LuMjF zW+Fp+;lC?yUp*)WyXc%^!+(kkpO1}nC2^0Lf4I`vONU2bD^2YN9w2O3)bb8qtl6U6JPs5LrXNnWW z(X$`_H)Jw&bp>Nlt+o{O*8#0{qNBU9sd}Ji)q#uGLYocY{>zZdu0C{QB)RqB$?u(t z923oTEFm`c@WxRA0f?n-80PS;NeGR+j72%JZGb(?RDATmanAMTC6) zh;ybHPe8Oc-Mwz>%~#NFDdYV&gvf_B+|XJHcNIc4BIR+m6~)Y~%*;u00{z8zS3wEx%iDt2tKB zwe{Y$edrj?&0em{2b~3+b?>H+gENkwVQ}ujT|>TNHUG!SN$B(AS@@@z?7;qm=g=qq z{KWx&L_T$)1G}%mXTp{*3KU_x7xnE0KIywIVAEQLnaO-gN+RZ-*+ycA9!8sGrv4$dD?C7WV|W9Oh-=6 zmp}4s3QKP@&3b#revl0yTOb7C~O9UXr1?XP|F z)Av34@aHB4CakF-X4+E>4(rDm944?Gy5PCP_?VwX&vzj+GxAb7G=bRPi~x4zsPev! z)7Ri+$=#f-shk|Xn`gjL>Kf?nTJUxqc$pnf4R zKR|u$_}8#8wo~u)4%sE6cGAbLNO-pCqjP&Ox)pgyjABU#G+WQytfyVYN>p=J^kw7x zTF21dg#G<`)`gZZc=vZXJ$YfR3?!nEIsjp&UuYQCxp3ygU9icWmaI+p&gM zOgmpY;rjvB6!6!^B0qRvI&5a!+AUgRa71g!p`Hm&e-c@nIrFw4wnI6DJf9qQJX~gf z#RTrv@@@mN0359)Hk1Tkd7@EdTu8bDT_l~Yy^Zc#fma{CD&*=%#wed#@#5ECAP2V$ zorJzH{UY}U@PXbC&b6oO2rz4Jc^Df(azS&hxW>Q!r(2)&M(Rmf+W(Mfe{9&+fnJxbxyN9y|fslCHUrwj5+i+E?#3y&YTgI?=-Lok{Sb{H*x)yy(S0#eTaS{BcdW z%4R&+5IM-qHUc8mod7RC@TF7?h~tk=0!H(qi=7`4V$2acpmQ|JlB zyl;@+2PaF>m1)k9Oe3q)>EfN_dF*P0W|^D*cv)WbTwpTmWtT+{jBi&xH=U?7Z0jS?21YLQmIN`{rns zTR(s2Ux?oa*UwKq1@AoS^vAyoj-OyJAZLHnnZ0Tsi#`r)lj&=+)AD*A@$uvn&^Iz+ zF}g(SlXU^E;Ror z^USlI^gYct&zpc%=VS$J9RId~eF&S6+lNq`GuOqrGl;OzT#}IgbW%$jT+)+O{p-DBoN9uM-?7 zPp5xO zm*&9jyTuvYDjsb6RX<%9fahyPOX1zFpXuURvdrMwr;n7UdgPSaQjL6k*0C{{%1GlX_b^sr=2OqQ`P|$v0yqiC&b%<_wTlzE6 zkzQiy{_au8N#@wrD_+YSD{dNQ{tIYdxp`~D?tYtF%p8Ye(jn%PU5NnszYO1JLt9 z=$ZK8Wi_`=IVQWxt;>YjnH4WC-P@5gg1cvf6RcxJ7XxJqHue=rus zRot_m2g|im#wd8d`pfhZ#gGfI1GMHRI-gJf$py$^;9P#&vSS@<&>g^_8VWC?r>(AA zCSA8Z6xG`O-$;LhU-KN-4)I&-7t3Ua_-M@HTD&0K*P?eHVc){%fHlGIICI8&V1Iy` z5|$21!OdQ9lK`FoG9aP$*q153&#QqJxc=H|@jG!y?)`@E|4GidX^Zj5j`Yj)-pg6* zW<5|cUF+e}GgjwlZo6(eetwl3aKj(dOOy`~xNQ}_bU`fgB0m4S=^<(9X4W4zwdRgB zN{_FparJm&I53O?hOw*{dTSQee|&DlV1HVEuKZs4x+&;Owwv{ZgZ(SnDq&;V{tvfM)1F>1~sZs4BQr1ai&#li9K=u7t$Pe~y62inJu({tuMOiZ?aoEb5;-{d=H1Ua%d_GH#kCmApgbyd3!n(ZX_xIJu z&#&}iC*!ku`s;zo+Ha;luc;@Hsox;kZQ>m0U-kRp@5@ex{w4EL-k$q(XlFbHKmXXZ zOQq8i^dWxGn(;R5Q+@i!KFH?;)@QR|{iO$&VAG%RC--~#KIB6B>j9`{RA3ao9=a1b zzDwuOl|X~ad6|rzQpQ}@;?wOUR}$H=+4_GKz$uxs=s(_TZeWj~t%1`BuXpfn9kp@t zMFV_a+vdvrKa#5?KT%`5n}uq(p^jGOLb7?Ba)*$(4S;gJvjUDP_y%=|_IZt&BxJlg6zapS4=+7oWk8j#q!=OECNB&(w-$t%?N{%6SlIS5jpPRukI-2zy z*Y=g1-h)n0(AVTpps5l&rm~GSOk~w^?CcKY;5x?DiZ0#Z*@iW%CLap{yJ$>0bS2|5 zG~&@u3LRzp`@H6qaVf4ECmx}_uGYp@eD`{AE?KEMLyBifHc6f-)~5O2i)|Y=`>iwa zh&#Z&V%}<3d84we6V|rADBM4iHf#*SzWet%-(hVZ-4N#;t?4hI9?KqZ*CKmb@&VbP zocyG*?cDuMccBCIykhU_U;EaTcNy^P==!WZxw4~WU*(l3A3-)per$s91@4ru0v?SG z?SHQk+EL6wwwd8mzON0tyfcD#EpE>Rx5i&)4tKLQY}>%6d2%gn$oGJL`fotybf^tr z(0sj3PSXl2vn}nRcb}x~ICvBdexL91+4TKU@A~(=&+q!~J;HY@w;J~Xtw6+cKDCg723yYass{ zxiJYI{v@%56!#QoSqDAAcjn9(;k*(2E>|53?@Squt&RAq@`BoUE>3$^mn+`(bE?7KzdZe@Z1A&pDmT`(&BjKT($6wzR=6>|8!Rxs@X78AMq}5}xB9q&Ggs;- z0K-*`e+}b@-t&~_S~HvaHSi+iYXL?p*K4?z2OP>p&^xw0%}+d%AN?rvuegZtWbF17 zcKde0e-=6{6#dudIiD`VwR?2!%$<4;AI`+2O|E4mgr6RYy-Exwox%rc&~u}ACc#l6 z6*M-jBmQ0N7~6jyIFRnq9LW}z-=UadDKN_3QJ!Zl{F}(ZzfA?i6KPXz8yO1yb}~1L zORIK`V&$r(wM_mod}w)CIr#q%bLRpcRdp@?Gc%byNFbp>LBQt48x#-~rdTscK%PY{ zSiRaxARs7OrM49`Kp;Vspk|1-X`SBk2oW<#rKlD3wt!d=;|pkQZ`)hukp~c!M5$&f zn*VR@b57>WFu{8N{Xg=3`R1H`&RKh}wbx#I?X}ikyEN{%4%XIu%UG0e_aSRa_OE?P z*6#H8oMvQs3v#dtxiVjkWjz-7--Vxf-)xKIO=xCJw;&6f*6~dxatJy=CszoXsCge5 zbq0OFq`x0Lqz|4Jc@0g~J^c|Jhiq6P|MV|>E%qLXhhNB?UPtaja}1ASZ*qX|B&TN{ za($5SzRXR;w6Pux2Nt=*>!eRg=#%@UPkPli^8On1NbyI>e5U3}&f*fkuGo+LCA5j} zmh+vzhUlpj{N6W2)Fjdy+m9P>KJT=W!mskRKFEyE-i z9DW_<5*dd>;T4mfe@Zpz34Y+D=rPvil8BXf_mZJD)i7wPRCE&705 zGj=8B&pPgu zrhnBLbKouC6-r<7o%E~hr@K0a{@)P#j}-p}^Vn$NQAg|DtOEqcec&%~$-|jfM8*!~ zS7K~Q4 zMD%;{2aEo5JATf260_BpF=Wy2MgN(|x#wzppzEJK$9bf*+m9?c04?!Byijc9YAJxX z=8=EI#+(YQs+=DVS9Z<=7s}PrH!{aq*9l#`Xsnr{)(r;!d*k3AFF#xRK|MZZ+DM^6 z`a@qa3#D*P{|7$;LT0O-uE=@HXGRc{+P`j-r$V*s5TjU z-+S@=ZT7yu#q&3LF1D1O^l=*hGPcxn_P(3XAM2~f-QLZ+OH%kJE~gc{)rRFuIySH; z=>zO3&)U)&DlbV@@h!54=5Av@(vrW=tX#tNiL^?!FS5m}<01Go*F^9z@oId6{e{el zr)t@ww4HfW?SIhE0I_wfI-bLLlQ^jSv^A~wFdyJgyKs(!gL=$KXC5+liOAfZ(Q!Z3 z$n_fL2rqQ{obksyfqS9z{k+RJ{&ntfpwg{;E}=Y!XP=z$$zCl#^1pEvGFxl_<-D_r zcWT|?&~{_JF3)70&ofgmF>L^TWP`F#$UDdpc}K1B!OPsIq0f_g{NU~cBbJA;s$zMN zbxYC9^O50?vhESvl&mYo7iL5D2Z*;00$Xxb3hZKR3-CEP-gKYbLFOZwXY%;PClL(r5Oa$T>}k%IHJ7vXAp1dNK2$P}J{zWK4N35Z zXq;R<`30Gi>f-ONg(RakqrM z?RVSkYM;Es*vh_nDW6Z-bZx}?R!3R`{+9I{DBD2Z1=%~_>gYk4d!u@vef33@iHw)_ zHekCsMV!6F+6@QRY32p;Sgapz%i}+HeZEuoBbU)0c|RH3%UW;~yYKJ7jXcOliMv&~ zF*j>Tl{R7_O+2hLW1Lo9Fc*nI`&wcNxAHH1CNbz!_&=m2y-}gbJnUpYnbtbW*fY19 z{bo7vX*T=S$a~mVWPPQ?BJ!U21*+6FK3VAd7}pj23$5k7rCbYbV`X)`y(1DgE3wKl zk4?Gl{COs4ocxwmf~3;c*)q2 zJx1V_ORR{AS1xU{TkzUO+XSzL23}2^u_$;ok0@*1K+lgFCdVv`|0E2K)*%dzBjm ze(%%HH1PWX{Ca|)@ZT@Nua|*e8u*=o=hI{G+sZo+d>MXu7W}vt{B~RLJ1F>NS@6S8 zZsPZUs{hjB^q(yTw;(iie;ICB7TmZN+#a&vwn1=1NA4P5eC5I}!jlF2^Hh3F&yK**P ztMqu$V+989>?)ybtVt&=*;6QV>KmbxRlWv*kN?aSfKK?>T=>{rb{XT)$eviX(GHDl z&?f*rY|tkQ+T=*Q1hff28ymD)Eiw|?h}_JD&Sv{xr`_gRv9YqpZo^L4SC>6vZwRpu zL2?(&XRL~TuIRz@PU2dEJS*f`i1$9@e!r5_<2-5LC3D>n@(NpNyH#wE@(uPVH}Di~ zjC-*mp0>dFEQvPK_ZM{s!yN;Idx7y^z$iBI$D9U6fe{C|nmo8UlX{wKE9Q%y9%UON z2Cjg%SmjeK?Nm0h&3!z@Mmq(zdY`iWmO747#}=cGHSB{cd@{>p=bKmAqgqHE3XZ#v zq8~gE#V5onRaF%C@st^L=(f5(3XkoUI`&xV0FSmDE$e(dvKP2JW}9H$P-zH6!D z9;qX}>m1~&oa8ul?APlsc{7J`yM;biJ`8^(pSS7{?xpXGs6*Ey^%!K)!J2RBsM-0s z9?zb7Hj>lC)UO^@{=rB*z8;&F=vm8Jc{S_g{4{c15%W<7U&y%-8tvFjJBYJt)3j92 zX8h+eMz&%Ds->)ivK+G=M*O{>@!v?9=#bK;1GLGH4ysxH%=Sobi`es7Y>d+&vX^xp zZ5ZWo**a?S7%L?MRZi%=$icl58z8c+^LlclQ%^Tj9? zyfomY0k6mckL$VQe92`EE-++WT7ld%@d=_smYFb$fROF#2eF=Z%szo~?bc_~Ti74x*3dVjH%$qpJl0jL4}9J(LzW_T>f zeEKbe*JQmS{5DwlEvcLQb!zWsB;UTou+GiU+8b!!Ao%H_UXOiy;;79(*rW|u;-~*i zxm}uw+-9y5Ie{$NmGjp=N=``s?nkb6#jqaK_ngcvv$e0rk1z;66y8jLX9r>DUzjax zLgH(%9n@(nH$J?0;hsZ0PlRX5X;QgxOgGQrTlL)C&2#urJ-?xw=kQn}{i@z6j(%qg zwu=+=p&NXa{+9_I=_8dF9Qv+>zJ7G7KqkCG-^?$z9hDp_l53+-dvIg!;`tqg^tXKs z@wI*28}0arWi2V=SeH*aO`zp2iG?2yEmvFTz}FpCTJnw&4{Xpfb{#5x{Orx=uQl1f z-6dmkiYtz7Ir;2IHt2rf@%06@OjPCZWNf45$PpNPZB(f6twG!UHc z1!p<`SlUy@__wyvPd{1j&Gzd1Pb2XlA?#pcUki#|j4>!Fsjm)Gc1EK?+5RP;EM+$Jdp=awB3uHaE;B=USjhMc-Y-B@nNka%dWNV z#LncW>~e{dL)MD#!e5lo5jdF8;UD1Miw$^h@Bwn?2wyUtvA=t=4tU8D>h zM_r@al%cDrYxE|6Q4xJ!)FHllmHz;p$iG9|tK@!>K2PiYoa@1V#2&~*&u=z!Mh0yv zA%0PQ=kcrfS>_$&+*Q(V%r!L@d2Z$3;W7Mc<=q7I4dK-`=H&>#CPeXT0DcX^uL1Zq z2)_p4SA5oAiC;7R34VP^;xoSjzkYht`D6E0g9fHNuUEOUBKrX)pJQiHN=GMSOn6oL zU*=umwI=xS=`>rzx;VLBCXVa$DMafI5cqWdg8f#LwLU#9R0Jka1*>3Jb?`XxN44q zH$)~h*|aCs_$zXD`0ppD-fVn9$b`AjS7fy48q(e&cMjFhJnN&i-^D!L#Jf)~E8dfI zcIENcOK&-zd}+n{PRaXHv-YA{g zRbGhRDCI3_n&;3!9Zos^fqB%c<|EF)lXkGq?xO+I3C{bVnH`!TAC_)Kzm&3Ea!rYh z{}h~^I?a#ogEniB7l}NV{%KmgaKd2Dl@Ncs#6HUy5jxaD2P^(r7W^d+=rG@v4BWQ9 zL`(7=q#kKU7PRO=>`)L|6hR9owAd#!V4rO>G>~r=E81*ZkMD&%)PpB%=R2WOF5kUQ zPP{vz&+tpPkuNye_xj?Y6ShkZHJ-l;Zu;}7QP1n3ke=68wP2+TmX z--e9v8ZyGr<;5={wxMrJ94R~}*VkLFXR2%cooU9k*rTqqyi=sElhwCw%k?)c?|egD zOI*x~-Q&5o%ALM4{*XI^p}Ued2aS9$O5Q}yuM$6~>_6))O6zEI*gTEMxvZ6|pUJW( zw7$i>DDjs9cMv-0HgwQNWaew=pxe+viM!rQ`Nm1;ppC3aDL*y|9aODd(LpDngEr3A z_R9RzwJt)IG532a@vqA7jUvmDVNJ-e#)I~brXoiN@p*e2k<*O_3%M`qXq?MG4C%NB;+aBDA zkEF7Yvbo5o8O)(6jE#%<_7wB|X?UU)U)B5Y!w2|5d-3cFp2=DY9~kv%)TdFOfnT|9 z2N|*K&OOsp_TP%K;kj%1@I4a0onL@VU{B(Rzpp$#H#w#C6#m^Al+Pt+nB>)(LB24# zzVl*j&h(yg-J|t&-Y4#>54piSyR^jh?c~hPu=n)}o44GH|5|hIr-umb1IPI4F9tsz5Q1R5rIc?dAnSC_( zZ#1`dbkKb#W)9|m2>(O*pS{dI(>`$XtksDLw-*iEI%{cS!mNtq?C;m{e~AAU{(q2| zHmj=QSF^T_NxVH*%eZ}B@-X#oW4~dy@1p#7W0IoE*HZp2<;`OfqROA9yp8g8W1Lat zhbiw4{?f!gvvyVN*6YZK)UDUCTd%`XuGg_!uftNV*Rfm2!BVc{5Fh>z5(m!e!XrCU zcN89$@+dqkz#>vG-?a?RSFH!DU-b{rZ1sRd;<6qh*eU0#zKoPK|T8tU&312V)_!KUETN+R9jaXZT%nk64dwN zOSs2`@zs3^3Wo6RcTE_EFJU2PUv**wkbYJ;b3OOI7=HwQGuHNcJMbsWFkwuDZk$<5 z4EWwoYzkd4xSm@U1A|zGE*QZ3h6!UlFa`o+ATY*RU~oORDjG%ww&X4tz#DGD7zd1O z{3492eDupMzettncjx&A3rir1*4%P&$D;}^NoeZF60 z*9H9|sx4jm|3r8A>_2D|Yp8$5FVdSfiOfkd#*xSi8A~T_)MdqGmhm)P`QIY)tjiz5 zI8I>vG|Kp4Y$(6T%*{X8hhHSXTDHQjjUQx|-yP*Iq3y#xV>E31hQDOB_-;3hx7zr5 zC)&n8cbBalJN%pl8TxrllK-s&|H$CQ3-$>A$+#Vay>(%BwD02orvD_K@1(1K{BP>{ zeciN=@t~fUb@LovPlUhJJ5|x|#QJB%HzT@|>7Tijevb0bRCVK@xzg~@VAq#9MQlCR zc?JKB>bnD-pVSOE%b#kKfp{`BO=1A*TvKh1%k{bHl7W1sTVa zG2jJ=PqFQ{xt{qFxPJw1D{#e^B!AK$^BC)XWU%Nxe&ncC|LM-ZbOd{u)jkl+ztsN;-_qyU@&31cOVA{qZ>hgQgD&3^IDMIK>9Jd(o8enp&$Z0g@y7J^ z@J#HQaHYXRy1mTUpFx~=y!{!nH$(O^2>cCC<6BzAI_y>K^|f()OO(xE-N#|Qp0+&Z zUG&6=J>T>{6}ifgA(Df0(tVJonZC+bSNP+g2Ksq2>)s4HF{e0cr&eXzxl4`x38 zdKKdkIUh~-eRX#Bz*d)9pTHQDJ-=38miQ2qKdS^kQaAprXXw)|UsZ|Cqs8%OMftpV z=Tp|}($}(gSoyOAzWB2i$uIt_CGv|u>t6ZApLM_d;?H_Oe(`5LWcagI;m=w`e*n|; zXZghjO4(Y`yV&n!+9JDrS>nGkeOcnaGJRR%zcPJU*kZeUS?Kg-=)B6Wh3;R5?y9b_ z#g-u(%QS6#8M>${!&lT^YxlH;;LD=(c~@W8=(g5uwWmARvxOKD@qK;qGu`*K?ca1A zZ7aWOyeYr)*L^>h{>47A!6KVQK1cb#)SAxXzg>mgD%Z!B?BS8UlWnvsguPd{OFMMC zbP2M6@*HRZJctNqi{*yDM&JUZWCz^jGDKH8X<5M^sm zkTqS5?Ky>h>_Pvf(qFQ_wgTI8oz@dObT91C>DZw&Du>&8S5CKOR&vg%vPr*>O~BVV#_^)UAGO}bUS-SKF0QT7Mt5eyni$A zC7^G_+Nn8To3?4R&9qtTIruJHcK4p0*sMPU$G4V`+QS|d&nB^1<70YE*{suAQ_zop zschE0TBi|*@k?d1?$!DzV{@mnS@%>n>u*u_W9&82VcoOmxyg@Z?)uhanbxhxj=sD6zCAmk6Yo|&QJ}vo z*IjM1+1gua+i&30ml8EkzlVObXPK>EB^#kU-{ATdN59Iak}EQQab-p3pB??*_{A;8 zFJ~Y94BP8}IWBqQx5n?kIWDQ}??|fb$M4@AeU&|$eL2|4o%jG!l>JwNh<&5+OHPm%MYtooAJOBaw!p(5=(dnq{shn#0G_2aktXYHk&U1iu!x#bz37FMYIP*Q{;BhTT5j zopQV5#+2LToqDm8QubPLQdId7>~qbOHx(yDm7l73e%3n5A1-!Al|NeXf`YxhI5Dcc zzT(Ah;QzWC_%C$>e@{2?_jUvSfW?r z=2X;a~NX@7y;`4Eiril{{@LhSZ1N4_)~USXel#b7d@4)IdZWbq(5=g#vnZI`lI`axoIt?=Z2siK8`?)mNA z(BqmIdhCxwkM?pSA8DcJ1JU_N{Vze2SKzgMqF=~4q;meUopW*F2ihQeXeEE6bf z2C#!g)Qik!Jpx~m3k|-wl<}k1jYZHsPJJ!3P4*gZ$Nn$pAP{o`+~n50iQ1fLT2jMM z{;A)?T-T8N`TF(ATC&vb5xen0+W8va{EoJcd-xwUiNm$4Pk|TljViaFnO7{xJUIY) z?|%q-?7(k!KR&d3$wetR@4vPSXThhHaWR}aB{##tt2qx#v!M&w8c0NpKEy9)Ob`FO zl0B|kWhZ{{Vgr8}p8>{pa2)tkpN@YI-+#Xg{_s_B9Qf~m-mIOP?ltI5-3tGQ)c&15 zLdT?!lN23tXoK)x`4#XHa7TZEY}gKLm4{%oC+jorYso=iMLH3b5Bo7ho zvAfCj!@Wk#nAo%e)FV9pt^@tLR&vCUZ<6oLy-*AI-fh`G^ARy0=5w{?quq_*fPt(} zGv6PE?u%m1WjRdz+#=}O;=Wd$wQ`C+I?a1o><2zbZUWg$e42g5a`wh__7>;ZIM;_V z{mftT1Vc}0tMIBH9sDuqCv|nf#D+o4=+&p_ci~HUSMqyWpNFWkk>^d+D=<`FhlfjKj8TW z;x}xReIMN4K5(t)9j8v~Gd6o=KIf*L2Cpu-=x+)xdKIyceM@qQEnlQ@K3{s}4Zvud zf&GWyz!dTsI5HYeef}u?mR5Oc9r5_Ux(8SiCxwBk4{;pf_p3QGZLS92rTL_f-NJKI zkl!(MJGG9!pzW8eywFy#U2-rp5znkE8{OnJjvHtw*}zOuJ^!Qd<4>;zvaDv;7OU}{d!$; z=TN>-)_OI_ubZ`Sa0&8)bBRmJCdgjFaD{vI-c1SGSYWbu!B)ApV`X*SxfRE^B_vc< zoGYr9IJ?2;3b}VyHs)#JuK5RfB=gU#v)EViXaoIHotC$Ly_Z$@hP^@7C&uSohE(d@HO2`KQ94hjXUhy^;yk4@(O`(mB=;4zXrZ* zRD1$5;3d984u|#`b6vSp<*pKW;J==+G8(YNrrAo4RvmJGQ}V2aUuWFO+@YT#p3JE_we76u9iG%60;C`Knu@a^AB>j zL+9IoJ(9W~pzfjW@V6*8>yoiuXGeF~#Cyo>5N%ul>_#u&+(sLD9(ckX{yFam-wKWV z>MYR#o`9D#m&x-SLf)bqh@5-ZlyeoxxyDV{J!Rh?<4=9d{jZ7jGT-}8%B8;fX&s>GCs=;xte0|d@ z$*JM2Tus>n60Zh)>0>>Io>SKqjQ&u#b<6;CVCbPz2eGPiLd?n17Uv*xBMu|?7Gp=~r_=pGrSooumoE}N7C6kSIvnF2eLQ~CbAa*j zDtvPg9+o!9yQ?{yQuG6{Ynl9`&Q=(p^Hv@DM>#PVknuNm0KwjT43MQ z*Cz(fR(-R(>p#Kg@9;0Wp!h;xlNd*?16&{F`aB-UWbC1*|73bJAA~ZILyQx%|Lc|Q zE#fb=K}Ydn?4-Z*>5Hk1A&Ch|fG$pGSD|E>x%DYN`SF*`CALXFFP7{8YIYYPIM?Vvs*IDos+~yj%nei0u2lae~ z!_fiH9*oIXcmlp|fu}<79s7W-YZ|ws zzmkIqyR6z@YG)s3;h;;A7w+AQZV%V&|Dy9Hx3M?6w&RnUEs_1cRXHb}U4F;SQG4tX zl|0wwRK8~|^dg_TiYePC`uu3ta>%-q(61c1C48m(lieE?Us2`{iH?>3-WJYFY-)kW z_HNgHPUqKcu|ED3|qFBkKv~QT&3r;4ArV5`3i}u@9d)KwwG!(0H^LdYkmW z1-eW7)b|r<8*{^2>4zx3(dibqO!dJPo}`njSk%_F(` z2chq)d90RqnU|Q$`q=Tk$efiRaeg(-wa`cOgf$uTHS^e^9iPEN+Kc`gclfzyKU4Eh zZ{){3=CmBqf+uvf&&Ln#IiiF}OZA(5By;Kwi1=d}NT7D0HZ5j{q97XMuQCGf^3 zc)~xoz$No`P>H%#pB3F^!1TwDeRj{YAHA~njgKa# zfA~=+XZMIMcsSeb>U`3+bhVnRv8NR1@N|fC+(6wzRl}|4veAO3S5gaY?V#uG7Alz@fmpF5p?7oa7P8UC>&jk~#C6LpmvVNwd-oeLefbmQgULVf`Z6Hr*9rae z!LeG^<9qA_)-K?SOl#Bp-}H<<126MVHhTvHydyHbUpHen-aKK}FEU8@XG@?nE{`?? z`vB`@8LvW{0CZxEg&WJYa2_-Wu?81De%eAW$rYvKk(E~Eobgx=PNJi9L#MJBI?ent zI%&*@&`9h{5=XTUp4xzoUh)85i1+_S-=8;^GuLgK8a<_y%&E@I*1X(x$I?-2>e?-keWlqmn)=wHbjpSsR2i+DxLvjj)iy6>sfV`E?EuVTFZSFd}Pl4fq}>Gp@X#B{4?8MkKSR82QlMOW&VHQ%};8w zjd;`r*^IS3`j+1l&~_eeEFOf8!T-Er%zgZCqV2_uZ)uyz+J{)n%G@RQs*Q%;VcK=2 zebX&;{)?rJX8VpPeJK)u>KFPZY2j_04J!Je4cg_-)R32~L*6W`bU;V-3oX?za$SB4 z&)t8#ggC{51c%qgn#Ruig>M#AqECc#UUzSlG8^CK@UG;KDWpuE$vIf+J?0bj9?xvR zEaEx&n$-KMocTrJSRS!~3w~cS@QdfK6npxkivAJ&WNw+ne>we)9;C+AB-$$Z0U0ad zJlZ&ke|1k=Bp2=^{?)y-hqlQXRR!q8a*oBd&?&ZET|Ot;cX~=Rpa0qD1C##K;?Uo0 zqpV3@NhsU+na%%Ei8dg%y$zo=tYY0ld33uY<1+07vkVz8`G#{e|#) zAqKB_^l!%|oNv!)y)#?v!%5Nkwp$su=&zltE~@Wbb#Z;?D{{@=-Bn5K+v2*jFMjfV z^_}m?HG3#!zwgcRP6qGj=fIf0^v+dM&VH{|Y4v)Z%&+l&W_{;&Deq7DfO>MRs<;*< zi;A2c)&Wn-wYo1Sr#oduv1Q1WYop5W$@6Xy8C=T#^RDkhPRfaW0LG84l*_uzMLn;{-NNaYec~%oJGy9&r94M_qrTOQfor% z+*EsAL^hu7ZvKy1&#U-nV$_-6=ddnC4;b$G{4DXXkyz$kIim)sbty4DyUsiJ&6p!a z#+Jw&!yF)V$SZbtl>ENvxX4mmb;rezq3*{Nbd~OinA=4be9b*uqA!ci&@~^h&)B+uLiXdznyS5)m>-b=T{#}?`kr~pd!p}j zri-j2|AEL*)*7-`RP0R>&m+DY+1C<4|Cg9KS!0NuQ~YFd{*R1drALTdVUNfNXd5cB zc}h6XV*%@ZXK8}>Y1Uj%pS`Z~FgE78w4{cT?B6}L4|_@pd)7nL9ZE+(&7`fslD(x9 z*;A(Lg%9l(-Cxnhp~qYe#ZMg49KJmEG8adJdBlE2ZUq&yZSI@( zvmOgT+oyOI%oM%R-ns?dOV$bwa1^_M63)sl>K83SX_X z-J1Kgo%ULB`P<~kn0Uv)#mXO#Du2EOpDEIZ5uDi15iVjcUrF}Wo)UOmU)MT(e((&5 zy;tF{?+q6G{Ph1ka1z106T-t)5#K2L{` z=e*y8=UqAkV?Amv;(HVBq!_s8xbK2%)gcVHXL;VGLkx?7YrGQ#{^cfI^dG6K*$OvG zhu}Hw{hPowb%-0{zy*%bp`QuYsOw!TT&oUYJbzu_nmR;mdugXh2fGz64b!4)J=N_R?0N!~4WeD?T#lu+0j0fIi1`J?ERB3tUr&sEW}cq;7)_@0oCo_B?Kd zYt>vkE{<=TOH_a*rR6BF6(+hJwxZh z|KJH8c89TH>HQ)4?m@;U&&nyY$^`2-6HGjXMtmdhKOpa0)+&C1FVC5upYJf{xvfv$xG-X$40pEIq@w~&YaR!&OFxmyitC=rTluz zUoy&PTgqos{)$n4Gd2?77Xm+cvljL@xWmG`SAc`?x7dOTXqS{LK14^|?_eKI67)%h zmqdqw7r!Wq@S^Bww_Es8#fRdfx7wpbj}&{t!qV5gcc3Q?We%Lm{Bt(~861 z|AGeN9esBI>*ZU3^KZa0?|)kQmiK3+J-hCgt$f|Pd}XqCobi5N;PeAd32+tzC&|`t zM~T+=<*CqS2DDjZOWNVEIbNO$oaw+RH15}x9`HU=YV+D`_8mdZ@v`vZ|BL_5Rpen= zg|5XIJjhz3@XZ6&g=s0?ApExGhUoaup69#o z+k5Tco0spUuH&Wecz<7-?tPrHd+a@5zMk)A^Zi!7dz$YKXqh_-we**r@OmP=en7MB z*s9t8<-BC&k+mj|^hs4bk_%6iy!l%7eEMAR2+xb&I-=jhBd-e2ymeT=H+W?0TW?p3 zZStSxkrCbSh{(cM3M2ecYT*shr^PNTHeRs@C(y@E_@E9O@DSR#i2iHp=k&5CIPBz| zI?A?S3%0Q)P&Q!hO*^oSZ-uvW-Ylw=vwy|*tKUyj_DGS@Qs3DmeC>(u`Zc`@>MOqH z4)@@jk^Il({~rDy=YPpt?#c~s6;$qgtFZFzw~8wNo%Z~gw)jR|>|KAkR=?qDTm9o- z!}kPC;qP{b9>01g`?1bCV&Ye~GcW95?(;I2@Gt9HvAO%VGq3EBdCk3B{F6S`%6>2N zXN}C05#3_|>sHY%?ARq%9Qvfj{YBE%R{bMXgFj+3;}_jQ-uWT#WPhG?bs=>`*+IKm zlL&kp{#}`?>;9qZ7i!!eMBku|Vqcssb060Q)T5p;A4>VRq#PV>1BR4$t|E6Lwga_> zaM(Qm%~>`1tiL6F$tbdU^q9;hKM$62O8YSOWIqLmVZ@K1qTfSv2 zS&#ohVoev6x?TA2Ty@&=xn3xqyp*vP%5ztMS3*XbGO5 zZiqf-S@<*4!k-&r_|w|I^|D_nPX7jQ&$Qkgk&p{{A9|XAd+q_w02pVk{DKS(ts5(y9El(1Le_PKor5@K5I|)|1BBuj*a@ zm7Xpgig*1EyQhWqxd}&}Ntx95R#@sXa$DxpX829kJd)q@YQ9-byq(T}=!epmBUxk9 z9MIeZSrrDF|tF8DQK z<8mk)m&6Y*g@@a!-Qfh@i9FZyMot3P3hio7742Wjn27gIvEQb~Kmfdgz}X~LC%&C$*d+P3Ehk~nmwrobyWI~G z=O%p-rI#Y>h2L*3h{$8pet2DsetJatyQ1UYWY34li;4W_LI=q!Cv}kDOr0Gpa;R}6 zaT@%tfqp^e5_w)^KBr9X#il50&~FOuh8lV_^1`Y|OFJ*Kv@_PTkYdwlR}7(#}3+Iryr!gP*j$*O#>Y3wMOZ$1O6&)Q2P&k5wN! zul*MKeaw0+1f8t(mG(<}q>b#))1RAdr)+CC?e@#s?gBJ_*V1m;A7-{!_n$}N;lzF} zK4_C4@}RBQZB0Aj?he|7tys-XLQ8BUe=y2qY&CLU#qZkv*8QbUHBM!W{f@C%r(NaQ z%2-^@z2N#QX*)3W^?$^FE9)-dmo1jIAB*AVY2@Iwo;MXJqW#FgsP>PGw117XHD7PP zI)`c;I27SWH_K_eAD(+n$&9N!YiMU9&&{?zOj}JGa3|v?#It$wO|9l>0EXZr|9fabc#m$vK-sA#GnK|gC?Eq!%x=QPm8Ue{%_1n@{}zr>F}SB zxhmpE5IP5nY)VI&@fta@&{3l3bHd;i=pcGbA@6KHmvptn$F!9s5DR9;BkFsc{gjD4 z<`!(uZ6Rb$p1EJxuJ%Byw#nSaGZ24L&9}6K|w?*Y`6&%3j@g`(W<^vS-XPV2R!rq@G%{jJnOTLk2v(?-HWs3bT*47OdW6*@lzox1u0+DIS$2%2`u1L!CHBYkbswvQH@&!A^) zABjF{?W1W1O|5+-?ThWBe6!5bNAt}xOCMcjz`IZ%O^E5EpBi#WWRv{q@<|_0N7(QF z|9U)Wf|I4c25}#6JoON|#~DuvW`CG{1r61hfzLljrj|DZp9F8EmbW53|s&G?C0 z&sxUMCWG!>GS1Q`KaJBTs|*@i$H`Wy7x||28$*`;$Skw;$xqEPOP?$;;9aOsz8}*k zzlfT@_53?2%E$k;uJa564>2D+5HoK?%{h@d#5(^>ME00G*#~|NKBTYp10}kSDRWFO zv)rT=vO0w_t30_%@RGja`(TMXJeK<|`6cDd3+JG3@Bw{3a>LJ(V_RgM$o;{*FVEc6 zA$thT@+ktBawY$kU^g`1GikcW9lq9hN2lrezM=jWdOjD+-$i=iMeBj-Z|W<$^G zp(nbc=!;#po9k)IY;d&NZqV;UpX^TO>Gi5CHAEX^E!#*ts`y=-eZC$odiI5MY?<3x^Hx;=e>Lzw_&an4uA*U) z9%G>yd2O(tyesyTsgFeKN1}Hh{ANUcJZqt?DbH2>q>7)2ocAj9WFJy{KzU(tMB@fXIo@z%|cTJSX2&98TZujtlaqz{OUP1Y83v4tJLo+axE6W{ak z#8xJFj@I!cSKMy$BKI+I`F$&UXRt-uuz}`?E#a1nyT_$SrvvXD&2eMC^SZNn9s5*jP8n zxY2nkdX1v=Hr5QnLs!J1?M`SL8}pp2xtHf9yIqBDhp+Gk_r@UK=ViP1l$@JfUBbP@ z5DmJ)y=?G6x2wYK^i`ZItgfKEF_n1K``ml#&P}PV#N!dmtFmu+x24M#l9E6 zD6D>wva2(S_PqDSle}Dj<p82iQ zdt^v|?;9gDZ^Pww@0+_F-nXt!@V@=B)B8+re{cN|&FdRs_wM+m!~5(N3ErK*c6u{y zlRQ8A;->21H&s_A-*i#KY~y|j_tUwrHtu(Fzk&PX#{C)Y-{wBku75xFJJppL-?^w^ zoTlGbbDuNkqJ}GZ|KEW>{iY`?hx7gqjr$GUFX8?L-*fIXlxkZBVB7u4gj6m7_Af&+f|fUN^wzO&VzPPR+J?@7!kda#)9V z%d<8w=L&~sjPC7C?AO~nWngdb;?2Fij}GeX^*z(u+n(wU-#8`1n>s4PdtJW_@1mb) zcpu5m@YZk3@V2G1CNAjjZJ(@pTQ9SFn}6o;wp^OvJ-Nl{J;Pf6`utwr40kW@jgxwL zmpqFfxnD2u_Mi9ien|U|e|}SSukSog`!gHH(Ed!?zvQN>$}!)`Y&Z&i#&O>=$5VM| zPG&=I-k1B~H+i6cX2XrfeGbp3bMG`Tc~kF((bx9(Uj7ZuJEqX?9SM&N>5sqt7fx?G z_`H476X4UkAp^VwmqT+Zf&VaVUI*MqXzQcETTdHT(~lb}f5kTf?_+*Hrrxtz?r^nT zbN%Rxsn!3UsJZ^2U|!UaO?}#&Cn|fLgJyGjHQf8f4b^8Z>g9W)hvs?*dGbUr`JGYy z#Md-eI_*sVPI^P`wRW$2PFba$Z|rmI4R3!wyZY@EyYKOfHP@_j*Hu5>UvqsQ_)Bi; z)sP1s#k}j_UB?^;XZFpiE*$9at@*mK`3TKbgj_7YTz+R(lefba;+qg~^B#A`)HA2LFoAlm7Wh-D*L;IBf@zceCVPXm z?Iq`~uP*5a>}v&PVRd<-{7$bfzm9X4c|Y$aM?-Y`zm1O@xYGsh|^t-xt%lDk!Ne>%kPZpHFs#P zHNaaF125;??CP9kyKnVfnyUa>ul~N~+5%q)%mQeeGf?xb{sCtgLEF_omfvaBs~^-{ z8Z<0hsku52YM#&Yw4Rogy5ouDmuz8g(n-zMaDp5-LG+A$#0hR?-}y<};atA3qmJ{c zByXRTuR%YQ@)XL44?gr%9c`5I`Pj*mDQnge8T8ghuVnxY8u$G*S zPTm(<{0*I9UqWH)R_c>`=Uv$oq>Vy@ZR}BzvINQ+!N-YzTkOQ`&|J#F!QvCrbC2qJ zi|)@69Jc^#sKkdF*MltAIdaVz-;yt?zbbdASmV)Lqes7M_#t=Y>`(CgcrE*Qtz~5i zo~5y6?gY=>l&Q5D_P_x4KGBt0zCk_fSc72WyE~5lX`cT#P5E#l`6Jt)ufz=MxgvGm z>ST?#mHoVh?yEdEum-TNv3uHiFX9{1bV;7wM7xQu8@0q>%l-h38H@@+$j0i@DdhpC^9VvJ}ty`5iT89SSyWkg+4McL4je zfv0Yd7_RmM)ejQ;(8#F$K*3ecuz!&=94c{!19P3>&LvKApE%i5tlO{sizZV(IUHOy znRh0Kg%38F{`V!5!~UE3#9j>oWt0Ao-+oe~DgS#UPB3)yWZec(tNZAmkjzsHxdtin={;2dolj`5eD6Dx_z4Z{ge{`@uZ*j2w#Pq>Z{?TGb0*26;9|>?20q1Ek%; zuhjQyOnqyqOXX`Z>at_o{;G8y#gA{+)kvSO1y^zxERp<3Yd`7i!nIcFzHPFK^N_vG z`n$D~L$2Wv?f9MMY}hRAU~X80d=GKwBRdnf5JF7 zabDX^y-!nTot9W>*11)DPhX+VMbs&ANU9$C+eH`htbhxpTgn?*Y$KDXrLL&r`BEc=SC0D z4K1J4hjJ z?&H1(_XjmskiE#n+`Dpm->o|fha z4Fl*KiiQ^0i?HX$g?zW1 zk0NvWGR8(&^hp_CcPd>u65k@REpq-!BevQ)^z^#2o}N{jvvmt=rgGX+K@3|yv5dv6 zGemw$Os5(9lKG#}d3NQwF8_3$)|7wd93iqr+SNWjGWJdTaw9V3k49TH{?vTo=&9z5 zQ<=;cj`ZmHqQw>teQXOiciO`FVsFmS=5#VIucn=c&ym|DdB6`g8*Nr?a-=Jn-1M0( z-1sT;i1Gc&Bzrh`Mu!tC zy|%nmeA}j8sq4a>?=Z*7x`|&u&mUUJd@S#E%6!K7ODYV{T5XiIP}W)y4xK3oPczFt zrtDM7J}U@MqD;j{t|D&2h{*ddAa zAO=(7@>|a8akM6{iM*D%McUw}O%J?c@S8#FSlXkj>@wD#RXO`@ogle(-6{uD|FxY)lxh^R4LP@pxGB$u%=>TJp5;$)P$= zU(*dwHw_>k5Vo?GJo0x9b%&?NjK@b+d|YHaR-sR1ILWaC>>#k+4($cWC89AFw}D>; z<5R|?@VV@xnand;&p6fCB%cW5R@%J}pOQ&OiD%OD#yNaLprKkb#f;Tk-uvWyd>N~W zF?fj`p*L}^XG7%kxA$&6Ku(*pd76i0pW%4%e-+r9f@criFz z-iL3VU~LAkHiDP`F!MqKF~;XQUyz)`qQ}a6vCsbmo_bzDhp~rT-?w#=_>1H%%=3KH zOkSxLY&WsrN}Vm&!`ogh{5s>my$E{|`H~_!R;#W*!Dll5Oui~fCMU6btiqw` z{ZCcyQ)zdj*m5R9%N?};Iefd%le4J;8OJ&_fN!)`_FnHFZ}@#R-+mdxWdl5VtXBeU zbozS!;}cRh5X%f5b8Omp|4YDn1se|aOW#~l*I84-IFYzSS+|9-AvKN{A9bJlCf;r4 z-KJXb+DqWpmwO$;tO!>F0@hd!^k?@Ic+D zEKf7}+*_dANkc}7?JEF1IlB?w;;ei6=mhig2F{BpqpzKutDZx7A!nGc(rm3CkQZPr zKF_BIPC8DWuU##>`g@ue-!Wlsf}^#NK1*DjJK;LsCs*4>IhXwedpF&zg&!v8zzNO1^e$x36kzodUYr4KYv}9SgvJTJ;z4{n z1N?5&Y1nkL@SO(V*?bZ&7l5|SbG5xK(C@?sZRt$L#R>AX+i2r_O?y#tlS#gSVT`Z2 z*i}z*hG-J^Cmzw37R$SQbAT}@V@jT}KY4tvJa5yMvR8P{>(6RO$zQ!R1$Zak*OtCP zS$}!n!S`IBxX-rq0C1jBbW3i1mG|_y#;Ni=n|$yF{W*+xq`krm3Xi#Ev>V)@)1&C3 zDa!`$aV9$}kp+8YAN@1XWEE}h4(5vjlXtpuAe(gJ;HE z3eULD7ChB>H|uESm6S)Le#KeB!ETJ?s@rP7z%`>hU*6++ySG)8*qI%vc=4 zSbSP?2QFe zD`)o1X`{_8#CZhCw;deE9E*%NrDPH369FqCi&B&x( zw^+?HxzrCF@)_R(%_aBm*1NUvb<8J+m`@I)S1&@Z-n@W47PMn)wnNP!TZo|v(%-TN zx0x~8!uUKnntgfj?rD+5z>&NbBdITSF*(3fQYvrknNm3oxWjEJo)I?A>#=E9wV{ih z#tt26a}U*K@dZTM*V`B5z4y;yPc`7itJ{Qqn(@@iSV}|YY_R2$lQd1~0yAvr7EWCk zNQJIF_+L#P`VSa`A0j(W^w!#K-2amIPNZnEu1fu`7G7r4`tJ z%F|9Am-XQ8`=IoA!<{2K*yG+Of_u6z-N5Av!DX0%%OG$W6(5)9Ok76A!DW!iqr|(? zrViprF32bU3@*dE$Hf_g%U`8F`mqz zaN+#L?)v2zZMODHy@AV{f{WY0O=mZjqImFMLh6W4}t~pVN`CUnO%yTsbzgdt785w~m+pmiid` z)0wBUY&}}j4tCDTL{~8N30Y&6j*I9L?c|zQ`a`)MZ(2`2k}uLN=QkclPdtI%(8|6d zbb_YC%&iTaLBO@lTi>UCrAL(Ov6-TGukB14-xxw4ID>x4_rbrQga0uC=j6v)m^rmd z*8lpN#O6Ek7uNsi8={*8PmmWExGl`%SNl-95X#ztC|jtnQ!-2BKt$F^y#u89Wrj@THtx0m%avb`kwkD>uvVt z7SgT|I>da&*d$<7pns4XYVSf|$QcDme7_JqNBURxx0C_H{H}@qRJwnNIU3#n{cz`; z;2&k}&-;H7esXf82=n4`<}To5%UeZ(&(eQ&6;Ni?I&jxdYaRsr==>L zN9NV{(WN@I)Yf^lwI_Wd{lVEXo_ygcbiaqu{dRJ{&z9OM`ugL`@9B64U8B?1tJO^| zu)p)X30-%E=(Xka|2q1u5*~O$3pZAySF-+)wQI{J`mL67`0~9g=nM4rz&iS-61<;) zCe`S6HRyI;cwrO$Tk8(b0jAgm%s*ZK)$?(pA7CGd&c`{Nb?fkg37#S7Q=t}M()UBr zr-r2f8=h&$CentV_Ee~cMgP-vR#`VIo`jZc4y#eH4tztwGGT=J7K9rI6ewTJgpU(IA$}aT%#a-V|jIKYA?}zgJ$P0g;XntQ1)Be$XKaTImU-CABg$BlkXkWpLF5+-{bpJQwqXI$m!p?s$c!7qJr>g?oS=m z!lw_T+e<$m81FIZD*b&SdXf)Zw}Bup_X+HL3+#!&<~|B`!NmU&>}P--x)~bZR=}9W z_VK)oRXxX^z6R6x{hiv!nM>GxOgoLl^MqIr$@ym5DEN}{Lf;Q8?jl3z`&Wr1zV>F2@% zhdmg`LxCf?7bb~J+o8{qBGZ~)iIHjCH~m@9w{Cui?F5|cK7l1Lu0y76O-m%c%e~u_ zYeS8-p4*UVExO&!H)Nv7v?O24bI1bfKKVTH8n&d?nV)oG576y%LbDyn2azYQj_s%+ zekBtBqx_YT{p0(U>>WT(Dm@;2RtOviKwl--i4A&kfG30xzX58~ah=HDj1RR_vY(OtB><0CO_5HP0$~ z8kpE%st!%P)PwAehDli{9?b9RFvlpEtGb7IF6(@ll)W7nrcQ$aUk3AsabQxmHy+Go zI?P0YnY2>1GY&o5>aM&fmY!`Tlx>R#bC(XY{qGTa#(`N?=Z@1ylsyp-=9@aqzbcqI zJ>$ZhlpWj7suIc`j0f|i4)d_U>B2=!ApL45dS1Gf8&*1UdFq@ukV)d&P?jSroXF@=aO4&D)+jaiufyA z$DHr49FC37x;H}nBV))_pUv3_c-t+ zKIIf++3LgCg8kFHduA! z=Z*ULCVVoEzMnDWy+J(E zCTyV}AT!r0pM%-9{?9miQS2J~q%fjaleddFWQ?%T44xS$l5ndhu_F-CO(^A}1ezLD}k$ zDgAmPaw(sA7}_*Lo0B7v-6D63++pWGlE!1dJsRlC97Mj<67uDikVmzcvmzzGg=rf! zbtToWvgG|K$u=nFE_? zuih@@Q>v2lKAvv=G%7AY_)*%DVYDS^slUBQU#|^UIn2)AALwLH(j;XsPiS2O?V9#! z%O!UpdI9UMQJ&5}F)#DHX`g$!%*Qh4`LBluZkF}S{#yqx&Rs@+tK|UY0-Uxp; zy`n8QVMyOL;){46SVMSE`9@xehNr_Cw9J|8UjCZVo~^W}nK9Dzk`-2>@6TqNUUDxN z--)$dI-DWPoM|y_V!SmyZ-t|`>9E-*_`2!&ZrYR)(NDoA(^$&vR>@h4AJb@MehqOhRV$U|i0{ zemiZrl25#kd>W?B8M=7EvKDwlbk{`w#c#)2csY8@iwhN8r-ECD9$p7rIpb$La7B(J zcfobE9vRG8os9pv_+nGI9=5n-S+aBgtpZc(PfpO5C-&D~tc}ywJAk=Jwbf~X>1@3- zSDW*+0kb|wU@nY?nXD~8l=;=#nUWQ0=d`cKX=j?Y{NbKot)2A)BJDhdK6+j|GqmN` zaW0ri&k^*Km7e0CmNmW5N$9Hgm7{fdzero}>??g$qWVf`D(lyzKH!hvRdVz+Bge}O z`^&=r#J?8WH++`EZg(qrbY zV9X##7$;VJLFO81gUl1w@)l`JW~42Jv2EFGv<2Dw&$i{#FKLV5F7=xD52jAh3k>|L za-Plm%J^$vvCd@blr@J@=dPUJ>pA_u3e7{rdR&O+v3R!rRbpmVDm)K3w6>g|kN(Pd z9{RF6p=*-TxzTJ1L zrTk{g`*SSiH(K7GWhtLwd4Hv;Nv8B6!|%g>kD5=-}_#h0t`XX+P6 zlr1)*Uy5!idSxfN9sB?HI+2Bw8PkIqqvpCX5nVr#y*zD7A) z8RSen86fua9#(n8{XptAX>|I2_i|JA=rJ@l>?t;-e~Aobzgk=J>MJ~_L~h{&wd$0o z(bara#QYW|baY;??e&duFF#$WE%&jHdb(}t#<{kvC8v`%J$0HGQ&r}gar|_(`TWO` z=Oc~hwg)0*qs_8qk+N}S+44x)c%!VRd*kU%+VayylR8?jckew7546Gqe((#lx?SYQ zSRVS!?P~0FyP6yYuI8iySIav0a+!BiOu1|5&GGb!2QE9GH?8@h+l%!5fk(R8AJ~*< z?!j>?e*0{8if7d-tv=E3cHPlS8=qL^b`52353vJFUS-|$H0#Sl`}5VA#)p{GM!-Y( z6y`jG?trfENwVPsa1tj#d6u6(NYj=MV=nAW)|SrWy~GLb{yvDs;=EBYl zURk2{HN$l_!=@EIC0PiF?w5#pV(eX&(a>*wx@s+G0m7a->;@v|0Y;I^?K)H47 z+M$K;jh((OL@%_{$N!7GcaN{Ls`CGzlXG%wT3VnASRhH$7D540ZjH#~G~wE!IMNYk z7=KBdLQ|>&ItmdqNt1GEKzo3hI^ft#2#_EeD;48qnzm9X@sd*K>;22QBz^X%j~Cnst9otfY7k6&J|yv{k#W$(4uUbns0+H0qb-Q$H2^G;oc{j8e}T|S}O zdC=uL+EhNZrAz3wcaP&lUf}wVxo+ulheww?Jh}{dbgAp2%aBKxJ3P7!d34D>QbWff zk1i!2vw^i4y3`up(xv!j5Af$em+3HwE@g}B-Tpk$B{tmdKv@VFt*=F~Wvzvi(4gW( z4dA7b^EZ{Rs=U?M?!_j5-pb$DZ_oqCW8)txnqkgUrS4v2vudt1oEOP|bv(b%TUU1$ zZ=l{Q_RK4B^5l@ei_sC*ZY)7h;2XX;jGhp@TH`-QE>j;q2G*zG(T!oLmSiPzT(Pw) zWLNTA>u2eZr+Hp>Wwp+%YRJMs_v>BGptO7@ULkBdZ)_?lvs z;j&M7^mwSrm3P;&26(e6Z9jBtc4VN&$~#xT{`O4g)a07W4(Bpol2MXzPeDtA(9#g| zF$m2Nv@$ZT9a<_y#+{9fQ>;RIS+ttVIP#z$`Lyl)=hGf%*F^G}|Md5SPsw-5rk74( z{x3r=l>{OK2`iUe*wST^d_}6C#3sZ?w@?c>POL-xBOgVGHCH)nKdleph2G|{V|d|S z?kh)BeM!z1;***CZhThIX1Ugf)FEC~Tb;5#ym^|lUG~sA(`NRF)-wJzXANy?ZX{RP zt7z6Tn`k$V-P2&&bw*b6{T9}pdsugh-jqYiz2_3oIHOVM*V65U&}}UDi^guiuI?;e zc7ba*Kxdxa&};LOwT@AZ=q$h8!0!{FvxCfSd~9yry=-sKbmx}!k!TQm>HQIxmRvb~ zB|KHh+|>YcB{Z0+jo;32+c-q~nj_-I6XfUM{!rb(FGF=2r)(B~9|MfHpYc|k`ayFe zZ~dC_dbM!Ocx%r*?(x2IQRea9oj3J(W7rMhFB*-uU>73`E?&qpE%^6b zn|$_4j0UTp+E0^y8u#~Q!JAbcucM1LRKV-j&u4kv=o9ot6TGz+dbhkTy%dDkrOPa@ zOBXdmLm_xQ{XOxzXkTmS-Hx-}$amV5eCLdDc!*qQKF4HZrR#sKho7dAd%FVNdL`#} zJsJAK!vmZPybgP$27j<6_@+*9tf&+f7 zin{s`dE@LqR?H~K9BWTOHuTQgu8UfAU0Y_cuLb%R?HJmHb}awRf)=W{mmt=%gU?z% zD~O}$%$}`B)~;XaWVQ4^LjDT6u3Ge5yW)G;L|vB0YKYUTAJL#b`_2k?5mOnvPn@Ky zuf*v}=sDm{;XN;&WbIa+agoU$rT%mmXQ!vyU~qpwb9e=~@1q{U6GxiYFJ~Weg6HaKryJZ0ck$po+txE4Q%jF~ z;$P{&mBKH5D@Li$Xshxg+~>dKJ#U}2XCcL*ck%p>&AU16lKHM4aAo3A=LPysz~^!7 zY3+we)yHld8Rw_Ty(gRIm+;5W_%}Q-)19BMmoh$LNngt_Kej%~F!gi(I&-`}O7u3~ zO$6%tdV*#BBZ0bs-v-MDUk#QGC4yzcgTb-`Zw2bc&QD0PfADJHMZOcm=v53uIE)AH z+?M;wTa-v~zo+a)tig_2$~xeBbovc^Rv{}Ai|YnP7S|2FwYY9*u(E78QCW82)ylGw z-&U5r)>B#5e`BDo|JKhE#^^Xwy`9rvF@Q>lTp|`?y!*AmUswDsXYFn4m-9wS$SE+RB`dXZ_{-sVGd2VHc zo18N8+{%X81AX8|r%txUdqfXfcfhkIhEo~l9sD;->F;ss{%s2LPMCMXyc4ebyhk^d zpRYBvG9KT_sScODiapW_pR0CK^cjbIN@O>3)A%FMOOl_m{U2vNm|)G=_YCJ=@}618 z5~I~RHU>|wyNmdZd^FUNVDH7Kd^D%SgL*E;bL$$M2!4{zyv4yWU(IaYXPs-_zu&vx zIDTLGj#~Gc`y0Ibf${s&-`39}+u~_rn8Vm{Zznf>v^+3p&1T?|kLGD&PWHL8$S-JQ zy}6dPa4Wlq3`LmJ-v3JX?tlPuSIQ|F`y3*NJo1*P-7Txe_F?S z+8=}Q2I#UJ+C{$yooVF#E}})YI5^!_L_Vf z-~Naj!3Q|j-r^W^IEVV!Kja)@^0u}QKrb&k6?JNVo}t6gi1I@QcRO`4WQ@DMR^HM$ z4W7mv>e(1FMeh&p#_m9#g$|4;JZT zPEC6++Vt|4UJ;3}tUVq19~fBZRcvEDLmtO|DxA@>IJ1lQT$+cT@8 z?mh!kt{Gn+^f~~aO>9Rn<#t4A>nyMW8V-EGu;U8k;9rmCMV?B? z_;f-ep@SYpUs%xI@Y+p$qK7a3qX4+pz`}fhl{7Q-)%C-;;tI1ud zHf=j2%3aw@j!7x9N;*z3Y*lZ>7Pu zN#06>fd{{@zE4*>^o5^!Z|%zOmFD~V3Upmbo{WWG_(9i?!QV_@TKCDftZ~>eTswPw z414j3?O_a}KaD{$BIm@cx)<;pDF)*CXbinQ{tNk+$8s5Zi}R+r^j4CY-n0fu$&=yt z=gHY3XQQ(i8Z&t^XIUDvc4(+WYc$C^m-gK2f@2VPEbZTAU~zL+cFL}bE;w#jZa4}o z>3!ZrpId+{fURx%eAM$99mn`DIa;5Lv5&FZasG|QIi9o9S^PDR$B(1W(~i=oat{;- zvwaq)_i5$IarAkFJddg7`Fp@5UHn}>xAXrT|KBm!LLJ}cv(tPJc6`&j_6WXX?(ueYNgmEy+Gf*FXGY?>+g}%yneW3$$mi$C;0H#Ir1K z%fIL6ZN;MWu4IY&5RcpY^G|Yf=M&q7f%l8~lwn(l>_Exi2-A#PA8o#^b+7e_IJ~ZTGR%AJFy74eK zKikj$nPfs#I>;vzKD&Ps`GhXYqz^O6rw^yoEi~_kV}Snp(R-FxK4$vNAcxR>$J*!n zj-^j*LfdBsZKHnn0CPgNs;a0YUYymsYZ$_yBi;DjuQTJE zKC(jVNNim@);?-zoXmL7<$fRQPqQXvyn}04lh!Z?*mDQ4^W=}T_=w7`#l~F-PQJug z+VS5|17%-9?HU6^BelR*{w4Wbq7q!(08Xe$-0I}_82^seUGLnx9zRn{9RG*>VB~*v zI?joaf2Q`P)@(a-oJ;Xjj=r6|&-hv%LN-di_I)-ys+uX1c`=lkC4>O#GL zFE#)7gubv%^_z0=P5(Hg`jpzg9_+|OlWFvA+TTdK^O$ctpKAA5==;3da~El!_G|bC zL|1gUtO`2Z#b*oGXVl)x9-M-aUBr72TuT(tbJqG=j~>XXX^UAzcN_XhiuXM+^*HN)*67WP5mz5uzWuPO%U?Or#YQ{OQDg6 z(BluV7CEUY ztW91G%ou4R|K$y2$9n_QTmHa&-4373%5nA`49@C#_MHvu&vRz96b5FF#F33=E|EdQ z;%VkYwUiS00Q!P60#{B2~RRNapqa{ zshR?k!G<5;Y32OdHe>uA>2c}R_%wLu1^mm|(0}YEcp19rudFN^ScS~G(XA~oMEk?w z-_*Yl?;yv-&rSGkYPvb696nuPWUeP?n_T&A?mL00?{_;>-^UJ}vVH8^$?msf!_^{7 zwN96u>tk+&Yu7I5JNzpBUdEpp!6x=g{2CzStYu4i>b%y&1R{mXoxlsBo@ zE1O{T+(~$Icew05%%=j-@_*Rl_Ii!UE^p2hE7G2}OKH#S zX@fTV+56QdAA#{v<)q5+N*C{n6)SG8J#vZ}W5;#MPxTP{T79Vkb=YseQO4!?8Lu?M;Ro4^5 z=6=lH_T~pK)0%N?Z~JcTm*?8Kj5k4iMQx7tS%Ms)?NR)G3H&f>a~^Hl+AM9fiQlHP zt$KROzG>R*tl`=zv?*9Jwb@6TCFHM8(q?bl;giza?5*Kimf!@IOl|&LaI&vxk~TZr zI_IXh*;&K2*U8~X5X;Wg=J$`*=A#+f?^c`COPCa&zgsjBpIrM_+AN`VZ6-KxIU1Zl$p9zUn$;%qJ5!r~ zd$cz1%Frg)Zllc_XfRWoA3R!{p^}MX=h{EeX6qzvo<*Be(){Tsr?=T#!?i1EGeJx@ z6Pza6c5Yldx0%)PHpM zsYQ`FjpRTVhi62JkW8<|L(wk_=EQMLUX zZB|YtzfPS$aW1*`irVCS0di#~w7KbMZ62IAu}!Z1$iT^5W@vLgZPs{j`tk1RgWl#x zKbWo$dTY4$wA$2MW@z(sw3&%M=G(da+WU-eJPNMNTt=r)oJ*eh3VoQl?f7^Vs6eW5YR-8|gQOoStMJ57va<6~Vr<^Jso+9zSRB!&qq3%p+}?nlQ9o zVa9Tgk#XtxLEmp^zWt08{3N6=xmIo3geNn!c^++6l3OadnW4?j=G%kmZFbghZK>K6 zZDeTkRKbZ1$kZl!{b2JCC(Pr)8m?Vp;Dk0Zv>Bw$8V}BNy-qx?v+WnBrqCN>@2ufk zF>SU=uV-lU4eS%?Qo$KykEFFfJU;I&{>5xJZh{TO+;>(`%Y1PvpZC`AOdfsM`^qH? z@jGhHATEu(>t~_^cfaCd)u>;VW7=G-GsI}myhj{b?PdXkpWm_dJ8Polk!p`l7?aLM z?5yD0h;oIzK92kppC|gp&{~K#K6wJ?1~{V?^dXpOr? zgZ6tX_^rNP@%53QkDXqP_hRjz_=uA}4&zgFbqT zzj4{bJ{qRzV{?W+xVG8X$G7QYanQvTviD$dbMeGJSpQ8jAH6k2Srf;>wflU1e3d?8 zUcNRw-CJ?)oQdJ0P2wGv++ z7y0IcIqxlg^puI?Xqcjp%^CXO+B9DubLeBahb#KnP~7S6pHCe}X!7}}4o#d7t{qao ziO1(z8i%)s$&BN<^Cpg?dy4spW|$AI{mR$J@K46ia)7oD7T@#!iG4UzjH4*SIJmaM z*GDgX6nnD7^l?qr#6H5oDR33cfU98SNnan&)5jLCkGaU*3Sz?(WMabm0i8^4s-Sxp^(}AO8Irhc~W#dtyCT<9{M1 z=-(eyfn*!IBo1x=e9V$zp?x-{EB{fD~cOlxfod7IH6nT z&fn&Hd~N>0*JcKw^2meFiv)DbcJe<{<9nInvYsEhx27R9=0_H; z%s86dxzkx54{(mxV389!3qN)h=he288>yVOA=XUFXA^vhO5&?$;cI1nu4Y_k5erlN zQ1$PgW$x-Z^SMcJ6zo#Y&or^t&CKx&%+oD-&OYS{#_oAjJ9vnFWBo^<})x;gnB&%%>#95mFimG3SO z<##+~t}A94>iC+u&iRVOinf^RU*b%jV8_3h>&RqeX%pW~%$M&Ce9sg&5FdTw^l?5i zdtOeazNC-#Me~;4SF?Z2U%xC09hEb`&wyKfkK@CyoaO8bk;gNiPsORlJF3Y|e$Asz zL1(+_UB%HIW*r25DIchTd47VN<9>Ymt}@0=wMsJCG2&h76Y-< z><@;^lzUvJZ1NZ&~6N!R_p{L zyQtq=LA`~YJI3o`#tInAO!?c->?laX<9B>GwD@!D2c0^ei$QEqeEI;n3G+i{@A9F& z@bH2>zE5`!)$=<{ypV%SGF6LRyUxMxtKdfM=bw81-1ev-O7!R#J%1-dJHq=0?B(nZ6};{dUP1)eU-*Khh+fWE1(b`F*B zoMK^$GcI6m3ZdTy$xmod{Uo3Z7f1JOlWZK+xS^#ObEkP!F1K`r(ObM%e>-g=7tB2P z^%ioxrrOz8TrIuzrEStzdRKBaMNWG>Z+t+RHzOOx9`gJ_MtJu4EDW5!lWEA-^*&SDr1Dp&0 z4Z?q_W3!ii~IU@z+;;T=^%O(Gr>pQ~epaFD(=Dz{^47xM>O)cGZz4T{u7N6|AChTF!+$RkU z<`^1$5*o~b29XtIt{lBERgTh+k)xHa9c$ZdrCsUwx#TBSVUykptxG=dzzz$NgHw*) ztU+(Kao@-v>`MB0c!2(QqJy;eqMLU_SHDu8Bs8Uas`nA6oht5EVjs&+DMxO#Vsl^R z1bU=P2iSwy#y%%KFFU@F^VLLOFVx=ry==zv!ZD7;(*5oJv4AK4SY#V(EI~exIu>+$ zo5q6fNgqoB`8prFR%4M4HDiIl{9}31;ALzqhZ)Q0*jV6&6#bSqFLo@K+xbR@v&J^_ zy~X3>Zt*d;g!uSw!HL}Py^764av*E#YGo9z2oE7f6=`)XgbWZS_pLx}pvt|g{diUQx_|f0K`KBRAI3w)W{*xgmKI3WQpk;W^2hbxz)T`)sQdY_V`=d-lOK zJ{Ug8_upRd_(y;Hv2SQx3*{#;&qEU$S7WAeVOxlP?YM0F@3-w@lg;D%<1-)p=w($M zrrn)(Y~0h>8u_iU$=}e7Ezk@PZ1UFS7WPczY(}m&pU#;U$1qOS+cEg0Pm5OztHlMp zHaq=V1-WSD=;}}YL1%~tJMK!;2koWO2d9m#7nILL%vE#rTpzZ3HuSE&7Lx4~?9JV- zJgtG=w9l)SxqG^ZJUL{Dv8~`!bn|E&drSKW@=qM6L+$N9n|w!0hx*-!OrgF(Z)xL& zoMV+gvIRO7UiFWEqf`EkX@T(Q(#xI5f#9^BTk&O-vj_K9=Jh`8i$QFv5ny-?Sf&B< zAUUnClh-(ctauH3^kl|Rj;?#4m|SbFk>6V;x!7Jr9wqmuV>e32B*;;J8=G+kaym(# zr{psFtSguEL$&8kXCu8xt?H^kVB{M1+YREQe7)#}$Iu&xo_*h@$10p@J;nULLEV`p z?|gZEIN-GGab|S9K>ucZfeRzw;k)G*jeR-%Vee_|%h7W~(9_fK$~4Blgt6-kNzH@( zeI36aVy`e~GVOaUIKAhY!1VRxmzy&NEI!0f!iUbBT)?}9o;=Dnfvgl9h-%H1YM~*cGLMkn|gGDTl64Y4tcoDGq@}Omjykqfy*`TJh;Bv;4-hn z(u1WJJIDC5#&AsWxG{MEju#f=LvZ1^$k5kf)~P9Zg^cAloO!;SeL@6lXv9)^}~$c3FNov90ly14vPbgX)<`j7T(57BIokm z${E4C6ZqWmU1H#E%mDA7Ia6af`;{!bFJV6)54=Ut&+)*E5ODDeymn5f8lUKOs{7a@ z#^3VV?~}{k#j~!S6ivZRqXB_fnpM$)U ztx&-4HT?c0ze~xH*V;t#?;PZxeO7r=(hUn)TS$hDz|U*ge{(K!`SoA{a`~b4FH<8S z3a@^eHvdwoy4t`9z4*tmne`?9#*}fyCK<;r#vvWN$BaXG$m#ezW7*6YSSM}JI*BnE z8E${S%x|cU=D|Qd&*U@4={@H$#y5DTCorRBSo!_Ptk>9^aR45mjSh>e^LgL;hrW(H!4H`- z-eaA&%l;eZ4SXzPKk2g98PhYqdHax=w;7y4gRX%O#%LV69)Mp}b3^+$5~{-i&3zDi z2b-TWpt2|U&Bp6OjLVn+yrjM3RxhN>7Tr&O@4u^ktrgU^_5b<%)}ERj;8(o%BR+p< zzEA7;zWJ1|F4VD!?~}X5zTrveWiR*)Krco3$Wr=*X8u%|flldje_Ee|V{2b$OkYmb-*Wm2WT2T}XX?+R zneV3cDVpi0U#p)p_Q(8rW}d~p4QhfkI(CGIejs{2{f}MQ-2=K zd?~F@(acfD2fcXX8!ejN{hO5WK{M+z^~d;X()#j`&#oOM-&{Y2jhnf@Exz;9{FB;a zgKyUC%N#+E<9|I=!+t-lD~%74`>KayWU$XCzlT_#;une|t7bqqdOU=$*7fg&M%J*_ zP&`-by;jycs?UnwmAxf7WAVZ^{LP9r>I|rztOc!apS;|2nr9VV(rwO?JdgdFuH1g+ zN9=i3n-}1>!p|ASj>_03J~Y!Nc7kowytjz=@H@(%o&KI;mz5XbhXj@_7r6292Km0J zD_A{UHPYurZrhDN6Tf3QIJy>_LHqYs66XuygDZ!IuEj=JNo+5Koze%)A9U{EB1mu7~GdktwX9EiM+cG{Rz`4MYa_bQiTmy^v}O7%jsOuf)*>V@8Y zIJt3ah4V0W~`s+ zD}b%4e3JRBXV(#vdjZ&P2DT>Rbb@VdgAa@Yw~ZZ zZ~r|rm)(=ZKD_tMGuS8@W5wPx#ECn-IPnI>i7)*g>jC0Tisf$xZuu&|t50N*)-I2m zYxUdyl~2{=drF_=Mz`sc`ENC!_1GLC^Zrz}!zX8_>Vw3|tUd6ZTmPix-_`J_Kfd7S z-xg?F{A+mQzsSD@(6Z$<`RcV^N#_~EzZrOqe3h>7bmq7r5ZStGoM#@O&2*l5fOXCo z&s^%om7quQjrz|L&H4C8^b~}z#5>th`4%OEvOE5XydSLxs^D?e>dYt`;PI>A@#P+W ztKNXtA4YD$e^0<`c8vGJZ^~)-F?=Cj+l`zWgx_PHoRVxH4rc1L7@2_ovlahZ6xr3! z^KDM3r-XmvJw5jlhtRumC#R)YIqcCg_8Mk)+{hYEvS16mvQ_fH<2PbG<{Y5S@Quc~ z6~1xTOisrK7^mnzNDOIQ=F6V;aw9xiHaymF5$}-$058er{h#0&RF|h4zy(^FnzBd*#|G_+gF553SM_Y5Z`rYS|r!J{y5f zEk7iPS&1K3(#8aRmVqCv?nyxZ;*AOKdAi5wERQxtm(f*D9elLG!SC9;bDWP>6H`v- zqt)bsh~_8o(yDM>2)dSx7f-2XT?n4aX1#3Bx4OmSDWgB&sV(HeSp2lX2e&ZJJw-W@ zZoZ4>?}ZnZdwgJd=>L)zdMz(J`t}4~*dX0A6))TgoX5xu?47-2QeH6gaTNVwo;iyC z5HFlBy7%pD5agKMM5;FPx!Ij~A4$I2A7poRpat!aiQG{w`ZDX4ssmkXkQ> zT$z14@ImFXo>09O<-b_JmVEB=70W+p=DmBWwY-}HBj3pV)K`eHZkA6#XOs;hYuvNd zwcp$6P~8#5eSZoc_TyI@#MhRnlw8M`bptkxY)kxFL-1xMo{(*6$x*4BpF_Z>EJ^0mn)*o4K{7}yzi*up*L1;=oDe;e~ zMT(E_r{J>hGH0|#dw!~CnEbw7*m2cn55b&BDY?5rXn%3Qxm3PfV(yW#w&dsZwWWNg zFJS*%5yaQU_+!ASST*aOQR$30wSpVSmyF{(xdLCJ-c?>!4ePmnU{Q@6_Bf74uO~ms zuH;IuEPJf8K2pcv$9$&T*M{1YT;}7{&Hw@SCJEu z4@&&fPF_($^TSy3xu-FOQpUs?bG|VR0sCu=AwMu3UwnSg{qNkr{&mLHA>TH0Qo!|l z3_ZGb+eH74OEZSH;Gy*Vs&Rjh?>YGKXwN;MSU9m9ViwC>d3E%*-P}{;o8;Ej|xgl#QshoYrx1Xfl2$ z{*D@G@@~#xSOp){J6&4$sIKK8^O@~HGtf;gYmjbJ!{NNh1!^Cf)SdwALlci{?V|W) z6nYr^M|`pJZ9Axc1dCq;G+CIR0+4tYt*vGvl?$r|~B)+jsb@CJPxqI!3F0EWr zo3E%%ooR^dkPmz_c8{sOPR>+K!w1Qk42}fAxyGw?;THHv@iE0^m4Dgu=j5^?OA0^-T(|{`-no$bPZo_~~Thc<&_RfPYiQ!SAP! zaU7pVRtUZrFjet=g06y=FZXEK=2d(Mnzrkez0~UR=hrKj-7jY~msZaHoINR$vpY{_ zp8>Qj8B|@w9)o$*tvNe9`Z#rpb%xnW-f1RpRyNpLXI4b<6hED9>B3J?0zJr=A=?kS zvG$DC(NFRI9`eC8Ch?KvmE?l-O*b-HyrAb|w4t>==YMV|C->lr+@w|(=_XUwhS!*`h97`1@9;c-6<@@4F?W57N(IM_GS_;!q)f!(1oNS~>HE1$;r ztZ6*{ApNIvRV@!2KJ)IIKBuyMyyv#VJIY^rhR;TFI2pd)rdyVkcxovV~JjcS9o(cd8LC9peXBLt|4 zEm~FlZ?ou4eL=4!^c%g?sms_`*y{_rwSAfQpwkj`WVAB1-v;$77(e2@2ff<&$h+xk z(7C+MyCYxxck}?`7H_v>ngrWB;J1)IL{??O#Z|Yn=DOV- zk6m-g*AQmUOYw8;2UZPahjaGefyMX|tS&3T4#c*+IE>FEm%guvy8G1aIgkrX|4v7G zpHF~C*`uu&c({b`gv$ozPGfEc*9M1vzX#7x@Oyw;&+pM`*LtVncU1oV7S^F#@mm_% z>R;>0_Xw<8od9-&Y*we^$f-wJ>v_Ccgnz|xE}gj6^X@aw-sZ{Hdj4myQ`a)D6ZVyO z&uFdp9dH*5-o35e%_}s1kAKm3==@RLLq=@nQ!-++`TeDBU)Lx1r z@bJmd)G2%-8&=J9WrNkLiIb6+r?CIQ7f&ojUZ=zpiT|*#vkTj)tWaltkw@hEg3gI7 zXY9r3pd#!$e8S)0;=9xLnf&ER+R&NdWA7dW0PITKW zJ?=I&ujy^Bqs`5-F$4oT7Wm4(f!$0k(_YnW2>akw3~@8?R+EqBuvQCj4|`Q@c2@9P z^8F6lbLF}lM-?t-gG>K@9@#YA!HN3;OY!0P_eW(dVr_JR_#1jf=2fBFc4N!onlikyb?883p$!1?oBWo4OKJidgx{4S?)YShhjr{$Ou&s%Y z;6v%co{%lm$q*wqaD5*1+}v=f*>8%ygTE<1(hLr;e=b(tj39QpY>+Hq)9?2)_82rU zwx$ZYx-Sn}OLEWBn{e{;6I}Y*X>?C!d^|ubAO#=bB80xqo(DdV3BpGSID3-*%gNPj zQoahhV-+|V1SiUmiy|v>PxEks{t!-H@NnYC2l>gYWvKtbxH%hcv=N-IqpxQADo4(& zCJ$72+Ctq(&3g=d1sK1@S1#`v|7ydC(48`@pmiu(wuei*_npB z1`l`N^{wBu{#*S);cGnKv%&0}I6D&kp*zQo+RqK_YYSM%0XsC%>rk)eSKQ}%XK~nF zlR*0i{dG+&?A5GO@|bUYd1k&PN47JD6=7GdZ{xe|bGQ0Lme@WU=~MW!ef}V=Pm3?s zQf3c%99bh6!}KZLVQ7qN|LW`SUwr*NrT)-gF>*gO#(2R!+x%nPWc%wr&CJh)F`^Sh z&naW%n#OpKug^MPpX=2p^d>p1J_EB;$GA4F&k19M&L)hJYt_E~KH=-{)9R14m}I)? z&xg-dwy*H%DfBmnPu6D>`r_J^zP>7aechnGSld{9`seOC+gG=HF6;zcVh2yarLm1e z9i_hh7Wn$RRQ<80$~3kM()vrsW1?`pzcE_j+6lhC3i!@iuh((rM2f**7BcuM*0Lt& z4jmsyZrS_aqxOOJm7#aWY79x{X&(j^aet-J=*zaFG zj`#l~{e5Ko{m1eC3u*6f1uu6U$NSsU-jCx;sXdPO+tS}B2jSz#@%}%jzfbJ*n&WtX zUE2FAsFSehINtwU+WR`U@a)Onhu>1@hu=4+y}ypg*CN`fT0}o_>(Ur|!kOXP#rOsmORuHrX5-I_W=E>ICtFnO6=UOa z?PtJd`*@W;j4VfIY*GEG+vgiSkS}E}lZz z?bJK)_3@~$4>OJjXHFbPgIiN6<9uvRt*K=C;o7afKJHc@$O;cvy~WQJX6VDkmDP8} z(BT%wVb)Tcv$a;S>yO?Ferp_mOCK&Bj;}x7EI7Qe%ID*;{?XN}&;0AR4Xp8Q_i8MJ z@q<-q{|r9uc^UHVL7G=o26}(%4ci$xNO1^w41FW$$yl(N~HSXbcDtxBE=iw9hGUD?Kz}G$nd>{Lt zhR@4=1wL2y+Bg?Bgz)!K;A@-$zVrW!@I8=$e>QmYTkY|WaxELkU4>Wc{C;o|A+9E{`u(eZT@e9?*aB)`t5OBcTTF-MMUlJj2|x10 zk+<)!4+hr^oU-XL_EyhMf93~As?7c6=({J5%(?&ZWOBQny_bLpcs{08a~=!}WcKJ@9KlB~$Vl3)bbBXjNz zAHM8f=WtSj_H_SEf zFU9Aie1Jxh_vE8p9(K=m(YR}7I@=F51q>{)lr{sV&3Le)Y*)~^1YhU|#W@3rK0LtzehqK@<)-jxI7n`QVk7Xo;mM$T zCO!0d)MsXWy&IazuhRS(80bs+HhsG}dkOd?oBEIsp)mVhvYktV$ifhFo~#eG zOTHv8bVl3Yr8anJlf&K+@F*El!*hN3v`v1GWK2__Omwe2P|2S|t?+aZ83b>S%amb^NL zT&)ItHqOD5BFcr!`DJor`E2LVa^@$1e0cm>>acwB+0T?y$7Uz=;>;qB+!we*v~wAK zNpG5bFlffc*0vzO7Ly}xW6P2&75uJ1Z>Y~1^qD^HPR8Anf#3F~*#jlei*m%~K|9&} zn|wdT0inehbY$uWA%8nt{=6}qHL*UeYSXGlt@bA^W{mfK<JH+u7~xcn>L80`GJ>$@|?bid$y7dbw0`l}>H z=i1Q0jvqfn%`L7~G}vp>Bb))nvy=5(Ng~(FF3Tn!Sab$-?-% zf1@$TuC{*`-fIoMQ}-jwE-C@X(!J$;Z^Gs(CT?5KT1ERc(S7^+s2ABxy{=~Jz+Oqe zZS=d9=WFOIRJ-zUBcIAQ_Ro71pTLKeD@c4`C7;?O^$&asc8gyltHJTvzOkyNX}bMo z;U6~f>G67Nip|M()I3&TJ1Y0`b;cO1U9qVCQRj}$z+cZKzKC4zLEitI{HFcb4AY(G61$R2XS!a4eJcs{J$A> z^XHHi(L`3{KiKCPy^a2*6ZZ2Cx}@*tym#l(`rUReFtx8YF8B3SlNI?seH~0t zr@kgTQuw9Drwg+8lK2+SN*8{|!Tuo+ z26*D|igHuW|DmUQc4r$oWN`mp$Ho0;kB*Q3{Y@Y4KMP#MyZpHC@Z%#9h^hwn!&nCxr(kRZKgHnZFKO^unj5pZ;1AV25e;7Gqe1bs&1X^#lYjK- z0?8=xw_Q&?Kz`$2XO6F@w2n%$|607IwSep$<&4XY5YH<=PJI6%_J-xa_oA_6w{u4; zyr1lI?#Ls*uO7epVq^g0daf-myXA#Yc1v3~dt|7~`xE8#(9Y|?ltflElD`|D<~+AR zbqvXIX<$$7ReZPSEIa((gr6yjZr(J@Ikc9X#=$1`_14Z?)J!{~bHVp(wU^98j^y({ zt)0BdQSJ4>2Jfx7o!WiZvriYkh~MCoB_&yrz4(5nlqH^>oT=?y#Ih%-6x$~Ieab=?X^oL zv)h$>{0wuN&AzoA*ddGcJ=^^r!`|Zj>wUxQ9WH&R{*lr^{lodxJ<~hYvdL*fHBkL_ zm#)Q-)d_Nmb=K-vgU+KVbLGLKI^M(VS>ySK2cYXg_)D@yzBawD{XCk_@-V(Ob z``q8bUYp9xo#&nfhT#fl**U9g7FBWfxPj%=~OCDb)%e!Ac1ENf-%v`1*~<<04xre{28uJH`1xvusl0f+3Yr)SB;b$Rh1K>x8pQ7>TyY$yye&3wy zY}dG62G`Zj;pgYl$IXoE7-(Tb#YH79EvQ~}8Z9h8Mp~%OJ^cL9`pV)AuZmOOWBQuQ z88+#CU3H9oNtRl9F@&6qBPR__Zzzhy(K~VKc*oH_!|0rT7$!iTelPYNG1#0-!AdwPmTLIl$1SS+Kg}M5{Q^zKwszZmrt9?qyPhdI?x_J-(bJ~Y~ z4lMgQQ&VR_oeC_!WUZ42EWd?rUWINF9^KUBpnG#O!GiCV^$@UpH5Hc53F{$GK9!JH zt@%BdymqbcrB7AwbQt}wJWq4pJu#@eIM=#~IONLe=lS?1a77#OR$zPzo8cM$FM|iZ#V70h*mo?Cg(9)0Y#**% ze>HZ>7_L5ajJQfB-%bCg@PBIi(DU^F1J=IgEW`Il;yYNQYOZ#JyBEP>kJo=IdqgU8 zeEpBvC1d@ccZ~f@SEz=Id?oGRM>cITS-}7F_Msbr=O(jGCNJiKNW2R9Bm1NVcvdm5 zYb-ojz~hf4OoS)@7~x4KXVCWv{LgG3x{dxn%fIyaB5bicp<~YLir?*w9;gQ&O?xXJ(Pv#C4M&e%)EO&3?Y}wHR8|nXXum6%z zB))s<{`VeZ|HJIX*L+-M=HhhVID`K)+lL0}d&JO2Z^b9ijKu%IZ|RmlG8bOYLGxWO-m~o|eAnm8-sel+=N|Kn=qkHox4D+p@oPSH zKi#(6lr?T!e)661TnoE?l)u#VZ>9R<%2}gD(J$r5iJi#r%c(t~^|#;eX5r652FM2T z-^0({)rXx-e50!wJGl`%`3m+sG-D^P#RsN$)7!Ip(E7J-_radYzoqB!sSC?)4D9)LxwUUM0TP3i^A3xKA^_ z`zqq8jkK{szCG?~jV*i#FRo4vrqmm=@LB)d1MH1WuUFJx>5N`w_RQp(a}Bhn7M!w; z^J)KT?HyqZ+B>2e$+|bl806C%WDKeau4}4Uq35X)-J4gOs~QmIoG9HJ@}3{!`6O-h zurKyp{_9yE)UsaRjegOdk|3Y8_z(rdX7;hzd2BX)hejN(Z3Qn^F!rms_7r#-1TU{r zqq&iO?&X^H!kIl8z~ipxJ0P=RprqOV^dI zZxh;l*zfBUt@?i-?fL)m{ao~60kj6a*}ZPoKlDssoS)PEL!b1m9sT_M0Auv;Pl~@6 zoLxrDF`3+0$Qm(9oXdy4^IZS!ZG;OTD4`0{?q;KWBljiHT7lbU-$9H6L-yx z5O+0kiw0md*LcTXi$X))jyP#v{W&X&)2GjC4BW~#tvEfrzv_vs zJ9dJ@V(igkewTA5PWl`ti8IOXF8pe|>9n(%_M-4jOmZ5!RqUzw$nE=!=Y8SfIlY@c zs(78~&)<%CJM}k&;Qfu!1M^{N(P5pHsc(nA8<;12E{D?LcIm;@C&i4{jPFR`4nHrb z%S`=gOzO|jFtlRndNa5R9Jy5q<0;ep<}B#Nf^;T$7Gt{~TtTpQDZA zrsEig=1PB-zxSduGmg!N+amO7y50=H+ePF_yq$d2$h0lYskJ4Pzo7gj{dUYV$%iHP zq)&CNA3Bzuq3_a(ZRG!q=_&X`G-qT<*p($wXcPY0E;+NDHe{ci?Y$r4_k8HG4Lt9F zF4eZ$RsX`J;>p#_g|2O;4bixLMsigBucLppsoWktM_t1Zs8&CT9Qsffys4q!OEEhcw-%B@sHBBF8oFgCo z6*C`W^mn!!|E%iFx~CW-nI-w*(SB!*H!hcU{Pe}ywI2MYW;=Vr6%UsT(A+i}8VP39ua@5P zsTbqlziaf_ti#V^uTl$j++HmrCSg`KD&yTPtoLfSvho}7N;3$-~7u70g|vJP=33$}HzBX|1Y=dq_B z&Y%C{V@W4)NM{!uz;?bmklS-s0r!gC>$zN)tt|UGFR=cxdTeXG7u?zOnB$bLXT7rC z<%67&2Ij)xh&k8=j%=JRMgP+G=Q81E_UsAx`Ht{|eHTODTKudRe$e|F@q?X^f**e0 zdK~!C+{D1!7%urOdEkfN!chwxX5TFHv_-Y0&J7Uzc75w(?@uuouT{R4vc46)%RZJZ z(*M^~-dEfdN8Q-o0*Ajic5E`~v;`MM=~?}a(K|Hj&nJpwS0&j) zfUX?lGbG9+YdAG>HrLdSUv>x=TZIc`Ap6f0ml^$;hX*?zH$Q4TpIz&LbhyLNykdIk zV{BwRo5@*o8r~my^Bd3=c4IN)U>>_->@Q5Osi4>(&v!b`36UW^&)TaPd~4nXyLn%~ zp$Yjq(%%<-iC5FFr_27E)8_vL#%$;VIlbHoJd+3(K4#|K3AUtL-r?&u;`zg7}O>yeCs1ny*8ZStkBhijUyU z%1}!DFTTxzuMIY9clU?IbI64=1UQmkb8#k_B01!lP;jCiVx2IgpE~ zeURi2X%25=y5yd00p zkg;u&H{={n?$7yN^5opRl0OfO_qlPrPu5N2eJ;(4N{=hBaxKRZl5$6sfjGL~}}zY)24(>VRSX!LXL z2)SF!@GW)veM{ZYRM82}_Om_uDGbaR*+M?9;$`=ru6R)1$X0Ckp-bUmbaNkmZ0HU7 zrJ9C8ll!gpW*;%t`X}GosF+t@6}}?RUKs0-xPtV5zt+)}&?IwT`uC^n%$=@<`Qf_K z)52x9*3SFhdU$wgzEgMYY2>KGL)NxvfNlrOIC4f7>pSfj{6dTByBfSFXtx!*zZu%T zg=g;rPQS0}Nv>&+gy>#+OnxcRz5Tw9I*a|-9s`#-qw`EGJv6cwnHYl)-1Wap<97U& zj91T5hhe?vBud|tmKCos-)F>o0z_tx~4S%zmm0?oSg|FSgLZvq{^wHY z4t?wQ2j!;Gpg&&;|5A$nHS`#C_kZlI6g`gTE5&aEf1hRi(BuNv4Fk~Ui>yZmZ$z$a z2;5PEKFTY_m-)rqIi+8`et*#!;r)tX&0Xv)djR~d$39&0?e|2Mtga@OoRDF;5U|dsMYGBm$KF;U48n_1Uxo-bpUM~B7 za(lYLrNP&w_+uIKeZVr<`JTvdt?-pIvKD*|3ttmpq0X)0-JFgMz_Y;O3m9x01~0&( zzQw!3+iGz3W1ii?T5v9H4?yRs^MHP!-Mjr`gl7G1`rF%!%w1i(V3GJ;{|i`;iAH)D z*9bIH9|_!1$(&68VgYk-{r(0I_bcA(EPD_*UN_^MJ`x9(KIGQxj5QS=JI?7H9|NXy z?KqJa!o43Z!D8?at-S7=gHJJLt@~bsM(Rsl8u<|LJPS>H6L@|Gef*5?Kg&OX^Aba<+n8s)W`T9Ri8!M;{n~^rIH#qAZ*Rd{b zJmtrkOB=o7bMdI3ZeP3p_-SJobwMOM{IsEZ$)XSD&j*X;rJRl?;2Dz{;EOq&2+vfs zfsRXU+og?9`NxUA%hYZ>A0cJI`UzGA2&XDhL(mIOFB$vdom%f<0@d; zgU;BKm(#K!lrtt1D!`TIebAE$#6Xt`FN2ffC8s0XoA*9&GDx2m2dlt=YiFp=pLZs@ zmm{h5-%N5L^*O`)Ebu<_z0X|lGu!(NdY=LBGZ}Kxc$gZ zy|s4XqG|LYx>8=_067k}zq#b|=p4@j>OU}T%@)lixjxeQbCJE7={l$5pIhNuo{OPF zRF8bHYH`_6&G42a&PB4(tX(#+ zYBGMx@3@nGjZNnDJFsdoq(P?K?>|YZ2;{K76Ai0^h9$pflUVnD@;n&FH=WNTKH8bwnzhr*T zW1J6sXo-A&@ZHkOu{)};JF>&Z?)WL=`|#!0?f(k$?GM;^Z>;__cGZlLx#0VaHGwkE z{_)93SB~{@#_R_e^LdgX8Z$W787F4Uw=FKy7!JU>|x{cT z5Hj#Q2|axHylc|nVa`2xUU%(0A3QUR>=6CDTXXM&XEIn`#|F#{&v^!(0mfFp*fF+y z5AA*Ej4Sqk8T|YV{QPwFr@&9aNEYzCF8sLmg%2K!pMsA6-1^qWg+6!&urbnM5^i44 zfSXTwxEWzww}6u+Gr|u)1PsptL&xe{jqRI7{^1CE>;Q12@%Gm$bZZ~uhgqieWNP2;_`gHHS_5d^X!V)+PHV_j zjE#4nyNdPd)wFv*Iyes>j&eB~S^sKHuRZ^g5uQvkYgzmKekZ482-%?Zdls@lw*TNw z&ZuXP`Q~C=-+cvm`j~h5)dyLZ*zqQ+$PwUuotfsI$DPx05i(cxkq3|;i7M8ktWj;P z0oUj0`f~O#zL$|tk{hDWXcPQ;AN<-Pex1>NAQ*}qxQ+QK;gdDu%cpz%S~JeCJ)z0@ zbqTy$6)0SDfVhm-ahfNc&A#MF?xmZ^1Di@GTt7OwPPm76aTAaI8U3)^t8ZXx`ky%N zZ(%&d<2X-fJhrcRtGQM*eog-3IJngMJ_b#^otx$Qp{{m6ljwjTu!s2XhXw|?uQ=VG zI5XGa6qzPp;>)#XEqc+(ZDC(u*&Ed0AEwSe_C}-+TYD9_P8K?h z_mp!ZIvA%z>1aFmxgE2Z`?GjXIhzS|y7r9?c>Wss8sg0HHOQ-%&Q=xdncseLF^-8Le>)->|ss0D4F;y?)bT+CWaHjlC6K zPv`R@_}t=Fd_Ea&yXaTA_2X3de405HKE>zPz{}Ud)9c~$CGa`=-0*om_{z(6`CNY5 zeEyBU!u#Imcqo{)S`sqnZs_!nR?IlkD{!{~X9a{#%}4L!xst8sMf z<-x-n4Xnrj`Pf{(4t0Esy@h@{OyMnJ6L%j@<);gMJ|fq?a{ZO<=6sj&{r=(!%Rlnb zDZW}@xj4GjJc~aQf8>Te zyf3*apB(3kEsH_dI}4ocgV6lY5jX!x{?7pSYVo1u;hzNmUDNPS=HZ_tCfqeG&#B8h z)%8u*nzr&xoNtf$KJJ^ea#Aw1kG+iYD+`yGDAy9W()^UviXP9YI~G5sbgF!n(jOY* zTIN23pVG+r(?s{;ZRXtgDbcYheoE+N%ufm3`23XSee0*pr5){EwQaj-3zs5)FQW~On<=^f#@x}4{Tjlg4 zhqo8r0&f<(6Y?Z_uXLJSQR%{qL>2&=mJbV4~frq_QWBdHsA2`~^bJ?}?4p-ryZe?!!z`-VBe$Aat zk15_)Lrs7h=bndy#4!|?FX!H7**);8@GM^HS8m-xXcQRU4eTq>N$D_l0;A%oI#*XU z!20N0xz^A}mts@Ow@n}e#>b_$107p6Huzin?OcAdd7t5J?^VC7zjf~leMc^x!>8&H zEaEfM8d@>u>3ntIQMAdS9su8^O;WJet< zKP^n>rzRISRpi45n4@{hYv-I4oozB-H65VMR_IMNjD-7U^4vr4SUTSZ;W5#m`1Yhp z`q23_qM0IS>O;_t_U;OHSH3AW9_+a34@tL{JG>ExUJ}TxnlQB{kY~-b?doF1aDp8_ zd6s#GhKzm@4?}A)XyhNLt(HJWR|E6%46v>M)@)#1NqcTg3wk8CN^OtH84oYycEB^G zkwZ^V7m8e+0PQuR7mI)A)`^v#aLif8Ga@Op20WrM!MT7j9WOjPCxIu0R^W5d=KqsM zFOo^0gJvYRY%Jg5Prt=~_L`Mf?Iu5eTs}+wV5{xZntPDXr`RW%SG#IaA$uBm0!DhQTgWrcQnB77WWT>`(k3n!u@jL{>Xb$@@gc%jqKAo z)Z{tIo|ByS%kn|9mp0eiOB;T;DB!fH|321C(yccB>3_%e{~7ux=g!m!rvKjJ>a&l# zf7@1-=ty+tj-|Ial$s-SEMu{4U1#8`H*i6doyEV)I&Qe4*t%Kps~hXj?f3(9=a+$^ zuRVVnmq(xV$vk7vR=V{=hKrTIky<}Q``x17az<}K?!8dR8RM)`V%SR2R_GSFt^IO# z|A<>>;+}1r-aWc;Cv_GCgJRh$sVUNYXbX?X4z~R|n_v%{6&e?=-iRZ6m zJ)!l#>OH)9uCLBVf_39J7{^zTIq!9Ia}wW~y8T)H_P<5@JnwJ+cmDQS>pe~TTU9UP zD?E$ccQdrwb~rz>fNO)$>BNVxFjmtjw(<@!~+bwjk4h_)glu}9zc2D<1ZXM2J*UrnBK$pU1( ze{F#5Tvj>Dx%6+~bu$-7!PN`@=9`NQxQh63mB@;Gg0aWZ!&Y{an|QEo*0jhT_M~|@ z>MXusUgY^_z|lrjKv9fO_dq($k=6OH7>3_!RG|8H0-ehdK&?sw%p)~)K^j9(S zGTDAOBae2w>+5`@)5gzF)w!wZHn`?7@w`))Zi6>szjeumC`R=*ycTo@ibllfO}vw4T-;yhQw zb2anMpuSXio6a4T|8l6q`YPP@W`pvsZZ9Ec>7H$_o^!9~kgL(*)_!{dV zaFh5}xUPRqcnk*H=dkFCIa5AZ99?)THp-HJD~l`%;7hBWe^|20%CQFIdM?-H>rf7v z&L9*Wx&A@%aK7QspF-0ad^8)5$4Aqa=R9Y8H0WE+@0gDUdP<{%4O*9WGEPGW&_F-> zQ*n?K9}PH~#7AS^w?3M$(~j}ccx~wH<4iu9E0BS4`jW3iKAO|usi%PRRd6FevGVYl z6Vvwio=eS1ZpS+Mz(#gymN~KbkHUAFgIdnny1#b*qJ)u)xdx|CbLOGNLxp@*k{5>O z#&YURU!S&k0IoLL$%a3*)_2=-<>$@JkEzLJ@R~icg7y@%jzI@%)57iIB)jA9X>&f$ zN~T)RIsiSXPL}pri@z=?9d&uA$(0MLbD(?5bv3+YuOrLG{37sH-zm`e9A|W( zP~$nX;{$&jm*JMr`c7d^=P;**;n4+Y>)F-DKa{qA@GDN8d~34RT~+$I@ZzwJ_dztjNQSB_q2f@W2t2|2;ulbTQE)H%`8USVP3@6H3A_(o%l|k4Zz-<89-*E+jA?+nQ-jd` zz>#~`E6y@dd&^ye&|DvL)Xy9ZWSIMe=SPV%N8N9y&3mOwg9azwcWh#0Mrma4<`n-# zZ<>FCXFUIe_g)JAy!pK@9e>QP|GZ4;QtLYqLiM})gW*T)HT}ju>-F1biuWz&na053 zOU*s_)b8=rd3|yA7Zp2eA6vmQs@E5LK6P)IZQJ%oTl*V{=cV@}o)<4j9;El9d#ZmR zzeSY(1dq`!Q4qG_Ox2XT-`AKT{Y{gGPP5MQfemL$Y zfsP;6bFsJa$DV)qdHF(jUyRKl8pDqI`2p5p^PTM_-ahe_#;ypB6tRE7$~F0WwXd-V zy2U5g+ZN7^C_Z9hL|ij#k+;*m3qSY>Hn9??r zOb`)U_Z9lGZ`s`dK|!OX*1p@OxF!(rhA5+M>B7DRM4?10RHQabw*;f2QtO3o?JnCg zmt2XqfUPp3oA>*B&N<1MVYs=wd_G}j&Uvo?`~Uy^pXW)Jd4IFk@y}|IcOOE7l=u3w z6OjF`Jr&y&i2nIUAFk24qppAUlKiu$M@MgV)^PA)x0n2&FnR;!V(&1Qi19@XEslj2 z<+}%LAGS{hH6nvL-pTMq^cyO8y{!`9u35*W1UuN(z&TM(|-CItHN{tmS9Tt>6^Ev@X5qdQUF&Qy(by{2S3C`V{``-p#?PMd9{iN% zL|0|t=SlGK%q^Ili=r#4E*r>hvbc&DSiYe z@tex$0TZp=3Ql?^xQGV@FTsX&+(%0HG^}-Dn`_E)1_xyg{Gsy~pmWuceHyC{gU1YC z)S-*4JTN<*2mZ;0@$Bq8uqX}2f#{W@?Y+S6awlE{@6-^FS}@RhtA?0V4WIKBmx89e z_Qf){AMsizyf!nP*S_lQXH!n}d>5B{DT{tsAzu6K=c8l6Wk%e{@Z1lD)BTJK-@?V| zbm6r8Bskrlfm41@I18M%CE=AD92lI2jw9Z=!&jMdX0Uhe+>DwECug=#> zDt2G~8zX=A(Z(d>2d{R|p3Mf6|D$#e(9X1em;?nA?E0*7=s*Tc_}!K|b2=Bjl?Ht) zYd(&w%tiyg)4<{NaUOo&6pa2O`vF9s`Us}7{@*Sz;o(P0#=NkWa^@@%Z@J8|v|O1^2X3rIcCyzW{OKS2X~V^l z*B|_ThCevLte>a*gB{3naI!t$mlt($GM5<2E#P9pz++{X@b0>jJQMQ}ZhDx{yWs0~ z--BzvL7CmYb9#DMa~J%OnX|fhwrIeyvV)YZrOdnhuJ;Y>*#`}*x2&Fdz!>=T#0_r! zJ@feN!S=k3zxCuV&jmN?M{&3qF*ln|owZb+%O22s=`J%KV6MKDqesryYXfqvvT|R3 z?ZWN%u4OFy^K+~#&AvP2p#0S&<4KlUsROJXK7pU1H9759)}A=C&WVp|eAiO$AD~PS ze^P7sMc9`<#+n?ZdysrR8yTnkTw`0)x5gvgtTk8fnEP3-)H{Lye&o*p5cyVV1f1~+Z2wXd{IbHv@FOCth z;~VWYwoV(T{h-JJH>MXR_9r=zKhns7?cTWFA?T_Hy1LG{a&0YT$Yt-@rx@TCt4?vh zxyXbKx#_XK5@f(u_K_;q_X2d)T?QV}-O_n;`}UEh$Nb(~Lwo|gm)z1&*Nz?Gj?wS{ zbl#1v>&BcC=zU^-tFI$hYX-Sm*ORMt9l2U77hU|bl~&Hm+t^EbtFxE%Y~z6Yj`W&X zvp4qi!TY^yWPf{~?V(&+Y>PR1V_WV#pJ!ewr~RAl_!5e3Ntd)U&&?O~?_b$O3?Yv_ zJ)L*uvd`~^{hhq)C3j#MxexbI{}ybd3FJnOyJaCUX5=$8ul=Q+(}*)WF)+7JI|i2D z^aJ`HuNWBop#D18JJLC=B9uogOnl+)TZynHJ&k=W-Sn-!E00i&+t`*j5a zR!+znux|p-%5}amvLr~}HSjn4Gs*8XF>j5h3!A$;>v-~;{;vZEcO2@kYYO>@jHh7H zc#~hMXUg~QU>xqgl_%M^@+7d>4J_tESNAZVh4igGQ0*q(p4;=d1B>>oecO8|zDECJ zU0Bd3`8<=A<7mr!n?JU2W@aaNl-`<8n=U*vW1*F_B^q_z352w~OfAp*= zx%SB!#viwzBL28t=RPiXe0S;iDkuI}<-{Ld*h%(^9_zmEjXyS=5Py8>EaH#9fA7RO zpH2Mn3C@%`Rs8Xy4>RIW8S%$M?1kcxrxW6jn`rlR@y9&ccIC6Jk8C?9O@9oNEV-!Z ziOhKp%N~E64*zD0KN2rU!(lNrZJv2>*8uL!v#@=RXA<2$fLJ>+%fu`TsMEfQ8|evRx6he#Z}{%UBr6${a^_;-qmD6# zIorH17KvS;*rV19^N^9#{KuYm?I-!<7r8gL6jG{p-@=pX9>y=V!$R>a2#-$3F*V;s*NS{=^gF$96vJ`ThO` zx;&G%V(700*auGpj+JH7SQ|D(J2u2}YsFgmLF=*EYOxEF*nPXm%g}m9ycE2S3#TqG zB{v6LvVOe1#+qcW@1oy2oLrJPcHlSI&t%}!Xv1eNGS@=p#*w++=V?3@v2Cz7-aS!v zWahJOHT=}Sei1fz92G<_70jLUs78}F_&B!KXy~XCehL%gmW|;4PBP|!;M1*pp{FkK zU~`{3aog=B@LjRDF27ax6LOHe@vElnG?iq9WTjRLffnkiX4E1xD zdeXkz_GI@JPtRBn%67lmM&?jTEF_n|gV09_zXQWrJL6BkH$pGQClH;mMkk&8&2MtQ zCHI;onZvw%#?O2j_|*MpxA4w#-wk1YyqnACeA=7OJJ~<|Hhj7a)*PpL=p^&JrEbRJ zmA8WTcHkX{j$82WbJ2@=hr4c9&k<+~~WZWVNI@EfpU{C_<#?pteg z^uTD(Sd2eOf4_5KUuwg?#B;B(?z^`5=jwZ#KKkXWOCP$EqZk_DY(8_ZtKW<_&~(Xr ztc4TXU=M@tNlmo@bHPvf$VqHY?L9GLkJw|s#vS`$$^p9%df>6a%-tPh&8g|*)hzIQ z6aS9DCpKN4Oy8Uh|2DE7>E+*H8GW}peV+~g zzM5e_h=1P%zb&W1FS1y+cp83%^MvFWvNeuA5Y6ihLD8*e?GBw6c^xl{pnW z58ju~`wxE#cuqePeF?5zn?rYYc;)#oGRE)?XAEboFO5Caf4-^YDgMk(*%y|49AI}k zd;7DU+3!YJ;~86~ol)hC(`#oazshSv#yxcSA1C3j`?JW;)z}-z_UD9mSB5Aqq!>#R zvE{T_ORLTEw|T}YyW;|9d>!tXl8(LRu{%0FV{-ZZZ2040)-1jHaYn`%j(45CeQWE- zba~_IN7+4X#Gu&A`BWQcyyhTVgF7k_Erp!S7rLzc~)itAE@7%V{df zkUM|Ax1Uc%hr;g@&NxJW@=t7E+s1K;2gky{WV(yr0^@I|!*@uIwbSB^SHV{_C%9&V zWlaVw2RX3ZoB>Pax^x&k<@R(qXWuISZ@HDb?__ZPxo3`=-)+wP6c6;u_B|e*C4H8u zug->kOEc`dbs1xr@hRx{Z2JGB>*qT>yd`3<&$9l%pC&QtyUpr%S<#(U|;Q0S1 z^B-Q#;(x!%_*&34vh`SR>bo;)0ej4|-5DhrB-vxPqy-I&md`)t1lX zJlJ`lC*F_MCr=E%GUN&J%>oXYu^I2YS~BMKO=n(;cX;Qu$0N&nvhlmYM|%89`d{k= z(*JqDAfI^`FxLUhPdPl=E1>h0I*7X|pC`c@Tat6sCbB2N9-|$*TH_gGAMN002@h2n z^rL;oefr;tX`PAw-wN#ib8tHRwqxsUAn(Ouyk3~y=^2m4Q0k09_i}q-R>FC5u7Caq z2WBq5CY%Ib%I`i~c=fQ(;)T}?&-gOob*#gd1unmRYItRlZ)yGrFpEIHjpRiK*oWlx zGqe`z#=^`y$G(;iqIcd{nD$l`@%&Ww^I*?>g^%6N9M8%h$ub{TUYmFi^U0hCa?spA zRYM+m<~)>Fnq)nt#A+mO>BJmzFFhU9y=d4@S_{$mA9lunHu8FU7W>AHm$|ye_`rtu zf=&PK@|dIZevvVTZ#ZM88X|Jh$)P5r0 zx6N#*`>i_{H~#POl|+AiDfQ)_mZ$UT6V5#TXZ2bo?nJFOm7)^$*1xB;&ktZ=+|N8r%PJ#wLH*t4HT~WRB>?^)>YA;`7Yqk6;;W z`rc6oW)834oiUcrogsaG+WtFSoH_mfZASm+oMr!~wqL?&_DdwAulL(**>E=Y%h|&F z%Na3>(HUcS+Zn^@N`x|5;u0#FaXSE<`NvYURqbQ)b;=;YX)_eEh!pK(Mxh7^(74+;?+6t~SqQn@s(9 z)P3Y%>{OW;zEFo{mC0ZDa-nl}6#ck;=&Y<4u_1?j-{d50FR==u$g}2UHxJmd%W31F>=RC5#jECIrt2SI< z;ged!ACKANc$smij=TR#?XM^%r(~di<&)HXlDXiYHm^`F>qN%--O`7v5f?3})V5Vm|4$N)> zX4)hD_rPm|$%`qA-V7{!mSAB;`Am7?0!|D)2BAmgmjv1GX>cN%q|XRr^N0D)yRcvd zJqCxcuaf!fp>7=7vOjDB9|JmbMGMsNc#!2@1>EvpL@vrNlK=|!;Q$d zdhGM$JL}gbxkon+t|VuJlI6l9@<@G}Jaw+j@w6u&bAYrz-3|$&ICycgvW4AoQ~u8ED#Lj+*O7rIZiA z5Aa27S2*OgTLlNVOqeoOmNGHM7CVD-e{l)2BcuH^83XQiCer20KY%kAU$+=}a#3GC zrO7Wso=AS=xwO$}$6G}Q%V_He^^M)S$@Y~udgRB^40^EFSNii81IUXp{EY^NT8pUX zECL@fqW*k3>A;+(yKenpP1sL9T@kr*@R0JoR`98Ox_SKVW}lG!qRo`E;QKh`N*cnU z1m!CEEV2BrA-7Llvv%xI7e<=X?H>4?kPn;zAB(YHwfF;@XB@bwEwwYpX-Dws4Fukb z-D_=CuEhH@{agP$C$ROyn&8${ZO+!?cjj*G8kcwbq094cf48jQ_CJ&lxc!qQg1VU*v&Z0{xSj?>B+7 zc>Z(n$UgegSun|&mRYl3$~jTmOW8KtO100ipX+_%24V$;y7T1{&U^4Rt$G0ZWt{QZ z@HD^OclYW!d@Oyul=!9M+p;02B8wYLeSdWRYR(Vjy$_wAxIy_5$Y|MV9y`V8dDl*% zzU-7RcyP=4&`Z+yRp_(jvLVJ{7ogLOZ6f{8Z`p&BJayU_YY=;?eGYVvoi&xZE2!H( zli%2~s+-e7U4Cm_V~nS6aJ-cYUfSQEXxfjRh8!F2FZM;1V>*)ZamGo0^>!H$iWSGa&Uuo4(>$cCOFrgU(IKW=wgI@ zwt-}4JM-K??)^RNE!h*aLgdAVZq5(v>tqfc19SJaz#Dtu=@;PBAE+++N_^X}sC2T< z!<|Q+`P5OHHR!c=@S=5}r&(ir44%QB#cmiK<$R{YI>#dK(k!|B*i6z%+T$pmyE~pP z+Z5-OUeb9t)s8Gm;}6cq%+yathls8OOY8jTk^5;ASlM(|5`F7o>}}}m2=IP0&w6vn z3sa)4eAdkUVzfVxIbdLjeZsy3d>#5<${b_NUpj&~P0uRMix`vdTdDJvHV+K0-1OZA z$6f?pdx4j1(mZI>*u&7~z0k`-=mi_d*zh_lN_4rF+#2o2*M7uSglJ(S0O zxhepys{dT@EW1kiRdLRhH@qRbX0Mv{SC>RDSY|y&KF&@bI1}%TxdQolrLotIKd5=M z1CJ+LE{d+l&k7?y^sIz#o>@_jm=}ip$_!=7RJ>j{soua^s9BDLk7q8+R&8|>#?xU zDpMZ$a`6f<-;J((8r#p?k8<$6zmvP^2YWzk)tRu|5liQlZ4NBO9~LmO*WS#pzIapj zi1he_Y^5B=t}}#|vG;N;^t^pw?#jGn$Q5)%KR@IdelWQ(l&`k(dLHL)@9Fvel|u#< ztSsmE3+@^F5paUsA37*^CI0$qogcmzy6J?T)ox~+L%~@$^l#(<@NF5OJA=PK3}h%g zGNdVlEhd{+{+eufBM*S1+jh5P1LL2MZ}XFZ1uI{quOPVwhZ%ocqjwIrT+|&H>3#U3 z#Tk9LZ3poUa9KGEm{yj#h; zL+}q5dZ%7vOt(s3z&AQ;+op}YrXC~DbDDlYzKt6zXHRD8e(JnL9r;_0j?B=SqvZH1 zQ#Pk5fV>DIFEqCK>|eZ?GZb!S-{L~#Ib#bkwvfg)nw*WQpnv79ixy0-MQ-1g6As;8 zp!-oTp8PH{{5{Ei^uQwSWV)rm3I)a>gT|}fTyqEFLfTwJn+4S4?gHA(HFrbIrM-Ey zhwT>{OJ8$o&rcidJqqdWt_ie#32hr5Y<2u)=AgCqV&sN>R&{REh331S2b<3Cdmd~W z;dwsX^L(i1`8j>h^O_3#p64~?_dO3bcIS!t>0aAY)no#b#Z~s8-DH!oCa^aGLSnpzq{~Q9`Evb zR{%W?F!aP(g`+s*0D77+sBqtHzHsVx%G8?r1wEDL8{XPCeNe$Z?IZgf?ppRGlo%qsVf ztR-eLOMbt68Qb=>ZIdIE-AUQq{-L#D_G}*+5Dxuc{`6aIy~Fo^TStZm+r8xB3nUp;NrU<;S~ht+OEXZ?{rdwnBoU!na{{?>E8<~+uynA;_c zaXou_cTT5!pIJWh_nFi$#xLt-+#48oFXQ#Wr)o#z*WR9- zEaSe1*kboYEA@wQ+;LQ9u_uvz+UUU86#lrYGtNC)3D(dP98XslV8%Puz6GVyC{3dw3Q*^*4UdJ8LfWpX0rq<8ofp z5alNtJ$qi$AoE@FV@T70zUM=l^7@_^GzI&f7c}|$p650Fr*foBJ9$mYH_Rp{{_Xea zaw5gPXIDOC`ooPEVn(M`wvLjo(OVeedvts`A?3w*egcY#Iojs=GV zSKiON2Y5HV*a}@Y#tPlf_$T-Z%w62lc>&H%m92P?e3N@Ab01|c=4=J&HqOgErg@q8 zJM{4z${0R$eQ|WcKNuVZnjX!DAIE=?@31%nPp$ojPgM!>bv zz^LZfJlfM)OyV!upWt}7=zlrwDMv)@-2@MG;5Q!p*luqCW!BT)Qqvwe{KONzaFGr9 zGrE=?>`5p*dJOa%AX6<|!TEg%xW_haErk&60)@(VND9xMnH%(EN*u z)lFSSOhLYsQ|@ng@0A0ht>6BxUk3b+vAOirZRn{#9u~(pNFbZ#Z?={pgR%L&dtomM z*?vGA+3Swi^o2bupKh{fgHOr+7-xK%c{nkyxx_ZTwS@FQ|Bi^=(iN)#sqF2$S3EGKR=-6X{JLaKFRafh>tPO=q zg5P@td2ol|x`DpEZN%I?(QXV5yFhT<3J+@z`flE@ zAoJ^?d)XHOWWK&jmj{sfqB;3(CZ^6>d<`)`;rCxeYsfUOJ-66{BgL-Pcxb2(UuOLy zoqm$wtQcsyr@UT!^l|QEG0(l@(_BRdV?-0+-?bU$Bkz`h zf8lXH_-F6V9Tn*O`QTsQi-kZ@l`?x zsZ;WP@2p(v>-(Oge20FfQNN4&ijk+$OGex&_8p@_DAaAlNdAq#$QpxsG+MzKEN}7dMV=WvJG?I$`7kgPo+Po;;nmM?y@jkDm0KZ_dmqC-!saQ9 zE?{2Vr=4Q`>&;5$r1h`)tQ{wi8(a(K%Xb-O160Oc-ESwD+lAUIO z&mwr_b;`CVmbjrL8e{xwmvvK9CeC-Cg)Bxt!^>A&$Ld+{wnE?Lo)#}3{Jb>Xt`WQ< z8Spy79nt0fAwAtSIv+PT{e0Ya&?^V=Ta)(so8O_e+o84i0iM;Lv$b~#ac!-YhbKnk zcOn~;xzYG{_#_Sz=Uu!p5RFe`{P^O>O3-o4E&e(5o2{_mY zok4GA4`MaS=Q$^{YH>uBT0(o;hvm_fp!dqRsWRIhS|!!;#6%TlGdgwCctwzx?sH zOgYsXLb*2UjyQGV$o0Pk?lE+ujf-5fzM_6LCVgs5`V27Nh~FyHxezsDxHlQSt+Pti z54y2=$}d;lxbFIAzE#h7_Rvp6@;De#g;`Pco0)%ws9vR{)C*#E>^m#unDzj+V*M$Ki`j zw0qmnj;(1Jgl$7V7Ug`z8mvpjGu$@>zrKq-O4B)-3J2o0ej|mOo0_H!FvfM>ipZxBfrY z>7kuAY-q)%+pEc~s8N6RdQ={?*aH!hkMuOT}{H{$bRc&!MTW@y{N_g`ddU-||*nV9XJQ*TU`cSTvAEx=X~4wetJ z^9bE}4bM_G9JH2dgagv>wVZG4Q~(fVV|69+b6W&C-Y1@@FDGns$cir z5eC-fgOFABIO^8@5<7^#O7vSXdCKge3^qjcF!SlE33}F9ocXL{KI_A&t?)zlBrBzR z%|p<3`B3XfEp>B!4b8h&J$U1R+n+J|LAtyHoZ??Zb!OSqf9~b3!G2!2Hw(Pw!`S;! z?X`+FVmdY0gnh7NuA-aFxvDRBuJibwq+hMmXwD^e`Mx=CR9R=v6?~UWqRw+#chk9( z+Gn7%9+mr%ztM^oE(OP&^M06Tqx#ONDl|Cm0Uk$MdB^*AIX}Gr{Xp~n-PWn0+mLgG zz^a<@yt_M`dao5Zc_Fw!Z><7nOP+b?#wE8s{jJ>&?jPdJ&|T80{DyXCJ@i?867ZvO zzl$uq47vE@&z=iRt>L?VCHv(WQ+E%(#VYDfLGP(8)?H^kNZs{6@!e4jo^^lRZv4Wf z#MmE%77x6)>g{#Ediv<`A47|)-aWb=T8z=hy01R;_LR$ce(5idPI>)3^E^&G>Ro&~ z)A#SDL~HR6b>6CIw`XrS^@n}f37@5H#`_KCH0PNIZ(R2bbig>`w8^?e-5kbR&u?Ho zs|T2mVmv+6`vdhk$G2xL&jqJ*dEQk^e0m(ZAaG7!OnTkl5N9D4oj4c{B@eK!xe(dD z7`^jOIMi9jdRi^?NqqVcF^wL4M#*m3XKIr>Ew8?gvq5!_`E5sfXWa&FUA}KGK2fH) z?|z@<-CWj^t>Vei^U)O*0qlKZKneWtWD=co5Pm1dC)|oZ&3cC;WA|lgs|4Oq`9s9G zS1g)0d2`VB*2~1swjfsyF0k%sU%g^&F3@}}#kTzAn1(BU<6bEEV4jSaBfvc^O=t@(hn36wiQ zUy7SC_sYS#PqY7S!;7&Ko?K95?r@9M_@WiEOAe2YHax7nZy&OU+~{)TJ+ycH6614k zx4H(hmb~QI(#x1fMEajT>BGd!sH44l7x1o_wyeLtl(Kg}J5puK83(j@F5ka95nq@; z<3~7W9t$?l{`SK)dw`$o@7nnb{p*D$Zxr24+lQ@V!=iEc|C24wy}Z~rz4f_Uds(}I z&R17jS4MSD6L||!#Q_0XkLuPWD%;;(ep22M@&< z_eYJsXjrsO3_~+8gtN2CU^WYRWE+1q2L~2j+uaYrV^Xw2~tRmlM zIXO+siJz{3w>74F;O*V;_KT~Rug&3kHW?%tpt8HIpyB!QS=b;BEOlpi40&$g;>L0r zM;yAXq`%6^rO^nnsq(qjV{?(iD*I>65&Xx&`+SwTVsx~Xb9%3)jP?whG1JEbjCp|> z^N9cQm=CB=`qrA37rsZ{>4$FAG+M5$ccC{0Gu+K)cQs-WWe&MUpVN%1J= z9D~lZjxGCBeBGDZD!C(=@Q(F_HG=tz_+c;6Mk_M@?!Gu&_Wc@Om{gwvCeo3jEBBuZ zpKimy{rf2r&{O+N=E8h*hI%_V?PP47&{kIlZRPuH+LF!MG22QJm*3e7eU(59Ubwli zwfWPYht`8+uxxLgZDHT9*pA)%E^t@8?>+cYdAD(VfKd&PyuGXA znWOllJwd)d!S~>HWXQlhYu$IddDpmo#o9g^1J+AvE8CcE!mfI<;X-_P^7G^mLkm75 z!`yWvd+ZlpklogBanZq?M5D)l)6dtLG}?jeS?|G#i;oGVlBenU((?b5AAJ+LPQ1(- z=36Urk3D}4YnKPR?EA%X_^thCn~KphPQ3XV;>A;lmmS1km;Eh!cei56=uhvvJ;;M; z#FBg8wC;%U-K~QSGwT|jAN(zS@O?9Kyq?^tQgVaH(b|_}9PFFf_wvX0K5&hdyHc?T ztu1Y%A3M(>&~(uf?SHa!8CwUETY#)@1K)zJp$BY*mO%AylF(T_WBVmOL%lQpsm}Pp zVJ-T9)=Jt{nG#}wZJT@{w~x`p{VP8nPn;(F?AWifPZ&D6jq%fZJR1WTCdi;O*!gv22f}>^M=mS%8_S{{!p$4^!mLso0~h1b>DcaU&Zl=n@bezD=N!hrGI1hjZU(0RaV2{r?|$~J z|6{}Sm*Q(1rp=nmsE0OxOYqvje9Z4(*}uIoBOqmBPvD_h^Yqp+znwaQi927}KE|&c zw9T|XkAB^EF6?Dnr17vrN15gBK0_QSMj)TN7hmWSc;%Hv3nzE;yL=Bm2mP0~TX!Je zX5F99+TP-wp0;*YazB&8@80zRW<%C=oFV9^h|u)h3;3L_#$+n`Vp@w zC;GBk)?@J3PU%0b*NH#ud1@c1eeRjs^74!L$JRrB?Lq6$6?WjDTqV)yIpo;d_qGO_ zj*~A~R2)dZFH?GT6FKn6t2h2Ni@e$t4*i>xFLWg0x9yQzS>K5S)7E#|Hxbv~ft*@{ zzIY1xw+{dLd7d?5Pi{ljKZ>lcr?2&VIzCIkj1NEC!W{>Z&s#e?*N0QRifMy`F5*1} z`10$BCro+p$KNW)ci$*l*oM9YUhPI+Uv+}K?$4VJ8rh=qvT^mPHp^+>M?0(;H@kGE zw)c>asCU{sR}P<5*kw-OGs^bNBUe#n+0!_@T)akJBJK5+b$Lx?eR}8cn)+FKu3c9) zMywXtKnM7ZePgMIr^M@1oN<&e4*8Xt{7$)^81FvsjsYI_mUG9Ta>~sMIAc)zOObIc z=DtvW^k2y5iUS*;?Tc)8_e&?iMLly|hELM|lw_&xmx#x7zk8BrYsr6EPZ{Nww_^+C zunu}Lb6KG}wfrUzIG6GH!{RUM@NAV+$K_$k-p9EAJVAfew1q!p#_$6Aq7r=}dr9<8 zj`GeJcE(1@M(|ikKQ3)lGp9JRG||XD>s;%(3hXE47bnr1LF_5c<4DDxcVZ=%%a8P% zc#qPmw(ZZ+iM!er|ZXvO~YZ6+cP$L zBYm_vh&&&OF5zX)@DkTd>s_41SF5!MFCy z#_GfHGd#EkSWmScb9pxT8EfYr_E)uon8|}5vJ{U1( zjcd;tj%)16#zi})8<*hK&Da#TaL3g*cHphCtBiD&#xGyzRPRf`U-v@v!yNQQHM*hN zhaJ}Nw&JDl!jIFbFS?X`FuE^;UNhx<33qM9(Fr9jSL?ioR57$7IUqkQw#4RL$%jgZ zr^9+Ko}SUq)8A7ro%lCH78)721m1$b#lObR;P=;KGGrNQS3YD-7@xROtMn%)>tM!sJK9Y`6utx*%8Pv z$~U-hV7`JwM9;z7T%ISGgJj~;arjq~h0N{XZ1%E_!`_`nnK7Ito5`o-4uaq9;?pAW zDQo7j>WWYU_D%dw@mj;%rNBzx_kinhjE7u{)Oc`1TngUJ$41F(T6!6LOBuHzrAlzr9LF74dMex7`C zdy{3#<%~)7BZodd`WkJ~-(lu%_M7ta-X{cVXa#`5M9C3}Jp*Cd_I7Y+)`N z#0&G=9GJUfywd}Ft&@3WZHWte@FLj9KPBwg;!6gD1t9h0LUG^E*h+q2kstKHcB$!xs04y4Kc)hDy@VtMGI zLS*w`D=prscv5F6dXku#_Rbu-ocH)^HE(C}*G2%RQP^okz@QX=hj>@_MAjrP52qgX zta&NkbR-fm{@g7g`ExmG{#<+qchphksp9tZ^f9I!2pu+EnaTF)sC?Tvq8e>G)D)QQA15k2v}+@g45V zsyeo2uJSXSHWIu`@~(|{jhB70Cc&KB(LwFZTYBFur@oTRXTf;>@Hg6ODYwoSx@f{D zYvkwZj`;+-Hv!y|>ncJuR{gU{-Y01%th0d{%A(cK7CMe~v#X+fDu0yk_IX9E(iOF~ z9U?vE!*7rsLzec1AIf(_K?x8e#D zsq@q8pdre~dDhN2<2Be5W%gVG?DLzi^K3SJ+1MUFa-B*V2AQ?B)_m4z8!kZ}271Ea zK(-C^zf*g&q$e*G9%gbTlsN|}6dl7{<1_7ix)SuYJ63m$0p{;RH;TU{7lVu~S94{a z(&3h8e#9=#-twZmd|PE>=7ufy9m%%JZTjHffyrF^_xpU;Sp1B;l5y8)UlMb9k+Cml z?2=;|?}W=gSP&>r#oqhb>z^&j)D|HF;e*hXk1bhZuVbi$3f%)_MPUe3I z8%y~ig zPWc`u=WQV{h(H_D$SGB9yLfc;nJ-(9DgGzHvJ zJyjcZwnxi|=#Wu%Y}7vzc}P9gQQgdXr_#~V$#=hbYMngVxpUTC@974<-t%ZG1_P5q z`bN)(hvB2;F@|x-41CsN_)quJ_4ej&)tX@(Ij!?0Vm0K)6ZduFX>H`tN@wj}K>i4M zWgkuK=U+R9?5y=N-oIeHzjM}0k2L1l`TLhBf4?Bz9+=`|ozs^}MtrG`8+@tW-t!p8 zxm&lKYdzOF(|+DI%`VeE!-o#>rQ+1-nr)Z2O#EsTGOyw7JIKG4?(gj#xfQ*)y)ry9 zn%K)c_JQ}(+-L&&iq!<7z2|}x=xHhIJ$C&Orv5zDU*pQwFGW|~ZS*MZ3^RH(F|ER! ztCN_)r@b$uPp>w@|80>9`+O7l6d4*#@>}|FA$dZsUWz@1jWLsQoMqBBn@`Tjk*=yj zb|r79F#0rE#wTa$w5_paar>j#Ajn|OD6;h|<<#!~qFsNCeklJ{eYcP~)S030lGW6^ zmhZjw7hzWwagLHNb-Xk`T3>H%Jzisf_KpCiQz}yN@`_Z>IBbk9R*HQ&sRVo&BcJCv z2UaD-Mv3blwyZBkrvVpq%=VIop};L&1}_sFo?_hSBiRLh!GYgn8HeJ4?OT`&`p1ps zD&8ts8hwO*P4asbWj9}oj%8jYoC{D6uKaT!dwcX3A3s{$vTW^=Fzf#7h364$$J6;M zL!$BBjJK7sCv&3lNqjH$MOQduuR#7N&Q&r39(o=gK&B*jKIFpJxoafZsNYGR(`p2$(d3C(i!AqdP;HP(@c;U0~ z!ueY}-@#4?ubppTt5dFPKl7_$4@(x_{B6yLYvywA$PxCq9HwkXq`;HAY2QKG(Fr~{ z>R8^@?Cmmn=GTBj<%hYnck@_>_BJs$VjjOA?(nEhcbt3j<>=PG zH*~kUBz%scyZN#q9lO@>pF?*Vv*AB}i%;$)&&Vz7rNOE2-3sV6xk)j7n_hE7gZ$PS zQXTbz(4qEA#*RZTyi{JgMtzS;1KU^PAdgR?-om!7{mfF7EBboXH8^xQCrStQ)vsM-^ z#J)qfd>wrf3D~hY#r+H%JbU1tq2IpqIFrtOI;?H}snm+HSuK@$pTeom>#Heu_VhPe z_8LF)`abPzZ}(6?akovUKd-O*4Cj+T-({Q6_s(KIM_TQCs|jY0bAMi&z%2bZuQ!EpEO#&0~QLGXB09@{x&t6UZ8^yx3jxXE5CqH?jZClv1 zVA}?LbV|Oa=yAN49&5rOon>Kp{<-$dsp#Qy_J7%Y*G~_hISYDl*Pkb_=Pz^pIsPcH zS_7=miLr;Ja|R=m&)FIz&a5?Oy;B+4bHSFEx8?K5rqCeX7z2PdI zFKqlbH|H~e-C*is4@{-5u}ksUg zF;5w0>!LlZ*~zDfS2J&5kc7V5X7XG72M&+OzhW&>XQRnxDH*bCZDO|8g&Nl;8E=hp zK^XgbVjB;#XJi3*UXK1!EW*yqxck`z?P%T5#CjSjAY4um+SGjQoKeSp&TmhRJ{|Pw{tyV#+ zD6+B?-$R?iCUuUUP2Opc5(**1(-BV}d z@-xUG(Par^j;(Rl`W9NYyq2HYGBg^2wkx4?#i}aMCtv#72Wwieh2Y;eONa-tH<}oO zFZvnbb0N5?fd;5s!drTHgQo81oVvz`B^EB9wu1NKUAL}s1Y*d37e_aFaFk7+ zj0Q)ttzFwke#Qb1j)LGw_E9--aLbf3U-^VSa8yD0c`EPV$On!@_me#3tf>r>~Rr-&+F>Am`vzJ9b_N#Y6B+UyUBX&CHVG9VodE3`og9$@t|^SBF5(J zuY~g#P5bkT?DokSIbHkT|DMx+%a9Y=ze4Rhxg2TZ-{Xv*J>sWpfAhDT_U8^hq5YAx z@2(T7{SwY{HRE5Zbwc37d5foO|8CB{G4Rqp2a zHzpg40CVZPX~4bQ)j9TA%&rWoA`jBl6KOIC+Bj32rs!XZ4U{q_WX>4m$a3UJ+vWU5 z?iiVX+>!n~SLL87#Z3CjK?^#6*p!pJ;ddeBG+r}LaLVn7KU!TB_GBNBa z&=9n9DtHJMf=M=bkh?|PZ*tTE9hL_5K}sdQE`2`jFi@&<1iijvQ`r{a@lU zEdg@S>Guz>eYmDuafCce`_qo>AtvQ#4_EcitUJ)Lvtr0qm0gN_FFzJIay|A0`gE56 zPZ3kbF5mEWD|_7(|F``OdtbilRhm3w<$dIGR+7KxE6CVf_B`!fZtt(u-pT^nboX28 z_x-frN%`KpIM;&jjkM9uIOM0l!oIG2a*>NJCO_GEr+b`wpR>;p(O$`V#%=*8x1P>F z?B!Vr&)oM7^jS}xFrVu`CJ&#sp1?oUx`lnuta}G$_Ro3rQ%?Q4)KmT2`IPUVIcvRL zpO)vJz5ZNa=M%G^;7^glw0Lt-ao}G+d zUvqptcF@Na`{OFt=&w_bbysOlDA`z9r#dbUIu-L*M&hpK(4o*G~3NKHZXaAW}Mp@p6poMqOn zH0BSm^=x?o*!EuZUy zb-gqF&1QaTdy+RkYL{=DUD@0=%$}d?$14wO1#@k|pVz#9`gre}Bs#R5Jtd{&?GW2} z>yl5deU$lz3OI8q!f)0H_g(i%{iE0U>K_?k4Opo>$aZXD`7E+)l+&nqXqN*Al(^%g_ttTqhP@TNn7Ey|;T0Yh#I-*VHBFTw7Of`D-ii z>l3s2U43m`HG9AH{zwhyMQqBCCK?BN=*e&B|40qIv14E~@#v5f-X*H94JE6qLb^Md zd_S|cD_Dy^^=WX>nBRxvQ~pLC3pesFUqhxAeH=J~FFq?t|23Qwmu(Mw8{=NiyKH-4 zwb#|iWyV#^{&wAMDZS$z1HQtu^$s3lrNO%RxL{pkW_~Dnd9bdnCO_1^FhA5$n;+_2 zoFD3%608%hW`nC(X%%IwD9ijWucGX=lx0nz_FBqbOWCTrRW3eThui)YdmaANdR`hn zlf#0kSY8nQ9AphDSa&!uD%#PC-ER0l*YJODAeb68(i+)YJLOn!nZG%YTp4@shx~Wl z_ny-fv&w(tBR=iQb|1ViKlHgf80+Q!lx%FZeW24* z4mFGr@m<%35;awI$$i&`+TLIc`x(PKqRFZ{ zH&5S-yOYtxy5N6}CR{rB8M$@RTd~Wr4<=zB><5>uXScBi-p(4h_^I&~(P#zlS?Ar) z*jb-#V|})r_2etyAcu(P6jatBk5jCCV$APyMq& z$|`RBZy#{J>;;@B!t({}pIjPj`Fb2WEoX`GHraKQ)7qWOv*OoRXg>~am1id&FXB9h z(qd%b6n`o<%GcMY`v3E7PQO#=mpW~ufEoSnqF?q(?K~X#OtcLi_1Y4>Nq;Iqxgu=l z@z{%T)rD709FXz@#do{lyCv{lE4W$--#rZ9Jqq8gf$!c3)=jy{;k$+K9qYF3bNtQs zVH3ru{~zn%yB(+DyT$O`CisqW@kg`p-D3EzHqaa^aP6`Y(eB774-YtecfjGhP4L}} z>7nFP@ZFs0q4w(Op^h5(ZXta4yu)|&*WH+f?`j>stFEdmf$zecb9Dro5$p~HMtJ&k z_--P6H>a}sI5N}l9rP1h3Ez#Hj+}yaCr(FBF@{Nup^P!C&)~br2qQB^mxuc3(vii` z<&D#fF@Y4e8oQihJ36-(_F83b{Jo>Y;c|JW1S!Eid^L3EBj2c?se0Q4!!>4-ZkW$@9eBu z5L!sC#_?9WjXdH?omXBG?L6R1b+SLb^B|w{QF%WE8G5{Cu$||#$^JCuxeuxHk52jb zeW`rf$iIpl$PamTT=nap?V=w2Jr^s=sq36Wjum-U?f9^5+t5unFxMIAt*3nC(>A;v zmJP+6V|{bBPMC8G{A#sKBL2l16zduB{rIr&_)=d!2fXZWpK|6*5Xu%~SK^Oe9ZT}O6Fl{Rvn2J&eP5B0`~IYp`z~LU zHM^bb$#=Ji&$R8UFn501`cJt8jCXg1u~`o%2a^{w+@bA&4d3+F16Z-E|jDfb|w3R4=KAvJe zGk^#AZ-0O)w(J9U`%Wbwg&*BrMo z$C=D=c17y`Pfjz(By-%y9D8!=k_QSyZ3hcO?a9JWM`vNE^Fv}yODf>&%H}B-YTRcq zzfqp~neX=ex@vr>?&qN^aAD{Te2Cs+H5Iy(YG(|XZN^SY5Rj%}L}im~1hTUdcSz!#ZQf&FLoT;JY1s{q?}-3V)B47|kuSlMiUpK>f- z1YY28(O@h&+#@UP_}HBDoH|93<`{e)_sH5YgFdC4c@#M_(UCLZD^D+H9)({gMoy43 z!B5$LD{`}jHD>JOv~}Y6^A)L0z_JAx{)n}U{H4C=E#$6G*!bn>Fz8S?iKuRtHD=X) z%&8leTxOj)pY{vDmDW#Gw@Y%3at8_>zAg(ipG?N@!uBw@D(i=P7xKLu`TjC8?NiD3 z^}s!H@;+nhD^l@De}4)3OVVG{r|j>aK4rZ=|E-Mvryy&~(UTGMW$A#Be7Mgj#(X(r zorLTvgEpqX*X8ha1ie;zU8v&|+mCC*?)aF$Dg{INyOclgKRfiI+BAzot=Y1T_5Jw`M*TWYar+EXw4A6^YE~OXk!0B zM;6<9@_1m7u@&Oj5#L^e%t_*x6DLTNdgBCk>?<*>qB#*Eeo8xsDVIp*d-%~QgCCwi zmf|}+m(*GI$OJDP&&AhEV5<--9Ufa}8GGUn*W2eK#MYrhk@Mz0Pp57rcFzmYtIh#* z^CFB*fdA4GV130Y*Y@Exb<6#%9Uk~fsERYo+d97z3i6rRx8iVseE3`RiQco@4quhE z?F4Pk_ghyAhQ-9-s)?}^SDIzU6E4eI#~y3;cj{X{i+B8X`KzlCK=IYqq3QG$D5#4~@{{)mt|nEc4o?~sO}sxOoqkG(_R&w<_ocI-jZ@Lj4CFcO z9Hv|X+Uq}C)}fyn$Wg_j_Cts2FD(}3lpz+CDEBufvgjP)M=?I>oxcLd#X)ku6i;)? zwh*^Z*5Vrnrq}6?56-u$ZBQNNCmxsq4{SKr`<#uJ44P{lYG^JEkIu7GmABtz;Ml3> z;#hbLdhqyv+H~XE6E8NZhn7KeV=|0_+-?5 z+(EYUTF%B59Vl*=+?|u^deqA+4A^tJ26*J;;n$Bn1kKA7F!duuA2H*@CjdyM@LjQx)pV~=x} zT@o8sbM4~ZJ#qxt3pRnZWySE$X*y`-*UmrQJ8L3-)1~-Kud_Bb{&MTeX9`|9|Mi{u zqy7*Wbjd;Az@E|M<94j^H*fj-yY|=IvhY}PT_Cm4m$y>qGPKovq{2;UCCJ zU3?*VqhG5G8UI2!dh~)5@o>5AUj&UGQF?Me;;Edv_#ABP9XWN$T5Rma*w}YsV}A!5 zdv{LV@rl;RPVCh~2P>O9@ARb(^`IM*7b4pjTVVW&{oYwY8Oq{29@m9^4t1HZ2)_Kle#nI%AEK{z`^AXu^#)gxRndJ9% zza)nPzEFDS(wzy<~;ldExWpS5HmtgSKlc%A&vI^FiO$(HL#bLng)_om!WeI3tu? zH?^*93h{#S8KI5{v4UwcLS0*?*2RGTv-nQfJkP~u;}5J4kO$d6wpa#ihn)hpoxqaZ z(KOh;PY#L3m}{XJ#1r!@9d zpl{x{!5^m#WR*O3>14P#*Y6k`RBI{zdSmKwt$ z`gLKdwhF;Xj5=ph*2Td?jAI!*yW4k8&z^(256d3M-Hc-c_gG|W&+XG~<1leI;V6!L zh=Hf#LF6=U3Z!E2z^U-G^_wT>foyoX{|xa|e-?Q9wu2`#Cup({M z{5X77iLCX?Ytsh({#V*KlfJbMD!t|H+dk)hVACPs)}HIcYoEgA-)5x}JFHalc`Mbn zi*o^XlY1Hn7+bb=54P-6*s|NglnGM?dB2NX*WK6{fk@ph$9MWQ#)$kQcpw_akh-x2(%Erp+gIr|o1<^dI6WaL& z_JL01_c+E-#@Ne$_(){;KOb%FJ$UqolYuAo7AWVLeB_(KWv8(}v`1dC%^b6SuYCz7 zr&xPf(7m%J(Plor<3#9<`q(aBZNkSK=2Xqz z_NHTN9@kzdctZA+_`~Q@#^dVA4*J+T1{xlAo^7i|1Ort=hx_1nlNTAr&e0mBd?CNi7M^V10k!Q~XFe_;Lf>Y7?r-=~=l6&= z@AAMc?((OzU*Uf4UH9%+(Efz@oxuD%q8Ih+Z~8Uoez)X6Ti<~Oq0Jn|r*mK~=FDe} zv7I~rWUJ|!a!iZJMST!^V;*C_37hV-yj#H@Dp%HD%x`kFDaY^%NJ z7bR(rcKhupes3giNW83dely>Qom<}Tdz{(xi^+4<*lUJ2uC2t^(ON!nj#=85VfII` zA47W@WE%%`)(ZD^NhhkG$NmmFtN~6pIA!6@7ic2^k1;P~&}d|E!`qt|p})%1j`lp{ z_HZcmEba3GF3%~JHAFC@eZfWRCu-lVKkSwd*IZ1S9n|ln{z2{x>R=y(Eyp=CO3!Zy zr}BW?B4oGDkt^U_xBKDeWQ`3s<&WvR^2#)i8-bn1A^*(i72c^0x4y=vv2-uyY>Yvi zMKct6&RDyVpFQA6zU3I&tTi<0Z_?ScRgAHm^EzIDHxieN-b6E2lRJ+%Fo2$;8b?}R z8WZv*hjZz+Fo#^mF8Mgs-1B_#G0~HJ|BD&3a4q`x;`=)G6}EB4&Gk9q)K{=Czu_CW z@>lqm2UFxhv;Vsd{c#8#V{{GrB#tf+?(F?qdC2cUz)3bL2EnmjG!uG-nmeD*M(Y3$SMB&WU$xi4G)8s@cO(b!|T zW?uGr$kM0pz4Dtzw{n*aKBv)d8Rr8D_Sp7MbJwfz zx)$Efl$n3OJ6&e_`uIP`#D{KSU(25&d1>*XZq^Uy+-TMXI|CJ|UdrsDtQ(K8@s?-DU5`VLy@Fd_-=0vdAH?1W(-(97 zP;{1lH*nWJ?7Zi#ROb%P9HT$hEDzT_F`C?xAULdlwgM zb}{}f(BwA8y0;&Pq9^g^FBT$8wjfi)kGsS(cKk$lc!&?gBe8vq>v_ht!`;i`%wrq# z*sFQiGE%haoo9C|I&`D#E(dSe3~}br#vF9ENb)J*+G?eyHgKO-Bj+x_5B)LC9Fw0G z<9YkVoM%JdhCUfb-+7RXOXoqxb~8uX?W0eg2VMH4d>?)8w&!rR^f}d~&!;#O6ME|c zUPZp#o`Kw%Wb;zc(53ElNTa=B%yk5GG|JXN2Y!)GhwdHTgA+sK!;Da@C?a)~wN z;Saomp8Vg8r^r{-vkLhrxV=KWyg+h_Jy`+1zij321FqzK=kA;E$pa5`TLq{IozI@z zq8BsfS$T5}CjagWQOUKxgCC5nmTacZRPO2-IxuJDRAkbV$g<7IvRs{))yn>U z^lm@B+H2haez?xXYbygDlh||WwjCJSl%US}_h73dAjZ^6f$Hq!v%=KJNSvd!O%Kv}khqKiGFpY=MSsdK8X>P27h~o^k=QDYxmH z&~O}ET{!$3z8B#`xU?$!=t>W5Dpq9EpM4(TR@S2b)R=xAp=3!C-c5-2kTD&|$@YEV z;3?aGv}J!V+KK-%4tRx`r{h0vm;ZRU9bSN++Tqm>_q;&$moxP zZwWrdY5JpcN074y$!}U0Om%DvrrNfU^R$NCr%l0B`%~mRZ7SwY#W79{Hs8(*VSiH$ zogv+^fltxByWhmfIbb4OrpPbcNIq!$j;fS&QTPJR#(j!hmu*$(2ERGaLigSEyzftS z4<=q(h#qt5K68{cn&H;f|;|CxIi@T#ga|9_uzauqC4aIi&9LO?*Y+VKJr+ngkL zx1~Rz<8+vr06{@%YpFA1sh1=qNEI&}utO`ICK!W~s-+ZbslWaRpeV(*D4p7=o#9+^ z0iu;yD;%Nb|M{-H*U3JI6E49za-7dZ0@_ajA6#dm%^;>L zx~O8^ZO!ACXzsDB1KU+L*^88Kbv_IIcl^|x2M-OVJwICgEj?d%)SdIVDsb5S#zDTp zI3$NI{OO_9wr$%U^EAx1;@A^YWrLbC zAvB)~&%fH)GBx=)K8NPEws0m%opk;0T>m47{%ajT6VJB_M;C?`$N4jM_^iB$+GwJz zc{h>o@Mqr5$cq@i0398#Veg?m@XW4YGVwaOykDp+Yh+&ONX;j_oHO^guRJ9EzoD^x zT%_Z|P_kq7)MUrSp=9Tpsmabs{5J7BC4{^UCF^vKxKkYIqz&1kN65c1`&3nVzYXrM z+ukS1o%h># z%g|gLnv?zW6tq*KHP-pWB7v3FN1a2Mw;#lu#-A#a*tRLX6z5rjcO5*xg6CU_A(c2; z_6dKR??A)E^LH!n;@`-Picv3seOZA_v1>LJujzcdQoeh?uf+Y|?ZE$_k7@gX)9N;H;73`%>5NRBH;POftDZ2BHYFKRy# zm5l?h4tPId_+ECi%7@x&e~+FAc46k=jO<_ymgJ0)x8NfRE}#=)+f#`lPEGD5#$2H} z-`BAVS^u7GeAdnoY&w2j>Ddl0JcMJlt#-4)!C@>qC!mx5cF|YbNJe{t&`L1b0elj` zsQ^1--y05jlkC^CCkPDO`8WLz=I>MV_xz#Gq??C2&t4;6z$xgtfi*g{JU`Hfj@nh3 zocoPizw!P{m1f<)s}Bp>>WI%I`q)d9I?*1@Un_S4nq;gRho5fuy`gVcCVTd<&k*O5 zUazw?(GPC{%Qoy7)%TZq6If_{sM>V**{Ddqm9m#)r=Q-YcCLFLU;7BQ0yKUA7<3-O zzV8kuyZ*$!@ze6kQhnckY~Opgf70X%BwGAu%!Z8393KS!SVx0>_-ynDb{%{W{}a0N z5M%4EH2ao>P0ry3k*nsAUq(6MQMeEKVr<3Ck3^9@4t$-P6E1sEx`1{&)jqsZBwFEp zjBh}{o1&~Yv@*f?CtkeZzOO@{z)PtnTw5@-&RVQSOPfkPP`j^ z8+$_h0gc6=HN!8^%fUUvBAu%^OV_NMa(VyA_A`t;i~@7zIV^q%J{r#2(-wDq!hrcc zw<{N880+E4#c1)bPw;XvZYLL`Hg|LH?c{w>F22XV2Gc83d*$Z%{LtpvAd=1GgTOV17eKEo4QQLR*Rr@zTitTd=tgp|il>HzU}R`NBQ%+;g2XW8`-} z&u^UHS?2!E!&A)tore>LDrF;(M~EFi%z5@m>6xx>t#N<*MxrzG(Vy5(orCxt5~AG- z*Uvz)hB#@nF}kkXVn|PDgmtaX26O%n*^&jfYn~c zoe-?wQ5h~Zd$3h%KPlvD6>_x!-4q+;&bcU_5-3JjaxXjfTJUJg#`vc8 z`mdl4zTKsnEBQz)baNGGHp%b9$l%q zW$pc?SX7{yx;$4~kPAAf7-7z63Cl8fD(*a$d^0$Vf3cyV~~w~_yLzHWWS{Ga9*zoz*` z@@KV|X+_9CFY2W5eiv=NO*_Ma{rim0@$F-pZGNz~%3beX$o`-2R;90ZuYd;Zelk--2CJH%0F&M&p+;)$hV4!LEu}+ zr|O%OS5^hg62$1H!dD%{A+7{>ov*`Bz)SJFgV?CutW8fF7ygLtn{57@>04jzDD4xz zqO$H&kvP7Y;T8BVj$Vy#M~3Lzl#TPvgQe{Ekg$00WXd@D^lQey3p(FJpI)aw_)zlS zyNaq74-;;vC){+T;l|C`=?$^(GVeP|{Wi7xPGjgujls+JWDLDLKS(|1yL>Xr%K^eJ zh+#*?u_Y6f6|CN$h@S*4D<{wO-QE1a&Wd0jI+<9aUvG=(2 z)(qq?zJ?PXOPq^&7yJ^3oPf^dIQPBxx`79P_|z3c^U0Y_R6;_ zKZY0y&wgXdGf&C5^~~Tjfl2Mh5pBev+RtMxIb~KewuYQYOmG7(tWPWpFh1o2 zJo^~=Da1wmzOwp1`wAyHC*0rvG2VFRPIdb;uQ*75JRgcN{80Hqwc+H?Iiuoo#+PUS z*3%<$ORUfQ`&o`)7w4@AMY%um)P~p7W#OEbE4OL>gliR9Mu44CA1WT z7a#fMgVW8qsuQ?BGh9~tN?=h5*Hy%M6YMWkbF_9ShbsD8OMLzp?8~TpEwi^X_`hY8^N7R#?$O(LraZ1Y#f#9^_0U>Av^NNu znvd_xT9qAFz?;bFXyEX3iksBuqxZk2eTd0#yc4;3J-i0YT60E6y5Q69AnTjoJtv~M zvpc_fXti=xRWC-_IAw{;Y^WLI=5bJOLn~!fZz^TQvyahd=D3o;(DTIUvUyU-XmX$3d;!UH(WZf!7c0C6I7Mr~(}e~W z2OVNUi*F+4f1zvB+CGh@FH4}2jv8cSiq??t+<%ENXl}~rAau&(=#+CQuXt25y5zs{ z&mTjVXfFKol+}6Kwq0BAH#}SO)`QcJe8oH86kZ&udxtVX>`OE{;r`+(2fh#d{ zBg5_-?8>k?+{-5#%{StbPbnS@wtc=DJva+Gr5_E9wSln`FWXQ9AKm1Av(D3>OS~}; z+zZM)c?4 zR)HVId;dfpj`TkEfO%g*tht1?zD=%5hWd%lC?yLq7n0=9#&Iyq;^J*=QBMHgJ6jdGo}A`G=nznzuZdi!4M>F{kkAKIYhq zHoJQ^8d<8j7RgbMW?%hsKRktpPT<)EPBb?ynHQ~sAE$(q-+~|RGkqxRsf2zChdIkf z=Q_z-8Rz|svykuS-!kFwe;R%)WSseJ>lmlS)vtNpj}y*|11CDSU=H}yUcc4+rry(! zQr_2ubxv(Q`;|M%#KTS!nn-ruj-3L|V&zV<9DRB#JgGUm)EqPVq$D~#63=I!$IIcp za$@(COFRsnF|N+rk#&qs`3aTG5wsL>PRyCktIT=q>W22ab81(1I=RaOw5fJq2j}IS z-+n#5qjbxfPd#XK>5->@_0F2lcfYe2UD`$dq{`q|j8Gi^Dz(e`@8=f#+I8+uYZsY6 zqI`_g3+!g9e;H#qSWLlv*zhn z-g*AYKN=XUb=%nd{P_<}fBqRy#_HLb;l+18^pI({-WzM2wuh_DnNBY@T59~tchp=z zw$Z_o6=z2tV?W(j%ic5l`qly?!#`Q@2(4e1>hBkVWn*cl!W-xFU!^}!wSL`>OXGZl zGuU)r$9T#|IK5{4(6K4|iYv#|SI!bI+xtMk>|v$S?SVyU zFq;`HlTDlI6Y_{W&qyEk$in@7Gp~XdD!Er)QZ+n%8vS^Jd{&*+U9{C%)IhsMoz9|b z_#IymSl-RPtliAtcjpu=KT;ju*ayuGBK{ELS~95;`$6<7{nZU@_idFM`}4{SPlf7t9tY}U8*#}|v0_fkBWT#0^PWi)4BnD`vAMw>UZ zjlEB0e|NzY+a4% zcHq*;m>L;VIdYDE&IG?kE(IBr@;c3!pwl??QD^283nM==<8se3Wn3Fd9?-r~j0<`- zv1`w-vg1-bS?6|%&&{~Fe}HkZwu^HYF2J`$w~w;9zAoL^vDth&jd7fBjPW7(KJdv7 z#_I6T;!pOKKfW(JHi{pq@h-pp@M?G7H#fpw0zLJNw}J86T#;gLyzz<92YByb%rVAp z$9;PyKJN;-BNv$5p49jo1|EO+kNf4C9sjnB z@gEQ0Bmbp;{K^43S$tnQ(75~Yy}~~qkPY8MU3@c#aB}$WfR7CSXBl$`eDQ)eZsA`4 zEdGx-{#EYyH?$ghKk@iy>m0?p!pNV=S@H4l?h=dlQyBm5|7+;|l*fPTDU83j%3J?u zcwl5d&l5B4sD=-wxqNW?zaC!wEoiSGkQ>=T{!#!Lu@pYAIW1$v2gC>D6N?u*@mD&^ z!3Vt51ut2+{7`TiL=4xJZyQRkIM3yWsuVw@(M9(pa4}ciHY41S8(U_vaC-VPQRd&PULPEyxI+~ie}Cp0A|X2SFWwj&KvOjG6TCa`(bxI z-?$OjUG2i|8DMuGu$utvYRM*vIka5rXc+T?MEhm6i<-h%P@cNsN0A9V%_tV%% z0k5Th1-ya9gzr}%Jaj?0IqAfKKDM(E>{mQSLasw{BG z)W?Nc^s&~7b;4IxFDDltUVSg)-eJa_mt8Nx+c9KO9GbP`ewcB`@C#Do{@oewxRE8< zc*)qUe)$7U-wrDTegCnti>2Y&^8CVd3(`S?c!pC>;geBAtpvr_bvfCfZ2W6rL7?a-}W zTp+`r_WPXoXZdbgyntAXKVD$lpZc-7*Y=)7`(OW%?RU`rODEC(Kb)xj4Es%X?x0J; z$-x)lqx)h3nmel>7EVT4>s!oxyYbnt<_tIX!x+q2X)0^|Xw3n~kx81rO{;_aarb}6 z->0tTWCx9>{`u~Fkmh~NnYBS@MR%j-lxsKYye93p6yv*b){Zj|vck?M4`=OUraUtC zzc=QWGWeyp!Ocf33@d*rJs&al1~y3#e#G0zme=X~D&)mp=6U))PWWl~`ciUEYB)FU zo5b;|LdXH;pWM9vT>6#QHXE2UpFy4h^Bh+aCuyy_BGQD9y_T3XbAiddD_Hvit>_u+ z;Wnk7KjN;z)AQ(XXVX^BKqQYN*)-JYox^qXbz~7R3IZeL-GA`q!>b)~!(*#h>&*O) z&Mpu0?JCaBDJoXXjJ3AVhT?6C8>#+hpp#bi>uZgUinP-9I<9v(XKB4p@(JzZ*FMVZ z!tg?+|;eV-*ZSL?X@c$nuSB5&&1ZG!g*;C;sW zzULh6-$O2CaU}i(xTp;$<3HegKSYMJpK0R9{L-%k<&?A4fm~;vH}Z9_FEM=Du*u6T zi{$>Zm%qrE6{jlkt>X%k@7~b>KJj5YX;164x^5%)1ARCcIt~^ShvR*eyr>{^TUraE z@BTse#OSmqTY~bxZgPd1cjx+ESaYee1S0 zmKcXL@uY*dXXma$gH08~!QH##m8u$ynF+ ze%RHW7RELPs61ljv8HSc?w2!e^>q$0Tg8Q9^f^kO*PdW}nKULkSDg6=Q`sjr&$&$R zOSH!waF(nx@>$?>-zC=>k06Y$?rkVRnlXPguvqsAlCWV)+Z1e7x@u6L7n5-s3^UqvU9Ys%S)CG2zG{F(Pwn>nWo z!^WOPzwd5s|3qXh@<%y!%BPbZ@LBQnB=~I#`-{TYt<94oKcmc*@O3kM+*ukvsRSnRk>m;ii^M1= z8D{)HC}*vFU(Wg{aM8GTh0!T|H##nytRvsIgT5`LuVeGDcivkIBd{5^UOA$^V%50`$lAW9p9+u8>%C{ zECoNoZo~ZaIZd@$PMd$EO|#}9;Y6B(!+OYPo%t?#?IVIt zQtKgvEB&+IyU);W|NNl#uakfDox2XNF2yFO(a^+mO8JNglNO1oUFzEo_TIZ>Jh+Pz$ywH|DOjF3y*8f{Bpm)sQF*T z9p%?`!b4X>6YpbVn|<%i+Fq@-$}{H}n(u^8?DOmU?>=>W8S@7pu7t1lQ2Kr#nfJE; zg=W6DKmWk;^MawyBXuSZ+U}JAJx_usri7D!=3O)EsUJti{7<3Hf$(URv1={V?|3fw z){qZe^P6+P3HgrjY8Sj}?XPJycCCV2S2z<6T=|g>7s24iJ{auI7_Y|DTjj1VD7-@J zanjcp6rYP+yAj;XfF@Ttu6@>iw$>6SJC-@g8u&I*W#q-~);jhP!B=_$zvM||o%VUr z8tqQj<^1uS!>hyWiP3`mtfAc8vxt3Z-E+9y@PDjIc5ooIj$FR2a{j+_5p>TxTTgb5 z|6XIq-@6Q(b9ZI4yWhxM;9p7q@M~bly4R}lnI6QxcIh+MjTO=MS1x8B$!U!3ddAiQ z?ZK1q$)^2$FNb;)slSePchKLL=*m-Mw5iWp|9q?Z zeLdGLzyZFo?WmskEIN%`X7&wK-C=y^rDAfD#xT#052`#!_v|*#$fPa1zt2u!=x@{C z)>Qmb1J7u=*{@ak-D}C6P%d9=2K`tC@3a1+h4mk$tp9kl^zdr8{AYnbxwOKCQy#$& zNsd9@HX?5uksHwJrOmu^ip$ZLZoa2{UjuKR{R=rjez>l{UX(BTkbY}{E#uYt#@GJV zoqt}cXh>4)*(F1cdmv8;I)6E zUjxDHb0+~a^yubRV73;Rl>nd7SztB}m36m)q3~s?!D*^Tx_VMyw<}ErEPOhdHK_W?LFn?0~hGq(4Nunb>26iQ*+kDIu zwV?aec6)iG!W)OZmmU6R@sUjNf)O z^gdB*>VrLRz1=r6j(rv;Up6|6vEGJ#yI}U=#2wHiYY94~?ZuZN9Je z!2Qh}?TiJzX6bo5eNNElE9tXxYw+3JK40A5=Lwu`qkPGKo*KGTNkHR}xbx)3=( z+HZ^gKnwqU8|!B2a{!!#uv?KC%&q72%mrT2HT2KKh(<>y&IAT)z$>=Hx%lYETmSJd z(10DUa>~?Z4mOJLl>oO5Tw}lOwtK9tgRZ86U#)c>y$tBp zxq~h(hsayCXHqxKa~6$fEmTdN6A3LCJ^4M#?x)T^{@&(Kd?Q``a@(QRqsZ^Z6fyr? z{p{`+xSzb~%>8WpYVhy(I%Rz~^2?riYG*WgVU_Ijg$^vML^p~q6Ua7XJoffyBeU)b zuWC4YHQq!YXkdot>L^Am5o8mlB49YOhPYgaAO8G^DJ#71`{@g)Bh z-qP@+;EC)Rp?p5s7ct~j9C_6a?*ognt1irtS4I82zaQJO6PbK6y#M5EpS+?C)iZbo zw&?F;Y2rUq4w-?A!lNK3_6c&&vl+Pb6e)S*trww`xMz{l2xAUcZM0=Itt&n6dj_q zPxu|~9!Ba5v3`A1{aVtl?>cR}`6hY;xpY=UF%GpiXrTJ!->Xlie$=hsPJR0=#b(;^ z*JN9&of66lSHju*3w<)^NVv?U7ncW4ri_t=C(%|H-`?s3(BtfH#W>^0EE8j*zr9sK z*1iXh*;{w1+20%7-AG&vd7ykfqe~4u-FdX%BLlp6OH%FD1z0BLo2$P7+F~t zyqwb0;VUBdvQOp?)-h}UkhJG!PtMTtd%gWKqlZ{e%zl~XTNm|z>)Mt>tMQvR)I_g{ z%yD&r!I$tn9sElEYaTUQKUgoa@(Jp8(~o^l*G~%qd8Qv}&*_Jr@ALXm5IlTY44UqM zHWJW@9lQM3(||Gi$(1F*zv#}6+uvRQ852DeE@KYUwJkE>rdY_6A0gbb!R+W`1H&wL z0GJV%Eb9b!-7VAglO0Z-Ob?mT3G ze#i4G`m?+(e$MytGd6Qp{e9m^>DK;us`OqEo{K|wy0&o4$B z+H-@uoD}Y&uRCQgW#PMp(2%jg+OHs?`?5x^`_{ zFUAV*`0s1bW6D)2#}_yqpL!~Og4Tg=X?NExZs~B>Et31NypeT_+IP4yC)cc7Z1UDE zM!j{5RgUwlzNc7W7d&A3!{|PE%7Z7KC$|4KYM9>Fr;4}Dc>l@UfRSvo{bI1 zM#SEde_l&$RJdF+wEodJa+_QZbOiHb=&7ft0TXm7^)~6;p-#$op{HdF2_^t!gy_ZE zb-I@QZeZfcn>g?+C${r4zLDxk_xayXCTDR+So_81x4ncedKtbLKg8KoI4r#RjbE*v zerI>{*UJO!!SOL?<}GGDz@?F*0C}3+FQs4muxYinV(aOgi^26izE{irTylDD?fB-N zoCW6{&N(x*`~Y@u4|eZz?AM9t+=ZM&!C7USzl`mAKXDH2Cw*xYF9oKsNJ}Q`&WiN!2R9a-{ZT#i~GA% z_tym$t$Z+W*T!nfw^9Cn?9T((YHwm+H4SrmZ($5Kl!TMljU_hCSf8%HEYcJ>y(bLp zv@foFNv#X%K)!X$#vkP*w=!pc!!YJym_Isz9(i-5@#Wy5^TFX@?C?O_6!54uZXM9G z_7P~nZZ`TCdm4T=`zO?4(<>&sq|QCpLALZ?e(0{n*WANPz^@Owj&pu!9oJidbrJE` zX8JY_9I9>GW;gzV;?}?9+}O3`RES>2(6+^2$aj6UiI?Q}yh-d&akPJdj+KkKRyHB+ zwDO%U=x#4LGGX*h6kQmXpNoId1&`V`O^gd#eN()mGSERbdUFh|<+8o6yYI|=;M`qz zDeH6c4V;mWuW3wInttW>Jb=E_9MOx=W*1|85gYe+`Ud;h2)^G?4xI5*3)=pbYpcto z$G*7E<-@nxRej>~F?;|ea&!@EWZ*k}fJ&64NL}WWKdVz7j2;Kj4p7Y3TY#jM5r-8q7 zO_?!iWfV7wAs^!4Z93&$K2M*IvhwR=Uf*JaD38tld#{fcKI_eVY5M$NIe9R`O?j9z zSm?j-JDR?TR%KrlLu=*8v-^N8aiy~Iqk%fl;TTy$ozZz`Yus?FK;|+IgBah;hY%PB6NW%w^J~tTzPYF zQ4AOd`HpB+@iYT(FLpv3y<4eM!S_netX)}tkT#A}Ui2kcKZfkF*G*ho9DI*!J06RJ zUjUa%aKLyB4is~0@Nf_W2h|=9$n7-O!a)u=u|<;l<@(SvBGWN>&TGed-CXfAJ-OVom^X*w6v|gVLl4l{&^OhJ^gsPd}*bOh4-~4zi421&oMCN><=Hj zi#>Qx5Nsu19!EBK^1{GZ^5XFE={F6&luf}m=bJ0BBafk#bojcmW0eo4E3&}!w;vHq zwe~7gX8(N#OrN4mHhD22i++>t)jYN2_-w%qTC0cFj6QBZGfmfiGe>ji;n(~+S29@k z3-Q=V(v3s8&%xhqm)`d2X1$ZW>wh+ya>Rqu+N<%}k-p!-d-`Nz&9W2yb#G@L-PFYn zGWf`rn}a4$$TmLL258`rMEk1y-MpVT=Do%rB+ z$dE4L0{Mf(W!-z6vhmnS1r_H;LIM1yT&YbW|<+e>CuEU@b#U`zIr_v7zQ*L(RoL^z)&4A0Bmr_XF2I2G*V))N{$t zHRP1pGTKus8%-Sc(ZpIGO;mU^A$r(BnM_zN$bjVr%4Fl;^~?kM<4kCkU5yh-=Vj=MaFd}581Q!qKQmU~xLkVJ+MRr_Td-?VZ=L%!T>+lZ9 z?D)rMyQUq#VtKGkw#8`r+q5FEXbJtj^5VMJ9=|JRRO4MY?75d%ZcR?!E>rg5U|B<| zPVL4ssH3v$D7%BQFBRlbHs39~DpL>qR6Fjt?;YXR-$(rd@LgC~K>fm9s=p0cXzR1L zW+V@McNrYsuxAH!m6w~htCn)3k<~6vOU-xYLWiRB8rrM@->JSc?hxai%Q&m4r&yn!Sa&D6t6jX8UY^hQO`MY0sQU2>YzXbqp*+?KXl)tq z6^D$|zkXeS&Swt6o_96%x6ei~JE6z%xlUQF z#*6Kz*sA29?7Fvr_cG~Rz9rcjo8;F$>E9c#?@?CsAt(A~i1zjUZqr}llk`#FAI&(4 zD@DpH;9X=w0$o?QpynGBa@+r5e~@*drY||BFWt?QHH~-z4RF>A7;zn|QANiGGYd#j}ynmS2B2n*II;waxpW z@3{k^!t<8Dd(WQh#_oEwHW28&?$b?=o|fZW(nDXaJ3YMeO=$1|X!`zJZk@cv8DwZ# z@%aO{1E_T+7AM{-kHtp#A z(YrRjXxdR+`L2!IxUQspwdZT)5>s1BOl>D?vU2gYwkY=T)4rLx_*%N2!*vi_P5ZlV z)7dxq*sFu!k0Gvowz4_hKKnjpWLH~%Y^OOdCOzJZt!(VDC}Sw6-_7ESajuVSY$n;O zo~5- zTY_JeDcdv`Vq_cksrqyWeTvGy$EFQy-7o9kH-7%T)m6-ohnR0jXiwsOg%SA6dgiv#Om2JAn@H-zKaTI=kbmvui$o5v*o zl*coCEL2 z;r*vFzA3&n-{PAm`j+BK`p%jGzLU#)#d9<^eJhgjE%n9Fi#Ogh8I<8Kel-icwO&qq z)Z(LQ3;+8#i#eOWFIWNx<0lGM8n5oL5ng*i_q^9Na(Gh{*Y&*9GvymU&U@j&me;-B z{Rh7t*cGxbwjw{6t1RP;jIw-uhXU;AzP`}o=mvR`Lca4mk?$$P7?&*%4eynV;_kCmmCw+B<# z@%^*>?e6cCKHnjjh<0Sx3LZ7Z!X;;2(YGANU~+q)m16t{`72t-vz2$ElNfYvXtKeT zy(I_l-Xom(pViQ2BfilKedUvs3p5X1sPE*^7T;Z|Tn63in-|~{t@pk=4?O6-=JT|U z?MCwDvgzteGvM$dM_czKJ)Lc5(!v}yz?|-Dz#m|8Ub12DtbY1~5>^^9%85s8=yS5Tj&=_@wx$7qs zU^{Sb19CvWI^SB)MH{t};mE5z@?wblCkx0k+Dlu~%eDMQ`BmT5o@_De!*+75nCV{X z*L!6}_XVG3zj0{43mxaKPf;#XKE7z4Sxc)r$7}C+@BCxYTu}jk`TS`Py+pL;$&Q`i z>ptl0U7qiheEf?$pR!Z(k?XC{<4*c`8h!P**~PgP`_L!d^!-^sy=BZNnsqVQyv@uV zDW9hrIBD$CzdBo6v{emU*78iWt>^0Rc%Cb+t?Qe}kyBZ{D|hmYz7vckCj|pPubHt? zM&}6x8Jp;G0@w4ojyu8oE8)KaB9upX@X_vcpqrT$li-v)=>@gTrv9{ z$ipV$C6b5p@h8n04bX<<;RCd}7kQ|84wK(pjoth{xW+fzMn9r8*dN#+!fgdIQ2v3H zHR6$nu0+;QwximWHGfBYkAaI8WJe7#_o>`>A*%+fP2`bmha;=J+-U5k8hj_kv*X~) z)H%yL8w(lip4}d3t74Cj8s}o{N!K@A%-TVNTW{<;h$(i{X4it!$;j$gwU$!;a09&h zIJwe|L6#j=4j*nYss0`{v_|v7b`2GHP~a=WYXi(A@$Vxz4E8L>({wfyj=0sfyP#u zF*YloYd!hwkJDwB&mnWRO{On<8sjta8NVP}6O6o&rQeEK7}-pjr%b<*(_F9TT0GMY z{$D}|itpy514UcXf$;ds+o-F1(b|CSINL{{%=Ji7G$I^z1($g1aYnuT9Ls%mtF;E8dg8@HjF|u?W4_Gud>V z;Ij2J=d#+Pq24bOFKZ$%OFX97-G1)n4=AS?e&Jb8&tu4yY1H$}eM83~FSbFuR`>Xy z$KaWP>U1#w-0^FtjJ?{*I(K1{Z##%4GwJCTlTVOtPn9Aw zgipzi(%|9ea{D&-dk+s1%v<2M#Ky}KmqkyA@WpZmxi6qO6RBLJ9z$_+LUag%*rS-U*ngKmoKR``^q(zEiU^=Hp79B z@hLSx$FpgtQA2suP|q(Sefu}fPO5&&)0eh$-^!1^BkU? z&$sj}_vkgNy3oJf=$lUFD_#U=Tlij(`NJr4f@VG)`_ps+fH139(Zno7AA0(WL~ZlDaZ|%743&cpp7W;h-l&ApUeYp z`=Et_ztpZ`?~#>xtho~0#Q&0g+FQr0<)r-cy5=_=IQ)}N`l@+#hqjKPeGj%Ovu-H! zE{x*=Xt)b_x%rTxwr9!tDON5BZQREkW#}Sg0_8gye+zRA<(H5z3alG|L*6CiiO|Lp zjN!0sDda zKG1XF`4beV2VWKW3ywv(r&->u5m@}B)auGL4$$LGy+SElSX*Y5nmv%c~hb?tWC|pp!xDFXQc*VCC0( zWNK!YwDO`d5?Dzg_e%#Ms0)1NGDToc{Oz{+{RSujZEg`mMJC zItvc%SxrX&_C!azyqu7+aJ1%N^v@3LOo8GIO;vR}s$`{d^ z72|J$Kkb>Fz;;j!-t0SUYzxj_e6MeH^m^vVg0r!Sxqp;nvdI=goBzOHro8<0cl+h#X&#T`-|u!FAB`>7A3reXzZrYBe|>Ef`pPF( z79>sGd6NOqa#5ORryDJFI={=Q^pDQ7U-J?-56CfvOz)=aa0 zx9hJcrfJ6H={nO#f1aK9TyjUU_6Ym7NDpWYjg|k3?fB2HE2a;d zHw7P=?^^rWYd_(&uQ;}Cf4!04{q{coU$R5wG8P`sdHq%F$@W+K*7)bIB!AWC z#zJB-;O>6TmETstHFK(p0gL|Qqnu>%Aldr4k&iJJ<;(`4@wJ*0wP(?R=h3uNHJ&-+ z^MNmP8-(^Nk)Knc=Xua`Nc;dT=U|s8m!*3x`{Q_J#!$E668dowaDfj}b>Ih6r`fIZ z`^-95P>22Sb6Crms>6CpQzz=y`K7Opa%6Lg-Lj4JN%nls7{}$YV)pFeekzQ@HPb>Jz1wW}e9)5BS zesbGx^3{>Op9_9eb}9Jj1RuE>`1#TR_$h(6&3^I74f(ni@JI>!%KGspS!K(J&;0K! zPW8Nsx;4=IRQRjW^4D?j`iIs1GL_sulb^91ygJ@L%YWCJ{FeUp*xDPU1KUY5HUBhl zd^LH;;CQO|5#Cg+FpjR)9B?PPMln=)af5hqVmhw-&xJ%6WZ}gP*?2L};5x4@$Hjpu zb1r?^4z72A>pXCM6}Y%r{OjR5&)_<*?GQO2@Na(|aJ>Uu=Yi`~9S_%e2G@CQ2Yhw3 zo;VL&tL(kBZ*-;~*XYpyp}bxju1ZYz!G|ar%=h`_C3L^3|R#mPNiQ&rfm3sY9C{&DH)f$l7%lSIAoIj1j^w zXVwCfytd`QvXAmwV}EW2j#Kq~I5v5z)VrH{<-Tm`p})1O9gn?Rn1{J7I!m`=3)DeZanBxsecXF!n37C>Z$1EcxRfv+lFfuLqNXWRPh1ngM87`tkqx?1lZt zo;&uut^#1OPcjF2(>=>cehoSedNL>`eS&Tg&03s%XCRy)V~(NKS*J#;Ujcp}M($Ko z?^NW@49YA2&rhq$r%ki(xWATi@}aQrHl*x3s*M%JD zmhB84fBWt1vPgK89#IVWK_5PM8hrNWOWHiw+1Lg#^hI!Jc=Pkq9-cmB$m3tHc1A6% z$FFzCagjMEy9Bv3g*^m|%~`saM@EBJYp)03ofzLOEp{UKBO7dNV~%vYfn z55M>yyB%vkg-(1c6Jxz?Ent172e$}30#ae4)b24V* zSK9mN5brs$3Y&K}n!K|m%w7JO_D7Q!P_4WGVmzbC3($3pcx*8+QCz}rUlf{nX1_n) zjLmEOar&jbe66qT<|E{r_`rV+^7i1U>Zfhl!Gf#ik_;TYcYZjG^T8qN^+SEpKdV0r z&HQP<{7GQX#<5{zRm#x~C*O8{Us1 zUo{W296pL7XB6Afw^d$qWTH#Wtw>f~OuLq+1c!Qf$iM-f5*z~DSNM3Us|S9an& zBge|bFK3~z-YPfVe68_`k3C;o^rhI{*|EOWHS&+4E9)31@1wOoV7wL{ zx*A&RhSqAqdj&FcjgQv;voeF$uuD!vYnyeaTJpeQ<2P z&wafQ$6pbSu|s3h&mN99(5Ez+NuN%H>!m6^uZ@_aetYfZuT^2$N0;)kYC}?&yejRe`;NEMcKVM&ZK$7 zBc&r1*OpDA_iNclOZ@d?<^tmIq~x>f%cSp1Aeii+EfezEI$Y?Te88!NdAj_ngslyb!vgL1)u!3g}`T93O+VZ)zuOEp|1%6U;`~Dpk>KX?J3>?fT!T?8geo`+L=$$Fp_T!vCl9e9M11 ziz>K&3m89j0dNP##5)c)M$d>CnWC5}xY)-!)BX7L1d3N&_sfeSJ;Y;UH-an4n;Gnd zR^U8R&z!Vm2r+14MHfbzD@+V}g|+$Wk@JeD$nFzw8(V<;CFDxEGTp|;T;5L6dX;-0 zr;lM^Q~`|YIg`)zgA{M|&3k!eUHR5^X`(OON&VM%FKb-yhFJye*@{TqFXoMVmQSCu z_UZKc_zp$nG7*Gbw(;bH(KpzkKav+g~+2C=oUEGc|PVV zO`f)$`#p_&olP$IS-zEiw&lAd6C^iG3{d&wxyUf(NqM?^yUU9`$c=>+iWTN^{%?WF zquOWW9s7=w`;k~ESvZI}cFDrRw*AN^Gnb6K>_m2UBSZHgKM$a5_9J&XX0aX!9i+Lo z7`kT=^w)!a{xZMs)1KO@3vhk_wkAH*rmk5PW%*9tFS=Q))6LmGapc@o@UD60S|_Kc z2Ab(a=4hQyv^r4MZuWLRGZN!jV2ZaUn6?xb*1m|*>WVV8aTVuubfep!Sa9y)b(}?# z507^fC*4O}@>|G&edx89@k2FVv<<)5jFo3$^5G=!f^moQ=}!UuDPRxMLiQlNkN)iE+xxx##OaTj zcjnnyra!rDw*P{K?CmaayH7aQH-J?KVy?Ax4QsP*Ro;A3PZ zc%;teCBUr{7!fPz*Ja%Qnp~F7TKUBIo0MCsa(8l1%t1OY7>2&Mf01(H9nBdL=gYD_ zHe~dGp!iBwN^7{ zGnak<`$GBZvT?hhBhhyp-b|q1J7$S@#Lszc&A=xHuH(1yPI$iq+Gi|Xj92@vipKU& z2`3Mz{QPi|#deo1rA^VQzs)YwrkgXVHf0MN`li06?@roL?wI&E3XiAgoadu0odfR_ z??LBkN4(dZh3^)Chpj%IQ*N1Tof`09d?xy9$ENY@4J7&~~OTa&X15bnf>>SRaw{MI^5?c}4BT^F4j)=`-1PqHWE)e3ZK9xZjr^ z_P#5c*7v15oh&+2dN!pqsgu%~x>o#+_u>P^T&tc;yo80J3p;>L@Bvis$auz zVw{)bOrDx@oNKsOo9oY4j;(l)9QiK?7CG3*$~|nDNd9U*_V*y->Fniz&MT`sgL5B- zBL~P|jYEsd&FzAw)IW_;bGXuBlli8V58a$;UJ-KV6=K>GWK3x!fJ}%{KY$FdGNS}p zP!A2Ny|jET?zfQ}qi;y(diM8bLUT zh<}>g;##gN$ahs9-1bt&PVR3hzhi)za=gucT&xpNzt}fxc??;gvMnX(zEWgr5&Q?; zg~=&~Pj;2Cw|7=wadZzjD)HlJ=xL{nqc5ETj_h}5XMXpo!c+e4lvDVw@O}$+o$Q-ZY*yuz;sejL z{kh^Jpw*EX{TU-)aR6H7yZC{VBj@nl80&@t$ltBX-zgZH28Y-=JfkH;fPa#;L4 zax&j_K7#MQ@gcq&=RD=D{o~zGa?M4jJl>ywi0{6@cmG;AH=V+FWtZOwJ$#kFukdH% z7Pp$~@J8WlKG%Q8pIrwsgKNoB#b&PIx~MpmcK*h=hx>J8o$o9<=_6wgZV$Tq=Y`on zZ+rUwd9fB`$`jayKSr+q0NM3J_NegUCG)*_iDIF%neW=mo_5h$*pJV-byQdNnuwva z<6}1Avu?c{9f8bOj_(qk?fHjGu(9shc<;yGTU~^1IiI*o^aqLu;|qWFf$5_jTK9Fe zkDQ;`@k8bS`1Y6373STqym!>G@22z4)_?w??DemujCp74``WJLoopAi_XCZ`-`At# zBMD+Qv%J2tN5Ac>i5r=iFupKrkIRaP4V7>morNrI2?IlPALCNHoj*ngJ{L}EUj@aE zOubKQPdxU5_#JChxISLJy};=uayOpjPw-IQsAALJxEBjHYBR>TOkcJJ7Wv^P`$6MZ znZT#K@3sdPt-YWhjxqYT)|V41n_2d3l)k@Be)rUgoI8OH8J)qOH%2oyV^0$!^2Yn- zY0e`SH*3dJ2iTfe$?ubT7JY6q{^IcxNJ#e~555%z#eCTgI= z`Op^6^Urji?dv<8Wnv#&-&cz)WXw0&I3DAht@$YM*on<9Iz*ovIt+{l#(vy-bl5S> zrNalno$y6lDLUMu_B6*Jx`cLgA7#xB>jg*HvX{$bThQEcegLz$nzNX#7#Wk0?pKOZFEE3<&o7_u&>K)(B19O-5uCW=m^cv zTAd(YYc6(^Vut*gnBl*XCnX=M13O)FNaSF+xt`ctDifUTM7}~9;!!Iqi3eTBGuuzW zL*uIewx*xZl5}L9(N*U}ZvPPdna;P&oIl@B^^2UQRKMt>=@)+3)wW;6$;Qwx!Cd`` zv5w2YhyK)a?e?c6GVMe3=ToQ9pHkZ&;%?FFk%idRkXvO7o z!Ikl8i}5|VA4*%YA0_L>gR;rom}ZXgWxL_Qeej^pce=Y0{s<3{Ko-&%7X@@cfsU<~<-T;4PeyLTV_t-TBT;H$O3sg$|I znrMkxQ>Ax;Ta1{N%9?VL&9&3MmGV6Q$Tse7)`}pfyU1eq2icd2?;I-q%K(wyH7t7z?-yiJ84J9`eMwVb# zNk-pSb!c@R^);?$vrowA$ah{x9{TJF8)M4!!$0<5zl~w@X8nG6SH}Ku6F!mdf6Dia zA)~bpLpid_udKo^pE?Nq6_H0g#MS*kz zfNRS;=S)GyUx+Yj656ZRKT zUehJT&Lc78VJY&vgLN*Abytwfkkcc1cqMXu%l~D)G4{3hY*RhYD|uf1l+znVt|LpI zjh&_a^Cm?u=Xqs_m^<-D^NnT1fY}SbPJ0Rs9?PC4;f)XU_Hia|-ueW3r-nW1=JDMo zVqcx)ku`2u`e+SpbTPMFOMXr>?MrvYCZe~H@n$|Bn@uuyo$@NHp#O=`KYXD2sz-cj zW8%kwvc5fe-$*8mcn6z{=`cQq1RpYnRphrEs zQn-?R;V5Rp`y%Y@>)5M7ISR@Hivz#TBIgm{MBajQWO!o-J_P%a*j~82>eX4r^1;cU9=S25d5|4GY1`%9qQL4Zyv|`!UfKGDEq4(_VGu zm*$u|`S!ZOxx2aW z2~BoEo8z$!$~m8IJ#xQb!Gg*1`wcdzw+Spz1Xhxj29dI*(h`+Tc-k?N|$Mj+FwbsSUFss(7)!qM6Wh( zEL%tSQO^5S8!_6@9w-$f`r8ma>s%b$MvQX>=6Pk+UcD)sYrbd8ZZ+qH)tVTDAI{>3 z0N?XJJMS=i4FsJ@1^h;7Tl-5o$eDoJrSBR?W*y0+W1eMcTi?@|{NKx37n?W-zB!To zVslXb`~K{5)t`g%jV$z%%1418KN!-Vk87hGW9V{oKYzLV1NY}YNgnt0<>ANYuZPZ_CHH7UBfdo)^0OWtu>{|uTsaTu zALSenD`$@$)^|axvTqebC?Bnz?}d@|+&@CjjD>^xS!{B*$Gdg}`c3lFj@R~Y z8}MyJPc@Bq&r8!jJKEb>XV&G6XO70pr^q3l$GI&Xr`*9gB}oThKc`o3kvYBa}8 znK-^=>|rN)vpH)y{hY!}4)m=KBR>+Wk#}p5cTLdzS)9q-J|@x*ZES@$wm}=3tMiwM zE~mc_)8ADt-K>Q-@q5eI8?a0D7BAdI|3$4KcHf}gz2sW(&2FA64?%Q}eKFINgBHZ+q7~iS{1I{|H+93WUC5Bx zz|YOs&!I25ZR^Q<6hHO#74TQMzVAliBb-bikD?9EX04B};M`N>)8N-7S z%@2k7?&lawZ%rt2Fu{5CEy3gSN0mEg{=F{v0=Xt%&ho{d$SX_Zi;Kp&e1Uw($`{D7 zG``^eSL97)($6vc;q@U}%J+eZS#OC9>!2^4lNdX+Jnug6Qwn|rb5c0@ zIcVCAhkN-E?056QkYTC(h)&UI1MNb)3Fx+C3j5umM;-Kh(Kp!d5E^4o-lWP!jZ8Q{ zvWc-rZ=>Eaz6VVj-v*lO1P{@MaPlH#dT&iIau9nYj*RM$bGS07_qK5IAn)U)p<~`j zpT?mJ#Sg43FgkI&iwh$=$W4yXhUP&P&+xyua|_Bp`IPXskbW{Ii?^lpeLJxM$+PXu z!`7_$l#4g?PBy%CEX05F%QNn0gEz_0(a5n%=Cl;AP+$H1s55yXe-pVyu(~}RR)W#( zR+~>@?ou{t&rB_S?ts)OJ_rB<4GdU%Zb!Sq6nSlMl05I<~JicYR_K_tzs! z=7$%{)-`wv;fK}u^=ar>ed@I(B8l1)A(K`jxk>P%Q(-2;~(XVeB+r>0?P*1uKNpPF@CL&J|4Mj0NFbbeO#SE zAKc$&=p!Aj$Iyw_hcwyyV;7(K!lz&6{y4li-F|TKd5f_h`t4_6VC-URHxt9#ZRZQW zImq>aU(wv(3}Oh_dL>*dpN=&_sW}_@Qc-ZG_w+dx*VFSk-0N(orL^06$$1fs)Dfz$ zd9G}2+PI&;%?kW98~@XDY}fua|NcCai=#G`TPfPQinRwjn)4!Cp`qC(r+Xwcpq%ua zwwtbhZ?))+eqDB?+S~gSdg(+jZ<(j_i|SrmyJ5+rG3d1GM)U_|_M)q2(+BAy*Jo$X zJZMSpV!&K=I*`|DLv_k&XCJahvTi)%bhIu7+x0Z)L^)x0AEmX*yZKGAJI7vy?iz0e`YdzN<@n&(xXfv6uz3e_h-ZY+2eQqk%DzSR%g0eX{4+CB~}9bgH5E;IfTuuu%E{&3$+=_8Hb|2>uYIc?QJ>)HH8$)ztYJ66_z z!IMjl_s_-;t~KjF``7pRW80i@@oWWjP~v3Cl?1nvhsA^3`0L}B5*r-l#&<1ji7C0c zl8h-WSCaci;93M8#!|-QNlwYgljQzR%4kp0+?Sm)!9sLXs<{tmg7FDb`We|He?zj% z_Fr*%8<^HKFX0?riEd5Wf*WijP#^UrzC_l#M~(pU>#~ z>%Km_{#KsJ*SKXm@!hI|wDS&Q!vo3q$N+hEfn;ZCAbIccXsw0sPV1+&Lg5ct<;P!& z)><;~$NhftO44Ypv?4txm-{GXPL9?JT;I0H?SG8EMTfZK=o%LQ?%IN zk?+q_Ol)LDat?9plDg9){~ven0$x{D=Kt?=Nz&3ni$w|)NYWHaxd_$yj$spUlD z^CytW!c7W&k|K_&IQ75sSF!3Ob4*R2Z(`QTvEsQC+$U!t3)hjm?~qs3a<9dk?H#eT7o z%VqA}%mw+lr<(IE5$zc_Aj2JMf2<>}J8{*WjNKKCAInFM!+(;wCVtGbV8(gKVkC*%PR1 zoZ}J;AH0EJ`C{H1-EZ;;&T$t53t&L({45U^?ZavHab!()nYXqqu+n~#U=d|3Y}CQC zSWi^zI)*~aEON8x9$ z1s3udeuJ;@G<(MK30e*r<`cwNyVYfxdibmr`D)I%C|^La-AL!tr-1i*;C?jmuiG8t zcV=2S*GON>6EWyjJn;lP(FRYn!4o>$+{$~Sf15lyJ8Xlg|35p3Q`xZz!!r^04&Y{Z zre*FhIVN67LswDcMH-rrUubxx3VP=KRlvsZ4ZnSse-FL|4mN@(#qgn5gQwNN3yf`K{DYCE{8O;X8VJ1d*12w7w^riE-m9o?5TkZEn zF6>dxQ34pu=Xc4daNlT zoaY&|OI}BvN9MN!{@B6%p5)&H9Y?rn{ynfdF*w9NCVXM^kML>EH?Zax#sf>qi0hDH z(4Jy%>+w0?$NIj&-}7R;hgYm^L~d?Z8?@Qy+a2BF5%u-k6t~|zoth$MpuCFgNzm^l z$c`(WL1VMEOn1i%HZy%WI)}f|fVJJMuIsxpr2Bb(fqaj?lX#D;%*n({cm`&MzZ;<; zo|CkbytnI+uk6`x-rV}&r{vT45sqF||1q8VpWx$9d`Ec5FgMLVdjVsvC66B1r}(#G%e~lU+@UoXTdy;-+#@p=7~kv+ zE^Xm_(8e-%58unj^x{VT?#&>Z`7K*h9+1u6Z@G2Q=9m+x6)>0j0Gz*xV-K{kzP{TN zgVfdDw~;ev{piyj>>X<_aTzq)=tw`8~Vf-=IBRr+$o^ zU<~2o*vYT8zrh%?!4kkTXb;PN|5NMh?K-n!?A=yB-eb>0IV?9&@T=o+j2}VlHDgBip(L9OCQ9uF#wMZoWx)FOmlkUf_&d3I8@wC zI*xdmUr)>Pb7wt`t;z33U(zQ0yI|1{EL0QT;XmtNUT)x}3|}qxVnQzh8~+=*IFQC$j2zb7qgmLg=O@G58(obw${tk^J%G zp6A=b=e>%%{6P73)K#aA>aeb% zIOu2s^i)L7yt!&*IrA}}PDQKw&&Y?Ew_kG$d3xdVtZ8&z<{D@f8>I!kdK5DK6Z|!N zoznx-30`ic&Z3Fm$AIfSO~{IkQ9o~}!pj@tU31q^`zr2=k={|fb^*Ry8@A6)$P3-K z*?|3wE=RuVyso#O|I$I89mGBeIws=wkmuTj9i&*JbX5k~VQf9@h>^zmvpl7Y6=4o_xN=oF~qoe;>LSS-8#d z^1o)ya#P$BuwX1Q0y!nQIn+Fsv>wszv94@u1ww#7R@&ASpTQ)7290=T38WZb=37jZ9q6Jr074&fk#>v*?SAmEu|Q!pM&oPefOK zY0JMcuX*g{okYE^ICh2VZwX%7XFZ5MTE`m~=l!POe0HE$#rw~Lch!WynR`LZ-C2H3 z_)5Pf{BrKO8Q`9qfuj@84aB{g@I(GRHyLWe%Qn(lzl`j(K17sf#aox|tC+30UEHx{$Q@otnmDu0rJ{9DVWL&UcANptmeK!XB zK1n^=ENzi7M!#zC@H3!`d5S*`VBRfVs^PS*a(Zid-ML&9U z8+P~ZzYQ(=XJ~XBa;g&F`{Pg9`*S@yl3q-%e7(I`zS&6nwWq?5K?d~e4;klx^sCvs z%ICjifJqvj$l@QhCE{)ywN2vWzY{N5fXv7ql&d>SpVOK9CJ_o&`^AH zGjaWC#QGO&A0IkN@|(^sCXhpUdpFkkF<_zJQqYDSNBy)f@N++>Ml{z39OdUL{;qtI zdx*d9fNq~(>c!tTVc(WL%b(pqqGpoSYT$lk5b1PZQUZ4XFFV<4QTJDAapL*P% zPkouU5AgsnrG5XCUfb+8ub=u0wgbR+09XzH+v!DM`%~@_O+Enq^&q#NH2Suy4cLlq zJ=l7+p+p~d0$X_JVV!qNJpwEr17_R634QzM`_dWC9X|u6N$Dxtq-m3(O_nxxeAU;| z_nr@}!@$+9$=6$!-ok#@qbcj+Ni9uUz4YW({$?WymY_hkKHOx(Xg)B(XH_ccX#yW&^hAGyP ztl>ShES(?ZaXYWzJIy6n56$jt*&1OSI`sCMd^r)84Pjh;Xg|36Hn_6*DOT?)8T;av zRFmWW^-0~GMBeTMV*R}pdq0DmTzQTcH=X)%mt;MD$eNMv zp)mU>_(BVacPxb#CG%x3#j!Ia!_OtR%eI-u+(uJF`pj^jQQSjuQlL+kHN~s2#h6nY zbIP#3*fifi(>)YCSJJ-P_-Cc-qnqD>N0d8E_g5cXc-_)GTrS)aps!;4&mGi_jsusa ze*I|S_k>>!wJY{-aVtD0{k^9$aI+qM&f&(^_db<93&yEGff&ol*q->QkK@l2yO+S? z=D)}Rv28|+n`gp(MuD3r0)0k_kpW9tuF{(s8I=e)guz4VZ5 zcw&&I4yJrZ_ZR3OaAWMb$$7l2J0*{o#q!;g{(cxT??CbL`2f5|i z{VF?d+A-uu*6wSss^C5HRrx)Z2d9DS6gf)bL4)h~iJmR|HhAzY@>eVmR^AxhT!3%( zG8b66>fiMdPkM6ouYrDHo{~H-z#Y#S+7H8By@xvsXM<1wT~U1czlC+KaC?o9+n_zZ z!N>F4f&YR-TAqFU%;NBW;^cP@{@)G2@j&2zd!XNF;NSXphX15@82(w{zoZ2Gm%fAW zKRW=&1A+gkfqtWbf6d<+{ttd}xb6?r|1J{?&FhyIWRB!son(*fX!OgkCOUT*nS*XI zI>y)g6{TSQHuOu9T&A}pbDjcROa}PJBOL16lp(#WyQ+d#OJpp1xi6ND|}RD&oGLe$MY7 zev`2j-^}$V&K*1->+$$FS2dX*#}DdeEXNtAxK>wnVygQo?)%M;Z+-Lp_+MiDU5wvB zO$z5@?{&9x?nHK${oeWJd-?j%)=t6~?P_B0Wht~_b4MEexT4~iYvMNM>wPQ8+lzhp z$d2guVHB+*hA~Za7VQjv-@BhDAFu6@Pdvw?$tXT>8G8oh>=}@cVD|cA*rrX%_nN%8 z-@jM;?|$rY4sFSw(LI{ykvpqchTSwKcfJ=|4fa=zPBls;#}wP>36Dn}ByAol zV~jrRRkdrvFKB8zmhU%jSxbBQ$$B3g_iMaQNf&4i%&VSp793re=c+i0atTyB#eTmz z^nJ}=>xcn62iP?Mher0$)Yr`8O>Z9Ib-0XU=&aSV4I5P_Ab2mR|6Vu~J->Q`N6&W^ zp=avlLyviV7hx_@=0Z**xofA8(-zxJoYd^eX|GK9Rh%kCe4BeYxI-v0*g|fm(^Bp3 zt}30Y7W6|D>$ZLVYm|NLS|0b;qWlrx)i8f7z0U~gZ(=Cqb+Vts`SF$P<3jIS=U#E^ zMK}E52UoA-+(8QdXyW|%l-q8*sF`PE-y-274h+c2*|Q0MNilc9pp~)28`@*4X8p~7 z@ahCL|JFNisF-GOodH;qyEA+hk;;?v77 z&(8-rXYTtM15Ryz`BGnYn0fvAeZ%Ip_w?7>bzg&tE3>bb;(U9Ee|ksapX2=b2k$Qz z96W#4E}-x^H-G3P$Y0XOI=d8<4J)-*^SP7U>zHSdegr@5`HP3+{v0H8CGYq5{TAti z1!LUB+$FDhiZ+Au4L{rYZVu@S`P7nAI`$nR@WTeuMTfMN`rv zNpmi04Cj|3?kA6xJ?Ga9tVf<1JheRAPu#@BhMcH-<>o>?V(HE9sfg}A9m19J*Zvs5 z*H|;Zd_L9TZ?Lz;cNwh-_|C&0U#Sa$qsW9R3^uM6oV0*$L?T@3jxIuN~i`_$3hFOU;<9Q)MUPM}5`=fkr21!-d08O76} zEAg222qwY@)Ce-UiCLvUsz%DqPHc56 zJSjQSCx1h9%6KW{aI117vCC4#zDzw8XiMWLAA~U%DNmx0y^4O~K|DTgH9c^Gt)w))q%e_}0(+8XxGqrQH4{xsIWn9YnSy(t-}F@!g*Q+ADL zP&SVCi#@N411u=r5wCe zfEVer=gBWUk^S&~U?n=}qs}zT+o8mUKgZ-Q7uW$1mBj*;kILNqIC-*7%bnU@*IGp31*M{J{z=w0E z4`&PCTcF>teia^Nqh0rjeeDs>amn8$j$>dZT&H87+wy2Nc!Sm(O}&BX?zhNYCbx|J zxv}zz%$}6;fS?bvS0;K9{eOYnF58Y827_6~(peeX$J8wGX)`L?oSYc^41FqDyS}Zt znf1oJwTte8&sGMDwkrHJOXojPg1$DxC&7GE>B`S6+1Fm@)4aZ^8i~3`!=vxeeTVR* z_9nSQ2fp;rl>o1lAj|VZ+X(qx`|w+@np*kVGuQd| zvWHsk)V^sPxul#BL&Mkz%H5FN@=J2nw0}?x?m^vmZ(!~=f92UQ{h3-9d3kGd0L16g z(L12^DD#jF<F&Lmrv|Nl?u>7B@;X^!)>YVDW3dDB<>;msbW zY_(t|9@kw(tMH$6KH=Vp&T7fnC*X-Tc;YMY#8;5J739=!y||6*u{mwx7n*cf>o?19g86{4^(hFWhE;`Kq1neOt#|PGQa)p^r8vYUX^dKj)t@ zXXWHHv#uqyiB62IUJ#gTo6o;XnJc+gX0G0y_hp@5Wv2G?qj}f&Vk>;5zQaSF4?T zZ^_9q%-_?~-e1GNelDQ{ybPVQ?t1PUxQumeVqKqZaola>-u0|$z4IpC+kCuxd9R$j zzBM=9sdmV?=dfp1bR!$|4f$BI4`c(%UikxbQwqP|y)G}~teof$;n%{$i-+aqoox5T z#GvrAYny+-{dd5m#@J9XV9>l4TK>A=pnPb}L-JO5Y<|eOYCCX2UOYqIAof=C+9ulS zK8rr(4FPBAy}sL>T1!{rO|4BbCn)=Le@_E&MxYy7gZHlbC&oSxnCe@Z>CV<)UIyPx zPi*BJO|8xYDXwO6Q;@eeLx)4toU6tF`zg+SCXTX%bu^K;yKGL#^uVk?$2 zZgbo@{c`9l##v6`RDW%pP5w}DZhek3$Bx-V-}H4}O}?LDQ`q;H^FHd_XY5++wiCBG z&ee(dsy~I-8Pu((1#o8bi}tp9`PfgHeC*J98807ujdS1e?s|OcB(>bv=kl?~Y>p@& zyZbOVh0ISbL@&k2$G$*+y?pE&X|FYUG@H-I{ukaO!%F63|IgoEEt-$r%vdHb5goAv zU%$@J$NmI0e{%WQ*o2C&TKvn-Gx^vTgz~Xlz4H|;V zyeK|vmwZ;*nVJ#GDU~fKy=QDeo?jZy&fXT)O-0w2 zp^tR8&Ev~2+xIi{t8&Mc=j+YkP@WPw>+QB4mxv&q2&G&e;a#5KVQbeGeJx+bhQ3VEqeU^5^I0=~?~_>eh3ZZ?Xb7 zj!WcnjDzus&7pX3!r#x02KRH{yU(0^tQSo{chot0$jDFmtL8j#nY(5hx%KdU1UqA; z^6gIW@9n`35iNysy1GWn>AD=cAx>f19LV0|rGb9o{jM}}I66)CGH3RcKgaWhw3n{N zUj){Lxj>!|S>~q71^?l>K(b-vgY^G%9=^r)!)BOzEqQ&`?dM}*N9Oj+&pxjZzQREm zzGnj86!B!icd>G_j*gAA|2QIi4-LR+8n_uvK4U!GXB7L7uanPV@i-cM?56$y79Xnu z_*fUPF|2(t8hk7s1wMXTL;Vb&-VHty{yDd|LGSkm;51r%bcFki0v~GweMW~c6?dmS*>nMm?Nq3`L&{+I2ma|hC$(&N}1 zix!~M&xNkfLw~G8k6yt$hiBP4YLm&?P@Z0p&QYD$IKNde_5iV?ZBE7R?cD7lohZ57 z&wQrIodQ&UW=Z z#Uf;jPMbh|8*GL&a=X#&NuKRaW$ff!at3d7HhZ#swtEckJbUeZM#c>L_Cmgm9P(r- zF&v)XB;UfsgB0^Ywkqax9JT>==o#7rj*{D8&X|(dAloO3f1%jdOZ1C&@New2-TXT} zi9J(dEs_ICbbW%DN(*+9es2Vai)9m_E45EAJ(vb=8fPiL_3_=io%quW0&%^?yiWof z;o@(L_MxMYyRvJ*rR)dA`?f(NncuIwvxR?qwzY46(vEfD-3G!0-w*ngk{dnxPdHpEg zFY3$WoIJ*-3dScFRCx7B&IOmMhgpZ+Qcu70po@NZ%g_aDZaH^fyXXvj42tf6sbb(= z!5H`|XjJy-$|~S%Vlk1Kb`TRldeDX+s z|G?|*3CEeW9vV!>uJ^|D{cX-hUsUO^e?GMC+3FVJZL!FSo^O-4C4bNNY<`H~vDcnA zHuVbg_vh}snVQ+RGskPFnSCj>v)A&BAGK>W^}pupsMJSn?*tJNZVybkRJ{)Tg;;+sf56 z<2u-)4rf5$Em}urimpu`Z1^-jb(DG|X~v8`!C$@+CEqtv#ayo8-zS?~{x!1u>U^JJ z=at0uPw;RQO<evSP! z+L;=-lE0V2?~+HHk8jkz%EiC|`KEWz{o7ExcsDhd_7_`T_s%ivcgrsxZFuhu53B}O zjC)et8&f(#_081h-|U!k81ur>jj8pdmciGItGILjTF$gGzM;_-E1ymKSOYO?R!<*Z*Zpi{gyDyJ@BIB!9~KYh>wjl%U=Gd9 zp%wUC!y2LWet1N6@6*u!vO}p|4R6?XzAo)@oU`3eR~ucrCg{8NLwCd;^1dt2?}rX` z*SBaV-GokxqJwUL4w3)Tsfsflfoxf9xO@C$;?9Rc>(Kr#_~x-+f9;~V2S0H2JnBn;mqnUGWi_=cuyOc(kl&x>_m}_n z!C${T_XmG@nRdH7*aOn}?8+JB_=MU`dCxCjzTpb59dc~Zu8G_gaqDdtnema$W6PXp zD!C_oMjgK`zx>R3+(S{t`+3|$k%SNXps_4;`V_X%ys_NFXlyN=kELb}G4D*d^3{~5 zmDo}-0~-PQ?StNO`6j?ecSjpq%=hVSsyf~DdE^hoBhgmpxWT}Rx3{!6F{*djRs zA1Ov58MPGqGN^z5(#5&DS$yXtzEkgg$Br-COSE9;pnSS4W69s&ko#7-_bq75%#m@j zjAQfKY~Puj_uRmIWy@$DOR6HZs$-=6Sj9gL&({0$tjN0v^c01jWdHudsr%YH-UCfD zj$kj@XXM(Y&fpT(r!imu0ruD&&a_NK25a5ScOA018lAYb%KP_9XokHNYKhfwC#-YW zI^=WiT~&>HwB8}BBhZRzm#8uIaMiAnzUw%1SaiJPR9AFSFrHK6DjvEH-IV)A_f+cD zvG=7pB&tl^iZ{@E!d*-x?!Bzb1d~&HmiYJAdxY{@l$w zf9`6hxi|ZBA2yyp_k!{Kxi|ZBH{{kP816OD`1zfA3m4Al*9b~R*`kDN#{}#Gif1jn&Dzkp|4-0Nhrb4NsB9p+h7oB7+o34U@P0LUGY3L5&9vVi&D=)4cJ6+V}x2Yf4N zBPU0&M_Ww2#UtDly5qigQ$tO(1FcUD@Fp=*bKjQEe@}xq16ku2yab<$mzr#`eYDPb!Xpk2<|lKB{*nda*eZ zeX1M5?n#~M+49y-u|BG7WSzm)oTBnk^~{`n9~Hm%6u-81X`K_CPck+ZJvFBDVaAY6 zHlkfwgO0=}yX|v@{-g3O3T((4zovG z?nu_4PoaJ32jOfbf0Gw_xg1NT@*B3whVjTYY#b9OVcs2P59Mt4IdTXs%%=K2O&??6 zbLMSHo*yPpMRvY?uMOzmd(guTsvD0Ec`{(r4dE}!R+CNFP=&6-mg4teHXZGDH{$!q zrfWFCv+08EtWBqO>-7!arZeNChpE^1jB52=el))=_wFf8qSJLpbO(R$1qMUtxcNC- zuDrmG`^NFgXNa)J>2zxU)3e=7o1EQtYoJX(wvP6+Rok#y_Al_QLO;I&Z0lmOM~J;y z+YMS&%tT|$p3?oz+H*_NzUAH6SlEk-rHP-ycG&74VuxX0rRIPu=*QCiA#4hS;3dv+_gRZ7g z$Yj$lB$Lg%kW4o3@^(>IlT&T%qMUAH&I#o0M%6hZmO$Lk)NGjV+d&JEwO)Q=+|&zF zewFqkZTkjfuIh0H$<^J{HeI}|`p2jxL zG{Gat$N9*&X%jj3@txL-=3cYGocmbMzLkl6Rvkf{J-)k|XZ2Y?{PkSu=R9cr)A%Ct zn^a3Hg>3ci`||FHdg3YKGT_SCB2CCv@iY9MrA9}D{)(FqM4UUEG0wvYvxiviHXlR% z0i6{Cuac)z*%#e|j*V}i<|+NB4ITw1E$iKH?@5{g4L>cwu;vZ;}kHOw_GJp?@{mfwgBdHfi3 z5o1UfC9$(5<0?H}v_^4_(?YOY#Tw*i7w96M-^E;vE<&IEU!{vCACN9uV`B<0Pb;a5 z;8QP#uq)6ejb70GnkjUP(M9#XE&{dzU9`r;5zsTK8ebQomx8(|IT2knkKgB@i-2ob z7wyD%Hgcc%k$fU_QLk*U9o*|+ZLs;;$Gz3J!KQn<$kJ?17oqP8bP><%$;}bXCl!yi zHkeOC;<2FI|L94++~>XIev~r}vT6RWm-|W2x5>$U=6oP>|6{=DK;`}gexH%#{wLla zlKVc~gM1wPcY)luI3hMBS^wXBPdps9gC*yCKQmm;uMWs~YwvpXUh?_1DdP*gB5*k#zU+wPZT!7}L`+hGYkExHp z)uH=-PyG>dq>mk^!HXhDxy zUq*XsvfU&HEzb;2d98hZey_c&Ix(xjRvN}L@OA;u@cdiyV21NdKF3_~FAs0ty8@iF zI<>;diZD)E6Sdz9?PuM>dV~4qL)>X**3MsV?O)oGdCpt=^TbVtt-X@9vwpkwe=W84 z$`bMdc~!7>p1)CS?SWi$t!px!M@%FtwtgXGKd^GQTUp`+*FjT%>owJI4e9jQEt|RB|YsWTQ zWA~-E2`hfiP|v!HkYk!A*psm=YTctzvUhxjmuD9;%w`9mu{HM{-uJ{r; zXl3B_rPf}GFOiJ}e97~oVrvh`z|=U8H(y?n*Sor}Uc9OQtiHY6)UVI$Tl~u2rn_g! z53S9Tb1gV*!iU+^J>I>?$v(P++;qhp3*Nuk@D;tk=glc!d2DFt;V(z_%@&`_Hr2X2 zRO6y+JUY(HS6cjOU(d3RG;7{y&KjTTegXfbKIX-$bZ#I8%+tu{2)QlN-6_tTr9VTrZz9SP`@$nF3r1%c@xv0jsN@gyLFa@dEew@9^FKqyyji-o_Xv2P5!*gm^X7p zc8t{EjQ*|a<@()<7H;4*pr=C`pA6V>SFT5t3OF? z5yeCgU|v7n&%6YCi_74At;{s}y2#Co1GJZ(fW9k2f18o@!F-tn=lw-HF=)Y_W7VF{ zeapFj6y3U%c-v*1`?j@D-?-d+-$d@anTs#qycnK$Zbh+>;BQuMo#fB&KbaTb?RB`@ zGDQu!?wD6k#pbV^e~9Lo&tGv4W{%6eIqICP<_V4;wlGnSj^=iF$?*>Y1*C3`p%}b=6c4^wx>pcCmW6Ykl{O*3*T}e9+j$VA+VGUC?|BIOi_EDPorI}NPxfAyq zT)@1toKbsfq2Dor+9v7UIv%J`Y3*Fe~b6~|A{$Q zaE_%2J{0Av?-3?$R3JZ0ek*(|`5~IpzJc<)q~Gm%592?RFA$uIa4Nb?<6GB} z_ecH$bshZt@6ddg`Sbnvz6d`n`DsAX^KCaRR0!U{b%+aOzm6NptIz%(`q<> zJlfi~SH1kISNoPVr6z;tDPHZ{ZgclXnR`F*2;_>dsXi;_$u#5vakYY6{0+$Ok#h0B z49sksY4jaUuK4xgK4)>Jni`k!5o$qR5$I#`N2|R3>Ne>D))$-R>w+rw#&~WNE{!hm zYu^G3kJs`(9ls;{%iJ_L%+hI*zH+%o-4nMe+Ubc8yC^{8=5o<&T_Ks9v)xvy%AKwnwB(4g;YqWTo6z($$yp#v}gz+M} zi-z#>#??6+8oMBLro!i~Af5~lf}@mVujR7pw8hosHr}5$Q$6L$ZK7Tx00w0UsL42GNfYWI4Q5Ehp3VclR z`gF}17|a`K_-*n(Q|msWi9qD$xf(99u1Ow7!|Io-@*C3^r< z$0W8^VbeR#Stfs=h5UV^^RW5t+1qQ37SnV<4+&Sj3e7qt)Dw~TXDZM2uYoW>`Ja^A|sPFl#@;`t8xlv<1Rc?#?@-&dA? zImO}&+xVNlU2Ob3!3bYoxlH%7ztoWM>O5*Zvo}xtNwEPvH<~jt-g9z-|DJQ;mE1c%*RIUm4$}9ItF+Rm^7IG(jK^q?@)@OM#Fdz9W z&j;pY;d8#(kIM6t^+%6NaMvCA=H;A2+|ga`{)xF!5W?IKTyYxba%Ne0DgUa1ykgyB zs9fPOCa*q7E7hD=2|k}kO!7d-uyD3#*LB83FuyIdMw|bqIyv&o?0;JC-X1UCWrjIF zmA@}gIlbv+;Gu~zS2%;&i=DxPS>qwBaXk5W%7@@i<~2K<$?gE_+=NIyZIg^>#A*`P~G($sz$-$lN|1s45mnP0IE=vslwIMOMX9aV(7+;mX+Q&?v4j#{- zKEWx1<-yS2An(HK;5YjC#sJ^gL%ek_c*)Fj z29*P&eAusY9;6FCn{-HG@EZPVANNenL$S1aXK;mgu4uOMofUif3p98C${Fq+{!UzV ziu)sCwWqH-%YBLUS4rN`&bFE79Bgt4)$hYqoSmPBKX1ln?d)a01YGPm&qpSjnlvws z<+p=r4_*DbEHP-ue?D^P?i4)#QUsd)nX~sL&W>p;`}-lxTlqVx-=wt%VVebpg16nL zp2j})_E&};{^XB}<3c`Tb&N9{%D+H9fBGG~}{BbP!m=~$o-3a_OXT|ut z;r;E%@yChH#=uD&T$O>l-9Pi?kM+lG+|GZ_t=WGjrnROT7%u_Vb=)_4A$22l4k!Hn zeBM{G2T=eccztaMHroO)vGQzl=zc?;ShJs z_;T4RKYO{Xedo)YZd`EJrZ+#icH^6EPpgK7_9CWMwLH6H&c5~}`vvIlUd8)lL(B(O zMs81sw{-7i%UJghlk)qEX8*$GARw>(z2QQ7LVg$QLGk?HXHCqiOZyjwcZ@7iE|}zr z{(3cH4IQ=mc?iUjHCIy;7u)4d=4;Nnn7PJxZ)dJ8#L|Te=`hJ1lRt1$e(sw~&Hbbj zbFT@_o#!^qU2`;g%Fp|@bF2WKtHJbe$bcDsv z=Sr;+m=(p3Y^31+63-VDTcc0ghE{$1b=Oj#hl}lxf{)Sc&m@)<-=Fz<)7#&l>G9|F zpTM1%KK1V3+5MTvxX01ZDe||}{>%$^0-H;q2l%qc{!DLpf9Cipw7-=0bHSxgM|J-G z%+0$B_h*b>F?@ffE4)8*He(jqpXmzk&s5OP@S4Bhq5YYE)%>v!M%tfQJkq?-kN*Bl zeqQKn?axdO&Wm>b{!D&ewA21f>Zrnb8C;IAKXa~+_qV%0Q-*Ki=`P2+57WwdYny@> z@%BmncMA4rusMSFK`QqwbD?v+_MuxZ!{eJu4zK&P=A&4`cqB) zc=iKL{dm=0RUI(dF0!NKlj*OXGd0+5@Vw_gRlC=`3*S!i7yl`+Uu)zr{+m~q3b~7{ z&F=&8{1I}UjQ@+zR82d+eTMQpBSD{u=Y_Om5Ak~PcD=oYki0XtYQ1y4V3Td~Wx_b{ zD!pExxc-rV{42(f((n7(-@;}&+pT4t!T1Q$6~qkIjI>ww7%?Q=| zuykYT$kNY^!b=hQAx1#mCH8-fFDknUn+cnwy1OtwBU{L}$=T{bU5>pHq`6m?g!mVl zD^`#97GrC7jCZ!mywP=QQah>TmN7#H$RvbCba>oXzT2ihCJhp1qmHrIz5 z9;Q#y>k|$18Gwc=pgpy{nehkU^@{-8<(dF3DrR8m@fJgmh4{=~=nS5Q zoRUv5ma`%=A{Fk8i0TB5HGZx1(V@U`CwLtIr%4~zk}Hbu=*)(_>v#75kY}y+vrfTB zc7WkO;E^?P75}b{p5p5X*4hxSeW1wN#A~*uMlfG*Z@m`}@$TfEoUgHUF?89WbK{9Y z^2Z-avffvy15?4j`)_xy?}MhZ$k7b)Gszm2ha-Act(gI6+S2dZi6vy`g`=n6v4(!f zc3uIUSeZ71dDWbe7@ToB{wnl)KJ-Nm(;WSdHS{~SvmxB)Z2HvF2l~zR@#%N0q2IBc z7X|w40xx5sU$wo3@pr*@V}ta|^Le6Q@Mh>2ouHhczIyDm+Y{FhK*s~n@lMH8@M`F| zJ|7Q|E|$G4dXX$r%@Ec3q#rfL%G{qr&tq2ly4UX))`wyI|6=iQITge|^3lY_EPZ?W zF&`h5T`T>#N%|4IX2I!S!2NdVNc6X8SoWI5@loJ-J#&_gg?{X+9^tNDoh4A+(ghRO z-ANAQ8r5RD2iSgExFf!;vv%d++n%HOEBP}+w3qxko;md(vvwe}%E5WApD(k@!MPXz zF7HgyZyx>nf#VM3{tmuZ4$f_#I5?Mo9R=sgd;53VXOUHLaD6xPX=6Sa_^}|Tgy*Me zhb$ovq4a&qM%RG5$H84Lr=-3#?}}&tPYIlb^`nhndiitt_+_dI-Eo~WI0hIk*ZHpo z_;8(beLsBK2ajgK>Cxz&YULNfr)hXsJUcWrX7dodJyajLUT0=?Mo;IJQWx+S8dhzL z)Vjp=DSo&3{@#QV_-+_IPshQr&bnU*JS|U4H;!Zz314w=tbUi%FRA?-<(1Y%-M!qk zX6%xd>8@geOTe`qcLDfZ3O*abxy~Xl1?L(=^-v^dKN^^W^5^B7Ee+aB@bgl5UOJ9? zDqcMd-o2lGR!-+>!mqK?6X0>#9$|X$e;YnDNWhuoACpKf>-!Slm~Z!aXz-wnx$z z92l=Fzv}JqdO!URgxCK>dutQtcpW)k!0SBs(k_qJ;r4JAKC*E6;~^z@q6l2VbQ#Xu z+QN5jo00fI^l15EQ=pHj8wmZ2?u{G+53!)UCorj0q?a=i_KM%zs0Uh3#fzZ^*|3 z@8G;E@7I^sPq{j7=zZaFOT&KT5qk1#K0f#Q_1QL?eD8dHw$wGqq-N?9u5|{-f!Ed2 zSyxiC@Hfu&yDkR5$g7>`t`*?8PC5&mOO6pY;=V}ft%EiXHSo6;y|oZMbqT*qUqKhC zi}}lMso$Wt_`SowTX+xmN(JncH90%w%Hi~|it`mC`SDMYzhm1Zk)nCddrS0{vAng-4~dH(Obxx0=;!%5xvE`JLzZi7JQ&{nU5=v z8GFXFP5nG{@wsf%VzgrGhgAUMao}SDc$ow~C!=Ggpi?TrAGDII`S+lw$EJ;fZgwJf zcb!Cy#|IPFhwt~0e%ssX)%&|;s&w4Da{fxDm3cHXpBvCw*Kw|u^Q^=G7R4QE)!laM zMeE1|iEw^AJ|}+yK zym|+|on2;Zu(HlE0s6Cf+va<$P4=~H`8c*#hG*GZZ;~TozhiCfoQ|pq>0h4r(0;q} zvwd4TuZuhyRs1Fww`uj>S$MrV{_g{?rmF;o8#Oc ztQrEX(1iJS%NeHDvwV=;80cfgw^fh+2m67CUHgysv-UK!(g4ounXl+@9sd@tzl_Y= zfj{;n_}1?xUIUF(__R}zaPVWjT#sEo{oKr)DkGJ<2aGK}wsR-6GiLj-?$|@u-6_BP zDaO+H);E_dj6y%x(@*ae`;XIB^z(!-@5+L<3ViWd+G>yZ^HD1+p(*6V65wR%sgAx& zWa9_ybZg&#ivE(1qMtlH**l6nx(VAY(sTR%&u~5We3A3@=f917G*9LZ%SY={T>QKM z{@ucS`_w|9{9wBhc*a zzo9#9zMR%C+>5q7-8~!*3j=T{mXEf#$FH9|LHhL2oIXvVPqVlCaiF8Ux;Ry1xbup7 z5z>uT_6iTn;OU{E^36j-75wkT6C7wUyD{S4yqQ=$b(u}v2)j;tt2#^+(g_UfGYb zEBD@>7@Qkzsa*+8+Weh}>I7w?=-rqbt`Q_Zs>-h~lp@zEO}nk!rIDPHV7`ovJ(*?9 zQ_MQ!%%g0xSzk@Woxu9GlV=lJANJjQ-9@YqTXZYy+M3dw$U#XXw_2H(>Qb@4xwQwG zHIKUb^KOjre{^#dFi@=|?RQK6+j*UP9DK(ZI&*lU;S1z2I#PG@P6KAskP}m}1HyBj zhm37=*4=4qn=9_@`2@w~o@_Yr&(=>4mwk#MUgO6O9sV=+SiMI-o(wFs?<=5z0cb~c z;u7ou4?#Os*j<)(#y~rYdn%8vg8xNJ3k2h4XsCHC|6}6=2LtO^)P3bXU`@`N-Rrfn z(n|V>78I*Adqq9(-=@E|!04Zs#&GIe;tQ3}|e zc`11o^@6eLG)KwBBW{mvnr`yiCQrp51)jUmQM%*l-Dd9aL34#iAFa?ob6(G!wN|@M z*zJ|KpBQs?;}-T3x@J^+dkI>n@RtRD%lLmxWZj)L{4cw) zpZVDO$w9l_uG!k;!sU5IaOqnAEEaucUUcGa;qR4L{F(2*F>mv_sN=p><2;jE?F?qy z6*D7dehl^{wVS!uXVJXtscj1$wVs3c-^yayVnN)DGxHZd;ooNXxB1}BL-42YDSYqj ziMp4d8 zg+pwW91f8Qif2CgiJ|sg@XQOqOn#zbgC;(Y-Mm}24ER0V;LW4A+}!G;?oM#G>#oGs zT@B9GUHE1%G$giu06cvFJdFcSE5Or=i0pWq_v-I8LPvs0Kea5qT+uS<>L6%n9JGQy z(_D-lrTF7mj~`=kFRz02mh!2D%jYgF&X;}2D%DG09p=wi%;5K_Lxtb6Li~Q;iw8bg zHNW=B3C^6m55d2=7aTkYj2~bg{LcMkgU^e9i48sv|EAarYXN^N$-!7fE?_J9FgG1W z?$^Y`;CG%GYTuiQxqE83TP))QX1GE!t7o69(ABA4-Vhzw#xAOCxGu=Jp6!vf@LkxM@#6Eu0 zn)guCkM%+msw040?zM8c6}giKE%Td*N}t6NUMXY=q}Y7T-;rWcsB zMh#4|twET0_38G;_>JGQnP>ne-fssElc;-f2qrO|8OE^FM!m@S}3AND=Kp5L=gL3$hk z_B|et_O0{jaU=8yZDyd$EMv{Gu=m>q=kxF}~9 z=&{Hg1d}20X#EKE*b{O0@OyUSDCu!Tm_*zMkfDa&{B|YjvEcV2^k~;Jf_xnC_e;L| ziIHWb_DeqQ>p$gJ-4e=Alb+H3i1th}zFt!7vH!w6t#VoAZ0z2LxyycziL1b8Z7nlR zZTVK8&r-+-vv%wN+3eHF!Hz(;@@3!ROy%RqJn>_=-7fI2TmtQt8v6si)rbD+zYu$h zF?BD3sgpc6G5C86U;i7#5tzprBhI53PY2_6(lfRDgJDf#uq&Wza`vFl?=y&(7323T zdSzFS7xTRWp8sIft08wV^S(b);r@_y&x;&lawtxYI&*X%hPS2?u=VM}_Luzlff-}` z?j$~q)=WCgfrMuv1CLzTDIiyiFP6kb`9X zvjRN(bKZ#@ahPi=C`Zt5edxFTN5C~Q<-aX{E&T`P*MWT+mML?_l+bY{WJ(qpqS#%n9` z=Fw0vU)IaN$>+-oCTZH}-cNf;DAl6HquFRdwI@a@h1e=z9ff4J45I^i4 zX;14g)@s{KV-BOK<5CgsLw?}?>bSf?u8aMSVhT3i-3DD2s~7ST?S%tiPh4gHXN(Pw zfX((1>V>TI@$h!*g`_qX$H(u>-#L7A1>iJVd~6K&83jJR8R#<_e0=rqfRAJLi;u$m zv^ezH=I{M~lYAAEzdafKj@-^v;wwxsduN76t_CN8y|doxTW5NEXT)z5GY{r(Te@7} z??r@jGcE|gYP2{xC){TgI5|Dg$K07&mCxtMR>CvWe4VXYM?4=VoS=U^o$cpu!&^pf z*B8c&O&j=QqiUhqTv@+OShh>9|M-&Odhgo-`+0_`XH|$F@8hQ{mtPNlszZ6|CbrO6>F>pRc$54e zmZu)Vsq|A1@=^IbcZ1iqQQ$RE1h3)vk?a*Owp(bgWG~VFE^$2N2ID7HgX0C_N8)of z7g(`8lY59BLthzO-(FV0i+Nn*;}qe=qPQ+MxGwKp9>763H}pJk@o8{j_h8FAgtzj} zOT&G@^$u{Y+|XPfAJ^pu*X5lb4)p1tPFrxTwqIs^)$l71;+p3=;TqXu@`16dp1^i% zLvQJ>wps@b~<9B#5W^xKAcGnj87KKpfaebQX}|fu zv^R1U+};gtWs4Ne|D_!~%K6;V`M-vT!QlpQIO_c061WTJ|B4?EB)`+HKbYV7IJE`C z`JEP*_mW3j6qnF-m_O6RBpQIRa=Ax?%NyS&E>Bmx(-)Z5p_yFKybxA23;(dJAwi&GraY~@iX!1L&X>avG3^-U_FBk;rHy01~ z*R1EF^y~j#N(M>({NNu;%b&NC-+3!^S}ecQ;^a+o=Zezmydt!E>4DMeGoN~Ua;JxW z2O@VKq5Wv`JMX7m>Lg>|tyucfXt29%KguJ^5dx#%G*4q1Ow{c(X zdg6w=@#$5gpqcy4=6h|1-ET(Q-Ses8vYYxr6V#R(LEFiDXS`fnd&imDrr3Y@kblRS zzO$I;??dbJxHoq`_ZJ)-No>9AWbVzq_5Q2%`$}wD%~f;O8Zs-`hrF13wd?W8{k63b z&(*rLzLiHPhEdj8ey~AjxG#}M)`yHJi#vl>Z*77OWxFc}w;(RY^RLOFF*4IRxNy(UpO0cR$|LCA z_o}})C|fhIH)z{cFpqK2(*)>g5_rU44aVJb`Ld_-JAC-DMWyAb<-=UO5m|6_iFo7r zroK}?9+s?R9@ucm31o?%{{@cpuG{RDM%_)oNd8I<{8UZMEds2FA$Hjq;$qp>j+4tj zy9pSj$wg8A*;MdQ_rWt<)hm-cGI1O0)ATq6`AZ%Sy?0hNY3)Y_)*ilZjH0h@T%7Sx*u^ z4#sS4Joc7QJhlosCK`m+;KxbsL0U`YFj`wviq>8rpG9;f86ckt`dZ^yUnxXi;=^2i zoc~*p&YA=3_-zUP*=)|E6xI*W9$_5b&>ruH*A2Bt@O_V??%-YbeCMLO=5M%qn=|F4 zYVzfN#@yt`&2!3juVOFVZ? zHGI?uUuhp~8+jQ1``&8ku`l+;Es9BO z)-q^gC%7}wp}xm@Q-}Kq_pa|2sr!ViluS4*fGb-UE9@WbZT0MtUFN*W;rV>VOM&+# zz#CoOkG|GfBI&~n@`WA4LZIL8QhQFI1arhd+smTAp_{;dEAM5AM}t} z$av^>`K24UqcDk|uXB^>nTf#+`qbRbj!f=HfAnycZdrgfhMD$v4!PYbH$CR*TqZxggI;M0P+2bujP^B!7Q2rXpL zeFM;#rG@v17O+7=vb`iN90HE}!7=sk29JjpOxy$gSstVXp5x+69|nE?+Rfe}un|po zxnbU4(S)9L-mnk7@6m*(%fmErI5Z(RcQbw^`@5EZi|J9($yYDR%UVk(!8pjj_1?f@S-zC;FyAI*F4aWng0 zUtu3?n{W#=aVYW#PWNI~%w-TBF*u4vjQ++J>@8{w7W`f$ zkHh~xjN|Wqr#RosMiNfnT>_`K2V}Oz=U5YuE|k~G(fK4 zhaXE1Ger;h9HXU&Nzg+Iel3=JV&#>oWdMz#FAkFoRc@;TY-e@&G~&-8jN@q|;5cXp z3*X=V$jCfAfNk0qz`b^eE&iV}_HN<%(KPrU$3DP#_5%(&IRTH^9L#ZMf1Nnlo*mrx zs{Qp7!0i}ndhP&zi1N;J$=6w_eRX)W(bz3#xPKmcRr~5WJ7uN(2jqW&|G@LV zkxNtPvv@el`!(KkF}WsKe6$2Co+z^Zz4d-Q4`Z|B>v<$EbOt|m%j@kM$yrLVk8bKD zgEyUrH+)_1$==|<9TPK;b;eq_TNj+}f#&kL^D&dtnOWAd^>0J#E^2o0sqyPFD_XXq zv#yHpZ*zVexh9#d9Lo$g&yqLm)~4aHR)o)g>s z;@^fA{Riuee}3w|>WPk9$NMZ}^+BV$bNCnV-70*SyO*zjv|&u^?jGs^D-Sz~9MyP| z&$5MLpI^LB^GKU~0o7k=-tw()V!Ko(1{X7C64|FY%wr7h&|IY4Zk@YPzW#smedFUz zP7F>^-lL(Nc;|TjtuYJm2EJbSheF!D)5nvg&&xyp7&-1+hnmYbr!)AClYo)#3U8U? zCM1(5ai8xWUu{o1&MfD~#M;TP8Xwc>0p&tVek|cULER5#xpmyrh3_?6wls6XCO*h* zRbT(#^5>d!&zwJHZ8z}TQK32thq;pf*YRvu zem$8q#yz{pw{PUz8UNcsc|wjK-#<2IOD4xTTmMLnDTDiQiNP;j;Md}7&HJ%}+j5@{ zY(45qY_=qMD|sIY--WyteM|odzV^JdXOra5Q`oaD>FdxF#2b_o1g_WA-9453tmZAy z)E&gi9_nj|)N21t^@%d*6!}Oto+3F-ZMDNBcPy`&`bvy9U})O2IXoHQoexpYe3id< z=G7vOk$+g$srn(>_tP2ee(5l1F=FHdxupeiB4Xr3vNh_y`D1eQ(HjfkH_6Fn__qoE zRjr(Z#k1I{qG_u)WTQ?&HgLYhRW85w&vcF@3IA)HdnQI#ZznEsGctI9^E5lLZ@z*I zKJUdFpX*qD{65)W+VivL06$57l6=8_WXBH1+zF3YM#^`;xDS3u?yH^IL%tvZ{P|7>#te_LmlC6nh*aTe9{zL_)63H$V?;SiT=(Z$(9oB*EO_qK_DX!67vb*|zfA?68eeCk8yIUn-$(*?%}Mi- zoHoC6Mq0n8IA0z7J%g+ze`0HfnyutBZ`C;qJFY!zU20r=_FBJJ6B8~Rm+=^P8oB(` z%9c(0uzU&WvYNQ_O#SkvGqqp7uGhJ$g*mVLgL74aziQKTbmF;Y-V0vhn^@f0T1LNS z+Az+d40Y%AF4e&LIn$7A;!bH|y4@4V)g7apt0U1_i7og47x=+;Z!|S%-sk@DtykOe zY1Y&^hr0arWHK}fj?5V^$=V3CngxE!w^ST9Qstdv)wzd<$$yC^RKExxnKnP-*~m`D z$O7-Uf38^jl38HSy76DhjcsHMo^`(Z?qHv5Xv3cN0=}<4=_|oC=eOmPM?2`l^S5YU z^Yho*bzW%*J`S(hoaGxDyIFHjAx~00+?RK;$M?yaD07XlRxbvV1(v$+_x8+d?JZ^4 z7{ITZb0LCX74S280qEqkbX)hKg3DkX{%$2Y9=WyX+~2?2-i@s8HnAM?IhC*2agHl_ zr9E@$rls_4qh|C?^j&58mYKe@{l4Ds$GG+!i0o6_S1=a-r33PImuK@B-(4~Vc_W(j z^q>Em=w0vy2ZC7^xPF4VZ{c?AN%cA{$GDe32j(2wgoL@Ls9I zbrbhy%znnyoUSM%hI(pZa6Y(Y{d`vjpH5`rQR67 z8GYE}*|Sd_T_`_?phL;aR1@?F?WUKp9^~jyWu$fpzSQ}_n~?E+&|HYH^~9RCJLAi1&TL{lW0T50 zL|1hiyJ@`pr#Hd*LgvDFqO%Nil!eZur-q;v)zV7CKlt%yBp0%W$Gar+mmEnkU+LIt zX!;|3zw%_{5d4t3ATgLiu5E`O`wwy7OejF+7)ArSj zmzgrZHuHpIaJdoRtciV_4C@+TUCHT;!#dKeBgm_gH!G>rJ~iI5wP6f0A3AOLymQrj z&Yo2v%bj@QdMDof3CV49z7*KMaWQa+iT{8_iE;loeXU&hh=ps#m#kdqt^RG5Cl^M5 zo8bCsU?+QLB)KrZKrTc&tAU~LBVOoG&NA@RKA7lGJTjVfXBk6ubK*BR3ta*>VcW>Y zYc_wVxLg@m#J&#O_Yrs@g`8?s?7C%|8wGaA&o$MFX$D@FCgB;cE;I5*v}$x)74nhi z6!|nBZ4}z%t#)3%d{I6Pu^H_9ygZvyo2%I^6S?*U&Xq#2b7P)czXki2d|@n@ zBlCHX`8F;>vX7tmk;8*(W z67Va1hP-V+m#fBBx&i)-BfBrgPS*Yhut{+@V~RDV^bQ`L%06ELJ@ey*$bu$*U#5HD zornAQW*^Ue%%_icR&T7re?6D=9=H6mGq*kJT;-q#MUydXsHP*ldy|Kv`LXn!8ou)> z>CGzSy!0kEVzo2d)%Ue;oo2481t$1M80$!1$F5Y{OB01UmbN(^OCNn(eH247dUmce z_{g4so~6CX1(}=Iv+9$)6c}8Bu4Vj8gQsg%H_GVS3z!eQZuP>`Z$JlgitE}eIu4nZ z*R?!3z(N+9$O8g13fVorTvLZek6p;b3Lh8|(5mlj!EFoRJLD zjc7)+Q;cpVuSM4Qv?ZDnt*O2GtG&^wK8=O-kNk$U#M+V-j6W`s(>-7J{S@n;j9^co zFQ>UL4f^&(OPRGNdabXu5_>c?X}CS{EAml_*%MdV`2eHb_ep(Z5Bm4Cm z-%1e+|IwdpT)ec+A^P0?f#LM2`P%b-xq3^cMsL2}QW6=KLWX6K1AUSK$g(W*pjCA2zWKIWju3|eN<&)P_x`Kq3fuLK^1Ko|NV*-H_@b)-)GffRkj?@R(C7!~WENz1H5XxD#WU zxD#Vl$)^LCDR4^MX-%=X)4k7naVO&=wL}zm>dM8PPU8F16N8_o?+)Tl)WsWo+{B$K zOx)>PeqZnRW87|j-_GwQ?&SBC9j|zeY6z9_Z`lW`{o=_IFUGz%!`>Qe>~9U$rt)g0 zD29-#2i^;jl^4Tnmmn*_eXxHLe5AmcsSgDnKKvGSi?E}$Z#k?jyqX#ZJSISElb|tp z#M;Vdm7rbO$_4q`=+mITr1(!)k@!!dg8Gu|lZ543l-2Vy^Vzr@N@uRcTG zKa>AHk9$Oaf&ZlXoh{h7)>fMWZO8GGvfG^6vUsAl?=h#gocK320BS47Cu#>CbZVDl zBaWGWyc>%^qh-*EiR&spbmNwqmtSkoZcEh0PjhOqvufkB`1=Td&*ble{5=bMO17}E zVf5GAM-Hwr1&UxC-)$NZ#-2wnJ2%;$b}7@iK!!(l^l*WO^GvH{Eb0u z7NhTF^W2TBASVLdaR#we<-)L!BL3l7w0sbJY`-yuZ=}X~F^&0(bsqgLqf@aj(W&Ii zs-H8f7wqqq8@NyERYgLi)jd}G(^e1rW2A69$nj+kg*MeGT<9PAo+ICEU&=-^UdWosR7VjX>~aZ}YC zw<8EEp0%EBfp7Hkjg|g4stv5p9=?vm2(W4_0xRC#6Zpm>e52ZjRUNRZ`?KUFweW*D z?;Zi?$q>$Y);hix_{R4FurliaRuR5Yfb+zh()ehcGaMhhyOwXP#UC;*u2VE^EY31AE-yeKB~bUgVwKE}*sU5qKt9 zglBm7$G|sUc#UrmBN1(xZzK*MPS4I6rRllqjN$amyY9d@p5Yq>e0fD|III%0OT(&h zb|I{I7Od_KeB)8Ru{iF@FxEkQ`NZMtXqjDl9UZfWuY-5D@s0bjEwPPy)+%2S@+3*aZ7KJ{;fL0lPK)J zig$IqJIw3f<-9V-U5^~<_WE~OA3{3Y^lvHBpLcQl{gaO{^Y1Fvzq?3(-n~M;jKTlM zJot4K>EFg&+nl3wydb(U^XFZb{_Fu`w;XTkUtPw(HzkgDH)5A#|$-JiG43Ek>6ok6``S#p=&~zy5t$;H>gJz@eYtc61+s&7Y%v{EH(D9X~#b zdECMrvN3NCmA%gAWv7=J+tQyyV_*&~-oJ~^ArYDb&w|PNQOsd^Xb#%Lw{S4_PI9ul zlJ%K?J4cv*WBYUsvwgZJ7ur5NYYr`;IT+l4kJbP_7BYuQayYWs(+1v+N4nUb9_(AZ ze}}(m?8d~AIUYa`t*PT#-)!QWd0cz3w%hnd41D94)mBb)KF{}Rbymr&tMMpk#a|;l ztbd2UXXceS%B->6+QK~RdkguV#>#&)+Ie;0d+6U<;`-O;zLyMq&zVyCd)=Y$@vQHi zROEXf4SkQ?m|Cq-IX&JQrx?4{{2M;?ZP)@l5;tdmZHimP`g8U^&-&&eeDf4+aQQUy zeWLOu{(L&WeQAqlTOI0tT(yo(j2*wn@Yijvsi#Ah;eVf>VuRo!)Gn9J@P3GhKJU^(sG9P}@L9&5g(i{|{var98nry(rwtM3s z>_*_BvFtnT?-{s#(8JSS+VtE|v`uf_``=~Ov{P-y6m8R0_e*b_=V=o=s6?A-^N_VI z&;E`!O>;`LIn!(NE81iZEz#zKUYjRq(>kR@n?|qAW3;Kcu|%6IW*WNNLYtn0i?->l zyD?(syqPvlrN+6{%a7~OxA3is!ue>AKHK%J;<(_<9dZ%cxs5iNf;It~@%i8;+K6WG z%exeZmtU^E2;o&UEgCa4+u_l$VtTUMGyFak8nVAB#&;~w*wgU94EI#>V67cGAKt9) zjaeJ9Oa8j)*PXKw3v_>vY=>l_jcD5Qt}O74!jalAf+o{4*CnagH*wHg0tW z&yNMx@JrT^%IAZuslN7@;cIX_Tv*vr&G_q)9otz$b=B;gyf*XaS!>zAH%vUq-yc_8 z`rLD0Z@>0$UfjsZ{U^B<%t8M9KHGSnmv50jkF5CNX`HR7V*fXWZ4e=bs#<~CGi_S$ z#}A3YcgGrj*N`Pg)!#4Bx+bu$WCeEy*?1zcVC9mne=DC$_ChFLw(I|6?p?s6s?PoY zJu|sN5D>gnv|$L!wTf3rv1O8=AnMT*>9OZfn}mQu(WBJ%s70GV0*Il)pgpwGmYb+V zd!#DIQfvuCQA{r=ZS5)TkC{wv5J2!!nR?0p^Id!I%$^~H;IZfV=XvIt?Ahz`u6Mn+ z^{#ilD`kJi_%8$aj`7>o0Ye5bWCBB$fguAwsvU3L$hj=V4=eBb7d9mOHS;}iMLqsi z!Pqh}*?*^aiNCt==Gn1t!H*K~{=XD>PX%A|+%q^1z6N;U5-jx&ET@96Ys~&iZfE?v z@O2~j3i-*$2(J9#ssw**5Wnyce6J-R1?Hk>rv~xA26I9yCa^#3=4%wa$uDZ?v&f#) z1F_^eeawL|;^L^>p40gr97TEeY3QlKJ;&zYry-^9d7lD5r!qfVQ~G~8rT=OF;Qq(| zB$=OTQu-hN5AOffl>X$7{qOw;_dk|+ z3d4I2{r67kf9t2{|Fe*%UvlMEz}{bNZcNC8RC&6>fzcZS@Q;$Gi(R-Jd~NfCUYE}CXb({_U*}>|5C@;% zywA#Cgq&^JYvnIypR4sPE5Dk3uBJU!{$y-~lzpz{t`B5(JN}1#>}P48YcJp0=X#58 z?Q`wn8(&0=*5rIl>=*mJcKoz+R@<4Uc`5i9<>2ELS9ZJlEuPSCJ5%)A5_29dS-)_% z=jKXcd1Vizfsb_Xu^N1=0UxU!U86le#b(J)aPL$1>J=APto`5oKz$PDlRMlx`Vei* zm{mHC^P`vP_Zh>v6A+y>U$IJ~?fybiRRw$o`*~@hF zRKed9WBr}_b^bc_m5JX-oF_B(5A#2m`8T!?W7gONH*1Z7g1emk`drIr&O1&7b`uK- z%!7%$Qk-B#n)S0%@~{m#^1z+~z6~C#Z2ekJ{pw>CdtUCCFt(aF!5P?(!~=$9m(s_I zqrh0r^J=w^-Lww;Tt&R$Oz@-kvK4ebYWH>I#EK^PQuP0du?xV!!M zja}H!W3UI;FlXt|ZU%j38rzvWEwS}vKfC!1ww5Q`&2v2Pbjo??>T?cUu8fzx=ZzOw z>#+qJ9lW^s$mYzw_q?X~Yk8)%*&?@wD_@n5We9TT0?rCn&ARp2;(orGw!xwN{X?-| zdB;3X4e@UNtkPo(IA?ej@22psd9am#V5pUkFBac$cDR=H*f-#(`J6Y@8eI1>DR098 z6K~|Jok0AO&LGA(zdxC}*HCvYb;_tyHEZxOKXtC4jF(^Sd{XJP?0aK7=qJo{YDHV+NC_!?p8C$SzY#P9T*SKN3fTZXtX3F7(Z zJpH}hMSHWmppUy)-<3M+JIQnLOHh1z*C_b({^zof{Vgd@q&bo-XTIQy!`QMO279w{hktkbjOb={XL!1-?UHB-+r?`OUz#$_|=+hsB8&7B|2lr zoCJu)zJSj@p0@*|@oVDaRNgx2&l{O@i+mXJ8I{4m@=uoXJ)Jt&@J_U%JE$`lyZEwSyp=~dR+4*J%5PuC!4>QLJ2vth53{J@$T&joulU$>yw`wJntpH zRc2A0T}J=^&huXJX8P@q&Tsnv-5rVc-1iqczv+FEr$6`oBImu^U!&8XE6T z{H{Co0p$1ve57CJBgyasv?T&smG6nsx0G%?IcM(_jN6 z@Gaf&4c-~OELmS?$8DGK-N+tbIqyy;*RP(Ckn68@BzV>x?`$J4Qr4r$ix7VGiU%Bf zy~@`2vj0w}J*^pyTv+d{_dM~t?>K$9?SE$a-^D{0_DQe@cu4c$!E2v%H~xm_jvxP< zUp}?*Z|nlUTA%rleOjO4BR8??M#edKmc1=pzeQgW=AqO6bnxBn`s`%=L05{6@2bD8 z|A_ve;S=?@`cw3m4X=6g0m)}zY+Z0UgpbaAm0|BD_)q?!^x9{3dTb{6&e&Fbmw|ur zplqvBkIl4(@+af1J01A7_Uh_9sfo`v>!D=++O1q-#NO+iaU<~sF?6FJ7^L??UCfPS zl^e4!y7*^LztVNuQ))`#NuNhoH}lTr$LyZM1D*5~o-h1gzylri6rSw=1w6Y9eiHX# z$bRXkJH9!861|jp;7m%>1S>uXzHEW6y1M^Y_v1xga%4x*iO&qVXD@#FrG$*`oKO5l zI(zYFcV5fwy~6F}M03~k%8e%7r$2XocNzXqw!fA`Z?eDA9GQcUI9}<}S$*%74(9~mt6ihFMQiQ@OksA`M?oz3&dJvDt8@z3SWC9)6P{QybJ%t zIS`kU84h;w-kp#AUC_JMJECihpWeY^g<82CJu{rOWF|0C{Pr;PuX|Df^T(?x%&#UUDKazeC1$L-bXL}eIcdKzdC((%AX$4pWFXNGv4I> zwZ2$m#+&Tt>6_B;HmBdt^@Y=Kck7EKDf-;i;|uU9ZQJ(#%2LZ3E5DIT{>Np&X4cwTV`7sS|0>_psq-N3PPQJHj!aYm@v3_WI?1*0>SZH_Vv2TE9dY(>E!%246xH+z+V?<;&kNgYQBs?RE6* zn>)y}7pxBDPv;Y~{I8>1-_*EVUOUm;T;>_uZ#?v$ox1-3%}e)c9kv#D0?ffsKH9?{ z!e=%9ky2-!rFeRK|31BTVh`5v13WOuzUw3o{^_I-15bkgiTB)89m)t3FF}4Vn;*3X z3UQuEapA~>Eo<11D^;GXx?bTmoOPEEa$SghcjX@Ax9f>ZGI*(SXqK}Q{fIrxWp7$K z{LmMX87c4tORL{p+xE;mK63nQfB2ylYvaFs2S3pkeqT{=*7NU>vqitZS&*^r9Uo^P za_>*y=;{uQ%N@@({X{Q`{07QBr@30tn=?wz+2ya0cQNL}r+V;`Fg&n@xPdLo-7$mz zJ0{RJa8_s4{Tu6+E#yz$!v6o38EL#5?|H}nM z+^O%*{cmDe?epgMKj*^pQ^7<3&0}egvCYh(y-Pjq@qfvU*3lu*hxX8w*R>k?;nvrl z;E&ukE~Slr7a+TfeuocbgBU9o7^%%AV%eFikg-Ig^oiK*%GJ#=T@hfeSwI?7<~Oqm;# z%dEB1YWA^y2r(Wb)7fiME)>OF2!~q~SBO01EGfSu&u{d-(HQVI6ar(R^_>;M?~qy3 zj}ii<*63>lR8#zpOqVy@)NYhtY&mCT_p*{KVfzOzE{OYYob?>-tq4k$Lr zvV0AZfYs0leTF`&e8{4#&LNdrR?S4-XPOgHZ6QC4IBwC7UNRCl56sx ze5^P;${L)|Pk^zxcggEak*&)dzZCLMewVvchx$?ax`Y2kTQ2-A+@g<5x}ezypcm1@ z(SYxb3I2ZV`;Cn=urp>nItO~coAKWX9hCaQ$rSe z;+JO5lWl+(HXwtZAl@vHUHN92mC=B{YS{VF;)f=jYaPv2{K3uSJ}2H!;~GY6+6B<# z;v-k>d6hGci;sL|&#PnfJ#){iH(K{rANlqk?4bO0L#^=XZ652+Hp zfPUOki7bb2w^XA4$ql=u61|PRvBl&n0auY5ta$V$%ZVwob0pii9}=E#?#0arkE|lc z7w5NMCWgz*UpJ1`^JmULTG+Snf1a~EMHC9z|e?{a|=c+CAaNQ`TUm8 z+kA#wm0R}nJ!sjZ#nTS`;+xghpx)J1R`22DoEzcGm@>kb-fM&}a|-8Edsok>9YQKmN^~ zl;5fHIVzt<`Ao{EPuWTNomVazu!QnEt<2tg|N6t?tz&=w%?*^_pz{4xK9lkpluw&N zoLKJ-!xs(^>>I3%-XFd{zj)QNze>PAuzUEYz4C+N505;RfdA~1z`x_c;z1dk6Y!tg zJ^bU>tSH|5)V2itgS&@+(4a?(2aWk@0{)@h!~fy?KPg@{>t_l0hj$PE-X)Ko-iiCs z-NU~3gU5StEK)@nw(PMVV@=SMS&L zeS7r)@xq{4|5-dJ>*tB_fZr+b!A7UfM#{EQr&ixzTRcGgFn&r+@!kdxKLFztcwvcC zX9;C@Qs*IkPhK=YJTdM49~AGs;+KhWLE}^4hy6|+jbQ_IG>#2p77h?!Z0)_E_`_E` zd<~tPY&`QGT2Q=d@|whW!1qbVv-?NI;|Fd{%n|&0vhfVMZ*}p!zrU0i4>W(W@$7x+ zhsEQsd_2J?(9X%mv-j_n#UI}4nIB}&$;R{HruoHNANy5eJn-+y#oUBf%*_9eyh-ty2-a!wqEdKDV z7nA76){)13UnKC0{Im7? z@$hb4Q&l`Dye0v!(OF&NcYG!~<%?Sr@OJ8ypS+It~mSDLNjX z`DpRH6&^Y^xXYkyrcKAAv4enBbUbfdP4T>^pGn}^%yrlBPFwNA;#JX98=`A?w=Vlh z@rNI8OW@h?(h1=GMNRRlO`8&QVR*l5ct6~=ta#A-9^1jpb=U9?`V05KzT%O4hBmu~ zchz)khEk8sfGj>CelNp*+3v9y4DWXh@3h_U-2o3h7+KXdyj!pSN%6ENUrf-kq0O%0 zopBjOdOs zD{kIhX}{a;zFX7zZnyOpaxal%g7Z{%y*m4yr8XZugMG~JKDWbtSK0aQh_yV=#Pn`; z-<3LTI(Z*{7JGkXBk=g`T#(BP$DD5Rk1fz0;P~~{b5^jt@{I6wU<6)%%hsN}$@8^V zxdzsp5gyDt;}_?-kZ0u@SWKLa*Ec47jRaqcAHVorofk;_8UH|)bDzry`LvVo=S}Bq z+P3SgxszGjZX09G9gI(7+hjY3z5H-NA9o$|zO0uW*WQTlrLjbQ4Lb*?{2ovKfgBO+ zeW<+hyEm4E;+Gu!8~Zl)c{?TqH{t^;`lw(}4BBNqZQxS>8q?SRia!HdZYsw&z?fPb8vYjJcgK*= z7=np0Yzj^tYkZL>8-wn6dWHLOHdGD?H&0@I&wXG|%OGphPI5xOg0HsuT0^tDtx#sT z47zO0^E2-u{9S?CuSSoV^KLrhmE zozjhrCj$JX;+?d?;R1ZyUigOtzv>JB%CoCIFu^p0_;eSqG0uD@;q?bS!)sS#%e*&u zZ#DDJ9it7c_?=s=iWSY^cqhL_i3?i9eF;ypkGYRKpEnZYIGizWObg`?3ue|-SXu3U z#@Ga%nEUpgweD*!0y=&T~KB^ITDB&5aO0RM7^H>H9tI7SQ)c z$OnBt#e3r6Dt^FwzTJ8IHuEO=E1nMOoY~KN_lO@vn-`pbHr=uIfi}%py<=gl23E%8 z!Y~yW)+TuJNO02`J%%Cu1TaMM$UoehIhRij-?ilJZ!bkZ<%ReiTE@SoSkMjR#5eM` z-f#S|8-v_uQlIw5kN-Yl<7&SZ{y5Ki!`#`ip0=KZPhx503`7oP-v8VsKl@~5ggs(p z+Hy`sgoiMW2tL1D>(gK3Qq?v##i<=tr)5 z?wWXndFCDajp6KPKUo>-!@D`uGxyeTH;vvEQMbZpWPIc~%Jd?R0H3P zPa}uE^i>Sm`p8@FuOv78@@nL5(=ysuAIO^s=l2`IrR27BSA~^s?)r>?YweMi8vG0i zM|swrKSAc~e9F3Q8GKUzYVPFdpOaDJoySb_U>#u$tySLpEHceKqq=WHK5EHE-AB^d zkM6dhPQCIA-vIp~@7=y68{PJwpngY3uZ^X|&M00G4Yn`!e}*FJgOz4hh+`1vrlDF=fK|QW}F?HuB z_I8&Cue0yI=&s+SeGuf#3zsD9V9A-bF75|BT4c+c+1NMl6{W}<=pzb!G_JJbNAlQ< zDffqSzdQe_TtE6A`FR9fHpT);zeUQCOZ z5KGj!jlB}&#U;?~V9r_|CXf5!+pPHEL818DxuN*GdDNXpPQMB({%(~OKMD-$^DuNV zXi@0c_(j&ST>okIeYL}o1EZjO>;v5~(*zAS*B9isKsT+>OB-~%A9^?dEw$goz2fxS zhmYaeB3stE^Y$iZd<(pC^0HxO-rWAhkBR>6`*Nf7uRQTF`fs9t;wa)R^xsPVZS=pN z{twW9JN+M||3i{phV~Ni)8eaU%nWx-Rp_`E*%yA zjiOgSdP}iTRmhf!*m5aW&D$6NMP+D)awe@>x6<=e6CJ!gGAQ0wb6I``jo$5*u6;(ks?ZgRJt zxn~7i!rcE`k%f(ry;1k78XKbC7q)(C%iLHAbXJbO1Q*1XRK{m{h$=%O7Qv|~5yM@Ju^ucP4k2z~9Z@_S@p zwk?B^*->P+Vz6RG1^G?L!sbiub&T+u#mB~H=X&1QT>r5TzDdO8YziJ6W6Kt&uV_+V zj=ZI>M*33RMH77~2CRj?T9LbLCy}j-;kj0q=jxMTxd~W&j@~VhZ=uazKf2@ozl3EB zuz2E?mIrUV;{O~ksdT)0OtLJ!!NbEgJ=^gl8?P2UAAeucP|nexA0n=FBC+I?u{%xt zN_y=B-(?Nsq4}l?`~>)8eti+KN35@X+*O{ZGw7i!!)3_ja^!MT73Tmi<6P93kja@* z294LeK;8y_LT>Kk-tQ#ZdfC=nk`MUOmYaK3lI%Y_rli!w*j*a_o$d|CHszT$%Q@i& zJzr|Y3s|SPx%F97TplZu40YEk#7FY{jN)!$@Eq;SzJCq=tivXfeKMUf=v{${!MH4( z4NoG+?018ScjVoC?kf&f=7s&dv$C=4sW*gr+z%fomS(f$k>YWsi>9;w<9UVbU#<&wuXSG68_g3*d9Z_@MDa@w8c9=b}jMPo#P3z?gEdOYb<<>E&UzEmoWy{M^dNz znJaraacDNa20J>iina^9Ht%2Tdn-b7p<@TyqTljmUU_PV%mx1L1)lt zu<|lwGxj1hQSlTq{tW91=5mwD4O2OrKFxEUp6zv%dCt}Icq<+fJy%{59;D}s@UeLA zD=%PurkL{pcT~D`to2p^+K~U9{N(Y|pap-aeJ ze*u0Y&bG(pe~RCED6sStp3&HymhM}|uk*xTSu1*J{;T$VD5Cl4#KWIZ#+m!jGuT(~ z_}c4jes)V5HvaqfFgA}|!zMzmxiQnpc(|TEf(f~{JouM$ zdWHvZD>w|lu->!nAG_^F##97vOk`Yz@J0;#stLbE<23BDIkL_AY>ZUFBlvih)S?6M z?Rf9v?DskA(Nc2o8T%N!PUPR<6`?l?CI&cwQF zcW|)1?kY2P0drRyv@09H&{UDVc5Fg^E*xCKJ@0hhHHhy!Sokw8~wv*O?N3iG8KPr0U3F1_Do@<47T2@0vPG!5!tW|N(bNSGn zkL{!Fa@uBXu|j9Q|-!@KmJ03{xx^s zXYSnjN~Ql8_J@}T4DCDf6=1$1K5MLtpLaR$7)|Ih?mMvUKh1Bc&U?A*wjzh#v5E2f zr}!6{<9ge_D0|`@+1_LdyEHU*E`3;HjI56pThV6Ufk;dlC^Zz4WF zBEJB3UWfbutVeYJY6pB_?#P8sjjvVyfr?%mJJ2WWp)9WsjSe?qdo@-0!cEv;O)U6X!(Sap z_E$%1toT*E*&Bc!CxOSwnaDQm>f4cbxvU{W@UWhJr&&{VpS|YjtS0um!HMLv`1W6j zS!iP&s(1bL4*V!KMeqKGY|cHK`n1ymzEmbtWta!aBb8xqbzm;>{!wBcO0Zq9SErV6 z2CsnmYsMagR>LjGi8gG#TwhxI0_?(8f6 zn7fbVoA=Y-5c+cCRkU^%U9oO;_W4*>@cdW$JC3*TyW8go%t-YvlhqhqVYeP;L*!4n(2piq1HMoQ=QP4Sd+cCJq7Kip*inq1}VD#!esY|g{r%iYUT`)c=ba6L4~ zUz0kwgYO-3>{(=tJ-6J)M%|}*?&x4|*TKz_6XD~=)51aKU3hSDvg1$3?3f~VE|4wS z^ECUE9jA4+`7LjocY@=)`5<555hstfou4^+j}>pe0UXUUu`HXcwsaF?)mW}RE6hA> zNa@q1vvTMxiXGr%>}850_<<3LzRSnqSL`WwKf~r%?eTYq<99yi!SS`=_|jw?xBSlV=I#{U+|(6s<_gEuH@rz( zNjNU=8IHdp9II>(aQr;D5#JdcJFxc@$G>Gi*5$#qwDY?5XB`~>?0=HhDCAwX*C;2# zagrV#fG$Co4jh$iqsg|o$g>A*`)lp}hY@F=c>lrc!(55~#B$>GWZy{cxqC5wilc2m9Wn>V;c_S!KU+B=hNkx|>m z96i+s*@}LaylF(|m^cFTPSd5xAN0D;@frBBX?~8az6Re<8?r@v!6UgtZ_4&z;cI=N z_;u-_`0dCc^-bK#Kz(a`LH0r#kx`mc`LvWH0pIIX#XD&8J%3v{ zl(KHynlHgExvF*~dn2MxbfMxHh#Ngi|C{#t-EChoTXvkzEmh?xf!}9?_y? zo%{gG@u2ap_3(YpXEdMgKAXKyqy6tJ>_fqm&R)0XHXAs4IldB`2IkCH4uC$jcQ8-? zo*jzc$((6TxzCr?UdDWAuB7Mtfcw?HKJ811>skivL7pcNi}yNZF1)Yo*d{)T83+-- z@ILP&*rQQ&`y&0H2_5x@j{4gCGh<{j|6C?qc>WCkRN4Gv=X^-S$40OZqu6yO-gSM# z&-v<;(4c3%Fa9|LxLuxko_NRtuWX(8`6Qkxckeg%@=2AAqeRRR^N6iDlei1nVDbSq ziXX5^6muCd@DRI!o?H(+RwjFa($^K48?o>3OZdWvHn6V6R#8lYp-t$llQyAK`CmI} zljrjs+B7stovRE@rZ<>42rSH_7yWCP0{NV;FenS)ds+A|`VhVJ&zP?G!|bYl4%n}a+n59BvvFSTGB zwPF`_aBocP?ohnx9@$CQ`pBUs=2tPno$El&xz>f(>YKG7cg}Qh|4fv1p5{Kn`Y(_9 zuOvr})_VB8Uy%Pu{&)E{qE(dJi`?s7xuT46*lA<+UNOPueGxRY&kEP`{$F{YhTmQK zR%ISP9sfIYP=30#ImUf8$jq@Z?yrgUWseK_!t>@BvZ}lVp2bO_XJ=y(3l6LfU**6aJUzTZu$KY*%*6Yhw>WS`ZP=Fx_WOYSfkc^I-*(EZ zwPCNMOb$LT(U$aIl$fJNWUf~i$I6TH>!bbhBiudY>VNP1?&`XH_#I*pw>O{pzWb^68r#Bz%yB&TSAB&MY(v6Zkt}T>r;EAGhVD;?b~}p@nz>) zFSH;t+MWas)>{XVBaQ2c<+u$QQjV-xZN=MHp&v>ZJG!a~oz+n=dpG;e^Uqx?U-OIb@mBD- zO*)%>PIU3Ye%2eel6xjX%!%YlE_*r!w6yzw&}zm_Ra40Q^gl336cr?%-oeo}%P6tPwIvqSor^6$x-&kw% zJp2vYmNhz^I;XK_d>a^kmu@A=U5ww$|A}?u5n${$>%wD_zm53%44v}ZH;8>QHf9gz z;VR}qc)A8WMX{@c_~xStJRPwH_To&{{m(UmAJ_k|4m`Q*5ao4oW4T)Szm3m+c;o=z z?R>;Xhu|S|w-e7sc2#8^4hK%hC@7nh7 zQDgu1V+{Rk-!;6QRr{Wa2OYpz2G+iBc)WM*-%MQS8I0-7q%pXDutSGCrgr5AJL^o% zh2sZfZbVbAAMC3R?p<2TvT1dbS$8MqV7ayXvT&JvK%O}$_>6E=z@EHlbufCqkv%>a zR`Fy|{v7t|4scc`QUPyGK%P2h!kYg8y-dL0hK)&V19X$E9JE{JLz{;ypk1$jk>^*4 zW0FisU582zE6-RPADeD`;MiAtJ8?RSy|v?Zojdg$x^d4y@vh4=P`^0Ca|Y@WaE?8Y zI0JRY#{X(CGU0eUr}`ejck3RHOmN!r$^?IZYx52t=c&e>XZWLJ{IQjl8OQ!x{+~6- zibm=bAulSB7X`=*@P)kab;^q(BX51sWPo@d_*i{7Ht(iB)}!mwtg+(Hh|_mP*RXH0 zCXNhmPoa^Y1ABt6K0TkhefP_;9<62%ukmh2o*~;i*}VeAm2ljnG7cvT7w^IYVm zVd@wf1`bCjA5X*dbsP=z+d}5&I2!iaM$of-G3~(VrQutMbuj#|F$m9H;C3)EIMzp> zH+s~oBYytoXT$&A{!6;(ADeKw^>S8tZDz8L`oU+^e@}R*fb&ri*6Q+0x;%8{@8O}b zC*YxbQh12xb3a2K3K~C{)jpEglvlYwb2>h#+qf@O_tJJ$2IkH}7j&@q@gTPOZGP)A zY@w<0OLbU*x!Ar_RR&t0+E2el0&`!ZTt{7CuBCT8*YPYnzT-$>E`EZk9mfK5%lK}@ zHdk)K4(>kHxlhfVXkR*0HrOEMZ#_0=dFA+UEMa48vc7djcx{UQ82%Z}pZ4bDC(&Mb zY%xBSDia@h#In8=-lLeXB72S+uVw!Le--gK zE$8cJ#Sc%S%s|$C)OlESs(2=rDw8^=DQ1di*~sfX^$t(N$D7VO>||GuMOT}?21ZsI zI$Ey175%2Vq2Jp2O!b6Q+3As$#0Wd^UX*iM&5iVb7yS>u_d;{urEJY+cw2T=wWn|S zURgUC`JpwF?F(jKqrB_&lGawnzP~dR|LRA_`%d2v+pg4Z^RF^AKNbSfn{<(NRP|@lf7o!>zT%0&x&$h8Xtx9R2y^IYr7RbicNL| zfAXNt^I^Tr*@Odo7}HzCLbE3y%(JG-=UCAoc+9ezj3TIko(72j5TH}>&o_!y?$mL-CWMPnRR1FNB@nH zdVHxxX~YVB_ql7Aft?4@ThiInmkk9s|mG$lPrF}qrhV;hEAN%63`26vAf%k68*2isl zcWmz)K1`Wcv++mu@yFYEKa2M}(;Z(^upf45Mr|`?UOxkW)aMdqcJ+74%vYK0+P_d{ zX`Z$DwW9^`Eb^nj_HjWRxwHAT?85kie1C&a1oJg2ZHT9_RqFLzuQ9M)6Jq`mv*)Hm*orP=lbx^ zAp5=Vn4p0X+A-toTe)H(ZAH$8A84zMw)WRM{P1h|VRsk&@S4L9q0_?u!njh$QpZ@l z_}X=>V`Uq#`F`w+``7xk54K7BU?ZVN=;m_khc<2dx94=?E9BrSZKE%q{!?GvEgRV2 z^d0OI9!r@g@Vi8iF{v=D1_tT7AM@RtoGWt*Mucxi&S=kSo6m3dspPkL8eFKHaFT@o z8^AyQq~@EUiE?CzLla*FSEXlKV;>g|8I!kP`q{01G@l2c#{-{^wc-aSv4^P~CY9_n;#a8sHT&Q6v+hx!=xlj1 zo%xJUd|hb{JZjaxJNko_u3U0qIf(8%bSZs}l^*e7M~WA1`nv%;r0;TH{08=i3j6eJ zxSsX;KcQns(hoTh!`CxEcQ8NKv0gX&75V;W`j8FomKiNu#+TEcv%6#JckDfL^x}wc z(;JC6czgw$f=>-Jer4g2*g>N^z52sFf1CUp`o#5lSJ`?-`#sWi$>rpSb^S+nIqW+X;Y7RAA+p;25m-&32s|O-IeUC!!uL15AWRf&xMv`t4fEUtHitT)Nl{)X0%ESt zqwgy{b_btr%$?}*5skxnKaw@c7kKwDAD3Re^ifJ#?;QT;|2T8l#2mIca~SE_9G19q z*w)1yMw~h19E4=$Q^ez(a1NVJK8Kg2%;BS^Jzwo;es^VW1@f@%9>s*PkH>ndqvA}? zkf6iy9ZH8kxtjO`{0$xJdDk(}-rwOJd)fA04tu#Rl&ND+xQ)G>r#{YPugB5byj#gT z^1Y08=YBDBI6uMr1dFHs5EvG*ey3T`h(2nGY5!z9GEL$~XbvD~>kZ#4Ww~ zy2JMm8apmozgF5d@H%Utp_xG*nlZTpynJ8nk3ZNA-&f8Wer#t7&15<>Q^)V_T%38T zIL&0;%wFk_g7zBkA=Y*le|9{>>Gpo;cUa%m4@_F$H9qN&lN%%+S?!MxHuqDU9sYpW zJ`*dvx-cGn8dM-_s~}+f0ng-P!%rxHz6zkB z0&*i2#G7s?h&NYF$#1#2Al^EyAl_C|5Z_;3z#efyynRkV{72c=qq1!)uK^#cMLPrS zSgM$flWz%MmqRw{uDRgd7+2 z$DWL#DXry;;=Lcq@!)E*9L$N0mGn0OYt<(Hvy^&ApweM2y z>XF<@P%auFeq8huu<2(EFjWo%ALZcVHt;dW!N+j$F}e$U40Z4^*cbk*;-;tmJ)e7Rw)pxnwcYo1mkiPLxHQi0$=tRTE=hFA!F8V&( z>ATJf|H|}j<6N}<=N~h#tb02as~`M2^byUo=X?+ELg#?@#lTtvtoU|n4?(M|q1E-! z>XXpw)6nX(&}vnm{FWD?)veI#HfXgTT74B-ZGcwGdxww2SW^|9b{wrP)q3+zX!UMr z^`3(GlwO=8U|vhF6V5-!dBSsSn94K4(|~920PBh)MW=@wiv}j;X6ksvA3wVObaQGJE%V2lsViCxUB@_Sdm*&d#B=41CWd^u zV#tYG-*PK7GJmQS&qgLLT7%3pbd|y0n0$`D+S|abWL1nk?IC@v%?proC7jK>eJn-~+KDir@#QKIKvHlKjER)NsV-k8vzkguGAH$}PwEDJ0XwQ}9 z|El&zCFI#PzfI(b@@ZfC*Y>&Q?&O&(3%~d&>au=0qBZU)>PDSBK=ivQ_@12ysGzGe zq4ka&b?Tn0y3V;*Q@1qFtkb%yYhf>GovZy|v;IwKGgECkXK`tBcW_ou+w{hkCBym7 zZ)g+WzjQ@Vy5djcPYS1tpBQ!LJ7;F2?1KlF+UGyI8>3tI_n)G!@Y5Auw$s*jFC0%@ zdD1c1xYn63XC0n`>t}=)?qd{Q7~AgPz>9m-W>@h2@KeKg;(4nU{t|0}<-u`hoD@D6 z_um#g-Z_6^RFCW4O5L?i&JIJ@U$f7|_GHd)R$cErjSlv>-^tXCChG1E{>hF*>`A}* z|BJdKRo5#6?wZhJmgG_lEP?0c!Lze^-0#Q45}j&Y`G$#Cd%=xKwB@nwCwhMs zdY4=}k$UvetLUl*>>cUdJoN4`^zJD1Zh3Zo)1~O$u|CeNqGR*2*c-~m9?bUWKHDA~ zrv3a(bZl>QY~OHpWP!({fHuU%+?(Uw<8E=wu&sbPPhrpKGsGVj1DHpcC@wT@l#_oy4G%R_3Rj|L1&S z?3ei=?s}WZnuu|_=ip{y!&F{rpGRE~QEpYMHXnRzKS+C!@*#93QzxdvKkMZ1yYqLP z9$}3g?G5eqwai+3`+4-A3EaIILtk=eIs2&{%-abL_T{rU*5SNbs(Rt&B|fe zlt;`NYctklQ{6c{TRfSNU(16t?A%yg%P%`$o;_~+{{+nTb5eXY{((nRVE(;)4xT^x z3k3iE;e!9{&fIs6H?R(!#Q3kZ;%jskx^igv5V2Ab_9}7*2mTPf798Bbx`_32Ik_0* z7ja{#MYFx``($NwkhQsf0DEzlvX;gx3~vMd;VpCos2g9#C{y$vcNbsnXD=dN!<^#}gukr0N}}1|aWs3& zy`QXPzvTs64xbmk__#XfA6Mr_>cpHgi_weViBayoh{Ex7`uLnC8}zpP`;WY#HPg3dhWJYAeadzWrO z?=q(2?2sI17Ev^A$X=kY6y0PMe_I zc*w*D9a_tV<|kO$?bon(Iu@CVK`Rw<2bmGgz zG9}U3jB`(pXW|@gg?<&sFoSQ=uJm~s|4Y`T%G3$xChLJ`Q_u4{`7vgnetdq62>y#Z z!CiDQG7-Ky!g;D#o}1G-VAjDU^?d2gHDP2K+sf^5|y6-zbuSN6Y>AOpsAU-dv=%FT>RvQOf+0d*Fpr z>Fod?_uW$ueUg;7pxV$*M(rZtUd))v7|$%m%Q5?$g$MkNN%$1 zG^?f%TIr2^ox}bkd;VKEOMLlcXeQmznS38vwZowu$w1X_qaD@X0i9)0_Z!p^on@xm zveO@QWoKsXIi7m0PQ6CVo($+d6FM+44D8=(eXd+V zrOLHm5;A-;n6ib?d5GUNZt+ZzdO_mrqt>w(i|#EuR^G4f&rRIbTV(|r%Fp)INS=ru zXOL&BTIY4%n^;rM|IIh;GYQ$w*o`CfnE0mYyUW-_HR=@S$U)gyB5B&^SRr+uUx`0CV( z`^4IIdGJq{7#Z6A+&gV#f`i`RKsNILKG4Ct%{tHbT@U>pEpqZ7Tqt@--2WTF z1})%z7oG3Y|3f}1*du-B&WYfep*g`0oq=9i{h)oGqWLE7@?g$eIK#G+Io-(_tXsL~ zS7-lK=S}e_|LY7$8qfWB7Qfl!lV8+VtKSV@Fh6yHl0Rn88ai&fX;b$J+ik{ZQ+LSd z-uhsU^}?;d(8}C)+~qU5$}XTh&(1lz(27>hb;ySDaW3zA`h2aiexAv_F37Z6pB-m>zt6-OcU1c3mMXURpwHYZ z)p3OP#AtN9$9sJrA8||iFZui3V175YZ~$LH1cne-=>-W&nS+s%uTa?Hkh*3N$4Yj zJ*~4(jleD6gM9BNt5b;{Js1?w;K&F>F z`9Tz?CYZj=Il@M8sdL}*BY0{1Wc}*B=IcD-iJO_D7PCi{R=a_7b3VWL~?Id4flN7ZYd6oO5shldpRoj5zY&=znqwxpIGz zV)!AIjj)fLsLJK47v*X zkY8^d^B|hD>0t=^Tk<8nb}BffZdi07pM~%q0jG`d?jqtiwzH1R9b55>ne2Ho$CAxWH!#LY;1zyq zg9dcg)a2#@$5{)lH*&x2n|lrSsC741(ay`@Yy))I+}`nG26F9ts~y7$K)ew+Pn+fM9j)`+EptrzB`AzV7e%vIE9eoA>a-;#GJ3mvAy_Eo<;*VuCji|0kTR#eWrr)&_$U z;Y0K~KERoL?)5VHQL*`r{SIwlQ^rdvqxDA_HvDvKc&#}?=hczY-_C?{yB66v7?jkaW zcJHL!yVW-JhK1r0WW!u=`}Qf|@CZ0}@u>Q0NA1M|{lKG>7qs5Sqq`Qob0;+7^}k(a z#|>#t73*QsrO(i%Vj`MO0Umr&yA^vBWo{!Wb8E|wWLT~fEQ!7DO+hE`^#3I+tL9V{ z?`?Y0(3f=1UGQAL1%05ee(h_qvoC@s9^zJaDRU&J|Kg0puM1ZXy9FF z;0QDj75$z9zJ%Y7j=mecxKVzg2y)b%6;{5?ftQ5kFKt|J-$|#OnO}VQ*h=B3xpThK zKh=DhGymPqQ(xd1U_no;|Ib3!^@YX;;1~Ajf9*GH1aF`8P24}sTKh<0Xlz)1tU~ZN z9UUawBn$d3z<*hLos-|P%Fa1l&OOJ{=`$jnH!J5p9LAWCJ84GlG|_i1wxZT5uFZ8F zy5gYZGcZNZa(uN;o08Lldy?SJB!9arpR4TkX||EiUFR2zmBZ7wS@GtgKz<8++6tex z-DAb~&$HqOpzU^W7M%vKA>(3SEcBQBQm+Gd(Y>X| z7V_CfnGm`~?}@G6Y}yE2(b+}?<+nR+$Oomi42>Y4wSINme26lsZL&{uBna-MCxXBe zJjeF${egDy72p%d2><&l?EMU54D%R61!Jg!&(VSD^pnBIJ;x#4&z{hxa_*K~^36|H zvNyXKox-`6-0&@G!^lVYV=Dej;)sTR4IhuwhVl-|S0x{q)`NCC_xsPT(u*-Il-Jmt8#xMJ^?XmY)s*YPOo%~qZXGuI)zBv8N1r(Kofk{5&DUe0$Cp6NH~+012n`vG8jm3ho29)5x^ z)6AvX%A*b0c)F+aN&3P+9-qzs`|y8j94d2;(@%mnGE95>X|EUUmH4td+v`i&HAC6I z20zomkML4Wds;KOcnMHuor4#jlP^rXww)Z{Wi#x3o-*j9jC#|lZ*Wz2iP2+fYXWT* zV805--O-xpcOo!8!DkPwLK4)cDB75I`+1`2Hrm&pEhrtuU1d+V{M_~bgY zCHQ1tcyZ_2p{{SP=`7?`y_MgRi@eH1Ucuk{;m-pXA+NBJBn#8XRU=vG?s?01*M!_` zt`AWU-oSQfgTMAe!w2ZE9lPjx&whydv}OAxow8kdXbYHot@T9Hg=Spr8Sq=$z0;4) zMb1pbhGJ82u(VXkgb|H*As^sJ4#t%k_QgNx`}xlO_Xu-ikNv_VxK9ahp^K90&c`+pya=y>T9>dF zy{V9OS>Z?f9^ApY(c;q`Q_i2NBQsE4hpM!wQ`hFuFa7ui@FV$aUo9S#nI^x3T|Rdb@^oQEI$O z1iLMY91vV-&_Xq|un^j~inygz+V~@I85;`zcgvE;Z}$dhWgWC~6|}MeTG5(IGWVPx zzrV7wk2N;6j`})LAHO_NAJBsOm}#kYqyWKA91E4 zz3V=z!BtupxT^8=fxg>a&0H=3{u#hu&0OXp>m=vjP}{nP!=a^QAB#QLw!Rz__O3l+ z$Us96&iz!XU*!N1upwA}sl>FDi>r0&bvU$f|M+knwKE;9kMDbBe*nde{uS@_gd}HY3H!8?y z;YTM0@VgD=%z1TX?{L+u@?+KgtQy%%(hs6@tz+)J<`^-9wqMoU55l-io(SyS?=ij| z*v=-`8)J?z_C{<0?fc7jrG5VpII=Fw49_PXq%lV9fRl@VM_uyz$ekCX>lxqap1D!% zn*8082*&?ZW&59&oUbvS-l>D4tX-NGV;ekzZLku%0GoJ9!B}%5I(R9p8yF5j_XXg@o&$SrUqTKL zOKQNc(|@dr@mB!HwZJjSikI}^>;bxLBX{$zAx6>qS|)432cGL6`()(=_7>(tPk!w? zy^KGfd5PQ;ik}H?MFZ%tO_p_~BR?JA0`HU7HH)!tYOukUVc)Pe*ZG|T*fs6gHzogU z9o>Q7dN$)3QIHWH4IbF@h?j5%b_a1(Bkudgv0Z194;_Db^DOp+$1;v0{Mw4UV9jLK zNvxro+x`D^LZ=i8zo=)Btk6&ubibmit{QpoJ)KtIvhRnbxtEbLFSE9ei2K71!|6_Jsc^s`%DfL(JZ`LmQNF z?oFt2XoGvdUD!VUBpEi>40Yv9=}t5Tx9znr5^D;K!AkqyGOZ6@ zOBoY%g*mnTiA9~`^M&suXOM{-0=J1ZknJm0Zqr<=uhEBx z=HU0ejhrszV-kOjW}S6_yb$f=lxbs)ktE}=U7E0&y}5+VdZx&iFZurF=?UE=`PaFQ z83dnu*D>5^-sie6=f%#r;S`hj5~4dEt5E3Hi2_x*K(%pCeD=I z%y~c7-%(=U^V1EHzm5O3xAJ}ThQ76zta}#NM+)!1 ziL;QLjZ`d?y|*EsNqTLGFVKDnIomh~eO3ZPnMv$EaN8x zxU(WP&`t@uXPSu_wfj;WK6L`zwGyeJU#Fku5@==`ves$;ht!WbzAHC3wES1EfM4;1 zi=#^ApQ!8?Zm)FYUs1NP-`%@ee)@jL)UNKosj)nFvpBeS@4tE2=y7}P;g!oq_BrkE zER~&*1)TsB`u8>TZv+16Tx61LFX8ea?+?L`^0(#|kcW%kwFg_wv%XzDFWPEZj6G)Z zQj?>a+#wwm=P0jz{BZBkbBDLFFT`BDz11StJ-2;fzlD!AziP!7_J8oP<_0Uip?}R| z&A(%B#H{(#+NVo)L#vX5_TC|Onlsn?f8pc`h4x#}fvubmcIjVzsUNqF;xE#3teSt$ zNv|Omn*E;a@KfyHnt88J54Y8495?T0FgEc^)6F)oxc!>*7t~p(`(L2NM$sHF$T#D* zeIj_+-$(vuwck#D4B@*U^Ha@ltA}&vBRG9#){JpW$@!ux%R41d`+;e$w!LN`9*e}Kp%o*-x%@HsNzP7vZ z2RU-8eS)1g-Q;^_j-of&a>J#k(VRb(yodrrBjb7RHOUS8{7B-wsOW>3xR@h1_A$10 z=Im|8_O3^6&~~TX0JbE#Ay^%`aT9cPK69crdn7kF!_pSZJdS?)fj{MFZN34XxHd&@ zQ0IN_x`<%wx&4@Z&TA8Lqf@4XzX{x-^6MiVQ_rK#)xO^Cy*}ue+GqCd>#G6hjT#QR(PC!Zf6d*5zF!$Vy7#iFE35GI>n`@TZ}GrV?MNQ$wBry z_YpYqN*II&kM-ahh$=rE-|6p9uAh4at}rp;PVoHN*dH&}n;x=n{Il z(~9?jP7jT@$QfYovipYTi0D}bX`VG1~Sjh z5tb=k2TZL2?-{#HqwBOkpf#4c1H34OW~nn-G|M`|tScvl;>|^@U!AsF!J}d;+Q5nY z%-2D$xwNPJKBCuUv;TcuheNNwg;_n_PR zp<9>MlId6RwX%s=r!e2O=3Zbg{hkK>I{VxX{r1R?9F^=B|8l<`+LNOae(^hi#r409 z;2e?nyp>{iiB&Z5+J1C%fOvv5;*52Fp<+pP+|Id5_(c9W-2% z9aH({nxBK?Jm!ynOV}GwJeq6}tufqkvPVvbmdqNCvRb1m-Z%;^zN9-EX@5HH>%7`k zR$5K-Fz)dK9<^EF+GXg)KFqItAc{+L+cx@AxQFNCz@qp=wPX6iW>i1wFO7CJM{5)t zOk2@mjEDA(-4bx(i86r;+dbCT#`VvbbK76>Ib)A6`K|Jo4obGi?+L`C^@H+bRRMek zfq3g90oL&W*7E^;83CPhV2zg-mM=#3>QrEi-BT2waTmGzu-6abpIcfmI{ZDK)*ak) zRap?fv$`OD(W~};^pzR5Zz_VFgN-y+IKLD;d{{rgmH~l*jx4ahmG7aHwx8>5JsK(U zb8dkg4%d>?q5Smxrklv=aI+s-0q2Zq)gWW% z7Lq?gzL0Kl^@DspWieV9F7Nv z6C51o^$)j@S0aJK41*W>R&uey*1cd&&B?JEgp-SNavBbTkEO)UG2dJINN$3sLrHk; zW9loOtQEYrz39QK)(4dT@Q=t$+E<&c;I!>UbcxgMB=D>I(B${Aaonf&_R8z?!R-~$ z+NPxiBag%FvZrm_mYf1^@f%*DSg~$#TYY_g8TnPG*Il1Kot)>9-r%w?xEug3*Z0eB z8U!wL!DXI<%Od4~_2Sarr_@?Vxb#2q+2isl;ga@yip$1jMe)K;I{kvd<-_ppo$&45 z@a?-lvR=^o%Nc_yEQ>$ehhiK*oqI!@ik=TWHz)uk31%3 zw28AnP0YD+UoC=9v8^v}<}9Urzh+$uKPXpE7V&>t??r0FZ|LwxisIv+?`oYmK3w*| zCo7wuC*LgRJJ*pLr-k-i9gmOT@->|ORQv1LLvYV{9wBx`YpEjW?%-nL)6l~%e>YZn zaW&#NTwS`%#?}1}t}+i_ChU}n z1;^uWPo>Sb+2BvIu{-=VDwmG%7djq)L%wTG6@B@kudAW0iCxgvRnEEM7UPReul=Th zpS2+Ls93t0z2TGIP+k;h&g;>zD&qraz3X z_;>h^Gd$*Ox9xZ7Q`_H+Db38m!TM?W*OglNr3cYxjOX_E3gUMhL!U9GnO0%^*0jR- zZH#MHPGNj@zry%87~7n)3(0elgPg!#CXe+&cz^yGwyr6h_~~_xv4^_Q+qzFhYaOF& z(Alzw+&Ru9*6cXFJ+v@>kUg#2#}vk&(f5_mrM@Q@#z*UWD(^+FrM%bo?GD}E>%skY z+qU%TsJruR-2WEeujsZXI%+z1h#C6zwCB?Af-9ikyHA~d%MAV4^m}{cMnk_H6=!eE zv2^d!`0&AcD?XY%>!s1&;e)Tj5B0?24Q8If%N@fDPy|^&G?()L; z`l|}#k6%+5-*A0l{E1r%<4=|q#-Ey57~lBq!g%d{h4H5!u-jF8<@lkGtS4{h`ZJQx zRc`agKa8Dj+va(WtzK?_cidy{aokjH4GYIgu!SDM9xms5Jm0tRJ%R5z{&?h0?4`T0 zmna{h4|4|^ZLX>&2f(Vrc+*PYM1IPT@5)u#jmoFlOm58<@@Yn%FEnS4Cy(I#lVvpw zmxAC(x67uXxww4rWf_zBjTPvT#hg^e^D8)^SwoBp(aEBZSVnBBbzt&!}z zD(p3#*9P#G>B;Zw$OUKH3?q-T8Q5DoWu3R#jM>q7_>5*&LU)YyL^_W>7M&OBoSVye zmb@R%-rWrFaK6^M{~vSj0v}~{?SDTrlY7FgL9oS|1W;~Tv?wseHj@Mjh^@AywN={$ zf&yX>TKpf2pa}$TL~91@Nh|040TGp0j})<*+EyqE3f7|Z)V7}YFqhmQD8vgg^^*7d z+t2eP&kO;vdOq*V=M(0+?Y-Atd)@ZhYp;#&s{$|2@_Zit+EV6;@|iSa^TnlGnZF1p zWjxm$S95E3p7qryneQ?Wh%=xh0e@fU4QwvTLm zofF=3bMN|kr)Ar%z1fvl7+m`rcOchV@RNDz>v87gC$bX{J#PC3ThMFl5yTgm$$D~* z$w#lX{DTe5Rl!Zmpq>qYrVbGEa7yWs?9yu8l(!fT3$$n0>}kTQV%V(?Z> zdxwZ!?Vzp|+^@BAOzi4)i{~8s<4@*v=Mh)zY7893`29IBxbWQKfhUAt`mlj#VB9Qlp=1V@$foAvd;k#FF5JHI6H4mr)L{dS&v@v`tT6F9nj`6+PZ z8#sOj9KQyR{r=OAgTuwiL=P-8fF%hh_&0mS$=H&_yJN_${u$w<10L7Z8H_OpJDUq8v6_<%kXJ_ zILf{4qsnOf(-TJ<&So6kHdVLk)!C)0YZ~Wd3>cWTryZVh&j-pjygDd+plYy(SF_Dn z8(!T&zpLQa3ViHtn}$~hg%`dGuWq1yr;l!XtyTDsD&SS8odfVH`~JfR;Z?=>zr@<0 z7q`D4|Co#W7I3e)l7sMY)ZjiFdCM7^;QJtBaDXvz<*Zl6o-X{?4kjPp>Br-LTMGW) z2H)?2|MwmI2k@&3|6Sle7r$#iWMn>npAi2Gz4)h17at#sf8ah4KfQPSuLb{C(&x)l z@K2e3!v9(a|DN`=rf>Ejo&f*91pg)%HhNih75<*R^7nYhM0)UC#>M5&%ZR&kWoUrs zN&Go1r+5Bjo$OuKQa>yHbYVFcSR{8=AkXXHw_$1KJX<3_1LQvLO@7V=7V>Yqu-NvK zHSoR^`MHt%XDwHLUXA>`I!S&uJM!FxCC3BH@KjjhCxE3ESgJoeSR~8a^LxhU@qeVq za`H3xD$Ca*%h!B%vRrWN^uRGb6^;#kdWYi~;CSk@gF|Z>MbO5J2^$a5fTPoD`}W@c zYqYzJ5-Emwu0l#8f_0Nvqa`FwC7~Y=zGG&yToXHv&^?aRrrc%eW z+)(09_QAK&ZiF_~c6_knk244p$|U3zy~JK9<>6_bgib3)rtpxc$}_^;zktYne1XE!#1Hn6ed$U)^eMOT}ghav25`7ovs zm#uY2%|$dfolXp%<~Hv4X0P9f5O83duL}ilBS)xU$zbhK@F4K%2@jRm~dwa@I^+ z825GExu5L$)bqb$eh0iQ1&l5Am^DpckMpg@avODB2Oq~7|7LJg%e*4ax3$ba+&))< zqgr6n-s>8CiqONr$9CClc8Y7b5P zZ_>jX#It>t^zi(EPe%_g0?%hb4;z5vpP`46Q=o@-#`K@1hg*Q_Wc2VK-%h571UW7u z@O&ygbe09odiiwnYrRvJp1fX;P2T)0^t%f=vGwqtng0_F=|JaYdWpW1ZJ5pPX=T0J(makM@x9Md_i0 z_OY}ecjfPtt{erd=DZH%W8YuC+wg$9_hT-)X90FAGR{gX441GsCXSBOIzwz&AUt*J zv4#V*CtSEOx6(Q2rtW<+_-CH%>dLnDmCiA`lyOEsDW{8YZR6b^zRtmU6*$+K6Kl1< zlpKZf=_q!q!t!-o%bfk8d9x?(=WJr|Z1UPDK1uP0&F_*gdn{w)z$3Y6@~Hq%6xp|* zyiI?k{7xgI)DJt}UABf`_u^4Fd zZt@xBcH{IBaO&o)nF0Rsvm2b=>)Gyxz&~}hR&%&WAYL)Yi_*d zO7Qq`@s^_)mlMI-E*{ut^JE8OlN4`Bdv3htuNj|{_0`TL>y1~FFEKZXPa>JneJ=J} zKjd^i{T+;4!IpFF?cZ(ADL4 z?Ag=8f&qU>}J`rzu%f zSJdg)vaADrye<20#H2a4toh!=u*nw0-o4tfWd+MM*p+7`+p-3p`+>)`U3@xUrN@>{ zf(Kic`|NNLcB5;{o(sRZw(O0-Aw8npM8hq=v1PBOP30U_Jn3?5S>-drmZV+fG1b|Z z>5ZRz99tH6C9f4rD)?j2t?b^`NmgP9b#==@^vsIaCt75WzT%O3qs2Z>J8h0E)QsMxcUvCz!k8}z zzXqPqLLSxw$3G(vzvR&0sp{ibp`m|PAI}BGlgYz7zL_i!kQcW0ykJ9D`x^IXmg2yQcb zB?pEtV_c$h$rpCU%we2(BKa|zu@#jgwv~7W_7btam}AdF0`}f`t@+^F ze?{LtTWEDIKh{MK@U+Gi!=JzZS@L47IB)I!%^zise-Ztry&m@%91+CFniKTUR}`N}^G%dlgsp!HwD!F6(QF&j9q+UeT5E;Y+Mu--{02jb z_mORkAC~x$vDn7`#=VcSA7nv@Tz>dtopCI3#_=9>=WU!JAlP?O_s(r2!n>ej?Wesn z+m4}H$aqSJX#VjBa-fgMvg3G(e@M*0-`n=Zo;}IL7hO0V|G9E`wHv%=H`e6A*Wf$O zGtKcuKl6xBl0WI{v_M_+O|se3Ob+_z^U_V+keP=pGJ3}JL+9nVJ_6~i4JkBJX?Uw& z_{AG~rbe2{+wZqKR*3>&C9;`E79{3bI!zelaFC|*auEr`i&;R;_Qck zezjL94*fPmzb(*jEA-n2{mNG$yU2|Zj~hDHzF0dZVFdAuZElVShmPB76xYIfIpcT` z8tK4xIK;R+C9@&iEH-{hj;+FsfPGRZR5X7%P{KqrJ?>McZ5bC!Tjtap`@B zy*@?$2{^p*LGH#SQ;|#YVg4Yp z>d8`juhJ^~wn5pe5q>3SEF)XkSC4GD=b>cT;=U^uoxm?qe26jH?TnLebB8Y+tL;U$ zK(kT&IWfklgerK>Gm0FHAP-&HYIGAmtgdR-@~SiWLpRYc8;@g>@i-1Vg7Y}|6c5?- zS`dDr5j*ipVyp2jYd^STH!+;}^?Z#lrr^)!v%K)(>%kx65k>CAXs;7oAHnu(Df8mb z;j_Wu51ZM{#RK3EJhnmW#=mqbvY9av{#I0qrZXCAp=0I6ydBz@N*s&!th6ADbXH9Z zvdE2vy9QYlhwl^z=k8beL9T47jK;4+|H^58o#V%q-0r4##^!xrGL5fs#-@9G0vYys z^sK+W6Ua(he@Gt=4$nc>j-=nLx)tB-a${dvXZ&w$^+f8Zj)pOyr_&U4bf ztJuA)lT?wXdxM(~+0N5lc!ssLU;myw-CgA4nS~x%$X=Dh-m;qBv- z^K8R!@4#<|q2bOQ{&0VCvnbCtIl1@tmS`bg|T$==g{t$ZOmcaoHe>H zA&=3e;NmbjYXrx3a%0ki^k|_+SovRQ~N{h`<7oDT94g}YxBSt*m78iP}5+WbKh(&S~$6n_q4{xKn%c)E;~H44z6Z_*gtW z0FJH#N1qhFk4ByZALOR%#)p%e&V?`Jg>U=E!xtmg?ShlQSH*Y@>t($Dk^&zxbaNGX z?eGI8hLihm1v<3=Ti0js7HIr}7p{_zr>_|KJ+xk@F?4N(Z#<5Ea?YgMu5+cGGpVBJ ze97TLbi495#mU8K;trsr{wZ}_q&hfH9y>k(Y@3V9?ejrJbE?OcJ#Jml){}nXH|+7A zV8;7!I{ORL?KuBSs6RFndPNr;MlZBf$UZ9zwqZZEFF@xl#HPSD>$nMVyH@%{fyvANoZ8JkP?=1_203JwoDeQG}CKKa?F@7iAd ziTQB$*gJh%=p=pK zT9KY;t4ilAwRH0Rq$lDt(-SRMrW4be&RTQ2=88wG8usa97ioRGaO1lT+rGhBnU_vU zl#$E4Y=*UU4z|`DY;MVt48|Rq7_1^M9rvr`7m$9g=DeD1Q_027Uhp#Fp32yp9YBwj zu|Hey)*&}3^JE!&wafh0_;qG)>!@&^#;-?y)fe4op9LztFB>#~?5%=-o0DjBv~5$v zAJMg}movX{ea8mwY3N*R%jZAjtm1|2(ObkGy_?8qwuC);)#Nq{5sd-A zaq^`#m(d2f(^|=!)^;gv)aC>^CoFOBO4_KPjVfQ_jk&(Wn+udXWk93i>zk38N8-fY zmU+(_vF+!wN#r3z7HF;#S;ODVDTxaDwIc{Dk7K9Z#Jfd2XS}}8^RkJ2zmR7Oc=jmv zKF{a8z#h$)*gw0Md`8IbVk@(w5wGQ6b1UDI z+E80+bN+8j64yRgl31{f@7U*c9W--^Xv6G(86UpwG3NcxsPDjl{En<)oxhQ@M!_}u zG;!b=)(w34J<|DRNT{i3fYr2;v#0C$J2;8;{0SE0%R6-0P|?U*(8l)nx*z>m&@ z6Fwz71K=P6PCi;LodhnynaQ;U&RXsTcN4%JvR>omJIpwq#Tft^qpKLBO2+7W>~Y=) zeqIAluiJV~^6qTkv0p!T?1%e?9J%+^Nk@P4)-%3sZ>_L~)akqDZVatzri^lyHSeRH z*H|x|SCW`}T}fiz9P(G~Vr=(ViMBuW)Hjm)G7`!4?W8_^m+^l>t6C}3#rJNkQfE9b z+&@G1`k-(YzggSQ^zetBcWxf?qWy7rsFwI%_^7?idoH~F%>n4@!29qW^mCw#-<$Xi zDE^*UeDXJR^&=iX-=An3%r*HNn!%-VVl;#2=1KfQi_OKnD`WrTFnj-FXVvH6S@>v& zH$RYbW(G9VTunJ>sJWIlpre*M{D~F#HJj^*^M9Ou7EiFp;wkOhJq@_?!ZG$*_UI`4 z?AJ==a3jt&$~TukV2`bAG|5Ew-KZaNKExpSaxHsl|8p3iuRbTI=Let$@arOLc=iH`jW+H|!&hZz^y# zVAE_M#%RN+qcNEB5%Mi$KJ$Lo`An2(iv)e}6T$DAz z*kx|pC)4Y09qH6DtH;jTTl7-$nY|~g9WmlHHkaVV7G;u~_n5j{7j# z7VT}%!WAY@S zLuJGcZNR^0<{O2lh0(pn&nLbx-}7uXaanE~i)f?7iL=LEuP?f8^zm(kPSQqYFKzH_ zI&I9ue$^URS9JjYD|;fU@omc=i~WHegU*;3o~iMWjmw(da^Uc@<`!pvL?FuwHgnEO zTAmg3^|yi>**C+U-e4;}jEvK*;0W$B&#;2+nM<~06w}Ls@-XptTbFANV{9|tM|75xbz1mq&%N7lvN4P` z{(n1${X+l$8^eAdGlo8A{Qk!HB^bX%%J|7wciv|-elPDh`S|^~m+^~1cm6CZNc`v) zf1b^Q55RN&f$%4=1x~ku!@1|&!(a)X$8Lt5B8k{PtBvf>-fDM{(%Sk-e?8=KY_=V@>e5%zhz6`6*dq0@1}e`Zyr|deudk}tn1UP;Pe{F^zw{rb7Joj6h2iF6S?>U~mz`K|DelP1)oGb5+;daI_ z$`~rvA0A}hgl`9*rugt#@)S5cxYy;u2k^0Wo`eTulpDsG1M(NmMt&>)-oumlJx>dN zpD`V(a~Aj}&i8K++k;Hst990oHYLTk)E7NH$d&29VDv`4^1e%NAR7!^Md*$7=#3K2 zu`G%V3>P|j1D#P{%Dwc*pJ~I^?e@Bp^xaMGA8q)i$KRs(-sxuVT~9n)eSRo$8S(TX z&g{1EfBk{I(7m1ir#Z6bb0yH#rt^}|xH#1_0JUFa9k%>%e2NwL%;Zy44uS|UXgqZN zZ=8pwcBIeMhp*EI`H%MUZh)V&PdE6&YyAT{mi?ov{2kVt2---v>qF{a>iHn*Up@V+ zar)QWc_%UaZ>i^4SST#_^{q6-||%{{mgUv`Ep7>OFaGj6YnhNA8|Xu0Dr{W>{ecgKj7E$V~cC8 zN9Srq2Cuze?Wk@2YMn6cqR^`JrI+nfo{R&5w9%vc*1vkt+Wgk^Te8=T`f%aCF(0jc zbxt^Y$bmrm=ux-im}h7GEO&^`gV25(?Po8=_8;==<*!y)Lpsi7?MK(wSVQ*ccLeir z{Z8ZF&+ic0(cT^TYqbAI`z{2}8T{6S(i;WWDEctUmsU5Lv%klr={lF|oVqbtp6k3& zaE>p#?lvo@uByMza1JZ>XTrP_D(r93-G zjE&pI`;Q zhp+wPXu~~>Yh-FDXw$pRAo!b`3bVFd;XZT6dy|oWL%L%-@L}vLO|vejNV9GTu})Eu zW!(@(MpYsctQ*f}f0lEmQ<>eSVnHm*%=y322mZby>uX`jiU_iTGMs_)Wqi`NY>CCS z$JLqt{>qV;P93K1X~FP%@M8MY^ZbYv$)QchkMBIEZWDVEpsx{PFaAh>-ToZFKb=Is z#s^s#p2N6njYDe^iqVN8Ph-e{Wzd4;6F$)Uv}WPnC(pTi@Y|YTUzw-9Y}Qn~=PyaG z8XK27-B_O=`K|j{`%5(E;+Gh~Tx<-o95|YRLvg&#;Hm~X@yf%NsYr4VL7rV#5(428FCVV>h(z;s= zx$T4And>0Cmu@k>d|>E~gTVF{O{v|rw3`~QON7lPE^MHyF=Qv1K(m(BUtc1SQ z$FkHudT30%vWIijQfX|R=(0Q*)?C|5W5XXxrm@udu;5+P3!W55<;BnZ6#Uq8!T#aB zie1aq8E-zL!{fsyKizz9XfZyvrnD?;v1nGfGGpbz(RXR{fQNpj6N~pzzt4B$KU&6E zP6gL_#GDkfPm>spAy56{+d~eo`|-2ZkOk}E*V~XY8;Q$SET50FhL}g2v#W~G>GDZ# zx2*eO&|4gOi$QO3=uL4?ap+BPg>mQ&eT~m5y~k%YmNpq1!?Pbuuz9ws=iIWr8y$S^ zuz4X;oJ^m8Mi!m!=(BDbb-rElcEh)q?0;PFo3oOpke_p7%_JLs=%WPqOVQJQ{HtEt z5N=)C_$~D((Z5r-o}Ih-Xu}+vHqaA8;TQau!1u6wW|QaJRM>%#DM z$%Lw&zK2u#-WwcA^aXAG_pxLiTyY})GyKsr{&C=L#t$1W3mj|S5jggKzR%7LIMe>^ z0?v3@8Sl!D;r~RYAaD4_m0Q0?)(AfG_=lI%k5=|meG%Nq?vmb-T&pqp1BTjXjXAgx zKRgc1e|O*&oBkcL&4@^i>i1 zDjM*OCJ)2n(zIT#6_!IbXaI{5#JPE5L%^s$+ym0J05&f zp?Iw4{J2Q9?AX30uDQ70>dZqH6?5+IEaZ^r<9E=po?FDXX6gFp_StO~Hq?4>I$F=R zTAkaF4fZ~1U*m(Ek=QMp<}xM=@EZ{eVqKpXj$+ejf3&OrK70_H7}+YDSnGcAC05e8 zbAqpkc|}#mv4&#KAw*Y|`{9vizWLKvU;oC#Z$0y$FTXYEoKsL$4*xX!S&^Py zWpzq6`LD8{Edxi2eP!)vbAP`-?B};M5;)E$BN{sg{J1vV?Zmjva%?*4I8t=Iy{_-- zmMHy?(SOmWg`Jmr&Y8h4eG)zvfaB$|vBcv&I3`|eY*==q7sn5N431mSs}If_IuTnZ zESW>@x$-#uo5LBuiiIBqF4KvHU%`9b&*!~j<1-XrZCT;x=UqMVIqr3CTGt1G8`eQP z+8?g#w#>En`@w;1{1yGv8z254bApSH(oczxRJuu$MYZnPaA}QyRjeTJ{6)Xu=Fj|w z_MQZd4J26m-#JHAHl)3^l>Qr3My)dnWz5&_JJGxaQ^`B{M@H0?v4I)j^xDU z+$#s?vrhlD-lgjnr~leVP}-k7px}D;yrPNE+j!WldB2s6hrJ&|7nDgp|L)ZAp!4gN zZ26h#t9`wSYcrqj2hHWfd&s>T-a}UR3vnMxyyfu^bndX_$Mm6+9|O8|v|=l}y80nM z(l+%bKVFo4Kz?jPw*N@iDe|LG&yXM6^WfKekrmV@`W`nX(NG1CR2@3g#H+>M4jeQ0 zc?G%;#tVEw$%9I0P2-+MJ<%>JJe0EKOIZ6RceLWgN{3so!~*_3r5{wUp2R!t7m43N z{tC-q=gNgm`HZLJhDR>E$iA6WxuEl(Q{_Uoo_Xa0x)Qli@5lw_T)oSMQs9LT%=p(3 zpW=}VJ>!p^V(fEdV63)VF7%B54x7f6zav7Qgg5oMe$BfLWyppq?27n8aJmSaTKe3T z4OKnz_dhlqYv{JWX{VWXY&*?UH@4eY>O`j3n>meBCo;XhTc&&JypuY+Z7k}Hr_|Yk zY&lNefVWeSH=F-Sd1LT=_NT;iYM+wijWZUKGr#35IQ{-czsQ-V`IWr+HNTQKTh04h zwrt_IC<}RmOj&7U%B+dQkU!PkGN-Cr#z?+M&bV?#GS-zhUKw-t2PJhoKPXu}yT8A2 zf5_^@{xhhG}e5PX$@{Rah^N%kx7tokRc_w>s zHv9R!^GCsPK5#Ujz&<5`MbiA_{liZCV;y@G`#Hih=5t4ikXw>Puh8GPYsb1Ud2G}^ zE=-hr0N?mmU6^+C%(L@=X}<@iZhUZ-ZPI!41y=X^xa48Ryb%+tpr;kkm|`t+uw_~{ zSmB4Dqh0K=yAzu%>sMb0XU?BH(dc>ha%IjNKJgC9?92s5Ei5pc1?LNz%JGI;P1i44C6SBWJc^@01 zHeXD;)925hxF5Li(Uso?eZEMUtUjSt)8@~cSj@SHJ7`yVgJh@Oh5Z#^4Wa`3ERJ6; zZQ?1k`OJyioXtLz6Ses*wMjdh*ee*AMw{4w0j|?7IfXWv-=3(SvLjB^rm>@G2ON}Z zt)#TFM{kv;-LlG$zAECG=vVU=;du%;v%pyucrG~I#&h!?D|{P1&W9M^JHT_><}ZX> z=Up>Vd(ok6Oq4u?L(^_vRY7hf^k8{W){<4lR^WyRGPJlR zaKkKqBlJUaCB?~_UwnJ^z5OdW~OfZ4{?1;qGf-kOA~Q7Qei@h~7P+sM#& znJrfhjAz)s9q)4&ACEiu_#HIlj_->`{`dIrXB;B^ zfH|Lb=;ODAb7$_cs~3HD!1xDG@1A>XlTYD$lZ<}f^?p}FEHl)*pAWpm!Am80t<1BY ztU}f)7l+P{c#b}=*p?n%j$gMHzpkmX-L7-X$?9})qdIG{ttZVMld;q}&Z#q$kzD6b zE;4Zb$I0q+=tXs|BWIS*K5%Krz-gt_ne|mu=bb03)1kR-?6+`f&eT}xAOY;j%0^P+8E3>Wg`Zl1G-qxDY78Ts6fHeeIu zk4;&(+1%T@O}|HzW%A)w$!pVV>5JAKv>r3S&)PKe8?8+jdDd*To@?>1o1d8jeAKU? zo4(cG^XPA(-Cx!~lKqfn_!b|;4>=h>fiOm z$TJpOqsS$#dql8L(>`Kd}5DR4}2;81=Z1II8M&$F;;+!z4u z-4~wSf8F>-FMHR=48DP5Z{)ndHi=3hExGCSX#>^crdwsD-|7yJYlS9*Dt)!cNu)l8v9{l=8 zteV2`D8Y*UivyoxF5G$HGG|Ws*auy*dwO5%bad3Qa58T{;=r!;0WWWFf4>Lz*B#is z@ZZ%7e(S++4fySbANrpR{Oe5qhyLNjI?hYMrY|5D;yPqkd|27j>=)>LZOy^;ODXU! zb>Nl#;HAwH53YNgUye#yk1_lKz6-thW-fg?@VayG_h+8k+RUZkUG{*xHdDRH(HlE# zdRddwhZ#;E{^s@}Zu9wi56<278kb(?_k!>1!FOc}zS}=Q-oRT`@K!t!7|kBT#Ve3K zD_CQxvdFPg;oP&vQey?2IB6Ts8&cpba^Ms`y||v`!F9w#8(#X*+|Qd|QTW~qzR}%1 z^nst?x4`?p<8yd_q3e6d*c9OzzK6Z8?_rDj^#to<<0kj4k1;+j?Z1iLV8(!Q@;#jC zj)9}Qzmn3ogPk_d{<*tvek1dJo-z0@-gV>O=(8SsP5rqZeO8G+>!x>nA$JPSvdOID z0jImx=g`sntDXK~za6*M=jqEcZeMt|9NzADdte>-li5BcS+^*Md?rS$PvP9GId zWsjfT$5|e|rg$@roBPl0uPvXF<>zto3I4uB{oO&_5_8hE%t>dN`6qGD*dnu>xv6=E zouas2?;O?7ea~J_n+EsRC(EZArw`roX_(C`A19ye_=jZpFGC-OQuN^&g8!LNu#!2j zR~P+f3LHOl;E?|H^1?EYPV}z-zsS7O>(4Uu&s=GnY)I_AE07tcy;|EQS(VaWsngye zw>@wzo5V*fp{rBg;GH{OAJ<+^N_+pB(%#vhpuNsAd;R3aFQ||C-8NoiA^Xu-^JuBH z*wY1#FJVtxoyFc9?bFWUtQf`4WRp`^Ir?*$yX7|CP3~gF=SOE?dz-VzeT_9%@n4$j z$RlD|b(MqB*XX>Ksmzm&9{h56E^&&HD#}d7t|uRq=5IxLf4E=yWrktvDK3I<;Sc+a za_u$!*I&Tz6_nB1EO5B*ujhFb--OmC;uRt6|C(1@_@9Cn3!!@!J!{qwt9A&ey6RTon-}Qd0xkrv*8s zoX|QK;o)t!-#-t(U6#+s`GHy3-*>Lmnd;4#TZ#6WAsSZP3oqISu05(#6zfU5 zQQ9>4rA_6qX_*9msaNIN@KGIL{yGp`>+CtjbUtEah@+dz?6sRlV!{q$^GxM@BEjy~ z!`?*2crg~_srIy`bH{WhSngY0)eZEJ=yYk|$FN=43 z>`(b^n!ykA=B5g(pd>R6n4AGzjC9ePI>$AJ>aGtS# znmy7gAItTdzP`KrjpW%#o{g}|&*QqEzu)fu=kV+to}F!#pU?Gq{{FiMoX4~Ccy^Xm zK91`f`~!C9U%)f`^z7v+zkuu2{`}noC-Q6}&xTp$7jk`{|FqqwUBt7Ccs3NehxgwY zVKu!u%xXGZY&9L3WHoh8u$tZ;XEnVu)@l-Nhw}Xce*bQGtx5d)E^_23eDWSVa|~IM zKqmeJnfMX=59M2mBKP#&e0W3a9+lRBI%`f%exc9W&9k~uKe#J@6Zj-Px$d!V+>?K< zzt8Sp5kGwXSHk&K)_~ow5J!CeHR1f1eFJuX%h$K={2zw%)xUB6zIBVfxjKKRmA`u* zbuRkK>imm+`MVeS`qeGEW_7;$`;ITa?!F)1m)~X$-2INl^*8U!U*H?K`$k`8-F;uV zFaI#t1O5KG`>we!Ka1;f&Jxx4cXNH8k88f~@7FhZ=KE6W8R!d`?{{+jXX1-`>d!FW ztDb>Q{Z;xN_*K8%F4x`l=bG<93*XrFUrgCQ1HZnv+vS??NAdguUw`xc%jTQxZuoC> z;D3zgTYdC}@6QM33;cb|_cwCA+Hd2h6kI8u^KEhhXise?`wZV;%#3au3*RA=)R-Juborn`N8>fRU@YI=-ud9ygw z^fIuMW2EUYupXHZYU)qBo#R4H=lk>P-X0rjTI3&C_YQXba$tT|{E7eY9pI?-TTS?_ znw}MZvX-&~>Aa?jwNz8=75d-qVQDX)-w@gMj1 zoNYDr8O}YtHwv5ir=zW=z9YGZ@1`>+xc5s|Q@?Y#hvzh>ssFOo)c-v0wJwGaBRt+} z8gK#k@Y*Ky$?C6IP5BeKhtG(=C|~|HtI2l6_yEOyvfiNUzFccv zM%TG|j&EJpSzK2-&(paMIoE!!3!UpO#rP51tnWY2wf50)oiMR~cKt`WUMC*q`P=4u zyZ$5Q8~gh=%yawugXY?P-o~|=t5CLC&mH)qx_03IAFf^aU)OU7{=ahV!v9}fyYRot zwG02B^t}WBOS*R8e^J-?7X|Z9u3h+dnD1@)x0!EjIDcoJ+u#4jT-(o|;@X9OE7$Vp zL{6f!q^o}VrrJigoGrmS@Bg~;lN6W=z!f7Tw( zf!veTa`V2d4_B_lMyV?FJLbmP~1qdJI$n%$2uV~MGhR@n_7JmmhTRE5f zuGa!b2jwQS&%@M*oG<#QtDy}!(T*%{qh38fKz#=(-$7f4XyXmqeUoxgoym?au+NO_ zOMZ?#Y@8gE7quWgv*TiTE&Gk7`-Fo4e0eQ6n8DwnK+c{%;Nh1a-o5f}@X)98mVM9W zWp&iTi*KOg+mT@%=&FO*dk3)hcI9Q6Gidr8Sh8=^hj*>Ki+v`K@l1Q*?e=rnPpvaH z`_O)7;}LS0v|&?3LfFK>tT=CEP`Ppj#zWRCZR}aeqW_s6-m$WszOYmQ*|7F+#0Uc{a`l5Jm)(sdvEI*WPXIL^~|D>9{_L+2aZUspSeyRbVnYGwb1B1Nf${x3 zao5VL>8Jhn2558<^s8})54_*D)j`v1py^4_^lE7OUg)Ko?`!!M8fu1?YDX4t#x~_dMX! zdFMHee}{L~_iV;NYmbGu_|_Z%2cqQw^Wf3&eg}QNj^9I!bsu;@JopCvuVK7n^hRjQl+U{}m7D*KrrJx)Yg` zKmUfO*$BtE%L6;^A`a$f%*_WazVYcr%Lg?+;m=>W=vIwmen%NH`>2(_=e@w7J&PEl zMISY+T;%8cJ;pSE%pOEvub{7;$Y-s!9!74zgZzHCj2tD%?~fa+h2S9y{pj56V&vl} z?4I^Z!2`G)Ie*^M5l3!K$Nm|;xbo?&WtlFeHSpcap+IuI@^q^ zKWSWL!*!1-GFUos9B^x_7gyv9p&Mr)AnUj=63Xip528Uc$oc+=2@QoY??RDr8{0Pqj9fd&zM)d?EJoDe$yIv z^Lx|H|N8Xli~sfM!GXcM2QMD~^j{b&;d}=3(T&j9Sa6}a)0Y+(K5YR{0kpdEP*?d+ zd0s$ljpnUSQ%@8c*=c^W8dd)j{7IMn$~?=3hXytNUeCz6r@Uo5%=JL7vl|~V*Zs}) zMy|K=r{}*h&&8`5jZZn>{DK%{6uWlIv5E{oXT*qzA4&^znK?b7#r7 zgYfRH9{Z$ohn@d-6ZuQM`IF^eiZ8Gd`?1Bp0nP1({wsVL2cyv0!KGR3lX&FS3g3{9 zQfTVVf!5ZXNY|&1O`-M^nR%U?p*wJ2|5N#t@ z;H!W9gS994R52SdcvN*X!&9oGm3G_UKglNP{~UN@2E0+@vK=M4$_ zSc}&j*vPt^UUJOsu-D|>I%ZSHc6{YNVgR{miUSf0Jxbn}-7K&h>*>+l9<5BFQjtQXzvG(B(`hI}EA1X$d zO#(;YKzY<#z(E^0kl*V~WK)DZHEwzNLXDl(3%;tMfj=_$nGs#Q?@@GNG4wJUU(x_@ zXnd0B1Nja$Hf_kZ7r>W0KJM79VtnjaJ12I?!Jqo@Im#hhQ`a6dYqX*V$yUkLcmZd1A)^!nr1e_K zr$54H+M^nKmVKndLYygOZQWo^n?Qcp%`4ca+X6pp-%o^J=?D3R=iGR#p_w{bz+sd+ zmy;J-zPS)S(g^$&6;Humial?J_gdh=R(P+i+9G!#{C9_yI9P{`buac-ZCcRIH5wpS zxi@dLo!2B5FJ&LQH9@*T`4qb009N%USb3~ra{th(wR5b_X7;s9uB}iGuxDAHVBdR$ z@zvRTspZB{t`Xbp8Qv)lsEU58%u~8Yb~QtDYw;OqO{9vohdC>JudE>cjdpIpk5pd0 z)Mu~TP=jg1NIo!Mv+O!9Mdt!RN_^+ZHD`U9~TG zaG@{Qag#52Xo)ZQ#v)&^_jo9=4ScSHj-s5AJ``Fig_cA|(V65E6aDf0 z)kW+*=n_qFPZ{?2CSq4YGZpYXbhakT&IuqIw%3{Z8eH~G4<-J^vYzbA^UqP|z#Qv7 z+J04an)<1$ne*9Oo*mc3&~{oj^g_Cqs?vGTy6dQTM&;rE-+ z@tcpL3%_G^K7t==|F_7Gt6%PCO=F))_OuDJt%>8m1fKoCru@YFeFYtFvd8FUU+C4o zS(X{6|8(o2d^@!Ir|H%!UFrCqu!&SBV^e-1xZVGK{7ZWF1NPtW?5EW0txxNb`{!Go zCF#EMvwYJgTus~h#%?>!w0)Si-=ys?rCAfaxKljw72wXroBSt|Lz3Tj-^93cuY7Nk z!Csu*bsci+Q{Yg27rxMEtQTm{f!0;h8~0y*tbsmmjXrFdd7CTOuMG6i*m%D+a5_9Z z4;aL+sdOiN6)}JG){AX_Urh#l4^2hV*>eQ#4LPUgRbsPNR$FP{j_;vE@j?-FRRkZ1 zF0#Q-6dE=3!+k$+rLxLpAY7@;170}{P9*>0JK$C91s6v?@z4(FoiauqBg@X#nwh8X z+n`NLGVug>J;&4EcbN~17R5Uc373~yogrfU+a3)iy0{iSwNE4WBJ?y0*{Eltr+2|! z*Z1&8g7>bgtWF=l;>8irOBZrf`vBX-qx7*q{pgy7hCi6^h>dl4R=8?i&_f50gO?Juqp{)Lh#!hhk-NxEBP%Iq#*;b=c^60K z%thCF>0Gi%vcx+McQNm>#yR;80=9f}+vrO@z_nF$AetzIev~^y{8#&9=*6LtVLY$m zc{4DGXQR(TAJ}IR2d1Am-@33wu(_hoO8*BsmN9n9nZM?ScN?IQ3B+;Mmxj*lj%W7D zT`$~iKk)R?!I>*>)yJ9iD@6WTZ~0beNc1Ec+64`DVe^ZI^h`ALU1&(-DH_`Ep&{1P zSWhkJXl49&dT3}rG*mSG#5AOGE)8j|Q+0?ATdCt3hlce2lhDrMtW%?%%RRJH2<^CI z`U~);y?pN2XbkTYE^E;#@SAwg*fWex4LEV-P(SMM;{OiHoQVEvyki61xN^2P`a6IP zZWSbtlk|bkh!8Jb3@=sq(mK7c90F%v`Emg`iGWYZz;)Pa5p-)Mzk*$IE&^|IZ)_v+ zthXO$Q8q+=fsx& z+>Jq}k^^43`>Pum50A`^BMXx3->J4-itRz}mN9PJOLoW(en4gSAhRjs%3rl9KloZ~ zYso-2c3wK@57)oj5XzuGe4{dg&E@GRuqoEZ3)@QScj0kus5tE#9^VBl#mVs8YWkx1 ze%AGifn!%F@qSewdym`(`!|FWf{yP zDXTNibf$U!&zyK?M@Dtyfqr<$H=^qHK@|vS0F2_0*_6;1yke-O&+I zc+7>-+mE>(SkI&UT4I4rTkiN%&kyIqgUoTpvYMX#Q7S5=@z()>d%HK)(YSy>fAGY%rXx(bw=dAH# zDpGJjUEc8;#``$^4B&&RPFwO;4Rsx)?}zB~B;bjy1+U}4;aDGhiwxnpWJnzPJe|2{ zA@eiI{!!@PQQOZ5k75poZX9p!qi2K*eO6)pZNVmCVA{De9VD_HQT z?`|`HK2&Afnz{5{ey2SCB%9p2yw4-!=*w98vKBdjUt~6C>{ZbJ68v%Txy0B{PnT$ES z>^@81S%bnW&&PM;b9k!x*|Gw`~2Qv7ePePuMh zHtSf!0~Y5BAoC;eZxr55W9}xtGCT!udHFF8k2S+%E%faL%8IwNj+Ft;YfVq~r=E2Y z<1rszHTEVxW7(oFa4*|5+hdzvnP%Ij^Bvn%dZP`xKLE_d%)t*}SHiQbP4XRfY4k3u zd>-=}eWN`|cQUVWzZYMcYv@2_4^nnIWySB^I?byKJbh_}-)gWe^_^s`iwknsm^us6 zm%OzO*t~f94ew&B!TShsI}ALDXKCBc-5A<(OmmrsdG{#e@^DFF1vUY8Nxe5upZssW zOOSc!ibC{D0d~6ZR8US14sfFT?cB@0D!_KPSl=qZCnq`R!gv~RB+HA?mcP;VXDt(c zemF(;IcFCfTzd*KVZ*7*gve^vDWS>e2xxU!N#d*Yy`u`5*MZDygD!a{yI-;|!Z-i- zf1$5GNbPF_ggUL82d!Hrucaxb`9ja_hWNn#2*@FDWH?80_vw-#^NX)RgB{BS{r?+&8_ z+g97SQBDKb9+eJs>+(Kt9fxoG8T{N&!DG;bm22zrEY*#VyTI|oW#fk{#&06IqG#LS zjS0xG0{lvnE3#oES41}>kt+qr2KhX)9Jx|}FK*V=R=M$)@QvmH#$V!mZ|1sO>s$tv zl}s8**+-ajcMD76Bb<8R5C`puo>#M=F z{7JjO^+s_0EVyp5Za27Ytt&}fNLk@oHnebizNaql^D#UZes&_G9%BBac@_STdig*4 z^3IMCmTb#t{K~&DKYJ>aaA9g4hkkiRI>q*tX{=P&3m*Hi9i1dUTg!fImdhDWW0%_X z?Us#qIl5{;>rsZb1Moz;@oVZl;5V6n$@W$K@;9{H!MaB-ILJiiqR(7AbY2>BUfKK1 zmn)g?Mwu^*cJ+%4ogjaN@L=Y^e52=jHk)rHOU#^lD)r4ozAy(MdBc6~H%2E=rZ&eK zf1s@-F*-dIyjJCyOMipo=13}gs!;K$hdFm;Zk&Ma`I^I7_<&TgD# zHm*pivt+-k_d0spl~GI|3eMKMcT!<(6;d z+cw&6=ld4y!e-fpQ+sIIYrk~>v(}F7HRasK(0uF_#|Dg2HbU9hYP09#N%4(%N%~g2 z&3WMV+K}_TzN>=A^xe7oPPPy>nmvCBZFy32-Gx5lw18>hDcVBVK*&VmAwyemG#ppw zI@LLsIu}sq+*7O*8!F0rrur$EWk<{A1@`f>?WWLV>@fU(1b%P6iQN9o<%)l3^WLx0*|Vc@#6Gp-L;5!U4|YzsUXcG1U>^29zsSST|3W{zh}TH!=S}o;3H`k36#BX3)cdJeu_V9K z+swP(hmPYX_B-A99&0)+$$lrD$Js($?@(g$wkd|Jrf)dLepZj)sXo>36fyB|gTjZ- zIojZs`L9zfv)@zZ1^PSCCEcXHc$#Z&G#Co0!)e7PN-a=$!LxkryL_ax;M z%Tdc7`)inUtwnDvBWCj&<^gl@OI2_$TT}L-Y&-NYa{}2=TBpx!{KmD!;l&xFD@BJT zcI-+Q_L$@ddhF~EGsnAY7+yV8XwLN`&k(Ri`awGtz{b4FJ*RLz{NtWGgZ{ZNP8$Jy zbaCot?TWk2j^d|hUuWcU(E$Cu z9NJ;tyz?YJ3P1IUE`_(9%we^5ZsA9u{=KE4f|ND<3_A`@dBJMP=YB7AS7w>DE5W6h zlGtmZ#1%i8b*wC)m<;wqPcnPO!;v!P1+Uv{nlG_uf?PP@1e(V_i0@DW!<7^fNFaVlrrIrfuyA`=^`4I4^x>~FKK6~mq}`-QMKS|-3ZmtxvWA5D;pRYOfHGAtC%Uo^-@{&4@FS;1mskh6@?qE!? z*_C%FKzo^uSIoC#AZ+}l#z5Hk>*`{^N*DW8$hmuDLm(X4knWuQX?2k63127A=30q; zYoO0vR#SxjsJ-L*8TYePS@Wv)`(zz;@)`u}Hr)BFEiasBnc(&Wd?9`ad<;L7rNk3z zzu0`%Xg=!KbKXS+9*e?bWzf|LT}tT)G zryOV8PqNn%dntDn<&M+s@ZeweC-dM?hX-B$dl8!U?q`)Qh@!J%=oIOe!U5y~F8w9xucW!Y7XP-*(oS=;?N3LN@E^ZTPpl@NbXs-D&*W+QT8*m%Nw0R!o5{H!`2wtNGk?-fK<4=wsVXF*tdyUARbN zFGrwJxKN!c=k5>Eo*!iY)@))5Ml)ZY0S-nHQ^4Bhg89Cc1_uYn*f_{``meYG!8?ZU ztMOrNr>`+=J)?uL_w1Y~T5lp=WahC3H)o0QYZjnWhoDmjV>_6&OvR^!n5cT?z9=LmT9X{EDQ=gxcJ>7Mod`l3tH z46kfw&xy`;#NOCkY89As)|RK72OQvCRbfH65;~TjN-&%6dGh;|OFwvaj;D>Usvn#m zDtSa3^+o@k-%A@O>BqWW`oXh&PaDJ4Mm}=_H{Rmk?X#1U#$($_+KBYh2G9P{)-xWt zw6VTNK5j00x|e>0Y+NmK&iO@;nzKB8jCoOILAcNvb2HxDYwV-6;nf?W%@zN1v>|o> zwaEv7F7wi(Yv0AlD^@rA-G)NsLmXbJL|-+-)3@=voH_3-{tC#wQv^@`>>B0?@+i0JutU~>Cm$DpP+UI&a8>km<2EMhJ%7)$xBAf`<|biwI^-&1V|FRbG{ zu>REptHnQ8AKgVPzc>F+0rt>r11I}bzkvR!oDg0{Zv7hauNM#Zbv^?A6<0Tn-y+M} zgU?`(|AXZ#cfg-jS6u|Z`RfesoSYoWL;IcO?8(FLQe>UpeRg1o@2$xLkIQxaFK$ex zQ+_-&K9n2bFYU+jXz_DonLPLc#Wy& ze4c9hS!*S_7J&=R&ljRw7cjnc;OJh1n|iC}tKt21;Dm3Yj6-YzZ7if;;KAM_8DPm1 z-})l@&6v5q3Z2>5awT*23i=Pdjlllt!XBRmpG3iLGx*hbXbf8CG9Fc?J^T-xbzVn1 z_l6Qp(0dK}IMW=wE9Y7ae8$0H4ft=SP0^Waf60cs20B}Y?AF*XFI3Da=YO^yZNOGf z>=?=TP)C$HV$|`wZ?Oh74mhiTb1wDrtxX5`7^pi6PU7Gs22R{Q$luV#d{*+$@R6Y# zl?ya(QhnUJYq+Ab)(ZND&&H;+@!fq}PT%5Vkz3SNnZw?r8Q@+tiA;)hai+D~XX=x` zB?dep`dSN5xqiAi^tFV(iZ&$WOnnx* z#PS;*>ec(T)GOSkQMbl6O?c#9bx)&S_glq&M=qy-&^qTAB&LA>+bA2KVf!Ivlcb{$ zbgwvpAZ1Pa*5|_)yX}XpUfWkJMS%8IhiRXCwLg+NqFte&FJuMh4@H(S7h5)%vrE9` zv*0o&x`R%qShw9D5&bRD`u*+qN1?;Eg(3DF*)cqiK#z*E2_5VzSB#CNU+8oS&!2@( z*D+T#IXl3i_D%_o^BG^|{%fY*7Kg6C&iA{roOnUzuhS^kN?iQ@ORUZ;@-yvc{{A9! z+WnL5c(?u2IMamt$EYt}M_u=Z5?68-VGH=B&BX1Duj?ZeEw6WI`2mdqaJ09uwlEw# z^1Y8SRlL5&S#n9VYwO#9@sTKQk@%kS{hBYJXLKKxPr_;UF?@5U+U{=JZ5eiI?Yi|J zK<=Gt{adL2kEdAwetaw7r5v6@UX1DHsmGQfFOaD|aZ&!BQ4O|bODqPIZqTt)@|Nr>}QI4?}kwp*!WV9Ey$e{Gp}$I4|Z{YkzXI@m#o{CHwq)p9_~_=Sr6=#`hbmjy6oL z(Okr844L(#q2a5}hNgHYomw#<*Q38foCk9S`;?cbp|6KbJA2aRs*t4a;R|b5OX$!wZ;x=;WHs@Q3 zQtScYNA_z-av%6Zw%p$^-`l zgSYLmv1MIkoRObfjXiZK<(ziiIlcGWcJ#evV$fNu!*3M9_DF+no6*%K-kkN00AmtI zZ>xR5AsD_24AOU6$B@00+NXQy(>D5)*!>WtP&=pl5Oa#ko$Yskm`+f3-r z#ixUxn}tto4cP_B_^dYglx~wwi&3BU2R7dU4Y6M@L{9L?Sk=oI7+R{{5}CohXo=@# zvMacc>YNLnMS#WFL%`zJvxs`u3IBX=+E#y@GODMw*ombn(^^SJ$KCICm9K;Dy*NJ6 z^@;fQ?|<)|Z@B zBKu9OQe_EA80-;IjNXD zBNKLHn)!-!+B(?|8pB0=OU_mClna;lTlrNaQ;knx0Wt}>KfIE1%zp#KQTu8n8UutT>W+83HB3561Rv2WS>q4d58`ZD^{CH z9-_4H5!T>iwVB7A<=urnB)>$AU-eo2j}Hs5?=Q5a1=}b_zkm2m_-+a9-o&>RE-mzo z?X8S$gtIT+yq9`bQ@#NiyM}q@+EAh&_-NgL-S9AW!=uRE$3uyOPY|d06!Biq5KkSS z5B3Jx


(h$f1l zhtRv36WsB3zh~~)qc0p<{I=k|oc=6KrrjdPHx>b&D6mL}#wpVb{r-S+I4Y$tF30|Q z%h4AL@yj}8>Rf%{(1UlpPbBkS`fKkzJIImwuKk_rPp&liiAIG--obo?e8E2K=@PAt zoH5AwBk=d{b=F_%OW~ywY;b(>Jj)JyeDU=~g@xfl-pN0JFTTE%d(B@yBId$|zh~~S z9$5d|ql+y5x$w$piJNX@oKN;V} zp1=pSE1zS}=nDMFwdBwi@5_(8W2x~Y)0ZSa^5)+B$p3w>&A;lC?NfJr431xUUCj0? z|CHY+Z%RIE{ny?fAELPxzO@3r8A42I=px1xIyC2O zj}FI(ySVypI~ETA7HgZ?;Zo*W56B0jwYY7=4P9uQLFBwI1I2OA5ctC&t9PzOH#! zY%1;V=bVgT$jup6!qPeF$Sl>1uGsAE%bRSk18iQwI>2&xgLQzt-hFwjzi-yQybZjQ z?^1p%vyR2H^T4O{MS$mSIoa>=arA#I_`sIhc#?Gh=`Gvm-&0=qf^nmKd-w=L%>A38 zffd^dfKPe^I^Y{0e>TtB__Itr+<yBX3wnl#>zjA92scFfp7m`=FSDWs_M@F=f3jbAt+j`L6Z;= z5v^|_gKcgSEK;;|gqE4n7D7NkYAt12v04*IP$6~Xs%<*jX~J8swPh%dQk_W0ON6B|mML-{XKAI3|C2DR7$)+*SdD&8)Ml zCJ&*GJcK>?N!6d!1Y341b|TsA!q9t9`({lO>k7>JU*VVN!Hu=a4=|to3NqPGOLdw& zDB#VQXCQD9JP-3c z-1Yb1u**-k;$!um2d-F>Z2L{{Px-3#+kYKC)JfQEVZ{SOorj^(DZH1hRRRs#`r7Eo z#7cah6WMbsZ2Ys^j*qNp(byAX zhx=>r@%E{s0ofzDupVEIV1FldD9&iUy~OG&T0Z)O{}TF&4imUM+%pdK`DgUg?ej|f zP+@aU&!-}T+&*94PoFPx`W&|VJTtA&3BwCK^x*I|FYkE$x4pb$gDEd*X3Miy>!&?*?m*-SxQor%0FK@SUFDMRtr!-xY;w}3ibrCM?=R?N;ehxa`Y<|LygY25GhCHrWJij%AkfMIokQ_tA^dWV zuQ1L&wfU8kBa@deFnNrkaUW+)h0sqgq-+szTKp-UY2&MDJ^HOzTRD^b$wdoKY_c+I zw$K;(j5E##pM&K7DSih3a%o{7^S7A!%VqxL2k|@e_d{}P1V6W&+a~AWbX{!P9Mrk` z?>P5{HkYtB|B^E6z$J^9oEXnJ0TV*uuJPIAFgb1JJ8dfeTCo+i74){0u6c~_Wo#q)6Xk=7&A`6; zOy51)T)rv(d>-qC{bS(Q@Vqc{a9{a}+E(NsdYp+j#bz)kGvRGT=>5n)tpRPDYIUup zPQ}KIKd}_MU@Gt7`#L+p$6A)=ImLx#tfds3G%uPTcW&A*|7hpt`n0)GTi$sY&lyFn zz%B*s+JN0ab2QpBM=oA?=ScXF;oyTEpUsF~NZaDG_L?Z2>k!_46E@Zq_+Pd4DfFmd z=emomS;`xc|18WJ4$;~Q=9j%%yT+RN4Ruaq&&DLOp@4ZUXI{&h*UClZC!{aC^LmwF z4*$R6rW3W=AIjaoaUJyMos0Nv8~#4v|H};4QqtaN=D2`1%V}>8`?ggT(5F0TmU%kP zxLkbp($M(PAMHH-f&3LO4QY-vS1$c5X8rHqYMx%8?euv{0!QyW#Xo-PJgs7mG*@HH zJOw*fv&VmOa^HEXXP!2A=4szF=4mo?c;kD|(_PLy)dK(d1I*KI^j~+L9vWbt785V| zD0$t|w0TOWr>*$A|5o#Kb3gNRH}iCKLq?=IiCtpkThPe2ZuTr_&PLy_yv)#98M@Y3 z){Pva>``bk=l<}C$@g0)a{Zysr&;%KED(yQo>W1W$9H1C6K%q4cch?|b0;}AU{;ivkBMT%)hCA;o?f2c} z*lgQmvz@aX9}DY9f6Q~ef7-kcM4vbJ!RXes^4U)L4Nm!WPI>$L zQ1su@%D;=fuKH`8^55b5nE5>@`iS#vt#g&G|B(5u^9VDeYkHoCq7U#}bMaaZ{p?4V z@am0of8DD$e*ImKzK(3}FCJT*3GYV7&xdE_At#N^;EBgxLVX`J9_z-BR-1TdZ~Vx_ z^^jBYt4g2Z9JpDs6QpZ3fnR-W6DJlSyI8Vb_Niq5=in!TMFO2n@g3zk)j8`Bs#u3m zf$pO{Ui7SyI=>9g)nOxPkC!^-XYfq^d&#W|`rxiX(0Zo2MbKu9JkCB?%6EUSaz`j9+pU1Idl_d6 z9c42#y9XO*3v{~ySyut9M&pB$&8~H0vb*YKM_ZTSv$6L|N#2V+#kcFn^y+^-_LM_w z>!CH-QWI=E?uRZb(Jxn^C8iUsV=+^@DT4tJ&KJeLOw^x*P|6;`iHG{Z=hL+_mo7*_Ggk^t!oMTV|cB z@=RCO+cxpP{E_pGz!l@$z&E0N!DMc@D+qi;z*)9c9rn&v{FED)-*#e8WiVO=eI@V< zY99#U96l!GkDF5%h@KDqH0MwkxEK>2<3~%3w7LTH6`OCZg}vzJQ(X86`GF%1jVkAF zt(*H%MV}J|_%1xQOOpF}^tbQ)IzBAuwa2gJ+VSAKg zxZwI%#&hOMfBwPK;+?x4|0KLo>vocY1N_1lVy|GvQje~l%RZ51@DatAuse@xZ*=ig z*#aiNRxsrL6>Oefy0u}w5Fb>Gd5<&i^7ocbMK7dmGkhdP{l|%s#+b{vGq17%UD%1g ziC4tnqu*jb6kY$o)qU^vS-En}3%4ixf!j|!G$i;P+imABEGBQ!d)`gFoc=C6P5HCi z$qAmrIA;Pw;HX^MZSXB4f9SW7Kk#5z{;Wd&G^EL&8peK#{DC)*MgBA(LsG1BL(eh$ zO-cU5(Ls&;p-hkbampL{!*AtF>Rau}{Sx0U@W`JSb7}Tgnd!(MuCtlLzhDn*O`a=% z+;U0YYtCa_Z_->dE}ac5-mTbQQt}tvk?br(cFJe2^}{Nk!VZuZ2kE30cD@5>-}WkKTxMD`#!Jw`;mPO?*$G5yLuV4W`e=8y8omoy&p+JRGf%p?!3^pSUl-}Ih8ulR{_%;tb+($fOW zV+H5ioua2Xu@Ld$&^PQDNF3jPe&Z;`@e0d`Rg6JS%V$7*<*3#LZbWau23RW_Ksx>= zc&>SekG-CE!WR=mlFuC+2>?gozFUuCH8FU<@(#z~>s$36@e1*t5IiTyzhG{!SC=n5 z6pbNsZcU#HcRZQkmpMQ)6JLu%M+xxtgYfSJG^6-J z9QqR<$9er&44&HP@HhSy*_ne#VHd3|TUOOb!w zm(Fat*q>ZEtDkv&$Rm$ee+2aL$*=!y=wmYQ_*>D3_Lt}b!}p<&#{H-AoOJp)R%)-8 zX&)u|JffFImVu9VohFTxI(eygLL-s~Gx>Ig)y2Bo$E5qYG}5EnAbU(KRB}pq$$jJ> z(NiSfr56}Ik~MzZC%7k`y{()Wb{TRSd^xJK=@LnQ=R%Y033+xBUeJ6ebOB#oMT|lHF*1}o!-*oHwCr_IiujIMA&--!q&58jplPd%daN~&Z-c#0O{CtX|+fl!4$`<5f zhO-w-EBw3_KHmzTZ-vjBd-!_`Je;`ES~qU=3bd`gHrgpap0&?9;`e)VWy|;OY&I`_pPE+ouI}cZZC-6n(w<@2nkNwKL{gSm8n!lCs z*6ZPIE8wkF#y$^q&ck+e`Kfql_i}hBWlx8P-oW_vjf;<}dlh_hN|wKAG<>u9GH?Q0 zoY*~nczf;N9^flItQ5G5-uR6C!q!fj=_yTzm}Re>Xm_dFU(Bg`^WnAF7m{V|-rHS0wK< zqhm#9w7vdZtLrvromY?F%kd$v$A>JP@+-`b?A;{&m+oM66~2`&r8a}aG&g32jIM&u zqsyK9&5rMD1+=yjI+L#A`n}x!D`r!-p*i%ES!&1F0GaSIXcwPJ0c$S3ehcyYZ(u_= z(|#rOx@}1}UI1;&$0okD(($PkQRn;F$^Y}qQ)$)pFF+e6f1sVX)L)04-9w-9Z3Qnv zmqaENp(ChaGSe^eo#~ag!kPGuDamvByQ9IKl(O5%yTYn)|6oIR+so zK3s+!p_p{~_|oIVnT$_;33&RlmH1TiE#T^Ga26a;Za_KxT3^W;Ny%q?JJ*|B0DL{P ziS0R2ei_O97`U7S*UN6SecZYDhRy!2;HYwU)=^fzjyN(Uaf@toe>(if<0JFNaa{PXOoRWf_kh22 zmJs+A0A_X!I27GP4v^%K=G=_~#Tlz&KC+`;Vm$I0Ypt?bOT=?qP6neH?tVQ1M^A%B zKhL}hrvDE=gUM}WJ_W0v2rlpr`5jWZ*eHx$b_8-Pl3?5>77rX-fRon$+WWU4BZ2oS z@Z^5*!sxjPgL-`1GpIb3BDGC-zk2e{Etmmpea#_{paA#v*aa8rwf8N z1{dIMW-SKv=-uaREB$_uzIyv^`b|0cy$UsF^wGs5<*+5-r&>#bjM!0$uPv!OM0{=k z1z!{&^74Tr#L4u`oP%oK1*1DS%gxYw4;%%1_B}VS3`H&H`d8&^@%$uL&6jK(@$NtV z!sY{hhY!2<=|K61!Mu{fJ?w>AdX{~bj*s&P#gkR1i|>uVwaN+``jS8I@4+4KIEG!T zafG)QfBJ-3FY3ywQ7R|?Ej|v;h{p2F8q;x+k0FOEvE|pxzl+?>#n-R`TywwGo@VZv zH|2APuEWNsJ33NRwCA-u%SX zb{QYfOqp=LDI>Uf<%98q!~Y6~gu7$|%msdmV~r;FtKd3#BD7OsS)GfKu|D$XB-^Jf z%0CevZq<|_N8Oxk>b)iozw~*1<%u9~;K)A=oZ^Y1;l>h-kS9)kpGW2YR#%z4GdHheb&o4L`2S)N|KU@s{GGE3=2`oy< zsg&PEV^8F|dX?=<@Qzh9*E0^r@b1t1%HRXgpi6&>Yk1eI-cG*13+vIy{q?{aU2U!M zsKdxi`FGrV@rX|WbMPM>XnbS_xySh#_C8|kv@ZDUp(dAlo&5Ujam07qO31}6rXIJA zeA-y2`Q%-GtarZ~QlN z&n?Wexxa)x!=~~cS!?cxToP%WfsVi$=hm54*OSzd)qX)lxlt)(O%`=zy*nY&Hit6h zrVVl%uZXlRHd^W0s6^zuoZ|>(gX!SecR3H{Ytgo-)#hBIWyjC{G_?Tzu{wat8^I^ysxbmE;kKYr-uCw}qt*XpdC zCB=F+JX~1!bKlZ9{fM#7%#06PO)*;O>xva>Zw&be<(F07ehVOfyzXz8#{dLAfozacGY4*5mMThTZ z{@t^ex3Cwrw?5HA7q_A;51!M5J^70+Cz?>A)Z=i!>q-t{|*$(wu-XT3=Jd;~Qg znjidgmB4zwvu30k`rF7{7=I^lFXNpfYw#tAW_{5O$|-_3h)106S_kRPg1PWU@Ryz3 z2gX%4+!ZJONfEX$I3=4%a!0LcIa54(iD zufSc|oai+wR}Y@fB`;h35HAufH#+eXe8b2-;@oc23qudy#D3Px1HMjsF2CPu_S5Z+?-?B&9$esfyL@|{`Ifou`)!&W@s4Rlw%hI`^Q}+!o<1kw`QCQ#30L2I z%S8qr6EyyJmOgm%^S_Cv_2U{-*E-f6_Nj~c8>p^gc&R=9$>!T#=ofvyWv#dO+b6DB zee*40+Xisp&iE&qZ{zr&`+UouN#1XBKKU;Or#bYDU$Wo(t>nJR z?SQ|dL+%jGiq>5^m%gO^|8^rwhpe=7+PvSF!%wWR70IBDOz?uUYsno47e)6YxElXL zM)W0c(8Lo*C=MOy)Ed+I+6#yF>lckVv2l2y20!0^Z;XEhwuxkNHNFhtv0{j>Uv4RR zPoi)63d`{=h!+@Nhje}9iP{C^d+2Yq@pty_Pa|0?-^5re*t9AOT>@Iv{VLY1&B1rE0Xmc2X5c~Dg!nK0 z*sHU-3_vjz2+mzmA@_FD#CQl0;%*bQrMSj8n zG*F7aZ=U6As#MB7yFW`lFLmLs{P#*=m+5!$9bMYsY6fvH`9(q|9#zc#%FXC#vXPVn8wUrH)9D|$A{ZnczAyZ%q>nNB z_&HA>i-EOhRr#Irr#zXJSc2hq)SK7jNr<&>6FR`EyW_PFCR@kshIgK_B_`SxVz z#K40%_EfUe>Ka2mMrJ~1@@2lM+(NylUFAr&v4=we>!pP+=#)+9>`kGQtJbtoR=MWd zfBh-=t@5ibm7xv z{A{A@nO4^neA8w8i~irZ?Rag0e2J57KC%HHq4I z;fu!U#jCS456Bwf<}mevzJ$0^f8-E!I0znbXq0vAXTX=d|4D7YJnQ`MtGQ$0E3A`i z1Lo%b9Bb)f?puL*tL6llx3lNNA@J!HT8UR1f{dRz)AKy87tr5BS6fS006*cb?8p>2 z+i;P!RC2SLy$W4Bc#~D}$QCQJrkrQP`3||_c^7`971}`#9gw^_RB0J|cc3yY%&+8= z;S<0F{cNP>^n2t(KFq&6*N^dA=M1jl8Zp1E=mT6&;hFHt&%e@_SMH=vS6`e4{L<}3 z>Ci#`HD{8a;^&tFlMwsvZU%o|c4+oN=JzFjZyX+sz74K!2A9k`a7VI5?>1dTemU=7 z=lv#dYctP8&*TQo65QSQExecAWN_QD)wIXLe{hCkGJ`z=ST89%L3}L_KZAAA$0B9q zjVF?d^RXTp7*$oAsJ)N!;$1c!kB)rzto~s#JPjr<(7xn``)A}wso%uU_FcmI+tOg4 z^|!Hy@w2kOSFGGJ_E>lK8Jt%#Y^(HM8-CW=^N^J`K8HA;z~A{0d^vD2z9e{{bbtcO z-$cKgrkt!^6QrzdHwL1G@G<|r;YZ7{1@kSXMm zG-aK9a7}wTetut8jmFid{g#nGm88tvbcXJiw(>A-VPfBjlw_sjUcf$>~$Pw;Pm&+Vd5 zDZV2nefJYJH8(fF$LC5%Wj-X=%Jd%i>pYrlY)SpzylCzuuPk2-&-BXjcKZIZN3JZ^ zJ$$zn`tOGCwo~WJm-pT;=HBp0@K3O70dAXtn{f4zm1*EMpY~h0Z*k!EY4}ttuo4dE z`ZCOZn$o3u=TtGvEPOf{(Q|-Z!ofoq1{#Otxmg=C16VR%)!D*)wgm3k-m+-)B;~;9 zxytHU7Wc*{0Sw(|qC1uG@veYak9a5iYu0EZm;6l&(23SrmciW={Q_V$%?4?BC6TKw7k z+{uS9d$RQABgTNqHuh911s^NG$2{=Y^$E#FIrF}^YY(%>S}(89gx6>BpUwZE9-iME z_~!Oh(if3W$A+7&`=c)*L;an&`y}PNsVkql!utKsKBL!kAGVfOBHOzy z-_o$IU-m5xfHxCWrV?8boa{dATRKAOB06kg z?WooYnApGQaiVxj!6eB8+qTb)vJQ5nrM>!ZEkq7|%l37Y+HfA|xqT+Hy}#<)UBvj{ z_mY*OA0vOlqk3d)IWf}o9F5;#*XCjiu3-GPA+Po}=0$en&)6fmOZnIw=!pI+zvE|4 z*%)vcs6WD~xW>o0&-<1W*Kx*>j?*nK^~LGWYW)1U`rB%wzxDe2TtA=s8lZnc`Z*Tb z+=QR54w)nVK9^@@yfZi&u>G?<-yy$@Y)<(MrNhWq`rU82XXD!C5+lQ1VSGBt5%7zV z7P7k6mpJn;_;E%MM^$V&ha9Ix1t+T5r-j%T?f0$&#$Gdi*xT^kxcREeoeGeDCL6O< zH~}9O@BH>j`DXCH0^ipddpdl6kOrThropGb{i2?spN7`6(B;8Z2>7vi%xg*b{75O| znF4G|m{-~KcFvcJvl-FvV&8b-X5+*8kr(-HH{b1XzWa7sx%7U2HLc&jcKWTk)t@`R z{q=uUTL15M`%hk@xBrT}ruYB0w0@cXhcD>Ue|>jrTDkQ8hflNrY!ZWg(HB2I@9BS8 z4^53ar4N(S`Y=#muShGG-q&-|`ug9%+J)~v=0ClEmwNiQ0(v=RzWad}c3&U7Nbkd& zd-~FGte^Ql=GYrs+508k-be*Pg~=zN%}1fpT4?WKd>|&L=E}%4@?m1={P9QODG$pQ zw(U33Z#lZ1p2v7@Y)Y=mI~HvX{RFl%d%nmg(+tgzacpPlC}DI2#XUY&e!Nz^Quavl z3F#lmF?>DyCfPPfOD%pq?2wlzFFS$_;s?6%O zPxQ?V&=9f^zbN(zc=06m$s)eb;w-If&eB3Jyr#s7Tgl#&Uh_8jBa$aKKzGx~d%4(` z)zry&D|~}Ge}SJ}d%esHW!EHTc;!%5^xQl6jyC7>o$M0v#+BPvJubc|e^w*&E*s|W zloPv*@laOf7LX&V{P+dr@~88)x$rf`t>(ekWV6fm`=#k0d2@`{$Ot_LjwyJ*VAqNq zP=5n_Cm85=8~S7}Fn9&K6Peq@nea`6POe#Vn7Lcy8)S6Hn}8Mm6<{^g!0HRY>JDJ_ zG_d*+u=CJrv0`%kay&@vPVmw<6uhy|6ze26Rl23dRSMi>7nK6HQs6^e za+|xC-73Y1?=<=KMlRSsQu@rZ`%ItZ-?wA2()+Gw?0jSV=V9>VEXKZy_~wFs#{3m$ z%t>sc>lt?oaDN$GZABNpfw32BzI~aUE2$^t8MB>JAbTM*n$4I~^j+V|-qL!8Hp<2s zZyt3?c1fQ9c!2S`HpT*I(WM9FD?dPgTN&e2@J9P=nsF~t8}`_X=(`=q@I}wyeIjsu z;XLh~2QGaRe98G~9kH04riOcM8!G3o&i!@hZQ!rUeU)<9K|A$(kB8o5I!`LK z@U7a>jHd*hO6!=6KZ7>vdY^n$MYi=TmtK)!?0MQO#+HK8v4<7u-YN z#LJ94F177b(Tw-r#Ko((?b`mejOg|JPA~Uu%B4Shpr2Zrqzzqe__1zVNC^s1Otn#4p zo1`nm$FZIR9%o{)@U&*;QTu{PS7>Ctx@@`TTwmeg2TBT$@OzX4~C55TllET-S z+mPS7`o|&bz#GIDx`)~^8-1%-(;LW-?(?msW$-0E)4b}M;`tF`_I~d5dpB$Of6VvO z(M2xi|7c)v(^pTfU6XAMujyW39h>(tYgXq(*07+nJbnJRUVWH#J8!JGD)N`bcbvE> zK;LUh3X>0)6gEFvQrH5XDXt*@ooxdS!MA=!w4ObjnVZ6RW}q-JI8c}z7AR~U5hzTJ z3>3I6<^O7FXX=!+FeL2DAUTUX`@{3nbt8sbe+u} zjcXX=XMCBF(#4BU+;C=AO)#YKC_mix_uTy^IZN~hA6bof`48!b=BSQ22-A%J^!3F!#i+bVl!ieCa*H&Lg(2GuE(l0Xa2~Ma=&NJhMGCk zxLbhjrzJ~~0duS&ox2%NosW1O*EoC)J)lWrP%JMwG2HbP#&P&6`VTDH1t-40hIVwF zz*TXaI{c!Y2CsviIMW&e}+?x2|bHoqPaSlC+ zACEad^gV0oD~$C}H8cm^9(v4Lx*NZ_WbUDQYiYexHlJr#>)AHj?|0~jl!v!orf2xm zV(1=4LHm5-(Zmx4&vx>qe897)(OQ}mo;BO?wHWy9g}-RXdw*!TZ|NfD;?PMu*156G zI>4Tduhs?87xf$*-2i@IyPkar|6ry1&o}br4d&S?^&R!uW5sV6Q(5lUG4}Lw>Gy}^ zUlfc^;BVwR>11d0Q-At*G4_h~jz{)rk!A16>dr;OTHptrZ3d4HjbU8i(PsRWhvr*L zSM$38-(;BUCUC2PXNqZ8Sj3ST{~q{ibz?~9YIc=dzNYK>$IfmVi~Z{tFEcu82wN@~ z-Nt%wd})On(Z5gWXWBg2YYqa@3Cit6A2^e%e42Ii{b|O(5If-#dR4I2?8Jd4pOLtNY&kQKM%|FJtW2?B-p$ zCx7%sXI;1EbcFJv#zB+l7k`WV(SmEqYy?A6=_GE$O3~^Kk$9qm8Wf7ynJb zoBGS^JOo@%C$DqkUozh_uk)=*j!(79_NlsjO!IlWXFk*OfsgIBi*(A#ImngRsnRE6OTt|+rn4<`&KI=Fvjop7?K01}WyHU{ z>&TYRXYCC1oR7^Gu69YPPYjSqw&I)*u^jq=e3u&WAwgHO;@Fek{eY~%LCo!H` z3ml%b$ob~ue3R>`;~efoj(l{>h*yW4y4+_PtMdQcwx!F5((0BTqIrnT@D;|K{N+?Z zFp_$JF`{Qpk8K@&86a(va_jszjYnw=nbyeo=8duwR1xL`VEKHoVJWV z)YCtWL;g_pdk%W-Q1a~qtd~xfV(VOHb?rgNm5$zut}6XJ5B=QD!)%k#v`@lT9xeq_3-A?X1nb*Ty+{UumhsOZ53Y@TBAXoXv}faaX8UUV(chD&mHs}zpKnI-Omz86%FFK}Uf#s- z+o1ohdAzzG8v@gVM=s^R;Fb}@$ ziD7P#P3?(cZV8+7DPoz-{b1;AnBaFo^p5}PtHXupqpQCuCow%fwd&7~eRsC)bGTl6 zmxOa8>yfn^khvT2-(8m$k1}Og8|p1{Ra%+!eoam5SNeIUvOmZ7)4wmOfAp!m@q)-a z`ZS+DDXwnv?&0&|w+N%h;+FMH3?6S?CtlNc&4*X-Pw!WLTEAX%^j&wqsl^uxX1)0x z^3f^}OMF4|t(*;WZU*?N7;m=d_A=!KXVk=(L3iLs0{@Egf0d7*eAFWN!5!LPy#OE2 zWym~i>Cx~7XtSw`{CDM_x_CG3Ry%*sz#yF0lUp#y3U$^1uM~LIfL%8f8p|M$Pq}$* z?4_an*S)|B{MsR1K+j$I5~i#xPv%0uve{o{+&wa7R=ykUt8~8?Rt;NetzThpkPpDqwfe+3R z?ZWd^rWxLtnn+)fN6NQW|CB%M!c=20d(tqDw(0mS>4WqSUE7(rwjK?ZnBB zAS)B&tga4tNbfj@!@m_L8y3Bn@piyRj!fn|aOe&Ak=9ha!FNYz@QvS&lZ|G~l0iwv zo1|=#@g`?*Wz0ri(oZ8V>5nTf=hM#=_a+C7J}S0q4!S zjZ3*{MkX;1S0;_~j4Q>syklx{#`Gd|kfP6t0{UIrJ2uxBdI4jMmjV;U))R*)u*ccL zIFLQtVG=uk&eWSPvPBE{n7-10?pwGyR*b9`)WDJAhRl^wH2xw+xxa+?hAE7Hh zwvyN7&F>B<#|=Bg4<8DQs(5w2&cLg@AX2rce0d0&UeEj7Mb>u>kVdwVjb=1imcQCKwSuysxijVUbCMK}o)n)#|=BxaLsfqr=7WiK)xS^PC zcXtTckOAwn_mC4G>;U&V!N)oHiOca9YE2h*vVnmg7>xE2+hU$d^bENkAEy8Nw#V_& z+*WL_B@*w-!#}Sa+Mna^8zg&+dW)<vZJl zlH#1mmwn-`J3`?ubj_yM17|dyaq?f*yg?s-=^IwlK+HgVT6N0q8Ua1Uppy=GeET@Y zZ~V~8ZN6{&{4ja)w6Asc(oxiAJN&5wxVvqsUdgH`WW@8Zk6?x$!1;1;l;O4 zIy}+ZS@)l;nV=7YvNWDSomxxLK_6o9#3XqE9~;bmdeoPT49MfW>kFyVg?Z~lcsX<% zrSBc(*s0~kg+6}EH|^SylGoURj-S(S?8jr}>;YHck91Udeg1=t&%a|~abaRfabfaK z?7U^<7v5D|sQrc9w$w(uv1tc6>uT&e)BDr`zN$|h6T>^_FvhW*ftb3B`+oYU{Lgn_urzgI(y;-IZom)XFwym2F-O)bdZN;;^R1Ta00Y*nFa1!;J#JZ0=~9_uWj&_ zc6dui4t65=Egtjo^EQ1E8{)e#-?5MVRbjph^BpjR@3g^p+DC#nInW3=egU*-@h5sb zwj2Moe|YEOJkezD{($Xwf)7b(u@zeEgcjd`7XJ(_9)}jo>CZy?vqZFL=h%uCCEG1% zMl|>|GT@TMb0Ibu0s>8Y}SBS_C^UM(YZsQ)Wkhm2Ev%b|!uR;Fb#wDsGUt zOTSrj1)tHg0`VK@CkW4#A42}=a{SZEmsy9-shCTw)E9a1Yj4*s+jqP+Nq;MXwp~y( z+&Tt-oizxX<%v%`d~?o^e)zRHK74%AxA3osp5K1mjs?vbZm-Fi!?)%=K9@6iujlYO z$?e5Op+6A}yKbn6IViQd=4#zg zePLt;d*~#RI-kJy5q)wZ>HS2&P6hJ9v4lfEa1gA7PQACq_Eh@XK^OPfhHL>uRe# z4bP=d%JzAK@#=Rv#H)6+UEz4_N^}ng~AvKXksV)})DcU0Rl0dMyh&=4|JVQqeB* z9Qx=0*Cj8GZLrv%)EDX4?eoCekxd)et7Z$l^(lDkkKwI9fww*jZ-tk(!V}t{pFVN~ zI+wrH?T5-3oZ7&-p74km^$myz^sNUEoO<9Z@U;&n6G}eBT)6vD3jSNo{xrS$z{)p_ z6#)BjzZkKW?$S=!z01NMHSm!->s3GnhSBMZKbEU0s2!IzN*?!9C| zML)7YYajN34;SUR6v*{8n_O}|fHV~nSVrk(nP-^tw{o@Srh`N3)S zE=PCp(rfnrC450Q*Lf`lUsl_Cu5^+(azrtgIsfK;X6H1;#Rsk`E}Zjm_R`{eqhFkP zsiR-mc<;{LM~Q20ogWoGh@UHN^CfUXxN+;3?0-Q{dy;TdobBFJ9i=9o+h9*4gfDJTI~vUuDml9uJTI%~5;( zPae9W`%OoZz0lDG+OVIne~j+u)m^;u+{j+&QoQ?E627tlz7jaqR*6w(ycNFE314{w zzVc`I%5nG#a=>k?9lg_A--qGh2cG-jw7Jnkn_l|diq7iYpGxrmAh19DY_Z8Dd?;vL zE&CK5>)3kuvgR-&%W8Unbvdop$0995GMWaOpK17#b6KAyy|e@PD37VXc^YVb`ta(s zdFt#lPc}b2t$Bh*yz?Yo=wb3aKdcTk|3l0f%4bjhlh+>GYW5WCwa2s`E`_aP&Tq!< zGW5V6qc7tt*1n6{M_)1K4r@?NatXdQbV|2O>(nrIO*TG-EOfxZ;UgjU68o<5pkn3HC6t?-oI$(v)9l+tU#F47*FyRDM4jX8>r`9vv1%=_ z*_)0&w4$%8J*{m}E_4jqo)@&PeGpt+ZDrQ528DGPSxswLhp_}WjJJr#vIlAVW%Lt0 zr4xJ&!$+*f{D==e;s+we8A0Z&xVw8u@HtNh9G+j@0-Y~@GZ>)wv5;U7@WF)Qj}^cZ;ftN6UR}$fwE}qJIC$cF`5(Z!?%h`8-2&@?c&wK{O-tiX z;wvANM|t&q{9xP4UpSw=KP$FB(SD+qJstl;etz*~U~l%Gldao<-1(?^y>t!v1Lgmi z{(*Jg?5Mt-`%d?)j;D$XFMg-{8l&sdPYjBYA4ZN82`^4(e$a_s|Ip(OzV!HOiK%@Q z{@PRK=%R6vW^}JBnIp-DN_?pDTe`j#<-*FB6Bn(|4tL#4PHap*VQ^Z0x;pqo3Gt&2 z-c4UTe^Led-a2^A?fA51!*^45EIg+Iolnm@GNs$w&vW%0AK^OMtkIlV#KzDa+Tpu5 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

w_Plji+hD!`}3wgJX$#wByIges|*gjY-B|&A2B4 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

9Dyn-}n9f3&!*P!oC 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

?zc^D!kAPi62M8j6+A~o@bpgR_GiPx=yl(D54;B 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

y8kc*@t&{MNO@>qBRIwvATZ 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'%$2WfRm4x+hu?7sfB{p%A( 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 b@mY6U@Hp{B6#E zm%?MtAAr^b>o~fk)4hFPB^$pP%8VB62El=|J6uY+@P|Na;i~^~c8;T&chf!U2ouGC zXSTPiynWLfDPFJfb}eg9gOQMoN5*p&GUhg*Gp;XX3HDnaWN-FY4>E_rS9V~iI2vjJ z97nQWQVsshIR2SWCfC;~bV2?Q14wSL7A$5tXHadJk3V6>F_dWwOmA`qUG^ccx7kW$ zmZddbAv-Jdzww^_AZj{gBrO-wNbCVXUrF$YQ({|@_LJ^Y5uuadp3{PS**x>99OtMV zNIMn3p|BN{R`i0t$}tI&z^2SVp&l7G(|~|nnNZLpEQJR5uu*r=)tmc^y(AMGhAq*O z(NWX5=vpz2cT>umGE{N>Ho!8xtY8aQIHmN=XPr#^(dWqt8P+-4bPze1vz-U$qR1hz z76=61 zjfYaE2sHN|VYvACB>Mb^qsv%Cnw;WJZmKI1&drnnT=J}dSahpBmC73C_7e>BjP5UxEr6_qWkg1)$sXY%5M*vBliVG7@MTaa&T6q8`tfLYPhL1bcTyEXt}j#h3nDwi7EGG`U)0)I$3 zrxIBzmH(SuBV>A|9Xac3`bR_y(^oMar1oO!!`^Bn~PaoqvpHxtVDsksPPxz_J_-JWiMWjS+dx+n+sly5p6w&@MA~ z5$Y6roq;2mIB5hy&_Ps|cQp)~V2fh54yQqu%^YSf!KrGEjpykJTjQ}*mrd)@aY_$M zz^kOvqihuqbnYM?N63`D%dTcs0V&_ca?1LNqVX&O;VKL(pbR*hkxX*8&NFTr9${bR zHVa9+LKLh&svcE_DVLH4lfG~h-CC#O3DX=Aw|%?xDP4U1phoD z?a3C)2S_zc^2iuIhPTsFg0VwQUf3KzWSe5!9A8)1L?MI9;P(wF^I2${_S~}3^Hs3wBpvA9Y4MCwI~1T)^KjKaupXz$)a&W zmoC31)hnIADjp{s(&X+CA%|m}ZQn3Hy-uiHVwWfG3aVP6@c=Wr6%E&#<>Y@K7f%Sh zNwshgqy2vSCpaALz5uvjMoX+ssvS@lL_mvm$HwZp(Bc^F9l{GWK0lm{!Ra^jNMK>> zi}oAraP~~W{+boe2S{*KK?y*YfpWI?!sfuslUMT^@37vmKtF`)IL4Bb*a)Unpw$Oo z5?)dZxX{4iBzbFvYa#L{MMa4?i8+QjmFiML>o7aR!^|+re5MOr!`gc#O@8m~MLdHF zb~3Cw8m%z(Zkx9?0%QWR3wBN+SK)*8{^;#boaF!M1*0_QAB8jiKeqAPw1Tq&Plsk` z2(yqzh>ql7pB4seOqtrQ8P>WI z54G7#W`EEi{mJaR7T*Zgb+^bg3ynF;;o|=ZRLGm9O@nf>M~GohPFO{pqBE=kkWe5I zME9kVyRtNJLE+SjfH?3Y#D!i(`r3k|J zNUU*w27R0i^Zxr-Py1o&evsN-!Fy!KQ`eb0!EAclE#bL~Y?JrP>^brkalb?9V$a9+ z8~iv_I1?Tusnqc$IW3`NS^Z4yp{$@B!Hq{Vl^%+%x}Bme;cWpavoq1y#xZH#wK7QFuz@o5hHPO2N z9wL^j9)TFC9_9MM=s+7cTTd{yZpbaN-J8%zueEuh$>y*xt+XR3adkx3oWk5GGsKV_ zF*ACIXTe^U>={j0+WZ?PG9Jm}PcRXZ7z=OZR9*8M_2vmxt)pC3s*JptY?StQ)^thpDgez`d)iWtuuec?OapKUR(N99nM+_S@zo4!eFa3jYP zQ7(y&*IE~TXn7gJhjx85ING7&!W9V$KqhpmxQs29T?f)Rej8#KMgUx@s-;TL@@9Jcj%nEo3Aj@T#)m!6IOI8t$@2s`8wQ6)X+7Ura zlKo<1qu$3vRWDm>6B*WS4W~PzIX|?a`WheI$5KQOP=3OykDLEBPFN15@~=rgPd*rg z=RmZ!KZY5J7uEc4WzAgvzh#2AtRHyg~eTdt&*DT_ynX)V_Zm_6@m{`+XTnV zQfn3pC2TerNF_^8=T&*dJFV1|&50fpBNmuF8WGpV{P0I4IFsevYWs*x3%tcY^UG&A zcL3jFhXFNrToy+SR$(EtSAKEb4^JgE2JoB~M0j0cIF4zY#c-ftNU@eUWWbtJihud+CWtq*qc~Nn@Xau%E`ngRxM>ARuMwxyq!g z4tP6>T?B&!SYZ4jKL>;NlsP=?kz$%`4nVNR{zdFsyLP)_idkzT!@|NT?&L&z3SNB_ zRfhBgy*L$`>FP+RNWsp6BXXxEwwMUPQM|%5ht~-*9G#RwO)s18H5iz~G>k^%;F$1X z=VT}+%kd}d)3mRXE}o34t!|{pQPp6n+gKO844TL^`-uCfeF`H*{&M$owd9mR|DJS0 zo>HU3y&G6KBB&_2Gk5G;66A)AH+xrfj`Ry?t-}JB?nKrVRm;<+R|=M1m?_1-X}*}l zFqy!wTn$~dK;h41EShP|?BspB|NplJU14jy&2OP-*m`E3A`3k2|L(?QNBxjGV3Obk zgk=If#IPzm76c1$4`sm}LXs@`j{NsQGRMKmi?b$eGu(Kq!ztWrJwbzrczh z*B)YD$-aliwHFH7?V%&CCmZfzf?Z$M>*dDOpN;U?|J}%Jz>D7=l?{4)0Nj{tw4Y=X z-MDP5Cv&}#H4PT9i9)!=4jGlO~` zmpw9I@9uWXcJ=cq;xRXy;}_VTZjWqtk87-(pW!0U5?h2={3a7{B5PE(i2wHZiSmn< z?uh_ornL+3VQ|*5fT~`{a@G`%^$fv|@2y!^ICf?|;W#|&562PNsBj$2#)ae9Y*IK* z%%+CpPT7ob+&P;aj=N-Y!*NbFKOE;}3&U}*Y;id5lkFdl`(+1))E9EQA(B0P5PTF0S++1V4_2o~(4thP)Kr z$K6hR`gHs$|1LYyea=3MMcW4K-F_{|j9>|#I3CK-gPB5#VZ>INmvM>*v6x_}@N>d! z61RjdHdA`1T~Y#9baM|bq(lk6rEls_=wmd}pQ$zu+R>eJ2tqaYHKRXA`U}k#@py=5 z^bejH?6bm{n8{fVSeQ0iOQ5wM3;Q@)JqTy#Qy>b=6Jq^P z?P6Dhq{i;n*k2L5t77|R?5BGo!PA{=-*kx`Ry!07mD($eD2NG#eE~&9kL!*{!r?lS zF;4=QJtJ+K$M;hn7Xu_3?$NTAwMnN2!#ndVj*uPn54j%(L1P#@s!4wuyhF<1(|8`8 zFCK00t4CjhO1OWq&+}CAH}asTLK6eXddStaG8GRUcvNwSdkTdj7#_b?h=fL1B$2H! zH@XVuCwrpk9xozod@*tRb9xC9xYCui+Cz%S^R{u0>B10_@YyxZY$JTJjaW>|}IZ89`Hu4U^i7&hH*Y z)6l!sqSfecLMMH6NgAJ!dUfp)kH<6$ob0sCY>n#(`(oJd9rkV;@UeP&k)-(f zTNeh3&4u1*D;5D<8ksLG2Qs#_G>bX-Lh3%@_O(6iBy;Pe52L;*WggCh{`$YBjdA(8 zgxYaDAJqd|8F;_o`d`t~vnx{nk6O4bjSqFfURiZtLgJ}1U-~<}>fayW;;R4wrbEn4pW4;m6nDU2wu=|0$Al!iGv#M>Ht|J-|=gE*2S=rhX=(x zEJoY$K3d%sZDd4IiLv7lgFWT^M*tpCI?Y>*J*i^Z&k6gQ!WvhCF6 z6W$4LA9?eSfstl}(=ka0TI#KC+7^23n!?>ivI_&$mxN@|52%cj* zD1Z|SJUlSBffs3jh^%yWboqTvpKza?sF)Tw%Y@_;R_F^H3ojXrE8XfiJ!eX^p%==_ zK8D5cmh*Z}eWsf=94W9eQ}oc!nt62mzH;>ayxj3H&ooIL3MHOF){5yA`5S=oN=w5) zek6qEa~IqzDN%$pN;hThwk+A-9xXLM^1PDWnc2yucvqNl^EDscAacj`%dnMX*)Fl>7Xl@$ zJDaG^GEtt(0}zq0blgBQTwC8bQs;~c*M?-e-BVaFx^w%#nFSI@#^S^FXtcTgmqoU> zEvhee`wZVVSyI^_SYT@=Vq#=h+$q=Wp)cD}ppQa1t$bK!{c<+m;UFRte;hqs0W;iN zNGYjVLxLnIamyQK(oi`Tz94$B zCZ&-GBqG}C{^-|rV)8JjLRkxpR)fHHM}OLJ{uE4h`4!ISB(pq@s>xJaAagd|(AvPS z0kkf!tSSgv%+#0-Qe4!-z83a7g3UQ!2xp3K+4C#i8DLBfh@Ozv7XAvcI4zB1jEer- zO?Df=Kn1CSTO|<|y8nL2+s6T+Y1lJK=)#nP1-NE7S^-8X9?O_a!u2B|+O|oSB>C%% zPI}Uja^)G|2?x;CFyz@$7F|v(qD115tU#JBf-Uo8#;fCM3Jm#LDY{Dmi!YbcKb7r| zW&bL+1WaSiB1!^hMk3TvUSoUWcei@~=oKyHU9V&sWYv0Nz#(7(WHH;CaaIAB8+ zOL&i9>y9bpr|PTJ8sy^M+!VD7kP&0xTRpZ~uC+uL;-E$&ikHGL%__iet5Uv~T*<)0 z9`RC`hS{j>IMm>xl`>38Mg{I`tY3tFRCKHIJi#-AX4eVn>+cH~zQBBK%q6BWna9;l z*@Q`0$E{7eRdw02=+^|~@Z&`_yF@{I3Rb4`J|5=g8bGqp^xYVw}c#*A?5S3`@#CNKPv{h8B9wC@HeEk4!7$DIMO-aMLFS z`x-_(q9He+DNW<+z?NT?%$!0u9W8ou|`H!mIM~qY?wDgcf1P!Hn?4$4VMjFd|8%Gy!w)Ra% zEY2BuFwQ}n81R#=XTI{vmgdof_9Sd@^KA~HEAKcTbFTd#oYTwGp*e4FMOVu(J7NCR zd6S}Fy8=}~l#B{fX)_!^xv;nU4xr<%Pcb8xaC3YezA`OcCvP8rm3NnV%pCqH=RXbk z`B&~s?anu^|2_t{aQz+LZjx<*YyT4-ngLGjFD8Mf zJ>u=b#@*j#ZDQZ9!EuB77AksK3Y@tAxjnjb@!&2{bm@fuPlc zpd-gIsV7<59V{o}Zcc!wiJ~>w`xw_csT8OU=9ZTEy%2xF!Bre937+mVe841RN2rdk zsw|1-oAVOo$xVhHJoWWTi)$_@z!VKHBj9Dd;Cy$jCq>&T{-0lZZ6v>-Yvq^0;b@U2 z^i?wc6)Lz!Ko1M7jAk|&_fNK|(Q}|oI*V}^mahpvIHiT2LKc8&aXaexF3_jq=(gI?b77ur9}}GoYYD!@JA~OF!2@r?32=VR(BodO?_g@UDnzBE9zPR` zja(`lCf!ZqPQo7Bm{ST|2X`OpwL>jC#9n|OL(K}V3k0-`*xN}_cb4L4a3Qgs!KrtQ zUTZP0R6VK`^`&V3Ef{n>SvRewwsHJQc>4CCjgQZwzNQix2Ml+0dfaqg@L$M=Mc0x$h+<$Z z$yqUa#J_p>ZEx2DT#T}YsbXK26T=xn56u`gL*<%ifdm^s6Z#-w%fwHTeVu-%(d?4Ayw^EXd)0SUgIXp2j){4DT7Ny7akb6W!SoO&dWbEI{+Z$zMc#>pvl6}d;@O9E?Kt%CY1(64K z4D%H5NI6=tMH{aw_qjE0{5EMaW`+I1+n~^WBR(2`q$4~X%P^^O1xrceJB4IgdmBB& ztQv;vT+8UApsgpmE)SPZiE8b&*$&2^Iz1QRA?e}|#UIcTfgS&u0K>bBB`l=&Ul1_A zCXMfC^|!bBJ6i2_g2~{v3-)r1bNK6tL(v=5_#<$^ScL~>UotlCB$tO8p)kA@)X8^g zMT#0{cP8$t6z7h|gKMEH{w0@7-+#F!B1JXV=~}il)HHQ1cW1z_p~jo z`|xNDWy3@pFjn{AN2GF#Ykd5uvq$hp&li38%%VR9p`7A2CnWYtoE!=v`k?=kD3o`% z73>zx5S|g_SjUIZ?pDFn`w6^pCt@0PyTQ>>rTL9~8h5pY0fT4B3EYs!v3`jg95?I^ zr?=EFqe13=B;!3}l^?kmX_k>E!MDa;67RP;M~Yg;x(YE$Y**N9u(OE94NOR|(&(8x za7qR)!C?_Y9taa>g^X2?`4?iL)FExs`i8UtuDgw4mjNPo@C+8P!;h~;eFGo0k4$7E zlsDr=^MAO=Fwu^naKgv+XE$YbYi45#N<~Vwo_IVeleqO4ncYUgMDHjhQX0aH zuyrH{0J-}?*yv$#A)i}GB3a|e9NR%yd@r|nPw)zWuK5oza2D*FvtQF=`t_@lJztV` z?*vnR@7+MeLD!f#Nxu!wP? zMwp^6XKHrx$-5{_UI&AZ!&zY(RjNQ)g)y2u>H{KPeK3j+<^5%#qZ+=aMR@2v0!yeo(RBmC;z?{R7|D!BoAM?!q4CHjg zcy1BxgB^+Er_=(17bcwl&vQ)_EkaE&0Ku-fN$4(`WqM>JxRCe;H!DGqM+6*(@uw9n zS%#jrO!`!XB%(qI6>iGS<1t(GF&JCZEw&}Kt?AQlOX{OO@rff2%MLx+jq_u_V~P`B zknB14}wCYV=oc$h3wD$G{(i+TK3o4Q59%_!v?=*vke zWvv<{G%dw}`^>p6pA9l)X|%o-PljRk6h%Jm9v&Y5fI^;bD>@q#p>I$x-hNHuwL+7< zp)#OrS`i+3dDf^R7(IGCVP0`LOdCu2(H46cl^RH*J&YrX`~iEaIw0Q@Zy|x6YXNcY zBDD*+JgWqXHYg55bi?0mApuPm_80I4RMoV=@7cK^-P0CS_N*^Rc0!z35bs&xtSu<- zSq^6^oYA-1NBu`AaC>j7G*h4y<`Qk-?^BPTCQOP$p*<*_(u<^i1(X3| zGD*@?-FBDr9iUP0Cfp7zN_2wj32lC_4CyFDv`%iHkE1$132s!)AK@N`}Ez-xH-1N!AI zWr-+td#7+XPU01+RzmxTw^xJ@(mZkZWqCkVD@`#neYsvkRAF$1lV=8$oNY@1@39|s z9~q3UL=P4?a9oK&n2U4Mu&l zqX#fRecgz!o}^jD4=u?st5VTTBCmdCgKG>&oTL=~08Rq1 z5II0ZWiPi4)vE`B;of6}O0rP^p<^I@ZKw`Z*DB|nV!ZD(RXc$)RMDbCiF7zRf~UEp z5RZj2G$Ra5ig1U|Y&Gw((V8}(COUQvUo7yhORBv#kDg~43toVgfJSt%y@w07IZZ%^x1{d}Ao% z@u_&?7VtQ>t%TNqILL%VJMpjcJ3yQ%(GjQExM)3ynZ*hHrMD0h{ByuOC@-6Xj#_;f z2|sfR`i{r&I>dg$TtO^YT|^C{E``%T{eaOQ_DfHaH6yiLI6iQL<;ryd#s{O92yxW3 z7x4IrMbr4K%2M#(7_%Wa^j^F;|5#0EdkH<#IlZ9#=t+N0pe_}73%F-=ky9zjef+#X zN`vJN3~*Qw9A4~Gs+3XtPy{awinNxr0}%ksGI(EK#7UKidelV75xfyyz;2NFcp49B zWx=<*L6?xZi??!aD9lH{royAjc^#5MP(&SitHe0!wfy=ZtWY6I`-($TfK3Ju#OSIK z8GL$aCZv(q@b^a-%ePo7m;or%S)-Lef^^NIFnHAs2#%*%wntDvA`hX)+}-w|MDHG` zF##a(?;h3Nljzo1HUW2m*r;6Xcs}_Kf+Fu6s-MUHjM#lKmMW1^0vf=bteDuohE^8k z@HZfmh4W-ypFx*uAZI=@EDYM;tJum+9^5FGsH2NRN1K%u{1mIcqoZg_LnrHdRCX^% z55eSM$t~M=-|XhiF#)5}S6)v^T{;sqqi=Q*jR}q{N+bV0(edjUQif?3ovcGW1dV)^ za&c*lZkswJZ|kw%O1-T!N2s?K(!+((!;(`GW8j3OoRI&QU>dW9Acd(Y6JXnHQ{$bC z0-{6?;cy|C3j+RLEZ2B1UVJFGfXE7BLn)h%+LE_??&Px!4%>fADTj9oTJh+G6xIO# zB5qTzVT>W74I-1l?|>%?G1u^L9ZtP7nUirJNva7YPa26%fkUU_ z4Fmg%uPUqwiK#V5j-+ZGR-CN>Vsx%Tg}9`W*Z_sob#?!vy3KHdc58h*(Qoh$|5=9^ zjC1|26AYo?jdtiL8TT-Ti=;3ZY}w>PlI1X7Jckn1pRrE{)ghm8)crSi9QJUB3Y1Ib zC5?fNpI^j@U>D$DGD=f? z0FDFTZJ~%`na|PiHp*|f*?)ro3ft^oAdKeny%g zECdnJ+c{zS7GVMF0Mp~Rn~k+$HLRojo9;@jeJ!1>ODo4>)ugp`8eYeMrg zqM?P+^?FZ6gXiK|Kx8DcWw7!f!?kN&jE^C(J|@RpveCW!Eee?(%9%78`gC+*IjDzT zP2xW!_LAN_aKsH(_RIKe6G$6l!7kV{aq?*F9*a>3r{5BW{o>S{$ampgKvq3K02v3(a{fzpG`zr z`D7Kami}?TjUw)TD#hgYiWk~m_Hmo&Z?X6`AyG0w@LLff8s!YMx&wds$?+6YFvNH9 zUFt*ky-ElOxW2-q-BPh1mhICJxSJ|OJf4Aoj6SQD)Y3VA;pn*ZW#`WjuuFohQ(gnl z!}MGip9fARnOi4@8~u}d2ABeY95m)*ir2v#%@YmkOqVgY&Xl!+?Xr zJc_MLp(9)wln#<$b}H-RO&~?`v!z=k)`_A9lR#@CoVo5z*6is12P0MVydp zJl7HkomTPWAlt!?7v9AocMgX=MvI^h&X)Qw4FTC(8_CU4a-qmzUyFtoN3W}0VkTs2 zRcy8Nxwtea0wjOw-8Fr#}CVLi#r;jrN|!O4M~Ad`S?k&KeK@oZ$s&q z*dk%OF1mvH5;D*EEZ!$~Op%Z!sbh@=aVa~#DH>{KF||ie(=(dQ+zn0c#wMxJe1@Qx z_mWg!xiH5WoG6sLoe@8tGHF+UNkdg`3Kn!xH9! zp%yyO7Oihq2a?H+d#95>UoK%-OQj*mAEzLzpxv4RG)|b;6y2fJS^TE>EkDYQV0uI~ zVc=kV86?CH?_iriPs~5al!e5x1J#xXkw|UWIL}I)7J>@(#<6`$o!u)QPiG-|Bt%#7 zs1A4mAd`kwE~6ISets)mN#>QK=aCb;U|{%2~5 zy^?>$`{rb=rSQY~`6tdfrOx);SBb9Hw8&Ej%B}O+JQv*-E@YK~VF@A2FMuSw;oI=` zcma{=X}Iwc#XYfbXcY1536-WJ6!qa@K00&9r;B%dqIujuqU#Xy;Ad#4E82|tU8|kh z#=nVfAPvIOJj5l%=#_A160K!mVOanUmi}olY`S|RN5n~b$g=~BPlFgQIgKZdWL!0h zXbz0S;xMMVABeJ{IxbT$FuYHSli}eY5v&%`i#!H~C|WBr&5`T$1N-|A70b4}4Kcs9LMIN5Nx;)fa0 z5qe{7q)O0U{*^%%0FVUax@l08$^`hGq8F|5E5!@8Mx%gxLB3%8X*s2!rJ7)Sy7_uG znj%blumT*ED?N`^%+2yacwXK##*Ox4{AiL`?Mp#p6@zz^(pBN$$CO65M{6mERWn#kI(jA#oyf;#)nS)-eI16g?X?u13bB}ct0o~j8L0;RM586 zD5OwQy%-exerk-n6-yoTM(aYiybVCYHSEiH@>ScTOD1!1KP|VPWVY4KV z?i{vaw7eB#RH7PvW8%@RW6F(VX|&_~s4@029Df))BYkEiiF9x?oWFuxN!ii!Ew{P)}S`yepK;4n&$2T*E7s8oz0 z0*2oS=3-D2Vg8rUBsskz;DR&hAFE4>o4C-*Y)MHlN&);h&v+QktUf63o@SE41kaf6 zfZjhQ^xg^=viuA(O5mOcy98)DNAdU;q!u(n*s*2f>qpY~VP>1;9z;a|yMsK(q@mk{ zI)Xc5;&q{QDJ3AufV{o?Cx!0Mqbn0&^f{fzGw|15LRrb%!gxP1^ zYIjs=M&eqfF3UlOK?HDGDU00^&J+O!yVndi!HJ9}BOW&s6FV^^iJ6Ey%v4>L{QEmE z>SjU?dFx#iFQ`LO(f-Vka9Z4#`B}kujD*t{6GA39*vk6~_H5BU$a63~-0I_R;hx~` zm44(VxhLFOKw^)vb_+(QyZJbMDU`U9`{ogM=KNvuwDSjJ*Of`5U^jz9iBvw3oJWa@ z_zGYX`z=!tMMuYj=x0be4%Lr|ccdZePw|>#UDiFEFC!{*$?mPEA@8uW2Na&+2RptOGk6g zK3#yZ3Vp_oU2=R9Ex*>HXXKeC$bij}fhGj`k^>5lD}Wj-#F6$eplAX)w-5Q3=KI~r zJw7ZM01-}#J23E!Lu&C}pXx~kiW@Mb`72PIz&Z`-u`9?6xcmaGAacoP5NXB$o~`j#}88J za{)@0#Rp)BIwt)P_k4s-Cry#VQh zi}5e;j>qvTpWz)h+b1{S3$pwJLP9pFnB$^KbY``P<|gn{^ikZ1oJ_+?7LN+$1jp$6 zu;d#RUik7V3am@3fZBak{{aScWPl%>0K-wLBoKf`njSd(bmlFF#MTb-(BgScIfhijxoH1lugf4gpPuX&;FeDJ2=QV}%8nCN=X-(;!b-Taro~_&Sb*v-OR*`c&0MgXS>iBXsh1BEFUu>Zh3i!M+z6)m=JmB01;QFO=6%cA2d`NLbb_u+c= zL8B}$wLhyD4?DLx&gI!J?QFS#7*hgY*VC=n|hV7(g87?yYu8juVdCg1Pv(z5}5J zpE=P*PiF8^qii2oy{A%phAE}X&jOh4C6dU(NxJ(O0ho}I8%2~F$q9l+gY2MK88p%N z#O|lDJ-{3JJHeskmeOf{5ZKZ;{0}q+nA*rXm4D*Ih5B5KzadY4KAjueIkaGB#qjs{ z218-FfCbUHFRNh~UIfx|e5%@hYpX;82y8vAV7q$zZx@jQ^6$@H8r#KhJBzbF-VyJ( zm(ZHnuH`!HS0^M5^SURKs#vEkF!;D+Hr!8E`d6hW#nc*~3&sFf0z14qVmSM3xIz@6 zi|9pNOP$)F%?X7IVHU&=w1XkaMU?#YuBJ}PzgZJll|7t4d*HTNPFF-ODP!JN8yOJ# zlr5V3<}i7+f40vk?UL=>Iit3-3l$-oqo2c*;jG2`lXEp9Fxv~cWOZ(h2ivrV)#VgiRnbaKmDDm+8b~R2}Y~dPAM5uta z%Dd80`I5zZS;fdOCZ_y6S>LsK%M!2jy6|VgPr<=z{+k$?Hhde7YtNe+6J~LC{$*tJ zB5mR+r@lL5U0fF1HR|I16|izjna{su_If6`6a^6WxIB)xA#GtZY4^v-yBGph+Y?+Nd@A_Ju-J9@!$^dG=DB`Muuol}h|I#l)~oC`bMv;iqVk zQ245#o!b>m*)6x)6oZf_ed0P+h(z9e0MSlCY492YEV7_zM?!Flj**C)vJmhg>}u{L zT0%uMSq6BbkwH@E4g)dhZXoO@hJ7A!MdGb;blfxzoI7l4eh5g{9X2Vtn7B=zUQFj_ zSTLCFL*m2SJTSz3zq9>!4aVxWdSTaix5h6sWs=n&z!8eIfRib*Rz=`?triDUCH_hn zWq`+Xq2%uTda{>03@|R*Jn|prpO)YuS88aYvBc7X6uUUyqPlM-wHkqY%J!5!F_K{^0r?CKWReXGzQIanxLShgIf1{;kkqt8EP_-3of#U_YNin3i*#_K7u|0vt_(&VO09bV?*^XLL!=?CqC zX$zqOgH*MhtSQjC+*R_>+A960h`OAY;3R^#1#3|fNHT`U%bJ-IO^V$L_=j>U;2_z) zI$=pZWuGSS0Pl%wThf8UdtSC|vzu z%^sutGKs+CP^XpP0d4MWXDrZKr{KH{J05Rh=y8SHhHubHN;a6^h?@Ag8cp^_7w1i; z?)No&saBTivK%tH=1mTW%jsqzpaGI@)f&z@qg0#bxT(=S!O4;A+jy`B<7I^mFfv~X z{mqc8eYfPou9F)$I~g^n}4hFfWRfDVkL^^|zp^opuoTeWYAd%l{) zy!NdoyB4qp8m{0R&~RB*(4Ys@(Gt8)Q{Ws51F@2z6yb+qdU6pz=i$-1cKVo0z%X}k zs;YF4UYz0PV8J zv?1g$0P^b!=5KkXR8O}}Roh&>DhY>5*k2xRs&+=FSxalR?Kh5Yev)k@TNm5FWH+Ug ztt_kRLD9slE&JJiyZ&Ot*Th%NA@_B|@C67}^z zbm>lo=v?OA$LSJQafdpFpaKS&bucP-oe(r&7MF|k#~smvwh28T;}aB3Bj)nBRZT{`Yr)636`?U5PLHNlXSVO8;crTE!m3m&zp1pu)NFZ)mP29V@J=H z+0nKxH=QV=7-q8x$r3E%K2pr2n8tDBp@okjnE(Q=<9N#+Xgxo;%Dw zC1!-bUEN%!&iQ$6K9@ZHcaOL|vFnl@46Bm} zQl;auFpR|qJM%_pZTqtcNqWnZiIb$AcDK|WWA_{H!)Is~DT2l@l9#iDSqH4^(cr=~ zyDLlYBqEOU_7m|=8gC$1-|rT=TKF~3|eSB9>=ZIlDbr*YvH4l<2wcMfjVWs;fezq_z z>%hw~Z5zqAuFfX6w3>}+b>(RXlxp~i6wq;{l2?oI;&@}p<9*P=L;e%kz%XUW6pr%E z=s_ClfNvkk*2Ok}Sl7u`4spfhLN99cCZ%qr0O!qdB`ps~=EGiqqAc0y_TS(L6kV5B zNk}(fZ9dIP4JxJpBtO|h-AYrwOB&BC8)GjN;@=kR6>Jr6S!gE}Ib(kyx(Mm#j)H%x zKzio4EyXvGE8t0?38ju~Bv5lCNjsH|Oe=>>>kRTvkf*6>g@;api1h{sr}3PdK$T{l z!<(83QqEwPQq3Msug-P{mevC-Gm%xQ>1=@tM3s>dk1K~fam(yF)2?ubkV3N`>%S-u z70qvgeNuBfH6B3*q!vV{Hnv3}Wh|FuxK0tfNEPBYJ?7Lr8feH)39rIpQYEUcPIg&B zL(w6m<=i7_9HxrXFc%Wm8a*NXPi(>UlUFAHfmSXAyq8CGGd*PM5%cPlfG5A@G}za> zu+9Zr3X6brzA#OjZJ!`r5rEJ{>ob|FU81!(5P}YJSOp2z_jdardC(?mFf5on8U2M_ zZSl8As~QF!&ZN)|dYJ>OEX14G(NY1n$Ag4+V}(IEP%Q8pE(-+v7ThQW&*J$j7uM3y zhLUY8#T%#zaT>7_PnIz*3l$L_!-FOQ-%^%B#vv80M6YR)bz2J|v~^rm24PiDC%Tbg zuHs}MZVjE-zSKS*I^z1Vt>dpk&|>ID>^{!xhvL5lo;of%zXBBUhn}Bj1AA;B1~_Wi zRJnAbA_N4avE6FRwh(8@h%#L9EuhTCRRcQYc_9D|j4|l?quyWN2=KkR7ucn~+Y>f)9~bt+wxxQDS^I$G_wkG0AH7sj z9XXU$EDaeb+!)x$PuM5@zcBhjnv@M;@=1_EjwMEmsnDppdQ zxmEm|!;X6fj7yGW8t&iU^u$`pYDFlCTkG5jLfz|J@q|FL>cKOTXw>8mP%z7?`z`)x zU*)Ydw{0ke$^?)ICszxMY^}Y@0!18gN@`f)l>~1UJZdG&6#cBmWD_6?l=VvEcN*a^ z*J8f0xFe10I}~E01wFlhMo@>ze7@D%gP<78@N+8;0(2LoAf*xzjPF0QA!&HCwS*;) zF1Z@rRV#on!>lo?uq1S=m5vCggmO>bSQLWDa4s1J(2)`epc@p>g__Gd z>66cQn#EFUsclzW7pF(Ru91%7>r#6#2tjT+TjE8D%p^TtRefrh~{>)v%Iulg}R~OFZaPpXcr9)$H^mBA;f>toE*b+~Q%;J-9~}zZ;5;vBHEgXt|USi+exQ zrSJCDI6;>_0{M9u^B_BrXpP~q;5Yr2N}ivohEH{@Cj91bT;LMJ_^?v~N_w&*%k zYV?z#Vf_H$68?ifV*zVS%2p3XBCY*F)LAXj6U{>HN;nIzgjNDLj_n7P@((KnD=Ya) z5sbiLP`rNV_o%RvTJsrM7+u?rV!aJ&Kq`Ywc`Hf~LpUOqg_P{hE8ki>aSa9d*SzlM zR(sbL{0>h;i(A0Ltr2nrDBbisz1Hz&Zt)K zzu@;`JQCVZ!_wR$;1NNQFvXpd+`kUX4&iXu%MU_O3emHAi3pUq- z4G0FDb}=!2rxD|KE6R?zSVbKZlaUlgrcFr=1Br@ls?fnm?uHcP8poDk@RCP=8Wl%H zA7w1a*YOL`gEUa|LG_Z9M@e^ZNx$M%(rhjWeUJ$5vYUgG_MjVbAM@(!_TYdx%v>QV zPKquUa4GJA*-A?I+SQ3+LM+!SpmY>`@Pob}KLw@dW-A4RRtx)SVZX~J^zg+25(%KW zA5m!>kBm-{BW76T@?6t{_$%Uo^}l#~6F9qyGXMKjovL%rUHbOD-M9Bnx;yD?geUsxX%pDA|h@G2#9E!W!Mx%MP(F8SVUwL5fK?=OhiRQU=S4% zg}mQiopZZycf#_2KcDwa=bU?QojSEX_0&_(I!JWXOCc-b3C<-@k~a_$Am&64YXtm` z7>o#b3Bu!~2bYzw_{Wis$M|mowA`FrcM3RQy`I33fkrhVXs3tI${XnGMpFqb8x40< zKj3e#Xlv`LqK(9oCLX*UjYnP|-A-$14h%TRCJZ29O%BFbiQy;{QwMl`OF5fD@b8_>_ z9{W-H!X_R1f)p4XL3wO^J-wMUmGuTT=$_&3!hKjgzHDTxe(V=rsG$!1z@?=OiaWsq zbLHkG4Eb3)yD=2BeIh2>Pkb_KB($AR<|ee?FJq16?LICC%g|&5Ab=-mU&o+;Zu{&C zFbqm~c=4On^8EyJRbWkKsS+jQ()6^Nw=wV*V$wZLJwmOU}((vS+;A)adM^N!^>ZsL`M) z4m_Q}Y%3ZjVvQDuMyhKK98>^JV(|ulkmGFny+>uUh9xwW?IHyr6Z;Z_E7Vy{d@&_j zd$@VM`DZok+LS`AJBk`+Hv2I5a=cM!*oL%yK!H*HRO@7jD>)*@i5S*!@YMd80shLQ zJq54(W^|CtvLj`kVIb#357I71|2XqD_fNCh^|s2}?Hie&CHXWVn$yPK8V&aFFhS{L zWvBHOGg)~gFH-R)W|l-$dy?(e1eK-TawI^S!D)* zj#DC-8*Pwe1lf?BY|M>c!f~=EUJM{H7XUR<3PdCe>~@sM8E*+88?j)q<^a1Ed~A{2 zP)GNx?5p8jf;*E1w0;PaOD%ygcXZ>slp`n~1pRl|-TWYg)?)tZb{?BW6&WqrN7x%{}-;a0!`Cs}hdHO^80c}rv zw;*`UJ}>UyNhS+-s5utT6MT@=6Yd8~Ey86rI3i4sXA!a)3+e^!>=}U7AHDq(r+Fat z&pv(vg_;zW5gOT5f*xhqP~qTRB+qvp0iW&3KL33~`1M_fHUt~tIFyW}P~Pp##@vFraG{@5!0I|3SikAaxP8(>g-d3Br@_eF(=_JM=C*d^}n6D*Eu|i{mp^Q zW~6pLg9>Ns9haId&i={SkH`;M*%D+c>jxK23+^t|nuJhl;hVAa`3Oo^T8Vb2xpjT;1=odLl-9t@Y zBHX3*qIuWM1L4l)8s`#;k&_vv=3i89 zfOi~x0u(!^GykfAc^|+W&oJdn@P;ud$=aC(Pda;Q;%n@@w%G7`;9@Ai0B9 z>%`38wP?yDr<&^TN-$6!&f@Q5lM%g`;T+bGMrT1iucI131`KGSp-_B+v&BvU0F#(S z?{9y67ALGT09}SeSV=w|W!uP+UoU9Vg92Mh6pb$g7$8GNhH7*fKk)?{;pUtj!$%kc zhR?f-&jeGRaJHr}y0@+$L$9mTzMYNo8ihZ*9JP&bZ z?w@hpe(YO|FzQ@hMdv#SRs{Ly;nDd`$nPZncFkOe!m9aB&0LS_3Iu%kM#_eo*_fw5 zgJTm@g`Cd3RwfGbf-NrnVtIQ^NTdDTQk@rM10vW%BVN7))5D|X{n0~6CV}9TC_y^3 z;0`@{rU~&7lIR+AejueWV(E;Qk49(UYz4Z4LEHQiRbOppvkur>+9cKWQXn7OwEi{0WLeK|Dj;cl1aC%X~)Y}mI(e+cgme-?OiysL- z+@rgCT=WaBvwgcH5_=k>tP0~U>FHluQMs%UAcB!pGKSV&7x;#rOt{`l_b z9ucja3X)V7DKxe##BQ2uTMq+pJ)E~QuxkKeL&!lgNQaPk6FN(4Kyp`A&1gr~b--Jk zXd_(ne=ar`#_ z*#PfBkP4>xmar^l8W1Jp6vR|XqrE#iwjMpn=&RZJA?m&Apwq2{ME%&>i=~XR){MpT z+?bu0aoI7$)j6-schC2POP_YEW1h{kk7FOEH5EU?p~Id=cT9{*L1NA`_8dOxlf}0& zB!_eetzFx>e{za`USaH|8Vd_^!d$>N{s<8#y|Fsvh2cbini+i44*SZE!wn*e&&h;n zk|E`xR=x9!fMdz`v7F-Yb2!Xzekh_PLyV>m^A_BekpOg~?CBHq%x%M?*pE6r<>>5h z(P>92Bo*nAab`Xc)gAj}(Xpj58-`*8(>6Min18Tupl7ePhs%i==V7fQ5r2IgnfVYO zo`%IE(Xp0Sd&5XFn$fA4`FMkc`hCv+kx;#O$kZK>`>^&X4bpz`?vP&=Hzm8{(I9f_ zqXviVlMB`to|6DQlp zM$oIrCN&>_7$PP3ST04A&QHb%1;cF&V`4KI@3kJ(acoBpL5)-8$#{^~V^kstgfIwD zcQh)6M{*T_xsn_)z^GZ#XK(aL{Ab1AlTE{~(R^Pxg> z>RjFatYjci0%!o`a3*Q9VnaV_@%{{q-Q{B3@dn82Jlvcdm&TI;sX3tw#gs59vRbrX zbJ?L3C;Xd;-S5y_@Ew>K5Mq)o2u`h@pGm+#s^nXl z0fthxc)#G+1^IiMt-A?YLyS3B<0OG+)#L3i1R&plF0fw%Sk2Y?cBP5WviR?^4+6;M z(zugAu0WLep7ob(EB%KGSYBa8hTVzY7?cJezdK>?!H+WgaE9&nqiE{m)yZ|G<3jVm zT{j2jZou&nA?i53gjbNqu+XFg-76AE!BNnTLy23;_dzF}Xe#K(ZN~|;hLULCU^1{h z-lJ=C-JIGeImhDh?)mY;?gjB;^#`?~I9}wJPkmn&*x=?ClVf6Fy_`cxUBFU6iB_7x zK{zS~FD=irtd72l1DyEx_^7p~;si&;2^-)=tfXzueSvA1?^BWVZ#A5sv&mDYExn@{ z=Fc)@0pOWyn4uzn&@2y*fs5Z-UZ~t@jen5&dLN(v!sol=6=E*pyl60fc`^nXiLs|+ zoEc-~iFIf$K6ZW%j{4*w|h=J+Ko)%OJKw)3pu&= zWuJu&9i5C~J~Ne5Ci12e((_|8JjXKD0Qn|6MIy4qqU$l>y?%EF5K_ysUmU3kY3Mc- z9oV_2S$#Bt*b*5CJFjc{P$r~<#7#r5M|&0V+zvae)~z6@Pmzy;vZ37L39 zTDf#ll#Qsl`v&dLaYMr(&I9x?0EMox@iP16UCmXymVde@tM;xv8haK=eWF^Fgtj<1b_8i{6UE1AX+t(tsa)^?)5*%C#iAkMmQ|gi2zF zC|njW=y;7~yhRYJJyj$dftH4aqKP*aV1y&Uu6PQMIJWT;Z4F zqGGIZTM){a}Jvj@Wfsg7d+LDGG8F8U;zt zS=6E&7Z;yj&63aHor_atAPA2ea|Jy>uNZqAp0Zb%pLwzBj*s!%CmWlJeGyDqzGwx|Kj7viEH~hyQjSi9Wc*iJ z6bP|XnECu0M;T>+NIj7=#(9DWepRE3l|Cu86zDpY2qQ=nF1CITw8e?gi?Y*$Y++;J zs3cqtpKP?5WuRZQ%Dam3ccd(0<&v2)Rh zh_;UzJPjg*yqNjbXutLpkV8Cg3;7;Kdi&ZKHtkg2e)7JfJw?l4x-8W&yq;BYUPwk} zDzb`W8772tH&EjBsLNIZIj73QvMWaqKn>ET=(0Gt^FmqndQd&cBMe7bF6Li}TU0%L z#`&i?`|F^~SXK$!TA^>1Xq2JVnM4y0p)DDscxjdBLaJdHbl>(LZJRLJ@i7+vV6Gw$ z6LGqYo(gcI-My8*)hGBT{OPlGO_dVrZKdXA<+)oq+CR05^D^3NQ(7xmEB)Di=jpn) zTGe`E_UG&pWa8=QH#3%SC4( zG^YOPzao!|o@sz>i$9inpetB@0F=z??7A$vzE}P*CQWI*v6J9|jrxtYQfYm-M>qBk zYhy=-3uJ>O(@B@DcbU7B1|TEE6~kABdL;*}1Y+9V))VI0$PPz5ZO$d)HLQm*Il%x4zep66wY-YPGB zBQNcrpaT;u`8&v~Bu5erpP=P;7D*XNG1rtuW`si8ZgwGqi&=W z^>b9yaJDU`x6 z8W{Qi7k|KCPS}RSo(_EfpI`aTyJpco7_mgxr+9(@B<&I|2$?zXti?-$pXb(I;8qkgk|7p*51;J-P4Jr1w4PtE0Zhz3^i!u8Hgx-`0_l|!p|5tXn>j*u&? z^=#q#%uQw~!Y#^WF)v(Sca!xrx-I`bx^Vrdn;cD}ALuuWdC~ecZgLF^l<=@^i+O=` zIVf9;89X!w^N3bxO)p|iJ3jfj2In?w^j2$Gx4%WJP-a918CLgptZv?7`@b_?+x`k{ zvZP-yjMzcAfhtL%F&PtU8j$LF(u5%`j5kNE=ohV2t5l8W z1mVLsw^E%_HBb{c?!Uj4s=kKKPGpVf*GjFDqrL;F>cm97J9;2hkOoi#6pZ@uoI|QS zj0dC=L%JB9UBa}g#8H)~9!-pPBf@-Tp1MY<>eR%V?&zUb>I62G6Ggvp2@^d$^}vP) zp=%Qi_oGt}TzC+AH{rUY$EF@+;elq8ZgxkH^WZ5d*fM1WB5Hl+ND_Zg;OItli4^3X zBh#JXIVV_U_tE|NPs*^-lN|-R1>+0Nv)k|&U4t^mH0}$JmVl(IVD2B}kMfqx+DWEg z3Ew0xp7}Qu*;0mV4BP&S{%KcOx5rT?dbCs8twj@g833MsAy@y`>(goaH9bg0(Y!TX z@yter9f9XrOt68l!M5HGpWq8E2jLGNJtl&NU8U%jawISx- zA3fMLMM%#mmQn(d+uE>-5ok3M^TKEOi>#e=rc9%<|fQwfd9~(t8;s9Q#K1_D*#=WR9bWJ{O(Lb!wlQYopVP&vT2< z$>Q@e@_dQw>f-mc#plN2b2HEEF;U>Aw9RO%i_@R#rY$zH`;m-#n&o%RD ztCJeoP)1k{f*ei%R9^ZyT|=HTFHj*fS($lA=5|apjZ$-;;o@|XX zNBMXgT|AX8E@P-M)K%0Ckdhj}hBJ$_Eh{XlQgqMMYs#pGO~iAyFy0TMCJ+qCpGm7OBN4V3U%A2<`;XpDoEyll} zQbIKi2KWcFG8Em*3!-t4ZuLBgPW18gRzV(XHrv5X)kB_`gUF0^IO}#-!=7Juyy}b z{)ea1(III2esUmx)Pf{Bz3qEgEu|3;j1VFx`bPe!1s8RC-TFRjCNv^p%;V9lcpV;j zK_9hx`dlyj==T4s+@Yn_sj4o-(noEWs!G3@omnaEt%hO?g;a_{*hf(_->Q(=h0Z8K zOA7o_38QuEbG{D#VL1uf5*zUv{NL!+(~CN`OBW?U0i}Y=0?wmL(IOxiEUc(pxuZ#V?Ql>Hj#>2(@9(f~$l8N429iExMwCk7 z;!(%&zER5-|97fv#DfYZQAnNeMg*E^0f>+Df}T_JH&IC$EmAjYZ>q-LZ5IXX2o zm_ewQ_+*jL0Le$N;8-&P+dO6nX;OLI%{Swot32P2oB5rQD?e%->IZ+aJ_y&#f3+Ur z`d=-llzhPFYjnn;9B6aqwwGv4M;XaAq%=yvWi_U6sxh{lC6Z00JrsUcBRR8S&TAx} zZD5O#7dWV94(H7*2XYsWqv~(B22WvRG|nuUynA$+@bjT7g`<3Xyl0*{`}O<2X5=bY z8~wp)SQgrh1A| z$Buq4f(B?Ys2xWk$E6*E1izHVON_^Pl#+7wqDp+A8;G)cv~yuFB9Sd-*Ol2VC;Z93tO-4dG#Hz(ZZw|!sI_C0^2 zmoYw0S)vGhaNZB4Gh;KyLuY90b*>+?r!EOu$l3{Bef3dVp5R-i;(Z=s@o7U_0P1p111Va z6^k|)3@H*hV9aoWsZoThQHD`+Xp z0pn*`7EvR6Wmv}8DFPME(%3;FnY?vAdHen8%fYB?I)j16}~F5WUx(O{XOa( zS{lfO&32?NHD?hlJFtoUoM4xru|NjO7|1snE`?|SKr1^1P`5ygZ>Ta)St;D=)4j|Z z%3oo&PnOOqfBSd`@;~hD>^i@h*SSkPUW^A?LSXj!p-w0cb(r>vQO4#sRqwN!A#9dZ zF#)*N`u%6MK{T|*_~4c11M2OWKA0FBNe^bW>&5Pncs2Ms9|4Jgd!e^GL3JntXiQ~x zB#E+T4$nvH7^lWU*{$V`OC+^=F2k3im1(b z)w2nS>xFv&df!j94OS#r2F;J!NC7h2IJ1 z6+SDfl#_tY=rNUz%I9^`al9C}AKqQ;t?G|F-)!r`jW9L5rb<_N%qjtT<{wG)WkHH#^&LOb1>Xrl@Y>X&x0 zhLg;TaMF;$OYbQyi|=ygC(faM_!Ac|w>wRBWf#VjN>-p}Q*58t_dQ9bon#xfDFF90#@*o@sjn@^^Du@?`Zq}-nQ?_ddhXz zSfVO1PZyv>EbXEa%A)o*^z)58uK(2gUwBk@VCdp6!UF&7uV~;N$@LCV2vVH_&9F{{ zwagd2y#hxU%*Ey2Tm>>VU-pDeu3zrm72aO1r|w6oy)zh|@kUhyHehpuw>Prgrdc{4 zed0NQ=3GoymjJv!_qazSkKih=<9GO3VWUlA^IK;g)^_`diys3mu~29Y!L`frZ(aPL zv%htgobsmoiPWAxt4_Rd%^}kHeC=-NA-C1(b_nAg+e@`yYAsO5PUtYxby^0clM%tL z;xKH-Q821|{rI4SpyX+X_2>e!ZH~Ed45;T1b_IJ+E%{Ndrir@d zqd>})QZPXsWJqa&RO!Iu=RBaK4y2a3;{Ld=e=r`vb-|D)ZlwHOhqDBxa_A+aRWECw zPs@L)`Fyzl(z*K?B20n0L!2FIgDeTX3P7p}q!D;lqo_&K8OY~_;m-G3bXkWKB1_49 zm{IixSXu=foU1n0d6^iR^eZP7Vc}qjL!L4=C2N4jjdnYfh&I|~;U0&3?xwubmNFW? zkF}-bIXkvW$;U94_J4Oac5Z23JdfGONQn)8 zE&cewUFD+vqTcyA4wICKJfz;2#)Gj}KLcwUD=-?~0}Lh;b&UG6ISL7z;uhe$ zibVV$lpa*N<9Sp-oIm+-!PY=plX2QB#$schd^%cL6 zah`9tL#IECJQB2JX2&oC&~B!T>(sDOLb~GXBVGwnuqxfntg5UQk)nMi-D_ZP&IQEO z;|?1S$F=jN5V_eb*ko|8SPl1N6NDB@Z>W%htwvZ^X>>Ckw)a4i`k%z+p4j~i*y*?r z_09O_tqpe%GJ|9mV(8BnESF)_iun>|Q(E3RcSvDtf`4n4x#8qrig1CdV2H-AX>Brx<(o`D^aB`J zsW61VSlagBuxPO}^dlLxB@fxRm$TD)cG_eN)IfXeV05-(ebpglo$WlqJo||=X-ttF zHE@a$Q#fQ0JrvlbFh(XNd@;2s_!$)38iu`G3=#MSA-yY~2NCW+mzc@Ktxxmt!-2PKL285dDZFQRz5V4q)XRY7U4G6j}!n^w1>L_!hQP zIy_ga2V~lfZ724mn9yYDfY4|Odw^1WklaJCSpxMt@f3={%f1UX4&a7m82aFMn)2i0aD&wTMuRQF)Dx0-d z!nH7p;`l-HqC>D_}YZ&+K;FTudsWWH!>uNeQUe|uN49hX%wQW%NXohjKNC2 zcQL6uG7e~I12sZ55(kMpz+}q~YcH5heexOwF(UKtimzv#wgzhmMjD~hOr;A-f@7yF zO1=tyozeZNF&hyx7LueFC|pIb!!DR6%p&GAU7dmH+6*K|7L~`NUo*I1Uzrx5*2@aO z*s(ZG4ALd$gxD`aZXDq)Vr0MBUTrs71VP-H0NAHt@E1-E{#Oh@2ak^oq;-74L$H^@C={{z@Jm% zdQP&nlZnpCd92&vQU#ooqL0o&<6%M48Qf5zy)rd%s6s@8E75LZN< zO_&8bVI;aWr@kdbNGY$29>cakgU{NU3%v-t3rEboAV#I3Dw?LL9OBT4z+u}-5QHcJ z_lc>B~bf;M-!_dSsY!=KG%ascRJWj7L8V}Swmw1WN3epJ9F7gk|-IDZY4up zYhdMy{T10kl3J4DyiJ;Kn)RUEfqVIotRsEI>wqf`0QF z0VJLw7SRifdt!p!ZBCtb_~8X}}Ebd*2-x!7)D`Lo9#)oa7doPredSv z;n6In%N%k!8ZgRqE$M05@{4TL#HjbXa{&b7vEtnF0KgfZWww^0;`XVj9tE3k*BT zChBv*v0_W1?>Xk<6bXLN^4edDNIkv^E|#=68I?^5Di2 zGj{}+s<#K{X{>w3XY?t_UN;wPwx59h(Q^22O-gQdJ$X{dZWOCpnlE_L#ww!aoX!z8I3>L5}yk)ha3 z6+cbe38PQgL_q!@%)2X1gvbj*?TY6p0ynV>*;Vk#X?0GZB~>@TzW7pPJ-7o=W?bvsnEh1zUg4ObD$vOwsupGa zqj{51oOvskF>kB868i^^Mr^V)X~tv42GwBjyJ@|sBnIh4l*D&{kWPvO?>4Nmf0 zGVShqWpo*YC`Dds%oPHF%PAa_H;RWvoemRc0r*Y!Oz<*S;1*QIIX&Qjf-1n3tKomJ zx#g8eZhs(^Oq#c^7qM(*AJz4*(QP4WFe5IF06>%xz%c^5_Z&N(5vLwYF}U2EqG_lk zdjcSk#=d4Pk-95!Ux6BXaN8o<1dl;)sw;in?|q z+${L~NT^-P23a@Vd+Z0HOPZk0OO3tE;P)2FpcpgtxPwc=4ec+m)uiN{wL(ryb`P=a zyQ2PjbOgi1v=uWdOcqDY(P*Y7R3)fpe)NTO!i(F_Fe(&&8Iav$IP7xQNGUP3-Iz7T=6 zxFrHm3&1i=7q;o(9TpDgNgJW42g)8MWhAtVxj+k*a~0S%-xQWo--OwR(QNM2QLEu( zk7e5_hu>gR_-x24m~1O74NjA-DgzWRZ5vT_o+)!8M^z~!I|n|uv{N`#NgHKX@oV5s zhpOgl_RxG0TMKu}%Q z!j&Kttg)1_&9DmQDTA5spiyrxfVkFvHUXR*HPnsK>NGroz2Zc{n;BFRMDL=wNo(ADc7cAZ#E>JQk&=TD1ZmcF(1#2FfI8|_GlCvP~(qH zIZ49LsC@D0%_Sh9P$*0xopxF@%W|e+()0(+uy43K#V`FNTx?nml1>p4X1H6{!3uAF z5FpxxuwI1=0P*3HPFE>-9qU;7jQ=9rhqq#aUjiFEA%I1I9pbt9NxRQ_YbI?P?zz8h zx88O|j<}g$O0w zCs`~aSLrAaDtGH0tOCMP;rR#$Wn6f!b}QTpOfp3JoM+fo7>+KmW{pbvA^6f#e-$s8 ztaoVnG``S87t(dDQEYIo2wz!@!$-O38bnwz3s#H@!BwkuMMN;*Q4L` zg>ot%H`WtnMshY3JINN)CD?E@ky&SZ?_96~oz9QWiO@KCo76OtYMHjgk z>UluK09_5r(dIxC+Xsl&*~&7Y=s$D=jW0R-;Y27$m~N0hxXdP^#|99@Wat3VN5Vk}Fz z7Su_R*mO^^FStT1syif zH{uu`!i{RA#Aqd^ivXv=j3q5`8b_Oc(1W0)h6k%a>&5$Rh_RMf9q#3D&o;1#vmTbo z`>~(S2+{^Km6Zt>q7(HYRzL@FKjotqIA963^-Qoqt7=K5QW^-%E)ncGbK#xzj}}RS z3Vp;;tS9R*V_{ch3eV+HUgafn$==?*m&J#fL+ne{y*t!s#UB%9%}{hkLl6f7xRq+n zo+!YceAWO_K()6m&UHyipI)p zPGfG?)9B4AjcRsw+W1VGotrk!NwZ~5xn0);iX+qUJXgUY&6r3c%RcAD@)fRWXitDr zX~3s#1Xuesp_X-o_IG6=K5_6AN_5ATwy3ZauXiA~1SywMF{1m`a2BqtE0%7ZVP^D{ z2mVmWjc5`pVG>I%Mb=KrA-fb=!IULe@Op>9DD3qL34tD zkV0;4K0L(l6|8mGh2SCWmXx|I*H%3tpBeR*t-AdhjE1u#k~cJt$X?fYefFBhYqM81 zUY#A@)Jf#o#{4OI z^w26#=ev3EsD{djf+U_UQWv>}wiJ)FFc=u>9Xb5&MZgqNbpVkTLE`38CK_G{qw#dW zBkd@2!d`OV1`g~CkBtsf(2?>yjv3mhwU=bR)?F!=aAa)}77s8Tdf?cV7cjBodLywLa}MM4}^Oq+%tJ0UMPy5ZpQD7&IXQg*6I8>SS&L=UCx81Do`8n zxanoJGs7nZ@w}2MSf!u|$7%m@%rZ4AC|N%NBwnGDiJ02wgsE>8zpx+nm$rcbl~pv5 zv>fTEvXD@S65|LW4>^7gYDa=9}&Dn=EYHG~AO-KzOr0YDZ2p(P8p$&9PiuJo!pn zVOFv?an7v`7)(eY+4QfB+d&0JWuW*E537d>;5*D7BG4$^XVol=5sejF=NmX7_0lTZ zez;o=tC@6hvd%Qi{T$D? zWVS?k2SJ;U(QrU|bgeY$(uu~rEp;=|$ih7dce|zTqTYTGJpAKq44-#kQaXlrR?c?f zhZ7SSkKa|>9biE$AA^V900(MoLajW}W~1$WEW+Ub7D`}p#D?L<=1%i~ry%gDfiC(X zQ-1+Gb8tu6H=U0YUQaRSyy@mM?-Y#=cFvKl#iJ1h{C`)uOe59d)q`r2a6A$o8Uinz zt!J%*ReSM|!lhw3PHB832xjL2C?Wm@C))1yhI=*K`@(%B+~3{D%?s5pN&((dBRt3NTl2?o_845vc$u>R;dl z@?ETsMDEm5Xx(yWS_?LVYa z!>^0Hxl98Wphr2=oqBV?-U%TTtACtW@1$fx{apZ?$XU^EI)H38+i#K>JKh8W=xtCh z?ubJD%P^o01TN|3n|HK4Fe^EUj-+XvN#UwZRE-Ud#N5ZX)o@)qo<6PT3K>I!2- zJZAAhCE0=}5!$efHcZ$(wg}fJ&vGwqVW4}DjUJT8Cf=1*DyI~1y#}X*%UJ6=I?@WF zj!KF;6{n+;n_sMmf6Or;zWi9;&3I{0=yGqS+E%d8sdEA>VZN86-rb@L(@+(pkE%jB z$|WV-=>~5$ZgJpfZ!`-x7+%S-cV0*$yxo6r^omU0o_WtyA@t&`LU23pT8HMP3W8#$5qD3EJrNU--(n&nojxU%AJ9kE^R}D z4tLFd()drK2WrshCR&jHh`}HikfBKQA@WjJ0>(@WM->8KbqE?&i^em*6sXgto4a@0 z)NM9*CvEq`!uLwJkGIlmQU4dwi)(9DTox~>^bhfozOGHu^oo}i0;PcYOM|dxM>xN8 zhDm!;MfUIV$xN%fb|1oq?B ze~M_m@~mNL_8uO6 zQ58&&M{Gu;{(juD^+zw}NdTVV4Uoulw~yA*29AE>DAFVX9v4LL+?<$)VB{Q_s|g0v zqB30h+PHWfELpYRB^A-EoN0nk3T!M?ui)$AOje`X5%^Am&&%3`-w*YU%usjwpC~Gf zwy>9KvsRCGw8V}M+oF9%RI6hNkwN@}1j0c%IyXqDf;;b!{qz#sm zP;rAQyko}m&C^INfKqKZdOYw8g+kMOmloX}c4%Z_tOX0+9dBXWdQ@8zO@P$YbG+qZ z8w2}{U9ym~E@N7#x{ClEFPEgx9Iv0QsZ*oLrYLL?vEQPsDKFg&W zlrkbDV=T-x-?DP=-T>8I!#&~j>*DNs6~W1{2fn7xmWwHbVNxM=)GJ9*Il_wp(;NJWaI&Kq%S~L^v^AY~o_-KxyLz0wv?Xuzqt~-xT8}u5S}4u(mdOaQbyw zX->5y>j_vp#-B znuVc-t3wOZ&_Wen#^Phg=r$Gp`?&Nl=jhU}+KadG<~Wr@JvJV;cMhl_K%JI>s@j{X z7>4bbWBHs8+fFwiwJ@(&T#+5AchbyTFWLo;2XL7cof?YnmB9Eju5`9DpK7DU+$lf< zLg!L|Rk5o@Xd(NI2oMkyj8eCYR$1ONR881lb`HblHeg8@YDnqX!ssE@@G)2VIEy$r zsl5&x<5Q&Q8L}wFOj55@*UmYNFBHp?`goEONMx9Bz@bjb=ro!eO(WD<-hlG;Q-n6k zS9gT~SD~o6Fy9!QPNWneG`oa#i+OKdC&(to9ru0s2}Ig0lq->es_)S$A%$5C)@jo!`zovGf0@X;Dg~rIN zpa-A8q$&{5G}a|jBlS%n$E-xFJ7-nb4SR-$5AY`ut zi@LCanpoVDEA+vnB6aqD*BxDz7k8qHLo@O;LlhH#ib2xnk<*@86sPtq=P+>_xx}_qzAAw%X!wv68CWwpwlV8_f@XAN3kYm(~G>aJN;^hYN%y&M_0r;1g6XS`L?uc?0nOm*}pWt^c02w_5*S*8afy?^t)e zjwpfN6u3{CJp!h6tvkpAKMtda!bYpJ2BW65=+u;;#Vp&21j9Rr5uW5A95TdDx!ZaC zdf)5(|2X>#=YQnf9UOPlihtU>CvrxywFl%Vix3UOHnYCZ^+@OnaIg3O<8d49 zf9dW0-UlP0945EIU!53r6{EOCuRiJh-%!K$ev7By{twwe135^QM`O7nVMdq)}>{Xc$p40N?+>fM}$^8nVBYR2NUtYFXl>L=udsW%5FB5WBxysRf z@{@{@iS!XBtNx;@y}0Txt=h|~{R=u$|W^ zeF`C~J)>?uR(GF-Wd*Ql+5Z76SNl-SKT@-g*8Cr8_VJqkRn7fcqFrPRX-D#@x;wRA z?2<2n+y^g9y{yo&M{c?i;W^0+{p_JH)Ddhrs9~Y^$Ws#t{8Dh?*+)5f%GDr~h52 zeW=qv(rF*<^qV@}=C)#2H)oApZ*+YqAdJ&F!uY4x{h4)pR^6Xdx98UVN9*o1)MxT` z6(h7uK0=M6U14Mq8aab#N;8FO~b=KL0;`_7{Er zmwopBKL3+GcUN0(;lUl&LkVuRCl5zo9fX@fxn_&Xd9u&{t8*;Y|X+3jZj?I;WH0zQj&MW+;!#a`M-wT%|pd1dRe}T5K1DY&DS$ew1vD@(o<-6E-5OvZy{RG zwdk4QDZu!d>bzsn|76hKHRyjfXzv;H-yd|hg*su#w4(a%5;m;M<^(AHi(Yzo(EsnC zeQePGanSy0(En!8JwP}{L8&0AJ$xSfDr=>+qs~Th+EMWkKPRo4r(vJiKMk8lhTUVs z8WyOvpAJ#iZA1QtLkyVz@sPc9$ls)42z%-uhTTKM1;#%x$N1V)3Bcp~vYwPDt<7{c zX47VhOXs;%d(j-KJ#UUVbB;Tk_z$7lzp2{ChWsCg?4O4GUxw_HL;iO|?xDQebLP0y z2}li7Y#9QZg#!bwiZOaUi54ck-2<-6Z%*rvv}8_YCQ4T!XG+kwC~*iz!8sat(P9^^ zbkWW(+RdSx6|Hg6S{EJaqF1`;wJtgaUp27d&*z%tx{QmXLv#(-&0HU6kzLJoE!TBi z8@X=gx`*pzICNKYUBh)P*L7UCa^1m&u}^d#7rx=6hq)f(vbp`N{L&QU1D*}#n}s+x z>=bOu6^>x`sM0zJWa1TY%$xH6B8iRszfi{CEiyqFY`0&s2bZj{$yMf(Ijuf*DW9A5 zSuLLFo%V8C-}^|{v(_bB^N$;D3y>(g)6?i-o1SXThvA>Z|3cWlUzm7*Yr9Z0tP#_! z_BBHae7Q}=tc87v3P}l>jNj9&MTHrS5fmKEzoE~{8-5H%G)@-beWBxu?Yr$v{Hl<~ z!6{vWjfmL=<=BtNY8kc9RuvzB?^`QLadn)h)iP|2@OL~hA6cRmR2XoN!`Zq5Vy(=r z9LJtq=gP`2B`v8?X=T@`x874_{nKE0+h7V?8RvRe@=iEB^PyzX)r7C`elfPg-%g~z z9qX!Yu9qrUfY2;^l(AohF`3*cMKT-z7$qk<{TE{%H|An%zbp@R7uxu1$ik~PXZC+G zyR=ngDy@sK!3{$1ApwDBOb98N4;8<~x?B^|^XG&7)^mo8;C@7+e~$MqktXt`+O>X1 z^F*Zl%)7V8^W1pO3;!ta_-$AzW&x0RHvtBTyH1yoY;~~Cmk8=)Q@@nU?b8vRD5*fX zT4L_U%qWZ%1_0g<RzS&j)tS1ifS`5cIi-9RAdfYZ&A{!hdb(79g%x~bVW+r%EZo@7j!)r*`4EVnT^Br z+ku08QbIA*>~DL~-(nUC>eX4+qDtNTg8BW{d?r@V;VwA3XwHF7idh+>%WJix;gpFq zsZMKX(Yr;&d*mh*4xUO;&}PWZj)Zn0c$2LYW)6FJU{6MeSRWC@O!lHIwRoq%_K=zr zl@zR(L6AO2M&wfHs>$KJfCvuq0wMp7{ z3|g--iRI{8A~O=&;?4dT)G9UeNBVWK9r#E8VL92c<`(n;G^*xDN%=t)&r|p`^ z3d9abmsBwob<0s(d)1Ki+kQ($_04g-DYkc@nI_Qacv^}YV#=yD@b4H>u4HeZ@3tVj zmDXz$dbZ1saDYnSzoIgSbh{S@-yU(Dtr>j|II6vg;ux(dSI{(rRgAC*LpteumE3wL zKt_V=ClEuttiiwT?fY6_=Svl_6&q;TQqt?eycrZjUJ7Ov)(77JEHki#+{8ZjTSmWLk#K`g?uYY3-G z73>LhHn`Zv7qRB08QVlkp=_UrTW#Y{3vnuVALPPG28D)U!Z)MmoPuBxA(_|3-vryU zp>bkWp8quNkocv@1Fn&Nf^?Hp^B(ikP~8~HOMCLxkomhYBX*xSL1!19T`!(fhRxH) zoq-J#Z{1+c{WjiY-8YQ=it)c-xdZ(9R-0u1z0DUMvhiEYhol)nZV|`=isZT;KV}uj%^qH%jBZxdqq8u&9998F9^E$*2KKWzL(7l z0MmZ=1JJkq9(zq0w?#Mkna@9G00)~K^gNAH4N&cK%s5+DX1~U+o;)4IYUbS5)_Orw zzS^6w7msZDOWs_n9d0Va2a-cxKs7%{0UMHmf0d&`_I~r%HgE;M=AcTjB$poj0t&nd z(lUAL3&^-Zvh&xyfQ)d$SD4qD*Px!TBir%I__WFHFW|*TjM*>w&o$r$p;e>U4s*O2_g~3Wrgir%JWa;~+b8Zs@Xrd7c9AaNV zbtyvtQ?ZOdB1s|4u&~Md}W(Wxjv4+ z-CA=uBBZQ*{du$9V$=6i_#42G@Mjt8?>z4-x2xnEo;TZ_Ha#|!tc8CBxR&6~mUGq% z=ukoxlMtG4T9+iGe1#3@(#9>bJ;$X(>)3+1yz8!hNo$ME>_1g}x-Ot$M)+bXJU z8xuJG*qE>2VNPv(H5`iByIxz{zM<(i!c|*U`J<$MqQ}I4(X+mv-fp_~+E#PgdPbh| zL+aNjjN9Pj)>)u(0)F|ty&W~$_-9Fcd)_yWYg<*;zD28Vzrs9LeWPt_F&KZgzNL4D z(}i&UHtKZ0MQLN|DDrFR63pj7`cgi3=JTAYj0h!9o&%qA0O@mDDpebmH`IP);~m_` zOvj$JMIA@hewCVC+)lRCXy8k;QktLD{n8}SFTbL^EY2F;U3K)Bl)fPG{IU(IEpcxA zPehap82BR;{8bzy6bN^OK4Qz@(nNcrj6e79<7PZh3}+xv2FKF2QWEH&nZIEswmtW( zrJ27+XZ(hnBWH0~Jc)#tmRbz!z$lssip(A_4()F%uzeGmlm}$V+c3Sv=Ib;4aBtZD z&44%@(>=ugKKzC^L2tWeJ?ng)-=am^%bJ}Z5`yP>+5NNf&aP{0*7MnAQ^)?O z&%}LmW;|j2b#XUElN!t2xv$~ru2@j$}D#ybe(?N<4>zm z(O%;#C~l+vc9jX*V{Z>G_b#*1jn!O@t-LZuF`j^@C}31pa^QeIMw+uycPP(#?7A~N zMxp2l6*5mU3TaO3ooof}M|LtRy&KaJ5t2XcW+#F?XFb6pqdkI3LfMPoN62??$M~)# z6Zk`@{l}y%=0v{&XD6L$?rR~ogpozf(k4IAd(zCYV|I}pL=CORfxqg8ONW;;Y0Zlv zz21tQ;||#p~i0JZY-RZBI)gX}rmosOI9LY`(1EU6+slO#C z5F&X)&-%I!T8cj=#-PS{=rcr-!O5rV=oEX&t%`7*idF#p%I%_)nHjh~Y$CKiVV@_0 zGJWXwHRfU&GISjL!GmG;#i62C)*UDn6ewaiVURv}r=cU+U6n1VnaFky_m$!P_He)0 zgpZ+cuZH`f;eK3O%0c1#uHk-gxaWDk!^_xM-cg28iq%GZlWa@~sKNx{-3k6eFKV4O z+n-CenuK(Q^Hm|EJ{Q2FsKf3Ne-rP9AuXGg_bj+voCf~eM(1{xPdDZXYyWH;N1J=& z(w{BA;&3O;K4I%WWt0d#wa&i5-yYi^VJXW*m+T<>%l_sIvH5 upmNLTpX}^5A^` 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%0A?(-{jyhpWUnY8|aIk5}=} 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

i{Lh>TMudkuCIPKUF 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 zℑ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Ù_8&9a$RG0^c&1c;4bmut}G`v@3Um{h2nk< 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

C1JP;Wo$iTy$|9 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�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�%B1P+KO}-g5 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%0AykjKq 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

9XsdDx;mfoVNorCXmWnIA!k|F-b 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

Xc2r*Qrc(RBt~$WgzhJOx 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⋙a$$7N+RdnZJ| z)O9(Gq>;AkQkZLat$_PGhIw=Yuf@9DEbz8+MB!uu z28!2F-@0fN_n)lEg&l7FU380*P{*u^fbOcm@m3PD=#&sq+*OH5%HQTK2x^HMgWV~V zp|AAZUY79{TUMES4CtmcSw0ngB6eZ7sW63%C%=5 z3)EW4=uFoaYZDiM#f8DdHz4VC9SR;w)tpIh=sSX4pi|}f?8I^IgbMHka2yL?9NK9y zRbohaEW+=&s$=AU58=qi#k|iQN~EH6Nsk>kPXMSiU8*7()277?;^#BBQ4!@}Z?MhD z<0~^Mb~R;)E7(nubT)&!{1i1&OAnmG^h!p}1iqMH@zFuA265SYaIhb0a+u9DPd42{ zF)~98&B0vfbM2d-bH_txM(I07BPA4nxs$l;l1^o1U&7*D475Us3acZNsx0hJnm*wt zE0v@5libmSDaVp>2+mdTJfnu_)~7J>Q8?I!rHN65m8UCbK*8!7zMdiO>U2^n;}=nE zm!LT+%}>{bI-iwbq!;QPvBn&_nzN{%9j$)CJnp;8Vr=jlnVqeR(?-l>B68ePVLqWk z8k|sJ28lKidx378##PW-}>lf64?xtzgUyTr}vI2+=Pk-O({> z5*5M{^OikwB&`e6D~mOE#v`jWXIRcD&fVA*A=Ax7D$~ppoQ|Ym1Y}ay?}48lJ0Z-S zaKQ~WIi)`LB@GJ25P!9Mj*af3A+CXUn<5t8X$rPtI#l0rQU+h{@vb9R1}<-!;Vjubdt>CYfH#5V<%HBQ!0?^$I?Z=!j>M_kW9jjGkHAJ-OPAHJt?cS<}M0vvC9sD%W zqz*n(C^IvBNI9RXa@GEzJ-bslViE1w?6=1ZG&R~(9v==ycFHdsYDbJlGbvUicVTf( zmpHr72ALp@<&&Jw{K(M+*cq>pOwc&-gmk92){4i+#`&m(Cx%Vxga*1TN2EPU>}I=s znrYyJ&Zn4}ls$@%QAjzja^9(*keb6jUS}-8R^viH&&q}xyhAy&wsveZn(-!aHAI{D zWMz1f4-kju7>>_!O|D$-oH9Nm(xkkC9$}rTWV13|x%s48@m+z|5FEmHC>pSYSjj(K zbYAVMA?nUw*DDccbq6#o)M_P?E8bm`#}CZ157ePB!2=bTrp83z@?tK1N(d^Qp$md3 z`zansrz*!gjt{Af8-9Im!xds454%Fz1z$vRXR_YP#J+36O(|(8kDK1t9pl4^KHnUm zaD0UNu?zZDk1~Tmo3z5$ss6J5rM}O#mb=pTfXeN3+~UE|CRzgzkDZQ?h7Fc*EgwS6 zHMwOu6?mJ8;!FtJGt4;(QOKSdkJ4X((@$T{t_jnD%YEt{4s4vbusdNn`#r?J&_K%T z;rJIi>LQ=&WxuhSj!nooW*VxC+OWdOn)F-;x149&oLLOkqP!Q3`!6{IK-o|`ZANg1 zVrmv%!A86ag$7wfb%XswMMp^X2;vab?f@H-aVuFrHW{6PZz^~tLXn0H-P&uvr~Nhv znuIAVCSFQtW~7p1*({-G=lzkik(^@KGg4L33_!{3S)FHwy3y-FuottwH-fxtS!d9j zK}-|f9_w=M>lkdo*aa|;U7)zDnX;3qG*g){H3eS8b8t0X?%)*i2;s92JnH#d#i_JR z9W4Sjn{MT!L?MgrP(KoCYl-d&qtCRQ)6auQVBIT z5g+3Bou3FmFd#2h0-#b;Q9qd zD(-L>Bc^3W%;fWBzKw?nQEZ=FMN42>#?DLb{ORB;T3AOk=A!@~NV~iMyN)57{$0?C zi_i)9_r)@%aTp9h;TlXon5b|Pq;xvn)akIf%p2vfIn?0O90xa$GmW#F)7a8XHmFsF zO|)N!8Jsi+RHALe66eGFS$zoawjEMOVP2o z>fo^$+^r#cX}|7jjVzoA;ikY3z0jeswV5pa!V!-!?5o+cQdJF!gpp}>Zym(VMl-H9 zKm1&0hn@65JVhGzM8b8J`r#oh8>*(n6O61eL|GW|4uj0YAR;` z?#4~0`M(E)4$*kmJ$Hq`4Cgv$rDXmJI8K&+z?sVq=URkh^ddtm+Sp4X640r6JP&eD zZ0~X+q^MSmhS;Nu8e%46c*PbaCgTXbYMj3Jitz%bL%Ce|m|p;-7W9!*OD;6d)_T}? z*7=HfbW20hIRo59zu-JE5LPwt6(-e%+$6kJ$^RJ0auBFbV6r z8Z}2!ghA>5r4hq=4?A|shMY!x>FKvR$<7Z*ZD?u zs0qKIPHsanIl&Q!oI?z@nVl4GuTyFumE8D+KQ9S%#%1Cf;G8I-)3>d z!7P#%sD5D@dA);Q{=%5HSBd%NWrBC7Crwm79Et?fPBg2+&yP;kvY(mh?Z`U!`g+u| zBSwasF4xyRN+R);ZKjfDlgTsv+Nj#R@c@!$Hl2#c8(rLOTAIm;=$=#R_NnsD=3jWy%ySnh3;rUJ%=tEYrHbt-HRgBDK1qhp9 z+7T@2YWa08r?6W?SEk&OTk^h>AfVMzOc3jq#|V^)OD*Y!nz&`x;rgbZ5sJKjvC#@O zbvzsFa4;q;@|z^qPtPv-Yt32-6Amceke*?y?#bFjKaK28;iOnUe+iFH+syKzs)-#q zS|k0_L^m_BUTGr}Ydk}3slsKKi8T_vI|{pb9p$0Uuq!iWt-4Ssn>o1PgOm<;GjWX7 z*?g8uu9y&>guN8pTp)|FtAGlcfdI3}}#Ji>IRdU9dL+|oWk6?&fqk-dbYD@>& z5MB(vp$xs#jj`B#|7AlrEc8M(^jIu7&sP&5i~4F@jHZf4GzHI6Ux$opvbE`+K@=cIv;}JBHwjG84osMBr7u}4rNRS zWzO|G4}ib%EWM4VcCPhLpZO4BT0J^|;+?LNDo>d@*M!@(VSGJX1CmfCO?^Im9GAk= z6n-h^`W1Q?n&3G`rH?(bluv1FJU$tBmE-Cmru*3h@VSTw@^R<5D|lY7f+XH=1Qa9( z(&9lUQh3$@0@i3|tXg<+Lx`oRJs*cGJV-uDAx750+IKFV*nVktA(h{3`GPbk-=Ulc7Ixx<}W;IPy( zAZ(kRZqYgR1+?(=$irGT)VcV9D?dAkIsTTmVqEXcXel8EuW9h{iG|IfKcW-|@R*-$0OOZbfR8N_@D@o?XA5R^2; zQ;GA{?@U9I{rUemC|CNJUB{V5)XeyAJ$OVWQ#D2=W0{!~jd~MXyr2~92iw)$`p0gV z!Se61(KG2Mj(Ql%hT^k9sl?0-A4^sq1WgO$us21Chr>fb;+XOjU$X7hslhdRI@sLgTbjLzFhaTUv45(Mm^L5eiXiDj| z?~NjE`fD8?B2p3{J_5f0V4ze2uwWSfW~INZg8-=F?4JPKKqJ2ZJzXQX(uZJi2L!%D z-mKKV376M!;akFJN@r3L7~`<|!Bl#1j+%%Ly0dLh2bJY!J;Z7L3W&B>J{DmyG86y? z=iGce!*U#75^}!QuW2|PhYLd$Dr62>jGA|%d^!mro^P~tGah*TRGlk?YN4~*EqVu>mA*8Q9aZFmB$n#8fB)~ zW0O%nbTBDy#8_sUh*=cIyhHgx!&xJyesv_u=>_RP=>*k(;IryK{PIeo$x(HWq*1AU z7*Q6|FdomMegA|r#HLNF^H`^9tSmjxABXX<;Pe$bK&I=VBwgd4y}G8u*(>*n9(ft4 zsv(-f^bLjq&jaPW)AL?F-suT7)BF6xtFg>^4arVrvU0Dt)AKkHBe}DySfNJx4|lpB zrEMl=;Z)j?@=Pj~ouod{mnE8fYblX91kpFB>7!2WMaaNuIDw+B1K6eO;_wu#qVEc4P0lteh=`}LttAmBN~;p z5HEMw7X*J!ZilgV9g~|X3%(9t|J3qa^T$HW?s5=E&G`QTv2Dd>q_QTQ5DlgAVmCxnYIf*IMlQ0DO_z0eJQF+Nb_}PQJWCR`v-L#x z+yNgevaSh0u0wW=uI199G+oC@9qY#&)-RX2wReQ(Zsa9P*VKCO%*=#=TPWl&KjARnRRzMv589>`?M8gt`e0EJp)LF@P!iq@LIi=Xya>s@hTfSsUe9C zI(fPiT(2cM;hkI{!PNl@sF)Gg@}@ms0=!O#e_EW?OI3u=#8k@k<&`KK>cI~w&zem*fdhgQQ6hkP2(W0pU+t4v^q|@!vGJVUgWXPfKA=wcJ=P7< z=%G(X__{Qo)I3%_qLs^X4>STsIGZWbKV9Tb%A^uAjD(53A5C)r!zhR(Ug>(p(!8PM zdO`(lI19_EhJ6p#+adzuG^vL{kt+TKJlx2O%upk3Q`=5z!$=}Y=SL0w+Tr;sbwD0o z-Au)axcvh^e_FYcJqmnK(^FBa)-t0LjZEA!)m!3DfiN7*-W?*|GyNs^zM1k@O=^h8 z*&irl&Z z2Cqc!XyOM~8+4rtV2&C}r);{Vd+s18W!a9%N*@{k1X-hoD0vDtE+X>WY8a2dslg(I zSDxrQM#r}1hwf*c+8zG5pWL)`gnsItE6x7;a6U&4N??~2#l4OcK;Ee5LsON$SJu-+ zKc3c|r@Yfn^K*{*T$xElI^W-pnc1>FqnPGm0ui<|5p_4ftDwxcMUVN`*bGngoHGky zi?oGz;=ND0sN2{_a=R-PskAULA35+)g#yx@Y85bi*eHiU*1|&{0 z;&I;3chFUKKx>eC_-nJE9SOAEdpj-XCr^-h-}uL8@rY;w5fxSR(CFdbIu#w!L!prgG{4jmDp!>PZ$GaV;@j_-wz6F|q%utNt&!RixdJRG3uVLz)Q!$*wfHaa*f z4(rs$Q-OP4Shev~;C|f2%~9Y!?c#?6^kEKeE15M}R$QdjqdOt52J(_(g}fTbM;AMU zbCiMx8LJ--(5b~b1u>k}?EgrB&gB@@!g}0PtW&|v9vYn{#8*p*?oJX>NnH<(Ru|_m zHEG2?0v*Cy4(~)@0|@+72y6g>dz3f?auftM!t5MW0s?6cNUAImlIBa37f1+_&T~kz zOL9ocHm6PQ42O)0BXh~g5-rq#{@*1!!L}^aKwbAz#lD3+)-5P?$Ww9ZJMsvHCN5#n zq7@pR82@Wuov5_Bj@xjzcK#y)db}?_&V&?;?qPhx`hmz&vWS8drV{W}Kr3D4Z&Gs*CewK91A{PFQF`)*_+i+0$1U>A8Yb z#cpzuzPdA{hm3HMwRT4OIwM^zNLB1p7wPLeLpo}ti)>YAr0W^!9s^bLRqUXF4olbX z3@OGF2iw-pSl?l+m4a2pY!~Z09kJFPGJ-qbMOAc^5-J}{-(!^j7L+RXsEhKwPAEr> zR45%(6`fIjz$iBgN)_ATqWqvE%7}x~K~>!uOm^cTs-Q5hdG6h15Zo?u_&^ zM*4#wRk6N*a@zh`N2HGZRd^kIn>yqDn(-d-C&g10JKe?mbw|7=K2%`Nb}_XbliU0( z(f4daTY#|%G1$;s5Nmc~FSz)>SNMbGZ2DPye^G!w`;%Dqd_i0wAuQi-FmD)adhVHH z-Yg-?A*N+a2cob_yFkalcJQ7$fvgL3kaZkl%_OmgJsoylpyQk*1+#RKjsaoGo;uSw zUk8nk?_x6=S+#! z*~K|EZuwO%p1-OoaW+F#vigw#X?v-UN)nZzt^4hT&ppOdSt^ACaq?a|6|U%^QQ9Ix z(Y|2rx*i&xxtC5QZ}-sXvb}UF+SEg%w!Ogaz~?lcDg1GKMl^A z|HM+q+olUV#w~O#X!XXDNGuh>QB?<^XuN|R6>EKJlSFgTh}dAA`WTs*MDHE!^w?Z> zp#>9Zx|kmk|7|dOER#v5XoZHn5qoza3>9LE9dm1|p3u40S6F;qSi_fc&q_iT1 zeVz0QkK^y`ty3_TrdKsAf_m+vQ;?63C+IyUXfjf8_A+XxX)|Lz*G)=C=zommAx>(x zK^%Rk^?NWtU+<$+Vc(t_wOZdBoMzk^wH8jEV@HS zr=N$I?EFw0EA`Dtiqz1f`qak*^rDJQI)NV3FMd2gU+#yGfS$>7u?0H5p3{4OeD4sV zzwk`O{}O08guaQh+IniVNwS6^tG%a2&+V^M;d?zbDyks|9)F^X+PDSH` z8eIkW9C;XDXGZEPRT~Y)jMCpU^+`T=iTsl zfc7l|C7mgUx5S}#>kL&|6RNXBPctEjGPR(1nrrH#5j|8Y>7`h2b7QLQ_h0}$@Kw)W`)3WqmuK7(QmbM|y z&eBhLPd*-?Jr2T1KtJc<2>say=~TKE`4;^n9}cB24`MtO321>$7v;l+aCkYdWjHNM zm*-=datG21W(GCd?^xCFG6{j;bB(Cj2x9o+HA-7TiOxWsh?g$|4~89@-9w`V(^c`s z5~4UhH_TuQ4%Vq;eh-b_ap7kPpHGtz@NYuYuqyi1fuC4`bie6gQ9C|apG?h3Iuhsf zSO@5s1U0$@s0uF&YP2e;I^!?sj1@tR?i!&}$^Ai% zejcGy(VCz}ryZhG!J9#ivVy8f!hS?F5#0VPsL^?cpoW6)f*Ng>{B05<<7nUyhcsFX zY=c4?ZIN6D3fTSxs6#^-I;2r}lujkLgftp83M>V1f%JN@gs9#vcrxHoa3Ox6 z;Qc6=BT`fC$tg#a91*HMP7&x6r4Lz@-X7&lS3b;#+EZzD%I)n>xwi)&2GY=zONFEd zBm`+Orzgh)jGMbknp@{IxArh;ZX14p>Nf$*&D~EZtB?>l-GV;>9?cyyTKE(h4FFez z&WOZPXYh{g85W#RNh9vIwOuf3OQ(@|W_uibMSw0Gty96>A&uq=z+wpj))Q0CH6e|j z9IaE)8zGH;z>kd~jrtv)Q*|V!l=sApl{Lp1e1XBOv%SjU_jInCz1{sW$^FaWI`v_f zcYj#O%;A_S(7u?L+9K_`H(rDe`Iu-TkrO`LLr-29T;VuQ$vvMd2 zqUuqodH*AH3WBatAnUXvI?P4KV+@=wo_hz$)?8$L*quKf5qqnT8k*E zQqk~Vbn3&Kl;ctL>4@T!CZyuGLFe5*br@TP3*O`LB~_=|w&Qc!qN+a$)qe|&T>VL? ze&&%5lR0_~qDlF%{m)106iibM;H;zY8E$NNS`@)R^VLz1_1Qf%nkRKFkP!W0qCa5J zM<1=L0pJ2ylg^~$C7UR3f4MZTI;jiVQ=onM(GIaG(6km&=2Z&3`VvvaD~_Lj3=BA3 zs=<1%G2Y4JQqH2 z82+OH$L3;8MoBw6Nnst0abhm!;RnpcZ2)F-QFnr3V^%`ooQG~f!IuDkbx5PH@B;;l z#ykDFKng6B5CzXiLGV-6qKJST;e1 z$IB*2jb(yin1mRP+~Kip0(TGwzIBqnQ9{&s1Mp+udlPUx?vbrJ=vHK5+}k)&#=Rp& zs3%B>iqyEbE1eJvgp~7#{I(tJsuVm9kLxF!Irpb?Os~@Z^W?;g{7eKoaT`zxZ;*xk5?kI|ZgBo8jYX z_i>pSNMa-pX*l4va*D1#n}0voLZuZp!5#lFH=$yxPNiw2G}5ySaMM)oopdjaMhdZ` zB}DJshc0O8rO|4@v7vIZr})6`XRsa`eac|K7M1Ke34!e~2J5BK9)CrxohQLhvkv;JW5(X(mP8R}?!C!v-TPSN!yHM%rem@8LF4_lY9j+*f*DWg zR%9Ak+QJ(ZcTLl&v@*-=`;4JBBc&B7xEY={qx3bWkDIQGtHX@S7rt7jqlHvj)PN;K zmVV`3jpwF=|D05BF@hF8SM;kN!8}fyI0FcH*)X_K>BA0YUk{DyW{CN?4?ql4DKK9- zFmEBtV=;EM@vUZ;qx5%&vw1vY$P!Jt@Z|vQHPdC=6pT>gW;zqLDg43gpcyw4G!+BM zf|)u66J~;{V4B}X%)PQxg~{E>O7MkFL%|a(MKBqd3K#X#sHKqzwO4`YCwpo1K&4Ja z&-c=3d!=JXSBM0xlo0SSz=IKc|4pZ2ER2W>-s+{%gws`{rbr0j8UTNX%)f!7p3v19 zN!v_Dhr6t(=)jT)(LxQh$Nr{MA8xnohg||xoiMowaBcvzaZPv|A!=nrcQK+gq8NJj zI!>oPe7+PZ;MgLh!1HBhaGb1_#VfDM>4H`UqF}ayp6Az852(U)E=^yv%k4VE63upu zzR_^~=eH_swKYNlWAr*Fojwbr@+PFsPRlMw3(^XI>!s1)IjTdR0nd6AX><#+3W|#~ zS|!X`Cm~q-BKSU}NTbz~=wzaUdSED_f}@Kx+9cUuN{F&Ap^6zr8kHQcQ^AQv8f}(b z2kKN(zP*xEkw)3$(Rqaz6lqi`M81xp{k9^F-aKBXqWg+8`UyYdZ;fs^L8p@Gy)`O2QCBu|jDY#U&jvVz_>dFPG$y-6;1);-w3{8W=SiZI>5qhuQ+7~NurbKmF+CXGF&=Byh@6SFb5;Fo@Mz2G!DF8EC5R-M8)gTxL1ob zY6cXTzC>~zD2IZQZ;Lcq$}I3mfnK^5Z#7lJgaByMavf^<^ocN4F{0%ZNLQnps7oKx;D2NS)$i;n9(1Ys2HMX#-C3{t8hl?HEzd@lV#oX7DxYivVYc* zF(ZvqkAr_}=Xy4BJx?&=7|}+q=X*qX3A2$Am!2Y%pG_Q{eu}>yevAed(?t(AXa^hj zKkk)zz{8ihX`7DEn7n!lru^SF(4aDjN?Qf`iac;++Nr9O zu4U*89B7qER7%Z6*mqdY`O8m*lEUotiz$xpCn0+AOn7ZzcGjLMW@nJ(I#3Wy>;kaa zq0?A5Pw1`D6oETQLSVZL*yi-s=&;jd+hLaEI#9s$NnhD^IEAsX5vyocmUb?@$S`8( zoF+!B6+i_rxjzUloGSvWQR6=yDcsf})00A`HfpK1XC*}0R)^Z>9BQ%g1GJVv-glsxfQTwHYD0?%?!g6eu zL?;s+q|9}}`MovzU9zcO;Xv72(WruDy)`P3)Iky=cR5f0KXzz^aDaQ1O zhv_NC^#18O_0E_P(`v+t`KQ>E-UXE|N~|KmD<6?-8TEEXohDk#h|_=fW-4nL>ra2z zskd#$%}5qisYHL}l7hL)uY9L@?iosr@5_hMe~TE;Rqp2-%0sGQei|YX)3)gi_6-`< zVi(R%bR<{T|$V&?+^)0c-Bawlj)OZSf0(2jZFox7iD*#3Rs>m z46!_0IzU0Lpn+_8{#pae!?t3f5ZMc^PuPmvYef6j0f+^-XF^fiPeRlffNDa6iX_p= zL`6!23Ne{!7yP^}fqBa}H9GOCqUdbJId`toCjzRt#)71(u~~MciTmTq+@m!^u9L&)g3v@N|jfI#3RkJfC@+De*{wKD!mSWEJCt0L*7TWeR?Y zVC0Vxeab>TAqqQ@MilaYHlpr)=F@!4XKp~6n$LX78&_{dm5yD+?^N|Pa}=m_)!9T) zkRKW0coSLx0ie06n;YOI!VLB@Q)aLmOp$~N0dXbaH*Z4@&Xrc3RX83>sVOERz;>!&*x9 zW}6^+LP8LC6Np16J|KxsrqhXjo2hJEvWDlR4oPDgI`!d$-5^C#P^OlO4>DC3fhvUq zcJe_*n%8!fm8@YAanQDQK(7$4WrTO227DBU>w6^^{aS_IHwH+GS0RqzlvlV_Y;vnQ zj?kt&XIH*#Xe8ZGnMu`Jad}GA0mTAL1Mt%B_=|nQ`WMy(Xe%ho8nH^8zp2Ohn*(Ez zXk4SK$3cR>$KWlVOBAe&W~lMt*8+4K_Hzn8>#b37BdRCrCn0dB&=Z9aqqe!kDUd&3 zV>%HzBbA(-aw)_-vIC`;Y9RGxm#|AUQ1*39S5(C3C@Rttf{MkUVi$~=$j@mxb+w$O zF!;E$g6sTSovs>whlZBVuhXe?6PRJqoqQQ`CHA5EW}8*{brLeK?&l)E07E=wXREUH z^nmuSM+5XHODF2PL0~b`p}kz@NiH+i(#b9J6ql(*8LvH)XHFk`Qsr?o$5*+uk2zb> zpe==KM#El45td7rSdNNul!ADVt`s@XSUMGA=qoyhls|`viZR@&#r+E5%1Q~LX&CE@ zvAD-76|=Bal8FHc%|PWilf}Bax<-c53w0s97g+R{QLuo0pG z@L6qh+cV&?B>`#A5d0i?rcR|}&LQe)r)e+1`o%7{9vNVqT8hqhn8&pR4@gI7DE7RL zIa8~+kbnRAika)USYZbZ@nxG{zXCvZ^eZC?^voWL6e!K5QujC=y3MkZ#H zed!wkIvdg2B+cgeOH!xOc45vr;LWp1hc_)k?0gBqn@iAW@aBIE2Hq@??1d5njQ7OA zn?WgvD>yy)TqUkoI~a~Z)=t=_4xtTq`IY`>4&PXdUSq9kObO?#WNb3EbJ|@g(WK&e zs#re>L0UWNhbC=C{e}1R(Wp{L`w*J+VjqpVr$IH8tVOc^gDfc7(6mmhWNE?KBq5Ze zgOX(>%K?FMbW*Yw0h%u%@N`hJd6MOT08fsR@sekuK($JU#(tbT1}v5=2Lu)z^|@of zn|(A|CP2SS2t5A<(?0K`(R4KbhdvsuklZa20?l(JL?r{l8qEU~I(?Pou9gr`cRS9Q z$HCUUDRSUIO|x+sT+-~p+6`cZ?qdLg4z-_=6mMhSyvCPP2-{m#!& ziC0T36*IGDveCs@Ip4uNi*UjR&!f-H4atSDKz*}6d}@7;XWqOo(HZE&|!^E zWA}WFXH9$*iuOVz*$5%DXokW$|o9 zZfhJuDmoK%>__VZ^d|7QP4lBs4RXpY>|B02%Kz5nG-x^~^|6|9;j4(IZFfbPgR!+U z<`b&k3eXYFelL0#*c5?I@uCHtIDQh)n9UA>C+(g<*jL*3k4Gj0bCa2?u zrDUo@CkUnr34Ky=ru|lc3eNI3)rUnj(J3~jbMZKeSDfWEG2WqxHK~SV)MhNX6gj9W zJEOc^`{Atsos>h89}i=53#J!!V*7)P;6j(E2Q{WDSewYwL;U;dvvmsA&=dR|ci~*0 zmfy>(IX;HLS}*a^RtUdEPjPm*1?QR1CkjUBY5ut zeimnM5u`<4=}-6@I+t>Gi>2vL#D+BZ^XZI9tjg&Ch zNMG`?pAm~eT7e*~kTBRtU-Q$cXL9yZA#JsU!A9DuLHlpw>=i=sdI^J#^qqza?i)CJ zf*_4c7;K~;v?Cr4Q17cy_XMH1MZ#bs{iIdD9iXY4T`fo#OBigVZCc~o0b0S?8$|<) zJkow;E$jYoARjI5JyOD8BmK_O5!0quERRWNSJg# zqr4CCbbX8-=je4yRlW2gN3Xn|57T7pXbs1YyTMNYd>UrPt+le%sr`7uL`1oO-(?k8 zaf431@!H+H+_%)b){2{?z02&R-f;`>GAU5%jfYC!WyQj&{P!8bM>psc#PO5&*fpl# zs8di~{Q5{6|4x7=-KbN+V_}VsyirlHOhVA|5lqXQVU6l<)T!t{VU6y&5r)DYo#jD` zNk*KnQMpaodb2{NEj^i=lqTw*UKpS^ZiEYwAJ^vt%mZ5yCl!gdI)eu1;i5eIbuMaU z+swcJ+X_D$tXZ5YAnn6$g5|vsQ!vwv4yO@FY`6*APo^0iL5Cpz6nw7S?F!%{mom#Tu=XTt5^h|0RQpHJX02PDT3_ zYm^37Vzdt61}O-%TszQS>7ZRNxqc`Y?L!XQcRjS5q`(#lfp(}v?e7lS&64Yfa?$Q} zi%>i67W6RlYO56ZT|%HO16uIP1YALRu|{;0>g)mu0d^q3jx5$_{w+EcO!PtJ`=Cw) zRCTdNccS*XVvSw}R)y9|GsPM&YmkLkMM};u*65RE zI+a{ptWn{uIu$J{)@T@hTwAQs%v-UTK&kc%DYsPSRw;EAfKloZ{6MMqxfEm=ODEKI z6v%*pZNF9IwoQn9Kte#dlCbx3k%S4$!8Aryagibbs95sXNXc~)Iv7Ybv)TvG&5SJ< zf-eDf5PTPYfZ%pi!#w;_kZqL^NRI~b;NkZ!*fz-~F){!fumrT@=c~4^XwhrK(Lz9p+HgB-rOl=&J=(ZR!ZWP~a9z=!1vC7G11b z4g5^iJq}fGfEe)VNBjU){qAricAX$=mk>xtqoX1Je*svhk@t`h?%3;$x#?S!Irfdc zlQH)G{SJ(^JoZk;pm_cr&Tz|747XE|zU&U23SlY7NF#7-pRMDIcZhX#s`|l4sB0ZR zze9{}@J@(r0r*iNG#x1+S~e9eg9)s-Q+llGPU*2m`~YvR0Se}5T8KfZVw6%=^9ewL zogd)`is&m*YsVSNsF5z89R6$-T6}z(20rb-(&f`M@MFqKhff?;2C-Gh!9jS|!}^t? zhYtFzphr_7uRJIC*GgT@3GQVonKx|$_=JQgFvH=^`jx_)pHUJG9dMUU+|Z-$f{uZ^ z?LrJn`FK+eNEEpMKfs&iDB|%ZW@arsCE;+QeYqn!@LFkolqZPx!P`G;@4}7V<}}eh zIOZ6>TccB`V{ zNC{CEEab8klIUdm$}TI`=y%D+ju|#1QFa(QZB4O8#yvSAST+<~o`ttF;p!Wr9$R#n zJ?1t=g(ghT5*c9CynA$VdcZ&r+=c}10Ruho(mf8l4RD!)e2;`Ty1u#xd(%`4=`Cu* z{P+@H$;6Ow2ofrgkfyr3-wn{*Hmp@B4lFmef%1Yki#6IH!mvd`w6GQ}{GwQ+XWMit z`MFr5|Dga6w*}IUo)QAS4)8Eu1@{7PUPgH}%fXMa(Wu+@mKC`?ND!R`a{hcTi_Qfa z7&8A}oHqdB*%5RxC%pl*1$fKg2dQ}@587LL4rA9e{rsYS~;01_vI+Sd|xeaYa|5xt$+vL*8HksMFRMe(dwC7(9 z(13@PcTQg4qEhS-2J5MvG5+x|`IF_#l}&&y8teDt_n{TccM<^Xz$M(ww&-q<7|y7LXdA5fyvbOwX{ z*(%w;O9-$x0S5b%23R4$(o*C5$XZpb(Uni=#4s-dhHK2fQ`Oj0LZI3R_&rNB`Wo=4 z`hX`vA#m0STv|fFe*}2opZcWWKcC@;muQp~xVaJn9$TP3xr9Biag@mw#-h6vQKE*W zt(U{XMd=p}_fD5RsXB;1O!tfS@cRLugZ3Ae11fF5oQ2?5mgN^gj+|*(sCr>r?r<|f z)L@E)F!(vc&6z>X&8!w6wB;9U=i*Z8=ct26mX(tIgoFUwj;ZE5MH;n9qLYb=)Tl&( z<4ZKR>Fq8HN|GfS1)tKXq`5?+3HULuM5D8x@;jB-s})UUA?Q=x!mW4b@Uc%FK9)$A z^3zfGJ*88hIYu&z1Pm!}A%WkXa#DIe4JD@qoIU<&oeDwW7~vp>YNqY7r-ioF_yO8} zdm4i88vIBq**ME3X7D|^L}iJd;TlG)(y31)Vwi|os~r3D496+hL@)EN)>ZzNGxB5# zPpUYWTRYdFu4lX>HK^Mdp=X>LR2((D&oxYZrc(`vjBwEoZp&=|Ubv>Obes^G3zSWy zeZ^>eGR{_&&;Yc^ECeeioBz+=IC;594R==N!(f zxQ{r4w?cu}!B=^IE^RU|y_GSKd=3*+JcxEHV?NKttm0i^9^s;-2f9Sv#;9)wYKy2X zug@a^dLD=~q^X#CTl8M8^6b@qVNvu?95K~J-r98~tGJTYt3f}}sywJ*ujd`UtYXxi zsGm4u>IfHM#e-c^zlITycpfK?iPq%3b!UK%2jUEAYq%{G%+gw}@Pp@};YJO;qUw9W z-xMorW{j+P2HR)1w)PIS)+UKINM`Wc1%W%-2qNL8rde0=rDYphcVcai2vm z;PUK3SatdzSN%1r_O-VmnK6w>9j49Gc>>^8T=Y;*vpq9YHZ)$#-&Gh=o^G(~T)^sw zodSJ`Nb6I_-yHAXZ)1RZzlcZW@YNRTU$rqnBVUA{-<(4O@qGG;FRFn?#i+Cm1Os|F z4FdGPUc`pRETLzqguzriN_(UHyT~tGRHD(Qg+!=)AV$g+B^v$CSx>>>FH%{9ko8W9 zMtiNvF`n^S)Odmsx1x9{+i46vlG`W%5gi4xPFSN;0cxEq4WB0=D8TZFDQHGD1)#vm zUeFN?)GP%U1#leHsd9{4bqUsMPXofW^*B>D!Uah`=1_@oPU{mVI$+eg0DZhhoozqx zw&ek;S_^-D+Dg))*lW3dEskq0;^F%UB&d> zsc*Z~vG8$KJlIHQg4&9gL9JU`GL<#w81?v0j8jothYFKK|I!}c7@(?`b)dPNR}qcC zlY_>Nn`YWAJ@_eAuS0f{=vKyZ4Y0)0w49F!{kIdEEaUMW!Eq36TGa{RvyAYdbZ07A}@NjQzfljN%B?UTq{@dh+9dkSIJFWiT;{SI5Kq` zXYBu)ze?!XaYnM<`IxCw-72@*FdMpzk*p_rSX*>MfKGeOY0tyFULgv=&Ega(dd{Jk zZ!DennocEiiZr?z6$dbJbs#D|NL=@Q9sn-G6Gl9qitt?Cfh&5!#SEhQZj!T$ zWkVBnrjZ^}Za3RwL8D98s+ScV+ES(u@9y85KjxzVEp10%5#7u0o4whtQ}0I7?&bS7 z)SF+U&{Q5D4Lw&18&bdc510Uj?XiJ!C5$26nk9-zb5Gs6l$F46eR z0hod3%SwJM(dhE^Iu-wcmm<|0YV)K|=Sv9St8w87&(honOa*~bjW$X)y{K3WFl<{E z4=TmA&HYL>dTYH-MZ-!p+Qy|0L#Z_iy60LIq7-iOsj8<*YNdq8o#IqI@GY2*c&SFM zlD$kqfc+g{=a*`9^jmPNmTF`$JYI!c_>!t@v4nu12Y9sT8W*fhvLBETU>7=Ip8(7g zIlI|D&a}-;qd7Ki#gb;!6}9$tsxn998i_V`!z8`%ZOoI=d9;yxZx|8`6n9c0Z##Od zis0K2!%0)%(1(w?;I(f7xxg6A2=p`oX%=aB}cqsr0qF{q1+=(1Oa!pGLP}8)JMG6&>)R$gUoH|Xy zpwfyDxRFTNI$v{|g52 zhl?N?S0dU-+ql?6T&(inFvFOAzg2(<=?w%>j-GU$QmumC^7lazFlmZV( zh=MPmAk^@%|9Ms#z^epkjf4PhcYsgn0K8s+HcANKHyq$|e86}dx997M{t5{J{2qYu zIBx6z~W~Bf$Jos?pw`=v36LuSOH_BivV`7=G;CSEEZl5ye_5 z$lD}DB?Eu}igni~I!x2>z8Z~rLlHAYLco0sxXFDrYX3y1;+eSOKnz?hKy?xV_{Jpp6#Lb_8A83ATi!^`Oo2pqA5`q@D`Il?~a<)Ii)(f13fGf-= zQfvYociE9|E3j$_0rq!*q04?o?Rd}l_|JgXwX_K{5s7DJq^6igTAl^9$JaF^@ivxY zx>j{*!mcZX7B_vSo~OUA5H{hu&sZUsa@JEEVS9HYC;aC#j96C_1skEmt(@5JbL^!c zF-glg<>JplVZqA28nsBx3nWC7Zpp_AAn;;e%_XepUDa}JY01XE8m;`?v6%NVRlX5B zY0fctn&cGO>J=q;4%iy6DugwD?Q>XTqE&^k2;aF#S1F`Hyrs38DK7Z}v#mxmQyWjs zq1A;juA{%u)w5ZfL^M{TD<15n(WzhP#P4UF`-QIF&${UgwAk$vd@$dNn>^8W30(D_ z+eRidktS*{gn3{6h3bNKrt4G0nCaBc#0~$FE&A()u;^!hsZ#;$Q%^xxCLxf%4hq+n zYV`bZeg!8d1=VsHCEwMl}E$-A|(n@nb?i zjc&(}nf)|chaYG3)94%gNcGdG&o??1HTTnK)Hga6{Ij1%6NIEG5}rWHp-V;%0ab>NcfyGQx6yr+DllQTI~Dd!-?ZnmqkMwaN&J$8H;pw@33UOu`9v=DQ| z$M(Q7;JI)7i^>iZ$VD8de)>SMRVFIx?ZhXTj8DJ841?#WDq)YU7*K_ZCzyzXkaR$r z9^YfjF9E9Dx{Hd3yLD~-D5p+o`}17sMO(eLtCVd>acZUKx!Q%_I&FWRTg+cn*tiGu zLi-NyFS=Z(5BAvO*8ol9RNBVSPkkqI5LJRoTbJO7KkT1PTbYa>zk}rSXfHx@S~nT( z`+bkm9)7b0!n>ssLNtwT8H`rKj>7lwx31@V0aHJ`=R3fJPASb zT+sX~2;!ZrCdqO@Kr?o-is2T(;EXxQNa@1~5&};n@PK}`Xqe|#+9E&;B?PbqV6W17 zlI4JOtkknPWkcbAGBUi{A5yN=$`Pr`|ET7PIKwa5)?@gu0s83&tP?POrnVj!!p8jQ z37SfYAjK85wjNNj3x9M3t*wWnWcPCU+kX@xQc)^xy9O#aF&U+Y7~p#cKt-u^@U?t^ z`%%t4>L)f!U}fdCs{8Lnw}E}xpQQV*1`xxv2+Tu(`J+Um$2jZlej2q&*5k940<`02EQSy} z{r3Qk+J+~L5PRs?0426L%>Rkw6ihYN($D;R**2XD68$xrCq2GYLg4?Mh)Ndq*GT(C zr-Io%G@38DizNiq>kwutytcnao315J%EQf^XZmY2`WKyw*Y?L5AOdl0aKEuX3*X_&n|5RI~PkW!6sUYoE z9lc7yI$F-Z&i+j(D!N_~eIPtUpy-C*WT<`yKS0suE^Bq`ss1#lKI|{I>5!W4zw6Y8 zy>QgVw>tjD35bE1yMK4YsEy-l4tFo#1nKdIe-3vq`((?JHjbXsv55TJAK0|G9-51< zK|8a(H97?JqCa4I`IS^@-EedXrh8BQA=AD8{2|l5e7IE#4;`St%4c)M`*J^TPy|6u5x zz8u#OsW-FAbLeoj z3{hlVH$bC+mZuh*Pe{Sl5=NnA&~~g$hiG}SCfzF8+av@Sw(6AU?Z_>P;Zr0;Za*Nw z5HJl$l*wq9{Phxo+7^%m(~<%lTc|dn_IzZ)LS3Qd5gVolK{kw_gJGi&lWU|l0F$b5 zv*d4)5H+3$w5ahnhVzM2+Ti!#hPx8f`h{wkPm(UpgP!iG=ke!nFU^Bm&P9xGXJ5)E z5MI#p;Pb2?O~ol#XV`Ug6K?~I&dbBe)0;VRDk3#>3-|aUMDR_TyYry0CHZ+&y6HyD z=V%$@oraXbtr$Jx(Hgp)OQrJj@G2$lXaz00m(gAUz%~HZ(<5ATBT@$6gsbB8B&Y1) za#V2J0FAbZ#uR+6+6y+}LBx_L2WYfUw>%|m4phDm>S=T{gl%Fskinf(EcyK;1h!io zrq=@6lMra{2KuO=YT6n4b`1O09!OrqeBbOUa)bNWLHZFY)=9V*sf%->jr9WcGL&<6u_Pu zsL_W2>q22hxQf#Ll@cJI!mMG1IkHeG%oooQafGNMY^ygiBr41N<)C zie!r{ePvXeP1i2&PH>0f?hZwQ7lK3aLUDKZK(L|(THK)&cMnqBOL2F1FVK_c{m!qf z`%W@zX3y-IYp!kG){RbZ1Dr|blCQ(S5a8&KEW?1{y)@}NdC?Nd*KVBzu2j6AuV@kx z_b~Uj<(>Cu2NCW~%zcNgMG7i!w&-C_gtY}lTu77-Q=}ugv~*A@6w<~6Zxp!}eU*C- z7+6DxhMonWMBIxkY0@l~!A0Dsp#TGLaAm*eOS*++vC~Zl!~5D!*@Z^mXAfOY=RP5{ zyqAUcVEcOHE8xP%H=!;FCEXF#=S%*go5|&uEtIT8>L*8sKewMsrMtxt4y;xB^er;< zFTU-}Ww@y=TI0|N^*-WXbo1$4HWWmP1C{$gm|wGgDEvwn7Rs4hJ;@_97!lS%pHQy? z$)Wa-4aXFWN>XQSJT(0itU#3juJIw)8?;Y9B}uN;Yt~n0sEJ6)Tq8p&b?w3q zQzevbaLME!lMULAXW|azwX?Q=+!kk2Gr#AWvC2@4X zxTAk^Z^)>8=152KXz6P2kc2$v_@H(7YN@9x=a`uk{I)-x!Vt*lj^fPz)JL*B%5VeJ*9xOd?`I2<%8dp@&bnw^gZN~ z2wp5dgj!ik(rF7LPo6+J=ZS3SpCD}_tgHQwRdwlHrznDz)R~GUm@az}mS*l| zq87DFgL|e_koCgZ!WD=sM`2XD>k^cfgW8pX*#LJT$U(T(Ey~rNyf#6p>#KGd-B*(B z-_302IWXQFjoax)R^pd=CcG5=63n7NYARsO+4(8Swg9nd8FkNoE8@KZvIB~Jqxv<> zj4PC#$ntdYK0yes8qa^)KP$zd^K7)fXDZKX-D@=OTB(h88JP*gFU&x)*RUL{SH2yW zggj0|R|$7A%e(PI52pMGq*xAfbOHMng2#=LB_`TPKec2-I~?Zbat{;xxKZtOwrY3< zl#19x?WbhOCDCZ_w}0YMYAB%@2fiW1cEDe{9^5XEX&S=^$iw~?8*pt}-o6QyfyMp2 za5Ewq6FB4Q4TN9l1jI4QbFJf9e&IwSM)9aeeS%s?1el-3aV^4hmY%LwP}F>dj6)FQ z(NOjTy@bQ3h>=6>SBj@8)~vLuNy1zF7|JQ6RCGg%)oj&e<&pxULg26(tGs$Ky7f8F zSm~gbz9*avO>{EK0MK7G@ATq2EiyHM~?~sHfXnQ|o4w!S_|FQj_1E_fw6vbs; zHk7DuQa8?blTUJ``ET+s(sZQ}n7ypO3MWb$Zjh811I3ua5-Z{%4C!&9T$A6~`ojWS zvy1l2rQuL?hsC7pzSO9g)GD?|lpv(eD=-s#0RHcOj7;FysZ|acW2|j|^`}g2Tf~)I zi@&{Mlj8=w{uzW^G6)>I0c$*Fz79PSUVV;;mSwZ|M2;$J#@dh)fBbe4lrHRQNpisrmQ^8(_J?v?&gs;`8WyA2^;`Pqew zx8|K6^^|X%CAbBbZu zgo|UxTZT~Kt+-V{K^E$S@)7S|Y}0@+`xIS@htk~q1E~O#KQh>mb_oVQg&eE+77ekY zR6;UNbEPXs;iH0Bsyz`SWGw!hC(`>EgWCrxjNnh2UCOQSA;ca#F9m%GUUFcH58)QM zk>%5SgVWLx6yOMdTb)KNFPeDLzs?kI*@~whOv7m|`J`}ch4$QLs$iZ7jcBOvrWt77 z3~i^Q(6Q~{VcR;?gnW_|h1^|WY4kgpRP^y7&uew--tWBtgz3EyEbaC{4Y>9|_D_20 zhq=(z4a7z_18QXcTMQch<$w7S$3_oXeZQILN>6Wt;bQ%dWz5+m_ADa_Q)g&>N2m6F zE=35asLrcVVz#3dt;qQ4G}D~dQ-JHu3~(K- z%$;{Duw$6MDjm=YrOhRE>QY4a;}?mGnIRgsOs*!zcSymbx|D*_&N?VUlt^gk>8Xfn zTO;9ofX|C^w6owbRJ%YMEWZPUKXDNP&kuBdI*U?DMWaH%IP{Ev!Vv=gw@DIg&wel& zX`)kxIUqg3Vto!hLoIom5x>^f1pJ>$|ACA6>z0?C51eps#(?4yAY4jV-F%u*p7~Ltt#GDjdr4Gc`t4#Ef@+%M-L3o>b36 z5DUfe*9ws$3QTt%izzKTP|U%H)x<|LCt>g=jbw&D*RzUu_0Yq%yhCNWP`?n|dFOZE z%CsE^-Ll;3SiI%IVq1tLQLs?olo=5HBwRTdN;cWw$pb6l?g5>3a5o%IITi~aCX4r5 z_2_cSFvRESR2$3TtnZsNN5{F?LchH_1NJ5KIIOJ?e;|-f(M9joaq9kX`rU+V5T?r@ zXgBGmRkJf!scWx2zh>J}4M&(clw?XF{7J}UO6f-NprWg>YIap?SYV!2F+SaE^r#5z z;qj|_A_H&2dx4d+s8_URtxnB;GNwYUYh}IgMg45O@2vZCqx}Q1^FsinVi3=1tEjpQ zcZyK5N8ipv(l#n|U=OjqRr1x|FMEKpDB9+3cH z{LhW4qALSt?VAxN+{rs6bArg;-30UZKHH8$tlE3mm@4-X5C$L(sVClJ70G{%+QKnFzNQRve3()^wolRPze1dKIJ; zJsg%`s|tkJ3@;FGyRMfgRRkj~P;1+@SL4mzFD2W53B=6!76cF?aJsQ-Pw>clPx+v4 z#)9R93u-CaGVmQI6F9fxOYEa_S*P^RzVtn`9u)X@D1oufbzMf;ML6@$X^Wu7Jx11( zG_M>+phgNF z%cNpLt$7XHmjrK}`UV1oQ-si7TNg=%cyC`UE3{I_0w`xX-em?HwXI^Cxhi9au575u zacItIcvaHrR{{h__%FEEmw%WlV0`Op2t2yujxou|abSV~{qsMTzt1A9Ll^%%&ekU; z=fCLP)7{qAeOAR?A*6G}wP*O)gf=sIK7RfsCkK|ssp%>5mlnQ|Y+WNnua6$XLKPC5 zfX5c6rNtqO*0b=}_@LdV^f@pv`aT*+Q1k4EGw4(m4UH0bfHL zkrXHcyc&l+zz8jH_A`-rp_ZBW2f$up^2H^F4>Yvb$u{Bg#Q4PSwmd)Mjv#rIB|qDRiP1B~zw+)E?ycy5Vjf1iDJujYXo+j($Uv7(PJ zvO&exzmuk5^ zB3fHnxKz(1fCl~=0v)|FA?gxl%GJ8*V0(5`lVJSY&Za`fzGKt9NrDD!LmTa-DBFfr z|Ker%qGyIq%2YQtIQq_;^HOunx9#;~pH63ygm2Q?bvn)AiEUhQ+8KeC4f z{7M9-`b(?pvmC6t2sQ5KRCkMuaNPoa;=1}(UloU-KR;0be@?5truzfGwsS=v7 z9p+ZQ##?SJ(_3?|aP{b+NfzxEH|&E3Za$wz`Im=GsWBG-TxA2)QiocYx06N5xPbLg$v#xVJ(~5kWxRBy4BwzG~OX#bv^xQo6S0#>}P|BivIPgI<_+B!L`X@zPa=} zP^QEt(QUO+n6Ryp#N9yru#4rRo5tMA8byGgcjjfJ4`feh4rCz0aLOxmZ`|>y!al1a zcv3597TSD6`NBMiOkYiiK}rKV=IVxg`L{TTulNc=ui)#ag~)50;hm%JX$hB^iXBX% z!S|p@?-5_BWjXxisqJvN02bN5Q&&ul(e#UW`-sZee`@dmS~&ELD^F-U3(D?!2eh&$ zQwKaW5j`8Bon+Vaqu}(7UL|Mxu8Xppg5oh`h=j@*{EFfei|;)$<^B_kHo9nZ8?&-7 z13h4pG=l4WrnFyJWSa~!GWbh<|BEEcZwph-Yx06=A>!rDWty-Zo;>#Lj|HI#h*%c6 z;n_Go0XdKpFv6hApzO+5EV)byH%q`Nf~{QU29Hc%AnzsR{@n+$@hi)Zl>06kNjw|; zGJTyuoipOt`(+EMces;#JR98ZDdwTz$6pvYH>%h2D`9e=Y3t}G!H*Pu5^{}J7)?zD zUAPEC7P$=DGqUgicdt4YYAi5G_x?4o`150d-}BV?~+vUBWg?`9RxW^+h)4UQ&``l@+BP#U!nC$ zKcL_K3|`G(v5<<645rNpf_jK4gG-;{`|hfhQ_5yD(&poNLl3fU9!>Vco?1yhPWT8d z$b6O}C3ARGx5de$3UQDUGms`y7F7|am1F574Q;qG-eZOHBZX~0%^;|3s0FFu!59x; zIk^lS-l@ecf7;Q?U>ki6Y?WBp_B&ZF12b#tu6~#lA(Hio3{upD$64)o(OBXkPlSJq z+J+Qm&~0b^o+u281I=lnlG-l~@<^1ga(=Q=JVU35LV_xjs3L5x#+4*gAxP5#oEiz? z_DK30Uh-4crw2U}d_jhoy1t+%iT4s(4aoesdKNOzq@)trFI0aDf_8rW7?IV?kVEO1KIrnKAfH-t~EWb(%s1*(E_405uupuMK@V#wA^5xc|Bjnqflq;P0WBDhV=#a-ekOqd&o;o@jSiE0NpiTc#E z_MtU>>mJSHoWsw*AASO6N9onHl3J^A9g0}>%5d!<_-#>>m5PEOd#C z5N+XY`-)KIk6%vm#8&`XLA9@282LuOOdL0tpFd%W){x zf`qymQ>~l8Y3pi*J}5bwd~0{C2B5oO!umsnah5@Li+E+ksEJLYzZagR*8T_mtIla2 z`ySaOy7o>?-c~k05z)$nHB+1IU^U7#if>bJ( zO>{83#WNmxnroLdB)XVvs$_lkq0jpZZ^wHrEk@*&l)ji9*YAwp`M))MV+<)gMkzyQ}%5Ag7M~k}2u}2VdIMR97o>;l5@{UB{q8&#C)=Fl35#Yp#r&uoi;#yj2v0{-sKQ%Io129WI z2c8IQu6ido0Mn8zY|>-4I*TA+HYZGfP`oR#Dd@K?V7u7Y4}J2|+N~a7S%2{~a~%I4 z2K)Kav7d2%5HC6w94ZFjh?OD93h zBQy^}w^b5u5`0wwrymec&`G%iCJ3sV6w(~xY$Lu{8F~6tSoJg`_Kzv6eE$NM&1&V? zjrpTCn}tS}40qm@7W=f5hW@sOg5Fs$7@m-^%CiccClINiM16}19SqozvbB?M)s>|) z0kdr`B6|}x044NU%nyxmnyN)9B{ z)pMdTyIb70c>0*D`5uJoMk=uNx2l68zJ-X0ddZM&G^>T39o{(1TJ zj^2y|uzb2ZN5AQt&rRr71cJgI$fGQp4H&nX3PP7gD&pM*won5zn76I}_o%tYS3-n1 z6%g~BFhD9UDp+PbcvbICHiQcN%19M=zr6FPZ#zrTY?bVTAN%8Mcdib8CY@d@B3vk- zUq~Xfdix%SaMcy2`A8Q!o4%1Bh_3+uYnFlxsK!@%tWi|-PX)c{Idv3$W0_9o^xMTq#R)s!Aeu(^m>q-Cl&_pDo@rG3h}8<8PnRi^6JcoD+ufetm2!Uvn9U5}5f{}R;qjaU;FJ8P;ObqI zJdthqs72=9?#GptjN>a{p8iiqD#2#aZ8_Pa7|NM>Bq`9JB)ZtLGp6F>7hz0P`(wcM zcL3t$k&3ShD=Nw4fW{?@x3>AH`(`xfXpoVSV7CX#m;UT`*R{Mdl!!1<_($?S7hs#U z%Vg8L{x>(a&`dtSa)^xuaRD9u=zJMzC;Q}E_|7)jk#ubRi((u zJ|^y!(sOYV74^dB_jI?%f4jfJyidtqUK>o_oh$kp%~a;E-mkE5!I|NxbKWSIqAhx1 ziJYm&F;dY{YH@&>tHE4m3Rl$p?P1d6F$1$FD=Kt;q+(*bi@4yj5Vm^l#j+Frd@>+8 zD>E(#1t+CIgC3zreDPTJjrn+J_dKJ~d_go)rn`Q!1rzG(A5g!fYNIJbV1qb5O34<3 zlFG|WGEtqvWcSFn7%$AcA9s%|TM(-aY^@ZHvrtkOg!txwD57@fPT7>zB@G#!907|e z1-3;w+5Wg6V^Xzcc;g-9-H#Q^W!>43U4C9ERguKQI^`7=KR0GQtn}gd2i1ll%Z~=d z<4?A;5lo7^Mc_iBg`$Yszy1^=)B@V_#%%x1Xwy)X6aE#>f6I_{K`_&9^ToPuLtXu| z-0em*)%p+*Lv=~Cv%%c3QLl}PTDt;n7g6B)Kt$_yU5o62bq#NXhS}JmQBm!e#(x?s zmn+b0{P6;7u<@l+D-Yr&qP3H=<mAGQh+2i+2C(dkf^Gk0CJH5PUn%Y#T)*)c*>>rP z72ew*=>WXbJn0)T=H)qO3HwCLwSvoYb0a6P)4 z9qdBb;D!Mr)GY)U+JWL8M;YV#v|lxARQY6i9}vek6*HqUY{WR1MGf{RmjYb zyccM~M_Bl#AHHH;r4f3vzsPPeip#BbDJAfaO za(OdA?aZNrWm!+b5l-0xi+ARvwgE2qF4V3l6^e(=50+i7`^pJ~u!_xwg>1pi z<@TdiuG-4WVozTi~)$I}Hz&AGZagQe(Z?B7{sE&Vq zz5y5h^5(jVG^*pgrYy6qhe*Que-oR5z=SC;562HKyy)Y>!W>XTS(b_!!N}tqxCd&x ztYK<;jKklL+_c!|QJUwyB(SfpA64;FnYUndVULNvPFk*q7)g{cy381E9s62=g+u?` zvU2}u%8q%(XY3S6T=`c15ABTQ$2RmenhZs*1(?YdFOXJdcz0^Eh$a5+BHhBF z1dlzWv(irjFcw41Nu9g>H&`FicgPZB7!+NLzz87>mmnjHe%K{TgT-8!Y|%uB!)zcG zj1bjX(;b&fzlukN#=CLiFw(a5&2bu%A2&Sj&9~E&KV@XHD{00n6)xwT3Y6rlHWB0^5<*T%yg!Wns%d1K+6;h#Va&w!w%# zSJ+|BzbUmI?Vld=4l` z;%X@Aw|XYy0?am*Bh<|hZG5jyxuTyW#K_E{ooZVVz<6wCy-51$Dnd|i(=iylY^Ce- zS?%LvddFSyklhwlD@&HluD@Scguj`9MLZ`s>uz&2}@pSX0b81;6*MK8*jc+sk4(X{F-$e+Qodvm0Yg4AXW z6RWhwdDvdUm3w{NWvi`8e0~xoMCJQ7dzga2+QoF z$7P^lug7ix6hQyAE?0M2lQaPJ(@3?rOeEKXt4=H}tWQHOt*>D5xLZW1|%bp`@F=P)-OoPSKU5iKz zlQ?#AhF-9oH0J?$BCqwiIv;kAIsms~_P(wLOvl_U=M$r0h@DlPBtG^jqq;>5XP|?d zW2U1FG}>qo38u`_<9tg%P?3^oO&_*?p6dBn*eMBRqHucP!D>@xSSLX40Py^zVZX?@ z+wmAIgVA9?*DBcp;-Z8Lj(;fB(c!ngaKgfSLu{i@-$@ZEHR{7qtx|%H;IBk;eg>?t z0^aJFmplWPON!`$yJWHj?rds6T;lnd=1JI~Y#WNUE83gOl_E33KT)5A<>BT_5&wxB zj$@-G57ii1Y@sOrVqH)hX^CD7WBn>TY9K~ngmi4DOfecOQpe%b%9RZm2!3>9HObh* z5iRtrcg2h>!oSx(^A1cE*ul*9j>h!Tu#Rc0|i=re~tOGiq9dndNZs8jI# z=(d?IGEz`s_f8an{1LCvI+W#tqV0E({4FoY7aqZrGV;vt6KSggpa6Dz`+GCDX_+3W z;xcRLb%k*=fQE$NUtU4!mSMGt;BkrT(W*SNwmmz4v3(k4dCC5xTpE%qiM3%8*1OJx zpmc4ygKY%#Uw&#!IU=4m)QqQK^ z@_q&-VHs0}h2Hcy>a7^zzZ6{V;_To4q5+D=&$2^4_Jc!Nio^jbRMRCXK37=Xk$ywc zqu;Ng?1cxdyM~F|MBJ{veWtxsId>Wn?3|~j$3UZkj zXha?1ks-8OH^1XO}nRtG1kl+#<&^SB*ez zc8nA{R4j?>o7;Hea{^1G&a+775@O7Bwys)C^APtVLUxNLU^cfY@-^b~g6MliU@S=I zm3)q#O^RnZMcy7pUui6xP%Qf=+2B%6+nt2js8Ed0$#2+?Efiuvh-C)4O_;qL@i4F{ zRYT7#NSV&o=-1f+wc-WX{F#_}=nc*Bj%(F0P_YFH)hhYukJ=@5kwz-I>5%hFN!WM8Eio= z+#)Utgp;pJ^?F*ij2EV0CT-gGK8 zG53e`zMbO!v4(FtOvq|eVpo@p9^vB!ITCeU@tA6h8<&x5e&1d_^OL;!`&I_8XIg$1 z3~3Afh`)DzU4d>N_$IpPrRJvFpt*n3`^$M`gVrFr;dcHz^Y-Bq>rIlK6Sa&io9{Vi zrEdN3F{ctLEfvk|ljLpC4Z0l`YNeVY^p}qCgVSF6zd>e%TCh?4i&y)M^5-237FPgU zWhh^cmZROezxi$%Sziry8L%PGz2#4owcK!Nz6PR@Ddw%!3GV`D{t3X6# zvP2DpIaOJ7s3OG0=ITQ&d~CQ+xr{ zD8u05mBd!34UBVPMuOX>l<7J&-~#B1ThLke`9XKiZoJCLJ?=k+31R^M+^a1fiRw%g zIaUrEManv{`)5bnRFX!S^;#z;$SGIndqM6OWeQjpsqUe5e?se`;=7g)BohubVGNqh zoFx*L20zD%#&05d?5Q%5p@(@7e_yFzqTS;MpSACFD7|%srD$rRcU9dM1Ba6WzY&I1 z=DAR$)bN+}ySpA@Q-8ak75&WQUu-HRQP^hLAEp@I!LtZvkt%2l@0^1-nFikz7U=QJ@BM z1^9^EU@Ur^Y0ko+7SJ3YF%QyVJ5jw3O@mhYaTUS}9bj+;-v3VJF+Af~FPR2_(bNWt zEAjt2(`;6Zg6wp!m2*kZ=q9r5s9=P6nukUf=N>#gaj+{b?}g{~yFU8pe3%FWTiYD* zd-DmS-Ew|LiCsUE&_|Z|x-7lFd=wEK)A@6U!at-!40T?ebUu&Kl5zCkJ@EZ5WfZ zI;rIoL{y1&O=2Y9DaT^&Jt#)QWBC3ab2A_0N!{ZfcbGT%eub5HieeM66TjPl<1uP- znpS4^N4+gB=UTkl^>5)qP=8?WZbTAVl|kb zu6rP=YOs#mck_MEWz}|>@di%X0M(jax0=BOE@iV@j8vuQ?(|pDp2Mp?JADaPk&q_O z&lC1XDv6O=AeQIh^HE07FI-Cd5YgSRes9PvpEd)~1`~L(mT(o0|6`t(-1UOjY#$F@IY-zmbh1^?CJnUm{R^!-ZdKKgy+@(f>K9*ggUoaWC1&YEatctQ=>kH zM&K2Cz^p$@uZdn!Rk7~CU)Y{U$}`tA7DWZ%%_(3Y;E{Tws=arC(%I%Seky~tVUx;p z6HoFVrrZ8%n>+p7Mb|Jb=rSCc&RjbpJCk@HdCzn_m$OIW2V$AqHnDH6`u))|3tu1D zo8)h^s6(O0z5NTem1yrIQ8;Dd3(NO5lP_9^!ip2T+lu9o(r=t3ZlY!r+y5{!VfMu2 zIEcN7Gt;fl62HZ8;fCmqX#N7F+tHU~F^z;j+~B6$rnaN57I$m_*+PHAajwy?R>{%@ z#r?(XG7Ku^GGYMC;%Xv`b=?^85Y#@=o5HyD2^8-^qf$+1%Y!lerEbFr!0P_@)i_LZ z)xX&}IkwtdSfA(4NxRp%dQ-vJ1Nqq>(QJqLy{+&@Z*f&znL3?|GHHA#DwR$xSMDrE z@E+L>Dj3)2+$frAJdiT}j@`|aC~I|2zn#tB&qSi6dq#Ig$Q8M zG;(UGr`bEbB%OjhQBO9K#=W8^aFv#Sgh!WK5z*AeX3Y-~21DN%gf8|-!G=MjSCtK2 z_+nB$c_AAPfMDE3Jp%{!LEMsZb&Epqai=cMGroOU#&fKS;v~ek7aXA_B){TNIaCmB zd2045C}yNUF1^^EXSG)5%tLkk&Vf8G-u6ny0~eF*Fx_(^*1IgSYZ#(AT}K z>52Q&s2;otc&6WJ-NZPbMcxE=ZmEPsuJ5~FIK?-&O`qXkEZ+-$ks66(Wi7C+jb$YHW=VWN^QL0KY|Caa^M^=7e_*jnrmX<>AqFs%;?uvX{Gv> z>^G@IH#^9>%R0A&GsL>0Z=$Zu^b!gxgK3TRfA?OfR9zzj-Q7$XD~dD&JBlY6 z&f5$3hYh|j@~?v*W-J`^b&c`ApX2zQV%QJayL>a{VqESgYI2^v>7!nE#Ce_8sVsS% zU@?2A6ksU!)bHz#e3hl~_vu->)%)+Ee)CBI?!OF1LRkiOHbiP4+bAbhg>ws`KL)lh z$GA-&1Os;i=dCSM(?=~SIOE+tEJ}JDi^T!gesX?v7mRdf0}lGh!cxs_rfLiI&lOoa z=y8Z6cZ7jw9fJ;}=rp|>x7ba2>D(MRG91Iyc&>R%wt|l<_7e1 z1xju{_P*)9c@pED_!{OY383;A7O`s+fmhra|AX=o1u{?zz{kS2o!0Gh`4?x!0&Q zSZmE-!3W-!FKjbPe7hhQWR>2>vX;0j&hTYU0E<)LO6d_AqQ6$Ttt?c!pL%M9#1{9P zUBb{ErPQz2M(**}`33FA??X-25^uzuP5&aDI!QxoI zPPvyDAe*NV{_B(d}ElelsxF7qQ{>-5)avSF3r z3%o?G3+ijwbypDrHzWo@v%ZXGvInP|wye)u+#5j(!cbl2ET&_-mTE z>^qzTCk|`*bH%=P^nWIdjq6`WLl1bj2<}!Q#d<-A^giW?pBN9Hx4E zr!RO&k!^cT!sI^Q#qA!wfo_eNNr_yU`LrtRntNXF7z3q~ow+W##BD!ifXnIq0$Ud_ zBSS4?s4gs`7aH{hq=ZpS+9=*HT;sWi_3=Gkr&WxRgr9bL~fXWmjbG|vA%C5rH$ zi@RA*U4UAGHf%12TwULa^To|OYTZ8lWLJ%Gb~9%heZ~3GPvlL)e@{;&l4C9IYNp#l z;z98J0!OXPZ~QM}r=wP+Q8w*_5A8Dd8f=@F;R*7@?LS{d?Y|vOX7EZRj@>UEA}m2k z)VgIt#C7O>=khK@VcKCON0@Q`jja&dc;-B)Hc$K`|7ee*RV%}}vgUXmboX*;^ZjG- z8y*q1v@1mvZ`?g|zD&kWVN&qc@4c2SdXQ4j^`F$L$5Qr9^jR0I509E=s2E3Zh}Tdw zcjMQ|_#AV!vWP(5ZRWGBp2uTsTW-Ue~ymUQrfbSg8|6&HOq=%8!n-Ca(=V`q) z1aA!g9A>By_EqYX&tw5mz(p+=_xSKTD@>^poLdO>^pE={{qKh&TGtx&WcDqET9NQF z!}|SO)K_lxWCwrXFkvZon|#LxK3C^7@(w@|ty}m2d_KPMxxnbAgTwRR6GJY6v?r@Q z;AdB>#c3xrGmc|VKK5e?lc*Yp>5t9%)5Q4%P$oEGx`GWS^o{DIq z=?WED@u{8iGKN?a!@M}7Cf@f~;3~n*_1(CPVYiTK1*fd$M{cvu^F3vm)Bd*2rx4{{ z{z@U}RHoB{q>}k;w?C%~4n(6XIamhJc{Yq)z(FwO{E? zVXxm%yd$tNO{-t=@G%yVw2wYP-%co{ymd^=3kPz0F-z?~SU>2hG*%&6N41O;s`r9` zBkyusTfCqIxANJ*oFtbx>o+Xx6+lfg$)M5P$k~HF04T?>Da&f#Yjyjv6IiVT95@@Q zj_BV0*p2j?;d8gmL^R#DpLJ-I(C z7lNk)LHt9roC#ga)CKm82G#THS^l3h4i)y$Sh%x;ZSfU15xVOfecOd%G;nHwSW4k zn5l{5D7}Shcxqak!*9(ZxiU6a-F@vMzXsH1;#1CN-fn#SgIh`~hoWuL51rVHPl{mO z{qk{L#qzDMsoBAjp!22Z_hM6W63Pzx=GQ@YFige2E{wP!=Ycbua&%uakQW~JZn8rvC+`z}i z#BgD}2_GRYX+khk692~kYMYO7MA7YkY}?Ewu9;jZvddL~+E!&2k@FvyOl_H7L`ZIg zON^Mo?<3-o)q6L?X8i#75fl%u6y5y!PZ_$E^!~{v~)z%Oi)UzYSqQ+CZQGcLH z7TyTiz(W|Ax55+H7K1$LesYN9SQYjQ_$25Tzm3F{UJ0HwVC!P1mhQfN_n`SK~qN*zI`6$ViRl&4(N?49{ zf4r{>;AczN2MbdFz&40J2DsVF7Qz3;KdPXFU9ug$G7@2*XPLUr0(Pa>WikKvo}%-a zsUKwbMc;t}X3=DVf{vV{3T7b?*bkfGcx+E#t}lE>12E52q2JKwm0G6%v37ST-UZkz zoZDS6^>%vjjU6A#!DcKJk57SAS+znuU|no;TL=;wXV}()4N0Ij1Kz=iVs!0MSGZ-v zCt-;=vx%-uKH#@$20h)+OZg68g2i;UEJPlj-tA~ujy4?C-_=E~2P)M(XL~*B9~y>5 zc}!+L^4jKrNcSTwEPoRr&u;ob<9$5dqzQ?JtUnm2#U0YW)NxG|-jdt><165z`OvG?LZbWbTt#1J#T4Ij)9*Ez z{mjgmjD_4*-;lznsZt-`xh-tzSqacycFBo_1iH>= zdY(X#OU_CSy0{0=s_EI}?DFjVqlO#6eY-r%f97x1@X64y678NV>|&$PhPeU$^uF>w ze%}k9J>yd1W&uG6MN7Iey}Fpl-LtK1^lA+93DNCrm5JVIe*VrajZm83pF~c%z(O>C z$U551@n=j%H81i;R3{cKV42+x9||FD=t&mr-TL!i6#{omZF&5dO-J zLcOgN0U|9}QAi6PV4iFoA#Ptby*e?*q8Sf*;vO!-;L=x#x_cMMC8>oPiK;Z(jaS`m zMD0bp!87_Ao~EFhtxaLG+L)%vQn1dN{_c{jrr?Rn4a&wl>*14!_WpJJ;GVU( z-pVG1LjRjVk;u!C_Cog9RroIwKVszOB!|WczW+K%42fgcs9vC=yvW)wS;87QjB;Of z&={nv9c#BZSq*D2_1Na=S%+6wNa=faWA8DmL#BMGji_`&8vpD?)vNaKRbQQSISRK*>slv<+-%BAP+d)6~(WEeo zo5HCCGdMX47M7T4Ek9#P zY1m|!$^`#XOA1BP5G9bn6IDUaU!@bDElS(Wis@_NKruC3TGGE1KOC`VB+Lg4Q*P6Z zEq%S*ojM_$m)g8Q6CH#njanAYrIKM?O$C0CGH0BfLV-&Dfd;e-DHwvVz2f&Sq;Ri= z9q#S@l|5jnzR(Qy+fb9IIR4tNEmiz`Ni4?xRDL9m^0DzG6?Xlo(_}ul#WhdkednI62b)E z(#;9+$!UHn1y=0v1MVgw_hK@vSVl!vvLbaE?v}BDgmCSmax=1_1Q#P99ZpiI0;kVW zg&&{-pIOAZnM>`**_Xa9|J;(@3PUdUHTD6f`hOfC9FKs~h(@s?I%!%Jmfc;ld@RCK zpt&0eRBMc~`Hd*)rPevoxLsv>^3F5NL@KD2zJjRB%97Dd7iz(UGcEALYZj-E~_3Q0AM6SC1KUbDM z+4;mD8aCOIcah28$#jo7+1P!eNBf%NZmex>%G;|mJ!g~l`zWLgeXq((TYz?VR77p7 zF9g~yogt0IE$XM6e$IId>uyO!xE%JCqZF6&x>jtq301>O*##^toni$%bf^y3VJsH% zks^+*f_?+27A`=l+!#8aFdfv!TZQK5?Bx3`hQGaXgs=5m_{d1BQs^jF~x7eK*nNbE%py!@u#dMJ=n_8SxGAG$G(Q<`wYxOelU!s{SGAtGa+%!a;NC+cx@ zJg~)zyXCN6MPWmltZpDXl1)(fkL)n&*mj7B5sP_e`ovkmAubeF31EieKC0Bu$>@7= zW=xZvyx1bph>we==9N$yPOH#S>!{ltO-wCRgl`gSS+^C7Nd4Cb9+&q|VU(}WqJt+AX_v(OuMIwPNxgi@UBpVeZ>F%7(ha@QE(v&4RI=|6g9j$a4G*~CEuyHJoH*q~7=*l6@@tR< z$nbktBT5g3FO>2rIx|3)+wphwlQQoxf1?#_O;em4o%20b4|waJec*Ne{Vhw>eq={! zEwa<1{p&w<8b?j~de%Q9u?}6>f1%9+va#hy8~`sG>sJ8&Gq}&6@_cNb1ns|uKqqms zratm3E~k^#F?BsoI$$=$U)|6@Liv8)Skt?c&6Se zOxqFhLr<^X51=?>Mj8Kblj}iH+$=dh-Y@W6IUY_(*jKkkdXn|gvYu~G!7D|7EjJY`15|HNzA0a3X41+xR9gz|3$^#R!n#49#9x6^%JPCN8H9Ow@ z#))kmn`qYuc{4^Tm68=`N3yWr2|a+)I8P-CSUM=3{*iU01Ee+t_R0xsBP_%t!Yhd} zUZl%0D|#TXCcJ=4hRoZaWi^Fx?Bo^=xnY>c(8+tDvoDWj*#^o=OP-5-$Y1-H!FmokeT$OTIG zo(omC#6)57r|%RsV?;%(XIGhrKY!!9;eRB}TjUDcza}c}^-nL&4pTJGWYWJ@J^DRa z%kl~}{(k^eL94!Pb>wzU<;CmYN9Y|O2;7SfLfNtAGg3kzcDul+z7qIsxKXG z5jne`plIzJt!JH3_~L$K3vy0SG!wAIaVIFMK1PQ(e`{EDf+Fioi;~MuP&D^UY?`W0 zP}C@xmr(rf6BIoI%mXJVI`u4zl9!yI=(4jc{fS!Rt-9LfLNSugMmcA8a zXM^wjDpk>t+jN1^LSg62DDX?FqO7wmO8qNUQ2`1tzFKf|g#y3I;BNx#$l=i+iS0pl za8$Hbq}=b zY&xv&d0h8ZF$%K!6#J?;U)h`A#j}ew->E&O>To=j>QqcLG`!70x94Dohnq(liq*Ff z*Tue2I6^e^`t1(-5Da&ygouA4<5yfFvqdx%+l*sJAZL=ID5=~Rpwplt`X(jX9yZH1 zBxBxT291M3!$+76)Hv)F@Zg$%wc!2{(T*x9!kdP+l6qSi?w6EvmU5JYIjqO?NWmEHHv}ciiw+2f1+(_WFzSedS)7&w!ed7A5vhR+N*X*j-1V zA#IKtJIb!R@tznPTmf1Uk38EFs4WlDw)jbpIOq#p70oE}ducn1(?(hP%P1`;=K;(s z(w^Bu(W-T*nWYgu>(gCevH^9 zN_4ms|4baTZNo9k$GH@pHVRW)FPGxqK7;5h%pj+`6ipdrQSvC4qPu}6er6Xt=fzPLr8TEutAYYy`i|LZG-l_Ek5;r<8rdooHXMKr(~nk^ zIocxU#Yu{Gi`1a7bbgaglzL5)qOnj$yk_qgT#DEOZNDp`|F&j#7F?E4;P(LEw&m<1 zA_Kwdi|S(@+D#TvsZi+o3B7{#dx|iP5E>3$ze|epL%xy{Z>WF78;;oiY`HJiuMwif zR?k)kT{YUwD2pu~Bx(4eHCIF{p{FhUMoR8ESS$-t6}kNGaHOP&mRm^nmx1rR;6z0` z#I#nSuzO$}A|`4k;dg;}Mi^)tl(8Vju*2Xs0AKbavXvg#os5O_2Djsmb1cHxT4!Nw zbr^%I3Xhk*x4JKK&_%e$=)b!i?0$C)9yp*mB|&<}!p*}EW6;EA@PhQWg<0UFv6#Kn zu0R&XhL*@iWWc#BZL z&NZ-Y468m-QPx83p&X%r72q?CdvTOKF=m0t8ifLbuZ*HG%SE<9C@|Bb^gME+q85>5 z+^_2d<{EUP^OX}7jTY`?p^z4_6!T)n1G-F>P)PAX3OTo(sA#fqtAs*&A8J3KTVZ7? zvg)*k0-?aH2Ija-^t|)LOhq1%RSN~?4cNe)5|mE)*mMfzVt#<}Tctp&P!z;h0J_We z3%ARI+5|{iKjzc z-N60>?TQNOV=C-4H8_>%X$QjpVkr5qI_#3ou^KR<8XOo=xBsv5gY9xTkHlEOqx2^S zM(Nsd(&A=maRi?ypvAk!S;Q@Ff38K`;+%8;ON(v&d5;}lPczrE=3I-AIzT#{b~-Q% z{(i13#TuapS%Fv@6pCIwCZ6m;hA5jYvO1x_OvBsnoZM~}uJx$41=22fGaAWlBit$= z2&0qRJkYyH$ss}kI`I%2JR++S3QR6+;Oz^3mJuBOy>}j()?#fRR(-j7gS8AT?`okRv6FW z(Zo@~O8SZU9`MWEp)#<3VOE`C8RW0bejRMyhXeW>^L_)5-#rHJPv#wWfrXb3=piQ_ zho5>SxsF&dY4OAPe9TmOz(2p7QFbM)`S{-^Z^6<-|kV#xXCh8J#ufk$58B@q7l2&ZbO7GoR23=L?0x z4^hy$B~wweaJLGD6rT#G{HoV=>>dt^%(+x+0%j*P@S2w=RpTo>UIG5flNBK2LRkSW zz7W&GKbeYJp42M#3WX|sc}32FJr&h0)6!)^A&tXFLPb4!lYtE7UXdLX3XBVww%vTI zhztaK@xylW8BgiDvV}rVGR(woK2w-R2n~8S?+o@-G+M-Kg`#X{l%3mCQLZqJa1ap{ z;$H04o{AR1CGYf9wB|yKoVcAEFYw7i0bh^JIlt^sBitsTkiL(nQFz&5C)`Suh<7Tg zr5C!v6>aZSI44?^h-&c5t+MXLpLV>A>!eGmu zEwaf%feGPD8f@A7O_KeeXA(L9F;**su}&!P`P_;=y%gn1E6OaQhrR>zC)KwDSFi!tVPDk1tX5o^T8 zNqEjy;qeB+L8hy9lDSR&FcBLxazRX+6VG)f&@uTIrLPnt)(XYV;KzwrfKEZja4#F# zZo$CdZ%i*=nlHUP6Zrqu1l#D0S7MCElJ*=MzbGHGF77>7vUQ*2Ta;FPEOszK`YjPF z^idaKDZze|JLAUonEWS$840SC^FI=#Tidv-P4x!KhSn84_Ma6)zhFa0^tI;qABG!<# zLc2FxC^P`Z8kR8(r-Dot@f4we{RUHS?WX8`z<4ohmWtxqp^d&?ie^fI2B9eEz^f#8 zVU|g)>!s+YODu9OiNeknY$g#W{>k}SFJ*J*9wJTsvzMYXCu7F2PEu4S;>ALt1ZNti z^gIb!ssShA+em;p_X>q+nJ}$wO>YsAfnes1S<|mMNl~kSa>YpK=?RxSa+0EL zms;d}@+3tE1l3niP_s3a$eGbe(LoX7DGT--5Wa%L9Z41mDKteWs_2D&!?qz$m_`UA z^|m2;%ECNu`!Q#Aj6d;&LiX$Q15XnvmsymSb3CRfy1N5>dnGuv;NS-6;SRU~di65Q z?dks4w6;2-t{}b6Wm+z?D1EMQZD|oTb->%g@t31C-?xnyj7KQi_Xu3LB2!T>#ziek z`XyV_hUB%nc8QHn<(Oz`QwL=E#$7I-Pz0sH)k0Chme{_Ih{!H)0W}GQhR3t{dg`tSC~c!{qU!R^fD2z5{k0BQ5Lo}3eyNtR%}DPYel?SD9Zi;+uBC%IuRKN zG@y37H}Nux^@jFyicskJ$JpQ$rV&De*nr)5zKAyqMcMr*i{1ESVHzPe(DrWp?#nIW z-S~@$PHdB>2)tA%;Oj9v@@{;-aGQlfYVXEB<-rj%((x)*1jBtt|YpFK)44jC;a zL83d8FqIyJrl?UCtHv&v_onul3^y0Q^ckl6lJ4H)pzc#FN^8L+;r7wOB)lFv1FYmO z3J1W`{Ymb14yv2N10Ow^E9OiV3NNNPDEhUc@gg!1^uu92SuLPiq0rOWA+HtH2-66m zLHA@^dyD*DcPLm<;Sbv_%y~PurQs5KBWd~54tjkGHftpTZ&gG%{jb2oLuyXi{iK5~ zDV$?lw%ceGn196KRZLi_l0_Y1GY zJwq6mcw{wms<~m%Vtj7>GfNgtMeliw=s?oa1rAy>)skD!uDWl6=o{R69++zByU!Ed zF?XM1+}Hu*ZWTY%j#gc3iag?$A{z@WN^RduQGAg_e9zhoe{}7osGbH0uA`v)b126-8xUk8Nq=dxu%PoGm`D*jT)rExxzdB7T-D z4t;^SUxGW`7w}X}&&Ruby{1lQ;Bdl|Wwd4GVXm5d$5 z{9Vkys}$SyZi?^BH!0kizfdZ-qWY53njj7a=>vsLDEZL!-4(g;hSrB_$|47y=)>qW zcex+3<}p4C{mzM*nbK!9LeT>+uoO`-U$_f|Li!5&2NB|f8dg##;>AJ%!|zm)^WiK- z%Z0mFD5OnLvI#<4Nvntt2n7tkM5UGB$5}D!XKvIz2I*Ty$tO_4cgQW>bzpD8yV1DE z{)0tGS!HBs5&zaa(o|iqlKZjJtKg6SJuuxxMU~~1ehelPG{N_^DXML1xit>qe%n4jcmMNksQxn|%o&M7$SIk@8)HLeKHIt;Syb zbfn?9x;zmV2n7sUqN>Xmk%1gq-M_fCGQcle8&^{EVJ>~1U3x_sUW4>|Xn7n`In{88 zr?;ZHQvFJyuy6<_-Fso@zttY{hP{zd?x4HK7nxyKp0nvNBUZB!kCvH9VKsNlKE4iy zDvH8HtK;y*CE0K3HKVh%q*N#jb8n_uTa1)jIFLkL!=!y6n z7CFdOZsB$9>GUFBW|yOd$U}{nO7n!Gg-hWGaA#DxkbsJ_g1tDU`|?9iLPp)D9FFDfOORt4EwgXvc;>SU@M@%XCFmz0gF-x^ik9k ziTVHT#4vvH$#|~$!`PVh60K$r<_2&w(TpIj;juDY^KM}^d-TNscIy#$d63qygFXer z_Uc9k9Sm5M2%oje9Eu-=U_W)og8^<+#s}I0k5DxI9n+?f6&9tSO{ATQPq_ft2mqYw ztq`Zqt`Mg_$(m2^qiC6E+$|IZTTn3AN6~u~mR=wlMH-D-U>1lUp^Tg}`Y75jxW3{s zXyf1Ec&d-0l%Qxka0C=Th{2k5Dh}0)>X{NwA5E;Nh~(){o$c-jeyp9M>hNQ&DlM;v zGOtyigSVSP;A{4+($Bg%d-*K_RW&FG^<$1#Y}io_IAj?NFY5f@0D6MtR?>MR|cp zY~>SBh@9W_QIzwMws^8oC@;mnqAj4?+{WKJ+Rn=PL>CpOxqNgJf1VM7c6*gRq_jLL zF=Y$3#OUA~`5OML4g4m`jNAfPFA#73}_Sz+iyeb(@(~0 zxG|drJTebeR7C6=TelukbJ297M-&o*6G9es^5F_=*e$p!_E&~WN0y8Vc|E=eB)AWG zHDvC^9^w5OpE6lCs-iLw@rLLz^;kjz?GIU+jn|ZDG2_z1cunsFJH(z)h^FCT-NgR* zVT&i!iq9ST8AgAR9T)J+9P zRQowgC}7W+=nVjth`vnD)Y1E%>A!gp@xFBKXIjHbq0sOLVDDgG3RqjTnQoRaGo75h zU8^vmS`wtsxjCP3)ClQBT78 z9-nh8JYQ+)hU7>?K8J+}#66X8tUVr#g(G=GWejVHHLz1*HsMr>S_k!*hNacM9F5DM zK3SNV`0Ta>OtgY#$02}k#dWyU9rA#KY`{~~OsML!DsYtRJ^X1(^E5nr&4Woc2KxgLLogBD)rd46& z!1x*w&ld{V8883|=h?zELKuK15GD3FSy78Ld^psebFv~gt3@7ot(4p>6l%|eTI8bF z3DXFnR=4Z$(3})>2f}tgC4U{$Upmg-;5fUv$|4hIZ*ZKwUxjT-32o%<|4+Db`=~h% zIn*;};2z3No8pi@Ex;A0UGv-}_!-NJhaI#O%y7_KIzw9}6CR!LQrhnp2+UKClW+L$MFA+c7(wL>E zu`-Sc?(8qM`{oKouT-J)5VeoZwDf0svqfr9=pOWXDgt*a*O7=mZV~;rnSQO4f{TTs zpzha19NCcETibI3YQ$Ly$6O10?b)cLXawgzM&Kw@yQ?$4(KgF;$*c1Gc#Oa+uf^e& zIF!Xh55;2A6+Hv|wp#ZoV%9&e$R(bK$# zodagL$Q@wdGtBz{yuuPpx3U7i!u&4Rqc0*ASRq$2=j`k8#ILtb#@x@}qs+b@vaNb z5Q+ljhzX6a7yMJG9gpH01-D9Q8{V1GS5dEzG2>)t~@9XT)u+L{XXDBfs`MvlyR{Gr2-*JCa+Drp{n$Wc_y0pga&!b_O>6qxoq zCrkMQh~L1&3i_gj1$5*M(Yv-4T+9oe4)mBv9O*%`TnaP^jT!`a?PK(AU3ryI1mpQAi`PDkFi(U%h+Tx1fE$)m4`Y1#AksAUa?#ahKtMF+HJ%?NDur4OzY4 z*=1qB^T|!}HGiYH0>2m(wVkPvqO*l!a>uHWf>i-?lee$3g^L9Q+e+eyl5g#+=ud6} zR*vN&UMmzZ{A3RA4ps`&2vLz*s8y{!f^kC$7Z)0 zX=jVH^J)Yu7C^oFS>I_bPNAqirk(pcDH5bn4!PN zIIB)+$tNq0orZSUairdYU0DHmdh*4-!0a;KWVOQpaW3eqC{LP}FBI**ALEo)>H3rP zRQV{pj#bwqu!zv82?txZDq+tS3T=ur%cQ$z*=Um{5C5eloE`?S+ighI~}Smj*R zS5c;LM+=3t0poXDUqw^6X$b$xBAzc4u-8oZUw?~)zh9(5p|Hgc|3_FE!hfcSYlH%3 zhyR;^B?8ubvSN`P^1C6@&ZNHDnQt0rE*4#lLZh6Cki?DzJBMV6AlUy7$|C$NVHzRa zsKdW4BoQ}Z+)CO(n6Y2`)dVBn0@=nv(_xlH`bK42J6_LcncLrO9CPFf2kAHd)t$Fz zNlXU3o=Ny5{x4?#1$K~b;7@a=&bBBC_4C;zRPQ(|B>_74=HYh7qT~d+5s>R9X44n# zkTlXO_s*!l_vpXVvil8wR|Ki!+#5mCrm%)txKoMrP!-;@eP$9-*JO$^)JS5dQwtsiu!0M-s4wzcc0 z=r@MpPIZhny6i$W0ef<=5n`=?>FZ~pa zz#r6Kkq3Wt=&$I0{L#6;qUO1-#H8yB&#Kz?#LFtBvTi+bv3-)nCyRU|7{MQL#!WRD})xdV_z2@$>pC+99|DLV=$S zd}Dt_Z!!$Mlk&4}NEe}i?J>RcmkpaO;##4AePLij?ufa=#IWIEYwitX&<2H?!K;TB z)jNVI2~>86MV%`3VQOI2I_Qo&%n+{U@j$L#di>Qp-tL${&)$J7Wzlqc*nt7R8AjMQ z6R?5xBeUlX*>%_cs+)U=4fiI%hTmX=u7d7OKpp+>G_%UR38=(-r$sJbctm(cpeQfo z^_B-C^gse`itDsww70ObWR%tG~AEqr;?JakZ-cS?#zKV{34vy$jtkhx#4b1fnd@D&bLw% z=(+h8rL~~VS5*|!6Hd&q9q)l_vIpQGFlyo-kQxM5;!FJ%RcGtz49BFTe%fEr9rsw2 z{AGVddx7CSeZc|U%sQb6;)~!Jme&2QrOiSi^+9@=-!8Bn*7TPy6XUqQ*>N53jk!Dh zo7-7_uL)^=tsfNd#>?xWn-lRQb;Z5fzjG4d->m!Kh-_|iZ6YFMDmXaLE_?p+Qo=acJcQ6#KprG zU|xJUOHqR4{|f!%lIeOi-p-lYjj%|NGe=k-iu3MB(ns$wrv;o=a5xjWo_(8s zzeQ;ogWzv!PQ-w8gOdkNkUr#sPl8hq4upyGB9V91&ukk**2 z2iP~!k1XMyibDQPYvY&XxH#TOnJ6nH+Ras*_kfw6c5~bBK^0;8h3oqQ7XkW}k$vhg zamkOW&B6tK6)sHs6Tf}kK|AYYhoDPRTC;A7-y5Mj+au@(JcO~AGgu~}Wz3xWkVWYp z(#Fjd${u)`<wsXo71tPT z53=~F$FN8a#XN~$+}zh5ze(8q7@9|k_-*vsp*p(mgE#Pd=s!PZ>EA<7d)(6Q-!0>8 zuTb=kecG}6aqQM`c5>5D{lj}K!gCQQ&h^a5M(`Vz~W zORO1*4LI+!xYz(naLv;ty}&lU2?naC7r6f2xVCK;ErXu0$W_i={&EMLXME8U7NupJ zVxQ`~sRJH8RRI=smw3l{s%R4%^uQD7&ld(LYC1(n#>?oQ&ju)Z?FoxgzZ#(E%O@;K z{&9dJYpLn5Q*_@u@N@+ocG6OdQtug{=v@5q-~dJCOD%GC$X3)KzHAhV-)Hy$Kkd>h zTTv}g!H$ZSi8LCu0Vwm)t^5=(eEhY#A`eU1ZTC= zy#oAt;Lq%#sLPX>O-{{LlqBL|LIHaZu#2)4oefyxmD!3iPSsx81W{$SqQWOFO1(B) z(arc{4jTNV%+8ZV)fAy<`3l@EeCtxQ9xC;K%M*FNP*lzOG2eX;98YA`QuPj0jfw2& zWipXnzDy>v$9R*`7Mn$*E6alu^fFp4QJLI9`@uw~-(BeS6Mfg=Ru+h=pZUv5aHb^cf*zqL_$Q>%&cquG0q=Af?Z%IJNxG=< zryjhEk}x}8`V8C$cP`@A%)~XjM;MEkQREJA21b}`oc>^Q_Dv80@Cnxl+PdtH*e)ghy}Kk1@Us24Rf9k3Z&QEBXm_Vh6TN zG&Bl@W%d|PeGYZ9-xrI#K`3fu{fNwAjEfq!`1~v17ns3Mr^9xLWw>HOExlAi@1Rgu zkX9z)Mf=O2vnZ`~7=A*NUP{8(ns+^ifs1YUs~nl{;M!hBUgenD3m%r5*OIVB>G(XX zZ!-&bvHb_yMr7N@WD!x+IWznLOhq6Ps_^^0<^vcMwu@vOW!k|-@hd2|#s7}H!1KJ5 z&+~@x8!AM%#pmAdpo_pQ_m)?LX7E=v;Nupt>UoQt&t@yC7E_vpLMxuurf$zx^uY5L zrGAsG=rzD`wq1?DW(x)UL=1N4pV^952{&3<7UqzC0~LMAK5?EtP|;e!Z50YFk6}IZ z4OC<;wq>qAVo2sc{U#i$hDF`TLp*+e=oQA zqky0sO-LK!@m)aG3&I{-;r0vf0r2?Xor@wqzwa71K7L~P=J?ZBIOqe&ae~e{p-@GL zK4#{xFUYDPPe#&*choJ32z3Q%UpxZ+xEHZvWS@qOP8i>^Ohg5A8$X&p6GHw>Bv%41 zUnrdaEZ)M0d!-8|i>yE>FwY%=@rcYX6qx4^!9+whQz$Smv|;#xOz zMK~nDXbtOq-|)>_3vV#|C$NpGiQaOzFW?K5(2p!kT`9rUCisU1!ywR|4-?E2vOC%# zye@AO@}oEN9?qRCy?&)dY4r#mZ&d_8YQ^n(pVdB!l6aGld7m=xt(90GF@@yF&>Afi zo!pn7Y+Pv63diZ4e42^Nf}d zUqTqaCByTU3Euj&!-Dv}b_n7*FX1-3Vmi@%{4}cx*D_n(*ABDQZ{XmS)iD*JBCiKP zY)kvUj2#tE5Th&QK$Qns#f6Yy{*kGP>NzqZVBEDAm zyoDnzM{v19fyYx`Eo~6)a-ooJvg6Qjn~o?o+zm&R)}?4W8-zmh&$ed6U4BHV;WiyA zO~g@4EiyI!jwiu5YN`7wIch0K!Xi)T8HXRWG+IOkVjia+;i#n}&Zgb~UdqKZ;tknh znB7^oHEK@1(SdLrxe9Y?kmmF8m|k3!&loqF7C11u&R&IAH&4gMjv=2nObZbB2Lwz#J|%OwVtjQiR19N>X^=oDqpoIu}cR<*=H!irxZBg zJ2|_9q6M#7lze&zMX%tG(H#_RXFdNi@``-{&&0}rd}J)mHqFgB{;*~**cOR4(P?H}84PWcQb{WAFpA14(Hi>2sdmaNwM$pI*}rJixfr*DXpPcATzt zzEGDw(|aFlKL2&hYdBr5RQe<+6!ABNACuyRso)vfbEm^|KV&EhzHX7TE>qDe!EYAY zgNO=v>xXx#T74k2u0PW;Ka`CL6|#-4N~+ns>4EHu(Jh=2Mu@e zs-8G%kfJ8Ba}T19gKJg|0etzA55&Y9v(9{Ct#?2(}cX&jEI+~Moi2%Ct$~sxLUTy1yZt9D2$nn4rM?3 zg&PzK=^R@c5$;T(km|Ecw+vELC){;HA-xl2|D|=mMy32mX(*1uI;sXtmb73Fn1tilGa@E+EWZ437SHE;!A z*j((c3^#7gzgBDZb>jjNZz$mQ+Z9vy!wmSC4H&=1qN7W&*H<5NZ_?4_zJR$WFg$)a zWQ&%kWemrG@80RWsrsCmH?2X+8hk$Wb2L6km)ngm8Spr4*Dp#2#TPS$qA$0gFL@JP zC)@_1kbVj2zx8z6ttGt4wwXrPAKv&HCnEYCH2%6!HmMpXB3a)M;kysIg&BL-$cB|~ z;)U7q4J2ya$e2y^x;-<5J&4(DX3$%#;v%pE6#-avK1=Bx7F0n{G0hvo7X%xa^#EAh z8K3d>Yj0TkuuiA6AW0~^;=}`T9>`7Y(PHeyR=0n7frI+IZBhCZLHdPaFaIVV;aH72oIejz zG+tx|3scU4DeVR;dh~6Jl3jxp{fi$DKbe-!`q_#3PvaJs-h^+0gK-bk>*hu^HbmzfuV8T5vH6&{0|@s1gj8X{xzUVchIu8@2B zgvto?E@TZ4zJqpXP91YrzhhBikHLy+hwIJUgK+4e!HRZ5a>igqO~VyUCgS9A>iEHm z65q8bC4VsTCeAAdE2%R|cdF$cps9-!oqe9;DifP_M+a>ME>vdSW z_Hw%d>+v%(rYYaE?eo@4Q}*-ay7kf&EtRHZoTZ!cJ@5W;=)qj6Yn@OuhRCymlek+D5FE2a(h zQrN&&P1-11A6{-WZ`wwS67eHO&0^f~4k9OhxF{n2s1b^D7aQ<>7|zx+!m22t{BRL( zE;b9lMJO892hDDawvwVecae8ek$ajqP~r{Qw&(OVZRkxzD)tG(?fk*|QyVSnWH!b` zw<~l(Gnn|<9D6|(!Ov)R)Gm%&e-D>QdyjV!ZTr53%svflY}$0%x=~?@ox)7BYO|7O z8C?wlteNPIxP1Yy=Yopq^cIU=d{4F-ouy;C2u0Ht;*OKo%;CZvFBH;xd?t)FQQ8jd2`nUN|R_& z5-?$+cj9WFbWr#AWACp1tFA$|j)Fe1!51Lf$)BB9zHcUKeJu;;&Nw{rBAieViqJQF zwd{TT&I#?}a$n=Z8}QI>mL1nD6N82lXH8n90egkQ9mTv_BB$aMlahr(S_gnS zR1-l1`4-1;8xEEJpPE0!Zg#Vjk7@n^K78q4RoR7``o@Mwn5Zdk-*E|aX7m3JwV*px zW|z+EcbJxcSj((tOCJr{BK7PR3YS!)Tku8x4q+N0vZ?rBhV-{tmT2!H6lHH#NBl{( z|K&pbBCu^~tLPHvq20CdX!mQ)$P%2bNPkASC?1~?{sL$47fV4YS0xm-%rotX2-66o z+JSR_XN!2gP?VjIcHpcreCKwwqI!`n6ABEzpynT=J9d+Ngw!BXgMzc{AEO(-35#nY zJ_)Lq0r03IO2lVC&1WmN>d;Sr4xg67ey=xZyQw<+unvBT-8FTSMVH z8vrQI4}9O^=e^xN(9B?j)-mIv4=hUZdAx4_82MF3`XwH#61j?kl{W7$<~@(n6=hV- z-#vcv0nP)=(eLzxBJ@5h`~wQFo0u(^Ivw;0i-^)^4$uu~6zYo59+nOK5ci#DB`Zql zuOVH8!u3y^uI(&LBaG@=IJ!o}bA_TTe#el%y_zjdBScx<0g0FnYjgAh_dd@MuMJkT zRtg*x3T@5E`EDAlDE~u?Qa>H6X!?g1Id=|Lv`%0K-iL_3!$SJ!U`6)>9zR6Ut7xbm zP)Xv1Org-f8G(5C$Bt}alUVo(TL@nbk&-z=q2W{Gt6{=4LbMkVO62S~L{YAY^Ms=8 z7ie9NA&OdHCA&0V#05eDYe5x=MR~^X{{JZA$pO;S8tB~g#JaV`e6sn z-)x2m4b)XRg`y>0(GqyU5~dNNB~f1JBI3S6QML!l!V5;2B|?-v)C+|rX1ilIId8DG z$27f&Xs6Y?T>`DxY*G4JaZI+LT(&Rva$CPgTj33!r}nZtj{XRfXVeWO-iG7EYVZDb z^`_dqA+gm5iT<(rbxWY3AL02iKZXDce)oeFF0H8adpONc|5*6&=FyMLF6Y|2q*IzS0ydCLJP`s`P{AjFH*~e2~l!n&*5X51KQi_1Qv? z@Sr(ULNw?d0aubQ{cQ2@REqbv zX$5!taa&B%UTALaI5=r2Os_E@vIV!IzJTVfW8QsRkZBl+&j#FKFKuGY zF9R5W@nPX4e2TBI0CRghA^Moh=7X6t3d??xdm4St%-cS-h|)8M>6Yyfio2IcnD(_x z|Hna310pAs*NZ!s2}O5q#A_}1;C$1kmOd?Eu}BRHPRC4^T9K@1KdVdZGel8vllz80`Ma`oW^(CSySo`i7qNo9- zDe)m3+d5inrg);%bwd<=@tH-=4~8hJIaN1xxlptKzowS@#}GwnpIej~H&oGSpJP7Y z)n}Ce*9t`e1-1C$s41UYdXLg1QiDR1F#)Ikn5^h}t*zrwMOy{8LnyR;j5cNtRrCmO zTxpVYM2b+rS^z_(pPEXOMQTtnl^%pLz3FZh+ySA`_6xM3*Sc?&UfVBHgMv1@*G6t- zhoEbcWEf-$g*Lnd!rkQED&16v0^F7y!Q~1C{twiSwtR@%v4V{jsX?K3+kwAAS=82~ z*ys0;@cT*vUXML0bI#BmYer`k(H#!VaK~=Lz{3@0`oe8y*l8&_`wvw_r|ZItCzS;JQ?c>S~* ztgGne1iawW?n@-3!KtEK5)ddwUs^c8lFm`&Dy=N>V&WZ9STW5@i&^b0C{YkC9qIK~ zOsAzReS%9nze-h9BcV87D7wOnuJ|QY(S|QAO8qNU(GMt)IAy4!`g0Uxt^wwzp^AEa zgKZ zI$p43AS*jA;PF=Jkg+49AV;e=5fUcanQ(2l1oD4n`g&&q7Dnmoo$N1iAxgeaKmz^F zuh19ptdD+V&U4@d$6(u5S{Wz{)6WSt^BlDME4;twql2uk!`C{;K8e@b5m@SO;P0&a ze~q4WJ~vd+cnRMEp=jMV@kGg=4^?y_aQvjRO2pMd0s9_Ka6Wsoq9)<46$=*F?p@1noe8n2D@oS4HvF9m@Xsr5wjC~E9 z)YJF>xx4$Boz+gJv|AoqB%4xOR;34R&(F0~o@r-iW_PD%XU5EI4}_(nC{~3K79oU1 zNJWbfqD2T{Q54aZD1`s(eeSuRo!PDL@4v5Cow?_nd+s^sp8N2*_kQk&Ntqy>-&0Y; z_i5xV>#69N?Q$4r_Wr3imoq|gS_ZZZwClnVy3ZVl;6Ynn50Z0ZFGag0XM;dUz-LX# zd7zh~gMuZgdQkc6^7u@}p(aFx)@ukYynpZ=N+A9=Lat=a69^%Buw{HFMb?jL)JA_K zfxTBLOe+L}xj&fUz1$z+Ap1El_YA&@1V_Rq#659;r>>ETcwszhM=A}`RiKu2<;}1d z(Po9$l1KlDmzj~mup2@u>5?AWtZ>45^^bbX&qp7tjP~jDCDO$eCG?rv(kh)=?`*Pc zjr)uev?=woHb#rQq0O|}$J$)KGmTnBNbO^7s8y0GY9FgY*;R;de6)goV`WzF#1#iX zLZkhxQOYhj=zn?0vYZ8@|@3ibWc==kN z$9_tqtXIxd^e*@tjVca=JkgmGcpRG;_4{oLs)i?9GJ|Lx7pQ*5i4PyAF`c;_=@6($ zZTcBYSGY}Ftz+%6kQIv$swe>h)@cNuPt`ikLav~{Bu=%=p1m78R)NwogBZIzIWEev zy{S*9Oo(_w!@^NM)MV>hGt%gdU1HU`jL28;je{b)&6L20_bv%v`|{&TkjHkXQFhKq z^rl`a+4z8iz6Pd>F%$svv|kVj&a-+eS|@JVC=i8|VC(U`-n_N|9GA1qQttcX-C`jviD|+D9 zG;+V)TTzESX2h;x` zlK3op^`11!t{#Q@L%&5&^409$?2*N$RlNI6#2+g;C^qMh(z2lvZd~W@UZ*t3$Ei@1I*vKi2{MtmnN{J4$s4VMDHUrHh?sX-EaI$#=#noGV$;Bem{WTZ z+O{>trEH0PhyT?UjG5u_oS5{aAuE<7VUtQhCKBz#CWg2`n2^&PHh~o@1;0rk==hA!;jF+8!xrJ&E)e{u!3wNQ zY!##-!V0WR;B&sGC?ctwOo7OYFCgigk8=duMIfjrp^Iv)?A$ZBviXBz(N10C(U}9i zS5^d~e!JQW#_P(JFm4?rTAT80`*aHLMH@s4{o|s&rf*%FQmoR=V*qpO5iEfDUw%Q$+8 zAPo@`w4qiEG{(sO>Mi^F{hHBy`pG3WfRx1tly(;~_QLPQ1nq3-7>`U^Ro=bob|BIHd1 z!RCRs!E+RK-!Iz6g<2^PTyJn^f{#+o6YK_opuUX(6WUJPFWOGW1xn<+>KsKKq%wO8 zL6_4a>4kmR0G9*cNF7|3E3QH*MlxE&~wiQ0bCm|{dvr=t1X zvpQSt80D@bZ)HqJAM~mo-jcxmMf5rw|$u>*q}gA?V4ZxyZG`;lt#{7 ztrTU7oo<21@IIoTu`wm~Jibo4U$FgCRixFi{S+knG<8e+bo%#qJZa#iqUba~ka(^* z`47|ie9CF<%Fo%AQ~zL3ea&vZl@rtb{s^43gPrs_<04+#o9d``P^$yr#{%Cz?s`Td z9V&_X{XY6B?U}_6x*nJqzSU22)4JxQ)5{0&#Ts@$H_RVW(J;Tp7wNMbfDW6R%;u$` zH*0q=4d=(_bD}R2`c|Hs(}t&{(-jBPD7#@C)&V`SVSy0c$_FQ|2cJLW8(&fq!&PIP z`DO4{jaTG~mq(~7t;2c;IsQb4PzPj$?qjxoKoMmZ6yoZCz5!@0mo@oMyzh1Iuy#T2Qon4GO`fJ?85UAgY1Oa7MyS|qw5ViMi20| z&L@n{nIPOT`k2uNf#$BGa)OT69}qN*sS(U*6F1tQ~7V8d-C^Z%B6kGA}s zMtobzMqxATNw<|806VTeI_?mh=fs^uhH<-Og!~qek2{C@gU?xaj-rD?PP;&x3${Gy z@BH%|MVW#i*@x1|{b(OW z9~_eVzG_9n27$Q3PIlqQtLiPy+TR*U+^;Pu5KWWq^voA+TpT3H!#R}Zpo^^3wMZf=(Ms81EMFsz+ zk^Abtif+M=Ieisv`8SQ6__SEsMOqQJK-Ai4sYLvlu>*Lcgq;7Kq^RG;ns10eXmS@c zIjOy(A^#!R5R)r~yi*|9mV*s3ISXtVx$PCziK@?obY6Q!4}j$Kv{w|oL>DwmASAp1 zwuS8#ea38yvK7?{d5b`>@n$IM<7l#oSf3e}YH8~Pg6(rigFcrq8}!*JoZXxsKrdlZ(76?Sf(~yyy>Jq^&7YJ&5P!k75 znLI@Ok#IDANw~ZiZ-txTu-dB?vxh~ZeHNwbWmiv9 z*yYk!doKni=K@7~pZ*|k$^XXrusuhASr}S7r&{E?iuItme6_GQ)zarSbPj5}rC4iq zP@pU550%Et=oa2{yEhf@P7t^HT#x3=69^CRUNBnyt6=0-Um)Zm0>SnNsuivN_f*Sn z^{C3K3v{rx=4Jjx*@~(p+fsqZeh}FaFkR9R1Bl6OLT(TUHf#;+&N*LM zQm_jIf{N?BiKFX~VEajRf!Ye{HCD9G@2l{}dC5b**<5{S$}_=~BPf?XgG)N-ccCC8nD-7gT-=@`TCp2L$+xY6mj z(E`t$o%r1a+uKDYx-!)=Toj;MPbc#J>PV*#;Ed_T6(v2$zvqC1taR(J!tj!wkx^ON zOjZQ4`legd8f)4V!7MnMZjrtX+wY?*(bqf<3<{$t%KGNWWexJgy=8VmMS*4oKFS{~ z^f*n4kE-cUJ7~Q#p~xqBAKLYCWVnamjQS$yX#0)r&Q?!`5Q4C&-P)6jl^$R_Fu#X}j!9i?Zn=C8j)_ z0@oE~HgOb=XBJnKbn5EGZRMeG$X_0b&$Ol1Hj!RTw3!9XhM)w8C(F@7Oy->OWEG2v zK4Bq`CJ8C^$8|o#Ul2~pr|ah%&PlFfs^?$tz|1_D8KYl#4dy-BV$oDqQiW3$7r(zoY(Q#a=JQ0tRmG=-$#IzPV!}eq7T-(e##yRcS!vYD-mgPDKQ@%jR!3X(Rhg?A#A|z-XcrNC?MEmweJoaID ze}#Qy$BwCXv)U+?UM*01J6FdT9ZXRtr&B$$+qokZ5;TUNBD#7cAA;>JuJ5+EQaUkT zNkuSdvllhb_8?~)my|6YomuMFIZck7E0YS;QThbuMU+0tzvdn-P3R}2?TY8gQ(4UkR%_v$`xX7fvA`d%qnyjK^h{I)ZyOf4=hDZ2$%aWWKS3m z)W?!M(K@2PxDhB0`iVZ~Rk5>M8Tae7UQw?WlkvgC1b4L)c_#>jCW-E1gS!Z^w?NqP zDJE~+xfBStP#~yy3xyl@5J4Iuk>W2;urV_27@RoMsw4K?{d)NK!^O(>915I)7wBfyU7JYcv2XT zw_LqbZM7Pjs8>v~_Sd#f;9FQaz63VdN>@!!_HBgdF@ECx z!dCt~jAcaMae?1wS=5@hvw*=AXka#0A0pIXO?b#bpCg6Ocl&*G zfY%T@w6#co%s57WSc`vh&?RkU$kJIT+kF{UCVVsKCVn#g963TIe8bKij5)QPMcK9B z@<#pm%KTqk^e~{^mn(9`JyZSkHzNb>5Y76zwdiskc)L&+84i3pLof}vJMcJ{qE%qe z!0KJCkkWD08dk`NGCH~x(G^+1%jtN)cDM;s8EoG2sLz9eVCw? zFdB@5vvv$sU#G21h^40;2;QfUwWu{;Vve0K2SQ^9P*{|}@gRDdE5Gh(-0GL>iRy(kh_T2G!Sh@mhUIBW=f$wgA28J>Zz3RZn z5B@@m6)ME7S+DV#@1Z9kzCBSy^cxO*aeEdp0bVqCoe`~0#PZr?1TnqGhsfsxQ&)MLkL5( zhGl{@MC6s$fJd3gwYuC{0+IIuy!}px1=NP=eI{dBg$h$x1=LbR|18B%Nz8>7>nJ=&FxLB-;$026{FK_ z{A(XvZjadZpuq~r?8X#do2-VbjFzw#**Rz}T8kyDL=iBJO5DjhJOO0K7*(a?5ov#p zrBBdYCQ{=9;k3nYIIe3c5~Lv_Z0xl#LktQNh_V)TB#Xv+LKU8%ZAsqs%^bUuP3nAd zf@4>*P2+%y&x{bQOz%+bpes){E?vovJY1PEKc6g&*#+g?(5%20xWFZluFq<}z{R}; z1Ur=k^93+5q)>zZoQ%nvhgPSfzsWhpqU=g9RuAZ9&VKYu6*pB4qaeluqc8Nb4wk?j#Zf5!WZ29k}SR|Ie z&w92y)%czS)Av-1T7~?6A4^p4^Jo4j+wJ4cZK`7zTyZLP82r(&-#5q;^V3Hx?0R6i zBWC2sjC{#P>MQ<#VC)yTmY?nRNiCHLgx#Bs-R=%>;}KfSSR5qfQ&2wJ;=(!2EPup_ z)_Yb56G4wSQKjUHL}-N*SItl9z#a69jDMknMQsm>|MEndD?l|)tSfGXKF;V#ik1t@ zN`X*27iY9@K1tE3r~MDLp|v!2qisaWkv>N+89aT|QHvZz8TihB#HYuDZkW1Oc2;zm zIm?hLU=h`701K6G~^UqUHcjfMryoVbIXIP5eNEqG;zUvszyC~m1coM@@5 zkZ$aaXonMB;?Jj9)G9`52m6>G%6{a}E1uHPBK={e8`s@#r1-t>iDC0f8vU1n&bdP_sx^-HQr|ub@1=%vG2SDNz4W`Y^pteE zJ=Y@2ZU8Dgm7eCS6<0AX&(9Z5xwjLd zizvGiCGfi>^aLyUY9|a1;py}|C;#XqGj>hYJAj%5vyq!yEA2Q6{o24Y;8}UieFqoi zI|Bj7@h-8nLLlNjX5#%OW^3JF(JCRY76`T(V9V>T=m}=SdQYv8HwpyXOzg*F@ZKOu zLu?$pdD5^`$omB%@72hQNyBbI8Y1%QNkhgt{S_6I>UMNJRJydkqW90R$nEW~D6O+a z?(+VMPVWqpq2#Q&x}N3;L_rHs5R|MGq#>dpJ;PunHwk&GK;(TEd7)&TAPo_DwUV4S z_eNcAzCh&V`>~O?iy#d#A@B75iY5wqnLy;-0As8AD;m|=qO5!SE4l$c9__E_<<1s4 zSM^u4K=>2$orh(xZT+#DL(U!j6>Sx!dVvuB4uo6hDr#WAVK28q$omC?Z4=nACUANe zxEDp@Q}K|Ud6PC5Y`CUQigf;WlA?T}^%e-8k01&sI40YoHVAo(K(OJ6rHJBX=ZIAO z<+%6{n%v3R@%Gqu$<`nc*>Ofee{j@b)1);TD)+W({C>J%Kb#q5WA9S&(&7zK2*k9IB(cUhWHpOJBl}zvwj%kwf zi;l|1ZfHWy`n#i|PG`cXw9^%B6>`164n%YxR>w~}9R+qfUC|h3#shS{Fc~#F2s3Z5 z&H=+#Anj_W=-o3d%KEdN zqF>Im^f{g-BB4&8hlubZ1)t+Ntt;#reypPHLf$D5Y-5Qi>#}1NT@E(=@u~tT(T@`G z@v6$Mmi|E9!}x)ZSH0C0&xbBW+iuZD)C+_W_Q$Jsu}p5Nbwb}N5PU2j4J4Ci8(3rM zCli8*K(Ga%2G(1KfbB5z3XIzJR3fKJD`K;S^VlG&EaH^JPd+71D(r=NkB}aRh+mV2|X*QZGlTl%j_p*h_(-~w(GkiP$>hiVCDpL2wsPpz?EJhum85TYujtSW)vuQB|i4S$IF(ZMVczU2bJzrZ4M4-4}c z+N%G-V`#>oP2?OVs(2>_EA%F!s+vdErWS~-+k04qN4QNbFyCJV-J3s17;!QoH^T50 z9Q2eDuC6lrfMtHx!@|@2hb*$?S(aXkSSKoM5C|*qg-M<$)C$rNF<>W56t)U^yFldK zhHAlJzfF*ah`f5Da0FB2k=v+Wb-NBFF$1mcXSQSLS=u*0vmvvP;yL`!Eii|F-WZlA z`Fjh5a=$=1%z*L*X^2oR!LTtxzDOYQ?m=D{RwzhAMBe{t7^++z^^8&OJDVA|kB$2Y z=HQqe8+UTPMcTN1Y}`fps6u`$xIGgcz-{>!Wfum}==sZxH}IDkp97nj4Bxt?*PFtnG2GqJ#MsW%W5%QMa=#at}IJQOVgBIeTR*s$Qa1-YO72 zIWLVU>(XpR^TF=TR#ba7+Bok}tP?+N6o?GCxmXV{v`CA~7YOQqXtn5;4?v3kvgs7v zPozLY3>?Sxl!2o^eqi7z>L~-qL=kn7K!~&lj@dm~G0gGC2)$4s_*gy$jz_`AYz1QI z5P@K84>iE{6|-R~c#)8O0>O4lmhEyuJ8d>4r5o6L5vI%sq+Gz;`D^i3vujXNRt@L~h_jC9-wxsN3%cLY z8!O-u`oV=Ao^Ox}m+*TCyIdGHv(K@}H8l|O(N8WcZ=Zv7oc6dzc;YhTO$ltf z!G+j^m z?$Hn-2L&SU0ce7qq~(2NC+SNRmN6DjKVo|tzHD4}uA+azbIZAkM)b9`4_1n(8i5e` z4n!h=r}jnHh^d<)uS#Hh7snN}QSBr$ItYXmD_x8_L6C;n#Hd^$7YamP2NZ@;FZ30o zc0-lMpx4dE1gHtjs%6@@rWHkqZf%JGJ-VMotvRab)|LpXVf{>u-r5o|D=~UoOT_3k z{dA1p)e3$I z=Ssw83e|9-UhIf1!y^P`l=M+lB>HrP1iaJnz`2%wr(+jHq2pa3qN)T!uMbTWWezY= zWXMYr*zoFyL=j2#WeS9pJQGD}f;2>Eo6t1eLhdaPdAmblM9~EUB#IV7mBuLY_?+{!GP&mi3Dq zGzo|>)9+vFpalgchi2THZf~F0!(BOaKTEBacOw>;h_AUaUM<}@pbA)7Apbadys}S?JJYgym2svS6 z|M$lJGY1>{gTgmUAowH3{)iwA5hXUYAKzt(hD!oLe{qF(sy}WU9;t5TfJ5wn>4UM; zLv*NR`%}~D>A~!de_OtIYC7#0Z0TcUMG{TdB)ednC{!;H3MIJ!Rk~k@X`%p3y3Uw% zun7?onwq4ay!5okSkdrcvNbWHr;f&;al#ONmg=daF~&?liXWTlsiV;$OdDcRc2!W3 zD^@}^N28_RJp@bp^^A+qi$}xoI^fz?i^i)2x?&Mpcl22u(kXo?1_rL+a^23JHdDeM^kS`L5vYt!Ud5n+@3nV1z3>}sV(+Yu*v&!hOOpt~M30jB71|9NG z$471k1>!Ng)@vV0uKkcd=r4~E{l|5D+%VIr|9A8wuR8Q+*?cs|{ceYJ>OagPS4q?# zE2BFYQ3OPUmb<|^dzkd$I!W0@SF&!G$(Rp+}oSx1lT)`X7Fv&{IYrs-a;)SZjE!VIDd{G%UjpFyCS`*9db5 z!~8UOAo)Z50P}t@b3ANWuFcsl5ayielv(LkK^h_q(ec1}-BRs20+IJ5ledi^4Y5hy z-a;NB5P97uZ$CjAVq@Nvo)P1}(s5MSbGNRl=qE@3?o zYY9UmVQ-l&t~Ob0+a;2&5$M9FXQ+?_pu)<@_3n{py`>~N0wdOmlunI-=LQ2m~4%!QBY-S8MuL1Yp z*AD7CD*5FgtRZoTb_w&5HV-i@IVIMsA#{pzrzSkvo9U!<|NK8fD>Y8Q7fO z$sDPpr9;w5{T#H5Nt9g}!E~2yNd0NMgZhj{XIBZ7mu^Y@Z@Yu89BolHU5U+Vx}8rh ze+MSLklaNa(oZ1VQikmotT$U@(48$fTiN6x32XtdJ$SaFT(D)}3c`Xb6-(f6k>lFI z(I7cNS|T}@3PeFR+YQWytNOMGd7D76-GG9&_fqsS*!VW+h!ljYVzPqyiWBaD_W;GmzzpVrz{P@1O{{rk90-etLruf%9;V5sU$Pmye*o zc^;NgvKxRinLlIRo!~8s;i6UA$^mrM`OI4fT#&xu{9PtsQ8kW36yegLA^uQyp+7o^ z`;Z-};RhWwa{??3myY$wE#^Nk`dN*pT`Xr8Qe^>2WlppxyB<;lw43QefGMiLdCQ=W z_ORWXCStN%QBJ>dau1T;vOv%m^@r#eHlp<;s7yNa#z;$?C=fCA6oLW~8UZHq6anTUL9Id&U~YS%=oVb5 zgE%5EK{sTqmW=q!2xlC3p|qj7Mna)9gNXu-1a3~JT*N+3SUpYX3OUx#M=;xMsqQ(g zj%w_CEBWIN>o2m~R3+bA@&^#6O=;Ab7h9yqAe}b-<8030yBHCHQ$;tWA@p`%j5wN( z7%r;_O{JUDa6k35OQaXoNgR5cVYA%EEKeC0ouup<=AcDs=t=W0#j&56cAmwYXY-{Z zRwwbt@l-TZ*Hs$cP(Y|1cNr=eonci|(s>{`aa(S`8ttVa0^xEC61w(M^f}lvz*Z{~ zY?2%29=Ki`gmg4=At07sE&(x7WL_i?vJ)aH?<%b@-=~6%n@z^8l3|;`gp7R$C@PYS zSt#-H0g4<~SmZ1jpeX*Vwx&|xSw!>-Hr_Js8lb59D#e&}iYVjt0XRLc5q`YnwR3=? z^RD0+W4q{Tt==&x1?t7Gka&F(#i2FUNHMDf8a+8)&zcNbEUHjMwKbyFP8JtAB}g*` z8VN_7UX%nvzOnpyz=61K+5~y^^V;x)V1I;zecxo9t_LeUl7JqXe=vd3bR`v6h8yz;gXkY!FGg}3Il9)BkP)}{SK@B zV3FCzj}g7YnryWd*J-rR?xfyft8k?9hcq0iJlbPXW(nRJ!7BhX$C`C|I-0L17N1a2 zPIp-t*Y5COtk5XDW3ZH8nmMi*Lt=pDJJ9;BLTU=#%qR1|K%()J8X9?;7w@#dw|DR> z3L}u#OzgqC89No&l0Y;TXN7)G`?6y?-Ri}e->Wg6(Y;*wbHGHdQ8;>#JiOh<^wWJ% zIovqB-EX1mi2^+(kDg?vSCHbl-WsN!=toBtxXLf-N09bw`Sgf|!TZb-=}r!C4n5a9 z%7}@R{ z6uG9*-<)YH#zsB zV_2obaJ4`L^GXD>yFk&fGIXOng3Z=F0^XeA9-*#GdW7_VwC59E(2{ZlLK3<>?h#6H z#)bF__Mp%s0>Q`c?Q}R>(c9q5$SqJ*FC`w01I&X96#c}cF$Id;bF?x{^5YXwQ_wcg z$XB%CMXkg}fe_AY_{2#b*fK%|iV8%+Td;ItfuadhEXumOK+#vs0|hFDXCru^z!_8F z4U|$Nq%BO!S5(0y=vFVJ??8fXwM>FQ_gt;^0gxcDMGyj^Pee$&L4rP0gQCyx;9=98 zFKg2>1;R8fDqm4SIYdE$8WF`LC{PWOb9sTHgKM+|TB{)>phR)FWc&v@Ks^c>uQo`A z{Q{9uv*jx~6>MCz`$lablTh?9kp4$!*tMi0p(02zy7PaQ) zOmp}xx9X5Zu8xhJ%N%QN$8`EEWRbJ3Kv9)+uS*0%<+*qXjyi!5iJG-OQ$hKFa)8i@EZmHo0fv~n`DyHz5tL5CJz7`NHbXwE zI&Zy}QY8>Xc>daT7Fyj>r4uj|Yvk|RVva=kdB_5}P#u9f~km#eqWA_(P@m zH06){?%R`541xiyRQ$?0KZxQ<^Cn)A_?hc#LJT8P15jSNfj`r6Gf*68`4TF<1;QS@ zn8xwA6Kw3(!g;z5t~YLN9~ZZ-l8mbbLV$KFS6+=|oQaH>gI^FwmxOw4Xi8cL5_@^M z2wNc#LitlHn1i>jfCS9JbLMNUY|==OoHS5TgXBCU5E5AVt^*Z)05)xxNVpd2Azb!W zh+Xd2bX~O(2m#tImfu^@Lj;1%LLfhP8Z^WJStatP8Tq59iTpyzI8h)3heD_Zq0EEUu<_+-GDtTVW%4C3dkaKq zP=*KTzSFs(-Z4;7n$X<>!3VMYsNoc(AwmuQMzB_+O4OKZ)VOiFxMGN893c==Q95Z? z2L&A$2r`7U=?Ht-;jgfY_JeS_KU(Uaz$-GiD9$uH_Xb_1ruoGxu=(+RIwpPf(=BS9 zFqtg$M=?33_tP<_ymE$x$#ovy*1}|pkBmm+^bu2+%)s`xXNDwSLK2^o*3>U%U=8VJ zg$en`>6nn8I@6+T_br&71?UqNaq&!uFsWHc`AzD9neczc`hkifx9F<;2tNFBprY47 zV^Xz{J~5;nOxlhh5z>B;{u!vqd6h+38G{sc#*bqLDH?Yb%CH@n)P==n#zuw$aoc^h zZyGnANu-x>M__Qd@+ylmL&Y=W{uo_~b$oI~=`w65uDc5Te~>Ou%T1?muCgc_Yl5yI zjfOkYt_HO%P!gxnaQ67CEy^xf&^Yg>F<^^=t(e9`@)P(Sr9udQAHQQkx&Xo(u7(|a z;1UaR7;7uvO13)apXLt|#i3g7Sr*}w6>*%*x^$L_ z6{aC>x|96ITz;f)1|OZSK+b1pS>!xvkfQD4)SUvMZ3X7>yoyz|K-m~x#o97UR;a&WfU@R@RKejI^5`dWDUf4katZvDH-PL2>wJ@ce= z>T#_-K2Amb&q7*{dK&TkwH9S!7Q-uE6T`ak&*T)v%R8kLWy&fmvg=)AOh44Eu1-I$C=F;&_%zHOjl(n~= zqF?a?FUPc+EicCm5mA)_@z#s|a!meg)GS_(St8`60>Ng#9CP7pi?V#jD!K~%+NH~d zu|^;a;jfONrtU-OsF#&OHC&B`{O_)Sd)>3_j-cp0?Rq6+jr6+nxjlU|TX(zjxz%LP zG5xMi6W`#$9hR*7ep3Pd&74YvlbqHx1CM3?(n=oaEC{Nxd)h-*$aMCVK4Z@ z8;$#PE^?K5ruoMPLiC9magT$JzlrY^nC2hrnL(d2$`2HJVQ_uMsAp`HX9jI$)Sp0= z>noqIxOa%LgXdY4G451F5ow5@psQg_wP5(l1|CM^Qunh2!s5@+ZD8~)nTH05nf@Fh z&l3o?tzg4Ue?GIJ2VNlLr2-9`?lSA7^gS3A&{I}dHSH<$-`B41EwHgga!)xz&=Unh zegmf9Xw8L!G{h!(X9#(YK;+$P@>UAc5S!#(AmpV2lkzSRq#-uuI_67vxLicl3q(I>cZZ$kqc+eT?icbwfnc+{!!h%vI}C%LGXBm}R4qE} zN0pt~UC|=Ym{cdE1BSE>Bq!o$#s|7G<_LtfdeWNi*Ln&=sK0$P~O8lffp_?nFh#*%~x7*Q5_Lxh+wXJ`nnxtqCVZ6aCv2 zpuTvf_~d3hUwL9vX#idzJcuOvDJsA;?)Y0Q%D5EW>>@=lyf133Vz8ofZ^4T^gB8VZ zvB*7lu%f&0K1+Gay&ZrHVg37vq(YZOQ7;- zyzZA>2TU>fu<*757$+_P$ox=CbPI&e=R;>)0`MNQp=-$%a-Kl2O#&ObmXw8vc`TzC za=!$&3lMI+gn_RLAtNro;N^pJ7Rp|D(PI5Hs-M+)J)&x{b|5offhSflV_~9pvEEt4 z!bH}Bfr=KRd|gC?w!jL(i_Cf={$pP4GvE;;0(;ttQmtHT!WcQtxSBi!JRtZp986%>rTHt+;1! z32)-upiqbFZo|@B6;OD#pj&xp`vzF9phKcJeVl?8%=*u?Jzu{>JM&Ih1h=GAiCc1o zzl(wL(RDd*F+$K|1i~$MKnUvnrYbB>Egh^V=MF9ZZVVdl4pvlnhpwZmdGUw`v51I> z3xuep5QS&KCm_m+oQ6CjfeqJXW$hZQ=zXwpELBR0*Fypi|Ecqi?a3(R3X$MU|o_ zuJ|Q#&KRQTGLcm#5HcTv%wx?{wjkBPtsSN4z0% zt9R}9SZF> z{q%y(Y*T*Wm(BE;r`|d(or>=;eb_vexPm#K`>DBi@bEZ8l53IlRzxM)|4tk=gHi!n zz|TK-15*Xe3|h$Fk=%Tzg}25QvABJALh0-}Fa+os&XRQ(mi?CUdyO@mW%OOR4Tsiq zmU<+nQY|O?Ek#EP-YK+|F_V`Zbn$NLck; zy;N2`zr+u$dj4xO*9!CZV8+Vm$#i#Q9_D%9-z)RHW0zTap4SgQZXK*Bx(xHA z%g$D`OlrDX;8|FSf&>mcu>G%q8RLnT`p4P6tZ(kqHSE*X%MyILhJE@aPzgR=!}k2U z%=lEN#ix?Mr54dRt!37e?}KB|QRwuANQV-=tntJYF&ll$ zly4uf5=zZIL%)R9scU(}E->0TrP^gs$85{Es^_4NYh2q57J21EWC zaaxly`^5-)b{Y5Qx0^%5c`*LlxDah>Tx` zDyqL%F$rJv&2kJ=boL__xmylXbkQRc)IO0A6bMPXOi*3@2!cA}xM7NNmL-TfbC{z0 zAF(Lw>|u)jfz1BH6b*RPBKNRiii#gab>PLIN|9P65Yo}#^J_431Zjw{QNISmHX8I& zVME?C;bb^GK|EQRj_MLW8ra%a=O>;bEn^v7D3a0rU6Vo1l%px}J zXZ(O^EmzOj6)}NYa*83w?z^@L?%MQ&$SMMj)s| zP$=qpC!}!Htrqe+fnXa3Hbh;E$5A5)&RQXF5D2#6VB0!W(WJ*MV*VM-k0{+Jd|L&A zf24`hO@cH;)SyHu^0t#MCs!cyb~AZT5TqeC=56dn%L}97lF7q(DaiC+IXiT%N+;?H zgna%Pw2!}l{`%v3+mF`phuSIQJVfq&I&#Z#Aba^RMVU`nH>G}jW;%6U$u2-&Jx1c?B7rc2*9bCR z8Kx-jejOb1&;))MrszD*X^-PN0t>@2{Y^bvbNVsK0+)BDH|VFkQZKySL2>A!O}d*A zcdeALd{)A8&oD(rQZioua-Tk2(YGsczfpTd`Qn{^0--Su50H+u0znrF1Q{07N!*fA?IGWVVqmhu}?{)Ef=ccGNL%r3ZG&(Bhpq0U#&n$!_9|$eZp!% z8X|-wMA`-+ZxM*R_nS!DC`dzW%-gh<#>xyus-|XVQWaq>@}X2r=x%xnvl~q1=^=h? z?bWC7#Dw|Ia(-d!ccgU%KFSr??rEO5tl;SLB2gZp$2sus)hRDM!GX5}Nl1D)wc9EO zIiIn}iP|m{rF;Tm;-iY_Xw29GKE_e$y z&(-C7#;&do;+#BzkoJsmd9EN05khoz9p2@<PxG!aJeCdfpuJ6eSs*C(5qZSb9Kr~>$!$D z*BquXR!d`ChcNqWaXz2OYHZSvYfQAOZyD z=xd*~$QAX({j`G_zJAuCjPAn~)r*VpZKSM`!xgFLEXulIxS|fvS(I@?3q|e+bZ7c2 zyqMQQ(eURia`$PWXbOG|X`yK0b1=5C;$xm^{sg6svX#5F*Cm8(rT4Q=HP7MH0(2C_ zk3eWE_OlfyJ#SI#>16?L8CdX)Gw^v_nG>Pk`8!K9km44vzh-nV(#7--2iS+4h|s^O zcoy4_6k7BFZqc1rS>!Apt|h)$!r*v1nLTIZ6f`?L)Zctb$B*TJQ zMQGTQ0(7pq;*Q<|AqO88=gzf@APo@`BrY6x4Og}=tAtN2%X(|LqQX_?3GQFV>}p)z z<=8x2*<96)-2V+%6kBCcR{97wTbLM;_1~;{J_^g%3eUQ*quZ?I`e$~xYh7*G+Yr6g#4Hu z27>+z2iZy#{i18d1WswBJJIjyk3H(3TOjTK7G{f}J%u`*p__C!sLFJ^$?O-Ec!b~6ab5L9{;#X}4g68BjqBf`; zYJ-{~p6ebu3?pi#4d%Mk1~q}X2cqLLkrfmOnWsV~LW7*EPf=7Pq(qk4sYGpl##5+# z_$cQ=ZS`rex{pgy@Fh!s_~=FG-&jq)@Zqc6uARyTZCz4@*YLglpTA_0ORj2rkw1-a z>S{}Sy->>Uj`HF4^3`w~?pE$1)gBQD6MMo$+^w9ruyrKWWHdC2H6$zOLPWmJ`n|Ne zQNOoYzb~ML9ir$POYQtsdy@@~c!}=kj|lv;8hv=gBy(Q2sC6kP5%z|2nZ=_XuU}80Oj(t`H7S#5a|WhRwGgVOP@7qY13>VS(&h}@cGhi; z?ruM19ZJ?%)OOoGEv%gg&5U^I3(icLu?T&se^LgXf-0qc>fm_HNA-$9t@vPrKy-CU zo#m7fiZ)0&TLq#5zlEIZu$J0p9{+zk{?EE+grfV`pytub=8IxO1R~>(G+B`8El5K| z(bCJ>71rp%uKN8eJXhUJ>JQ6yLc_aiKoXqS;=?T>bm@i z)l%y$uDV~D##OgR|Kyshk(%2Dk2lubA<>8vgt$Q<4E^0yz-mDnA|xEP z0$`>1-`H62dy=j2|6bPloOM`r(O>}Z)m4gPqf|oz|M7Bnhyke#oC-bRH zSCme{kNK}8_BkG(Pj6axja3w*`NZu)3JxR}<{|0_0UJ?Lu_S!2no^i1ZzzhIO9VpM z{^+_h@D8H;A=QZCBQUFlZ=FE!4*)+?YX!SOAgBXv>PEqC5|~WgDcIctK^=^|jeSP$ z8MY5%o%BUN#`5~+9{52Wlb22lUPTKv$2fmbIL7(LtBHP1mWs{R2^C(iEwSNXGvDrI z$$vpI6e8NoTP!E8HxAy*`!VDy4#(*r|1MaM4eM}3lGBjnkl3ei)@uEF?0G-LJ7Iru zhVRx}xQ;@jZs#ols}{4J#Y!(m(%LqzQn0^v@kYVra>R|y2U zHJ-(Al&LQYI+EMrAcXtysNWO!M~7aCZ-N;o(O=D+b$<$~;fh-O8if0Kv*M0g<1C$) z?Zo?e#{{R+^ft(*T8o@8x$I9Zd4@nJd@2-vcZ8xn;6lI}u1EqGtj_wQKvBon(5!J> zH7?{tVax{WF9+KZ&G-0xww0CtYMqp{aSzdIwsy&Dc<4e3t?=vD@XSr`awX=xjuTvA zPtYIp`eQ@F(?j$g+x$opVN!%PF?!?cmOgV^C{>K*Y(9J0L42Jn5FX)o5%@%Iov;H- zpc}E5^DyDxbTNj@*ox%H75dLkKVM>K$&s( zM#W^E+3hlFAW_dg^3{=uUE7!&NAwjfcH+iu=93UGQjcU* zJ~R__zM!F3c*zSJTcycL#{$t0$ZhsZ-vUw0$#A=HP5qz;)8nx$JM^dU2^|XL1kb4zdpwNw$;l;!JV-M&(5hf#curc}Z5aC!r zEQMQ9E)_ft(i^oBB5}JH7k(IxpZri!?tFGfl`4{?vw3R<*i#wVmQ7+l3z?2d0j?yQ zo^FFms=UcDAHDJC@tCZdFzOUY;CzzbY({D^FC>D1HSFg4Tg432V{0TiQ9Kte^zLmf z32Ke%&&}|m2bhWP4^jZ+ZhPgWadOPgFoY>CNxE!i$;!o}FZ1F;{T(3|73CudZj@S^ z19(HnpdCZR7nli$iL@Uwvv8!K`g${S?~;9L;eD^iig3)U>1QjUNm#|C=%pl5Q*@lw zYl6wV7}w*++3nS7V?dGh`vafkgeMIR_@e=(dJ{S?u%_B`CcKpiO}hO2_L`uy20wKC z--`eWP*+_fddW3X7-xL=aW{o<$25N+j9-yt3vSe%yzq{Z2n-W0oj7ZD*K60HgDv1~8@h2V*cSFs)}v{JrA2YPtc#|NE_U8qhQY z^nec$^MprYQmX^S(D}w91*Jz%@)W*SJp7V_n-yvrxc$e3T(|n~N2CC(!l4-YwoD!uHT^npBY^J6lR{&*0N*)S~ZMAU8pT>C9$$FOk zjz@u*b?;Se8mTq>fZq+v*2v)9AD6DkGinrx958Z0 zC;HbLf7yijPEcFL2qN#X!AbKpAT7;m;9*Y$lkyo4_LZi{E`FXS?vx_mo9W%5DP%3+ zXK!=@TwcVfII*9?NR12DAm7s+gTnv@WelGlQuc6el3pV-7PU@6m);(5T&PEnF8VKx z_qVF|9x}^Q8UP1bV6HID2OhF4@Cxff1jGY@INN^R zDIf5?aDguuiB50oddn_}9xZ-0{~f^%i+X<+$G^g<(dNa1pRyo}{FcUl8m((P7FWMS z^Vw>(0;wj2?v-m`}nXWzXwbHW|inJiXseH!Cas4fFra;H6bv-?V`G{_=m*C zK8X#-=I3F8gqU%P3lmPs2zA>S1ev4k1Thg&$;b<OslahmW+FjhbQ0~@H)G6T6ZqPmPm%8VY_@voq#7dyE3u&#?+n>RW|iw12 zQSB*s9aHSHWq=GTnOUvh zJk(78SB2Fs^+pNDKk)WUXTu%D^!+?wCkcD~ zL*ak(6#`TX{V7KT8x}{jY?ISUhZ9fxl1m%UG8dU(LSM288ZjZIGdwFhnVr7Tnm1_# z1;@DKI|VH`Hx`CZGmM>a>ddn0IwOH@mM;PF0T9W=1TgW3;!|g5|r(~TzI&uORO!>#wUkZJ2`$hv0cTXSc z>wfA*0yKuOMLMy;$vvi+-{;5#hnyDEm0~R~$BPp&!IF%HqwQEVKsF2G+^elsnkN}T zgX5CK=EE*#MiX6|I7URWU7&EJV`IrDj{Uet5Rh|ij%0<&1iieOF%U;Le$Z2>iP4@y zEMC|w!^+MYbcC>L9Bi{}EMyYR1Id}0ca*;^@B~+*!<-G4kHxY^zlwlU59RRBHp+m? z;)C0>CLu5%zX=HHmZL5?aTjbi%vjoiu1e?U{V<&<`r(X=QorqdanwEQ z7B*_*D*3d|nxs`+(WxC?pM#UsXPC50)2%e|EF6#n>?QK`H~_aZCk~d12~iJ&=8> zG)O@%Yf*ue3r2j)HW8a`b@RW;W>Fu4S)X^%s73goT3F5`^9oC&?i5JW)9E&(+{%Pw z>tdq~YjILT(=?25bLz<8BEQ@%G~oC_(c8Fx{vs?*ee-LlB@oYDD>q+ZdP(<{v`8g2 zlN_Z`Q51VkF5PK>xWT<#XiAOfNBI(^U|}9e%kf%laP(V%RgSQVOMMlcE|Fe5Jt zNETKR!~hs4cWbHS;mh6n$Xh1(8T)(!3AugsJ$}Ud3GF3+r-VxR6D?{?=z&2H3i*|7sVDn=Q zKk8icfO3L%kOr+%753U!zY}BPZjAQ41lh(yr=q~WexT|)J&uk-hMI_%krNzUvg|tX zLS!z>yNc*`gL7aNFwIcxL%RvlaA5V0ZvE+1z5(Ck!z&3Gxd6~9_@l6MeHx+i@U>xL z9-b7AL-h5rt%Lz<{*OR2ISp#Wy*?-K>s!HLkcp4dr4V244-c6n_ zg0cmn?-31h&fbJbsuw9a+St1NgBrpt(f-jf`q2~&zF9H)5fs>O2**{9Iu|c_iOhQO zEfJSs_{s1?t9=}6n|~Qxemz?;V!v~%km?LaZF^8=q2DPY50lN-EvEs>sB!zNor**| za&A)wyb0m&NKT`MiyF1%PcjwGli~*jwkrHg?CEvu2}f9#>H^iUg|30I`RKCD3F05T zXT>u*L1^xJ&wprXI&57erp#M6+ob7IOtCd!A+$-97-b`k1NpINnxvaJV;o4o7jCQ6 zsqTK^8pb1%M(t!ju`PKCGzyh8Tk`s66enSg9feSZzW!6(@-AD@!V~2_q|7?x>11JA`^i zPYRa`LpM27L*F~ScY3__^708D>C=QvO2h@08QfhF`qyU z7u-71^CH%0tdHo5;!SDJw5@)orb_8k99S!eu{Xsr{J1-X?G&wul3h`pLQm+}&<>_i zj|mdEeW#mp0q%XKsPhCG%Vb7iO&btS535cG;?};?7m3;%-KM3AWdanFRM$I&AfI=zHDmM zSNyOeZ-hcu&bY;5Y;$M~AiiN=wP7lW!8L+4JEND{W%^``TB54`7GJyylx~i#?69!e z9JYyDEvxQGSj_Sl*S2)_$7A*0%#QNSfUH7w=52ZkjL9||udrphX4PPR;;P;G6?un^2hHCL4BquB7150InK8EEDlVvl?ECu>w^x?%30?V?-d^{4n^Yt%V>hy15h zLk`tu5Hkzo&i%Ta`&SAN|0FRZY zamede-ifpB34|PxU6i{##TzJDYXi`2+xuJV=7K_-^vey)@|cO6T3See@;&-6aa_{y zzE+a7o?mpk*r+n;4!SvtTrEFX{;*KUEOtSBtQ0SR;3IQdx9b&}sD*$D0Lc*@5kI=} zooA}#L^m;KHU-1|q{Mv$GZM8FhWucXnpTGI8!R`1G9_B{?HL}H?jxrkkC9{p=TYhtR#SA)+t$=Tz()x`xbt3`}3w=Zi4n5A#;5R$7<8Rg9} z?rt6a7e+)U7||B0{-&mGyE2KmK#m^IIjFU~(^otev>#K<&|y9iFC?OuL66cFf8uqO zXjiK#i*@^HOjk)^#SZ~ zcC1>AfCn7Mi2JeMns4EbSE`Y!4?n7`lM+t3;EuA+N%Nus;|8!MbUpsEM{VLb$&EYE zY} zakjXV?AX_^2yj=beopH3$d1@rK0f>Hi+$dr23o=R>>Dd9wrx+H6QweM^TmJNd`{Iy z)M*@3zDA_W>wbj%+JH&c(wzK)_BU7%iZh?wyJ%6tlDs*gAavSRY3IupwI$&pUv9CU$c_3_B0oICD(*qf8 z^ieA#cTL5(8nC#&Y||(l8tbAYU}ZK2WcVLziLBD<^4z6+E$po;AS21?w|HgnBBXETuJZ=)wjIMIyflBIKH+8@-)Vbwe~xO0)s{l_ z*GHEd9(+!TB9-utP(r+piwZ3WP6ojre>Kf$K$q-3p2d=yVyf59O>L!!rmC}R%=WQE zw}G2tF78OWRTT=|?zh)Rw`(JHRvA)>U}3;u2f}{WS`ylB2wRT1ftn%d=tJ9;y#?>< z9z=$5JV)7eCv%JGq1g2&Xuj#dZafOa*-hsYe{OmHzH3>`7a4|K!bbycS@D}PrTX&1 z4aN=u(c{Aiq!#LBn{q$u{<%_iR_2k_-tR{{1V+SmMUjAO&OM5d!rfo^j-&hwo&50TD6@E(Q~NCCPrFHDsOwfn>YoAhCkXqk zj{D@vC{%%o%(HCE3M zToqL2MVGUEiUPZkf7z(Vd5H|13J;n06*kZxyDm55O}g4hiq3+|Lac87y_Cf3Ka>w8 zPEG2Q^fUFK?yh&|2{;vZ2h4QG zO-on{!4(FUh#8yOptUhMpA!@9VhEqJGV8DsVg*i947ef>#qlLGIQgDJ|Dw2m<1zqFq?gj2U}rk1F|hQ`2EBrnBa(y4sC=7 zXI71G%iix~(2uUvOUT5D7721pE#p;xNh<6%^EAzRI9=qKa^(_SN9!r11vfk8nOgqr zpGW(oK!%^s-pfwC6t9bPkX39~ej!Ou{B^rq(I`C)q%}WF=zH&xlz`Xe899W7I)$bh zN@T~fSx6BUnIvwjL)PJ;;k!dqsDzgB{yO}P;0ETadrB*%nPc}!7lQ4}Rx2P>ORw?T zwTBNA`QvJE}%8^IiRUB-xuzY5y2}=O2iqeZ*T(4XlkL-XQR*@IyKmKAEDXX z?h)7=DxVZ7@JJLI9V){t6-Yr9QH(a2%3)OTN0Zmq<3gK&$Mny7?HcKNiKU3Llx_E^ zbk_~qS<_KzpvF9lb?tgw6^=?Q3W}rEeFv5987UICxCs9~f8yT8yafNk@!*SS5pl#v zmLv-xmJex;`FT5F5#C{H%`5b}9=ZF8GTD0L0nIq!vJ*Fqdkd;6f*_CyC7CFkEV{## zA47k*;-%MW11+&@G(y!gX%pK>)nGCu6!Se@wcGxI4>)1U@WjRvFKy}qE+ z>i}wGb@hoVT)1+;cytRZeKp+UT@*mj8JtsB}a^iy;Em~AU zi>U`CUbu_FfjQmP`-F2RXub^*Q8ziaf@bI8UKSz9*_#9BlOUktFRd0elBxsE-8B!5 zhwp!SaS=tgw2GU)>%ub-^y2ErV_Ritjqs4J;u2)c z(fO>@(8zhfhWA*me8(pJdns)f;vukpqVx%O-N3EUSyl-WT>b&@!bZ(4D&cDH z&phVkEXM*kHVouT`$_Hqr@+MDB4$^9r&>X8*ubgK%ni)a=kzz?8*QvLC zfnWbGxlL}jL(F?!RTg!Wrccp^RPp&Aop$bcY%|9tJbw5nI#t0xn zi+mqEsg)g~^|@tlUB1Fw`CA{UucPi#A&(;_l3j2W_ya4VUnHB-QKo@%KC%!;Qt>o{ z``SX@j9T`G8g#aKN9D9E65iUZ2$SDDip6%kxHABDQg!&BY#B4JiIW8XFXbk%r*1;R zg(WWam}q!6$P$jmf9I^Mt9J-@I9UqFIrhe5)UrC))B*aFmug5)W8`ycFcv`Y85hgis{ki?%gt6baRm z)+bUDt<5kw(qCAobwK*D+6kflqgn*6`9u08bG~R~rA|>ug5^<>s&THWn3j}~5mchG z5wqH+L9%%%WI`%zhMaHgVFhEeoGDCIRg@b>w_TS5 zxHtKPKZ2onw~p*^#Nlj2j|kAI&SvWqymrP{Bd$)AK(GdPNsT6*?seE3sbl=cN0t1kl^K2HO6&q{BCRX?7$_zj)^%(%x`;!@_@deRP(W;+V#%lf!BUKiu zb-rAO9v2Py!MKx$cadsVU0S25W`~=e^p(u~mJT}Clj^9__*#vGOdTm29QD!HWEVxL z2Aa?fTd5UlQpgR@X(d+6bpHXe#n34=z?}-uEVSzgmeGAN`?< zt@|&S_c-;0MXQbwn+-JUJtBsZD@*^t>oXGjre-H0-IW^MJrat!Vpo<1n`HC7phIM= z)t2lKy$dO<7iifIGU-A+LDqskY^Em2MZF@%Un2|fu7PD$K5GT}#78%@A?Kt5Xa#M4 zV>|f8CT^B=ty3c@tKCNn2DNC*Q>+HW*~cXQPDW)~b-E;aeAuq01O$;k;}oqIVnVZ% zO}j)~2+>y9j~)v`mffct5lr4%F&L*(@Ydm9`0uN-OD=1$VK^Mvs6m2$5HttwC@0E4 zdc%!$3xjz{-KJts9>E&9A$`ql`L;c}<+WD0l3(<9lWS76_=&m4)!EgaqI~g1@bV=& z!MTk?D& zFxkRii+Ycz%CX9&RJicOIzyAR)-Wss*kiybUsGtV@Pc+xt!Q?oDSIjSsI;~z6+h7j z657C$ep^Fg`1&0hRITBa{jFVI!#UoMT>xd5)H=_YS=o6WQkf$2N$wiE1Pt*wT4k}F zF~h!gIy0@9{g#=^(^KI-OZcxeSmMoTxcP-G#LNh7Z}EgEy+nz*7dIWbj^Hh6@&FN1 z()v8bGLu6QRXr=T*&BgF#4}!yzFb*i(lCiPPxKse-X#?s1tVTU6yb@ApP=>vsuC#0 z82vf_EW?UED~?3351Ep8eX*-vrVAQLHr;~OB?U>cCQ6f((c+OFy~e}Wv6k5DF_M(C z!$-KOw?*v#!g!|%KUBVMZb}J4!H4qN&rBK{HAJ-~4@UmvomtKpfl`N4{UywTzyUQ0 zGP8;HB_Z%`??0{&VN5ML$RIq)+b!(*U3d-_Jp^Pui9vV9n9UH=#ih@_`O#4x+CiHi z+bem=y!~YL{~7g76|Z2D0K#=zf_iTQv_Zm}1)-S`aANw=zv5II_w1nC^!G6r$;F21 zK_8KShRE&ihUsmV=S8%S<2BV*&_ypxPvX>!Ow89+d`*+(nF6iw{QE6qt}dhO&1i56 zbFHu1+Jvkw>N1DT*Y zrf-wZXxppn1&Vu~S8)c&?{8rV;@US62w&X&ft2^Akmb2Ih^R21^u1rRH~`t6rIW;r zmWgZAbR5lvNktD>j{>4&aB}8H2@c8rEgXNNUUFZbe#tr^@oe1rTLS2|K2>WrVtich z_z)VtYsQULg-1VUHI(w$-F-~V&Jyrt2AboPCnx&3(*67+vTfN%UDdFFx>v$`%aM=ioN%-mT#vP-^usJ)BIuOc0Hg zJKXH7VeIj)?VA?>KeSny#A~TP8+wQy4?$ajPOVXORsM?yl-G zF1Qd1d5LD{F+M~TGJ36$crPe3`dl4RsN;NUQEr)AQeKRlHKrX+)SGbe2gBYhtR4dk z6%~Xh6m!mdmgG$&HYQM!oWErgJi;ft?WD(H@ziZSyAne;Aw5T8 z)#s?b@;(^cmm;TZh`7YHy<~s5phmW3JLapaOp6Lq z+@OzFp=yIT094P~N5~RK${#bojR-Et9Oy7$J_Tn;*;HpUC&F1WY0UD4>mKEQ5pKnR zn*1!y))_mZF_|7E3!9Y!G>c=dKc7}Ux&lV0X|8$dG~Ai%Rw^lc5|E)g*N_G5HbNw8 zd21@RgG87gS;wuH4TW0lcj=g~u4n!x@Kyv8Tck(}0i&|vccJ)!)fWkPJ*+o2r1Aq1 zq|ZtAQ=;~xGC@ugm?M#G=T9HzS3XB=H(dV;mSDHhZofS1zdU;ibkQ;1 zra`&*SGwUNW&R6aoY`0P3ONx?2L{Q<@Gv3$r7WUIB>(bjY`yWH3Ni?ct3eKN4L4&@ z^RotgMwb%_n5QMpt|#d2HE|9r&4Hu+7?W(~vdMI?uK*9tUGC0((qDBc>Q*i2qu5Q))dJi%F#_csFX&Y>`=%}4iXB`o2Hcjw2 zJeIXdp$_C+d8JgXM-G&#bBjp(ZX=)yVs+%gE;x!D8nmD2>#x4yumM8~>3UI+Hswx% zH1_2o8*F?uyo5pyr@)iDf)iE}zp32z5lArQhkTS@3j`%L?Pu4<8POFAH6-Z^Bf5H| z2}tJGuIuv|wMtedD z8rP|8I3*LOw?O@Ff8nkRZU6NjO6-lzj?m$@P+Jn#SY$APDM~f+Ny?K4{Qiq?o`u&^ zPUurjat!x|Bl>)%?++aRX2FTU+ z!-Bk4Ap+Zm({Q{=q<<)irrid0E=vHz!pi2)5FYFpC3r{FFK%Ze{OlZWq;A_wRXo6b zYGA4-did0}i|Q`#iSoU@>A>x+?`WR?Tu!~YIbXeTxB;vXk6XV#T#%VX%}~esK+ps{ z(4e7{gBhQ>WUO&pKEjUH8R0>5`c6e}S^ZA!(kH>u*r%XTMCXfCcmWgf7mzQF`Y%pu zgn5o_d6p3KC6oZWL%OM?z^cfA(p$UN(z)-A#;J4FCL;W~rF za4QOm2vJeL)p{cn;EjkrEmhXXVbHU=xToK3L{-6p`{J zv8uTI#&+Yj>B^3>d8$}56O%NjFACgH^dtyt<#mXKNX9BC6VDR2*OYa0Ks$khGI3r@ z36iy+!VjUow;^P8jTc=}kL~T^VL3!?Kcy*e#L#P399b`pXfTw^uft+LeijALi+|Du zIbGCxJTAgE8<3R0CI5DeNkoWo?$Y-^--r%Zv;9)QfZ_Sd{D%ME#smVErK4P%>HsKw z(8NGy5cHXa2#Z0NMSTDX)|&>~92OS6pvA^ei*aWYWHjEVYc$0Nk7HmCdN z-3-sES_rxDj|S|+GNOJi&>*@2?`_(p<{v-bz!}A#P&`k*YvRY1BBXYYs*oT3UkP=! z34d%}KMj4errK2F9On5$S(5V9N<;lZ3sjUd^YU#Sp0+aEI9#tUw{+!0dzE0&0jxOU zqC;_!kYqt4(o?}m3ffKyG)lJI=if_9Yf2P}JQCGf7E??`c zG?MBx;p7glz5F&1TAG*%YD#L1sFg@7eoe2xtz{5q3dFJ;N#5({BHn6|4kQ z6a9^GcRe^M_d4h$zy{D2IbZH`a$JR~3F&e}xL!0{%G*~;%{5OMBRLooZSsNal>A{! z%_pjk$~t+mt64JIooTi_m|&{?4|uKyNf9FLKJBL{#0` z5s2Dqk#p3Hb#79`;qe)nf8xU4r}U1&hyUWetUr{;M=-qC`S45eThw4XF2aP;-#P^k zPyEe9Okz7&gR)z3aYSj82UTNk_=+jT9f~tRxq#uQRQ*FB`~#_oWc)Jn-$6uZ$U+Ac zi$CE!iq_PJa1f6=QW9HFAez7E9d5>>`_^!%9urFOxiYr5Asxsm8dV2IIahsOP z{VY`|$;LtLMzSzsxh#wD5Mm{)Ufuusq#Apj!JqFFDdYQ^rm1N1!X1QdwVv|&89xel zv(zSVzGKvL{iVXB&#v6HC}^a@%$0In=t_=ZPO_Jx?jChZRSTn(uoSRHu& z-ecJvVY%9xRKkV(7i9&`=(fqshaNNcfRN-oXdn&3-eM|5N+?I5@1Nn7$ELDD!$Dg4 zp_CV-08qu`j|z!iGwbZ5I_QUUB3L0t0XRzd=H&AvG zFRU}LXW`qWWo017&`HDP>#sD&Ci$LvUW$uTu!1S}_i(U<)$h%%{h}gYN?#YBN;Z*2 za$8yAB{F?(q3h4~7#f_$uOXXD_Ut|o)Yl)3yBgb8Jb39XI`BC3D0mxCh&QA6-bG2M z+<08dBQGGpGvA66`xQq-oH${+aGikBN`N`1IH~SPCny9>q^|dZ(=@SIA@7;2z$wbq z(yLly8KQtfuC`7@Gp@eQX))?nLzZHQQP{d@+dNNmSZe^j`D5Vr_-p#9(~`xNi+ zRP-_Wg*-e|wAj3WYh;&0)Z_Ua57Gv>(@C<%|V`i%t1E*w?_X@^a7v<7@H&8^g z%sBcE(4a{2@EYO&%|@=S1We@P`$B7j$kzp$WOoiW`r|-QxDD6PWtB75sd4989PMc! zjVVE`hbcimD^ezIsph8CIAGr?0rnSsKL|FEu+4>}yN_eq-{ce9IYVh$g@;VNKV?@| z-lj{k(76H_@U*zhL=_Vb7&J)1Dj?gkBGu_Eo8;;>FCRUvYLGX(=K9pxiZ4oDgb&L4M7#xHpioA|iY_(vS*@hHZFX1au-*r_5~IiGFeFm>}Ds z@gc#4irxcJ2p%^fGO^a>L%-i-=;DFk%kM4tp8@D$UwAjej8T+$#;M5NIY#0Z|K7ZM zeg@p)tl!Ou=X}kK%;7Lv9(XcjP2VhZ)Uv$>4G_de*_41K;VI3Jicl<*kurhiuLwC8 z#{Ula!4%k>3rq0ce}otGAqnsJjIhjJbiu0q+!{xn*Ye=Y`}CUCz5yI{;9!~X#PwwbM8_J z1r?2Uv(Yxy8A174k3C1N@DiZ7g-)>En>5xsjsIxCYrnp~RU60-mLaWABligzzGiZ}2-#IYVU=l(m!H4ETzZlK$Wj8|@Uj5cj*Ao_9bdkjS3Sr!7>RPNEs z2qBUob-@!BOc%O}l%s;%f4XyMSYnB$3qoE$dzAyI2H&n&vjFy|PC&2utz}B0 zFX(C9VtMCW-BOEt@KmsOk{$T!+ zj${g(ApV2ddDS$czG|TS?_6hn3v3-#S@2qsXjEfCvCbPzD8>nfQ0+HY_0*A zvS)I|x-{s1E&g=VYToH*U5b%6eiLr8l{2T@55K=V^v)SB+j2%n6{Q^w@C{KrrxmAH>j*=I8FuDGboN!gN3Y`?;Hj>W+bDXn zYw!_XBA!>qG4(#*{vQzBk6;oSo5*6jnl_Ozl8z}L60{T&*~cxO5z`br2~856>e847 z$PN603*|}Zv#G*{gJUEkYCP($$W;Y}P0{y;i=1oJ4U!w2048J!OLA>0rQ z1P2TpFbB*S!whI3KK=}clFf$&A`qdQ9SOUkbeC%8Ifspx{tm%1*Z8K5Q|gU7o?mw& z!lGi4OQOl#4^C`ksOp_? zt<4p(l#KK}iJzJ=&oT%(B%65bA~n8Im&C_HhRr*%Gia3srOID&e3JsjZZn&5;^;pm z+e}<<8Vkw=Rw+1GZ{ob1M%91QQ6dl;Y{|HjVnQRRoR35~0uNMom-?m~jO5-2BGw~> z#3H@@_g5smJ7!?^vjJA1T7x84f7Wrh1}K?_(~zXxRQT{P&9@~l$RXIbe&dynV!V2; zTIY-`NK0ujT~|F=pB7~ye7rifO91mQ`o@LZOhplJz;sqYLv4rp#r+DSr?;*;TUA#Q zNYHt%uxZ5{1S=HZ#UATs(!#t_`a%cUSN_Y2GQie=6tvuw1u^zso`+fg7G~kM-7p~k z@AT@-w`B24NcOmVp{hnFauE8n*FF zJg;?6WZyHXfx?AI>c~Nj(0>g*IW$!IUd+Pz=6f5D(>RC$;XYWNev*J`R_v zEg-OAr;Y8_3>*`#pIylI1szKOAwHZw=0#g72$3yGAk)3?Z=!d%3B@ZDQsAK!*dd%a zaEKiB=C$4y%YlB4Q&X*8GvP^f*3l)4p4T=FaP`HZ$&P{jkwu@?JCPesUuoZyBk07< zsjf$U0i*W~)^@X`I^ zQNi^lUJY1$8=SjTzwY>*N04BqouNvyWrDSL#(bjB4z>NiaUtTT~%3Y>y)kxV6WM zC4xc^VT`o6fo!Mn5(O>%S~%~pWX4BV2+^tUBT<%CzMwho0DDC){O+tlNAwo|Y)CU* z^=RzuPD0Pf{e>IBk5Oz^88w@sOHoVTAus0no(`z?d;~8(A0dA={on48EB8&WMP_6X zO!>)I)iVu8Ui%HLAea{bW29Ga8>$_x*OI;SJ*JC(|FDB1kE9$p8%4T zO2l>Xx+Gg^O#pqE0V9fEimuU5gKhO$-rglR2zMEHvZpeAOnqe94i&jiQQvJ4FuUIv zLnAuj2fhQvrsxzF45y>X%seQlct@*_5~8z{WfBtxidZxR=!t38C5(~_JcemV7e>K{ z>Xf^|1QU4@`w?uw1X{`*cu#0y+TUC^Y2l2x!9J+)k^aZhH-}aBzF&W`>tx%ujgxJ2 zvNhSZHEBAzsi`J6VY1z1+cw`b-{1R3XLs$c_IdW>d)@0vzcGHJq;Z14m zc}(NiZI!Ff{!$)(5uJ6nQ)P?TkvFNLo}k1`hg%7$c{b}_9T?5{Ph&@;Mg=@)1VZM< zm?3@}!*$mBMkBICGtCTEXUPW#j?fNA6y<9U$01fVs*4EFS#xNyPLW+lEV<$TyyU0R zX05mSyoJ1LAUKoku|er`=N}MqNpLb!!3q?R;z>F4d@IrLX`Xgh$Q#lp9vIQ>Xu0i< z|Kg$c>yE8el+GJZb!Bv(1>X%XG%(nZ#(cuOrVX@w! zCC%=jEsO9{_LpG$!^u9ZJ=O%HlU!**JkM1jf1f+|wXDgqLcIHNA#bAE-%U^Yrx`4O z!HZpVm}d=^CB%^Lfl*r&L3W3FFEziO!Fs+|2z;CpPC)A^uS_k<0XQ(wla|i#T5SO? z8vqoB;pMP|ne$ULl6TBGRJn(IW@I^0>`&fFFzJ9ba4(VVf^DY`a&{^bdPT+oHSB=I+&E1cbJi z(^Qx9fRis|a6ML$mWzp8K*5O0Q?He7Q$E6iXBMRyAR8&=ozu46T(G?bEPB#3y9;^$ zeeZpo*sz=QQMq%UHv|s`xf9rAjY}eEo2?v4qc1am=B0l%W!HCj0v#OpB!9DLw_pY1 z)rLhfuz`Cb>cd9VBdRT&dBHLlJ}qOEkKhkDnL$LqF0nenq)n43@;T9V5dD_QO76w6C2A`fG zK>FGQRVyraVPDRPXCD~{sw^S5>!bs^<-r3q;32!KTRnRLF+2}^M<0C04dYcr zIr@&j$_wE@q8^uMqC4(?)-)BLX^Q~-^BZKBb)JOmW0c(DW+0BS^$|1>fbc+AiF#u)W zBDj%nr6Ia#Lt2(GEbiw+7dczfh*EK0<>tyB?GZR>yPCDH&$?5rW>ca*Sxh*YZuNaMQrpG;UVEEAOx>Q7@u)e zHzH;ZQO&JXjLxq+W-eg-VG$mf8zJ;aTSK=*0{zd?z0)wn88uPU1MiLAq@c7yd#4>% zlIJT1FYyAlJxqa|6t(|tzmJ&7u|vSfp7@}|NSN}@H=+=mHZ>9tZ15uWmN*i&(VNZ) za3k0kC;d0Ro|A;4eXXAJEA~G?j-2nXqNaDtBi@Xqj}jtqit2fFs-a+xa0hA}AuTOM zU=Z6ulGLG8XTgrSOvP)9MTAas#Fb3Ei_w~6xabm&QS<(K`zUaSA zX1k<*=shN|$2`Qebw#(36}*y#e~!IW`e%J{C=*R;dXLmdwpzcO5pD2#rI(fa$mxW6 z;b444GqMH!!I^PE)31oBoN-ZU&#jHyir$S1&e-ZWJ+4q)l+CcoX3(2Ff0R9}`ZB;H zcIMi^#?ll;S#!Wz^W%#-gQn5Ad3UI;&5t-oTr(k*LdpSjx*cODc3$6AP~=#9WaU(X za?0(3vOB*F<~L6ilFFm+6{$>I;n&BQ;H}TNIEQkbmoHyvuR8cZ+h04qCTk2WMie{* zm;#&eN}YSJP>H7#&1{?PN<2wB+#J9Ci1M3G4u$Sl&61v}IHu9@PkHnUT~do1U>qiF znly9lMpGFG%65 zlXlN0PK;Ml78(?R&#J$tY`eAXc<(mt*OEP*C2TO?7sb-?te`DFb8Yarg5qF|?}8BL z(a;soSET4)X12b5Z4haB6M3ciG*;*i(jpJDF&+ySZ!C<)rvrrj_m<8UpN>#3L53&Y zk}lo|KA#ScFoaC$y1B>qEvs@b63xw9#Y*&byUTCJxliNhztt;}SUmqX5rJWx=C-NX zxNw5{s_&%^{)(L{I0z#pr7ZyXd_ranL+~u04US%@N{}=Rz{A@nWm@`w(+>`UP+1G^ zPh&{(3O07Ud@$CqC11zi^M~gL`2hka9wc*&x6b3iD_g`?bGQ63l`*UVz@hcr1dVmO zIVi`47z>`|u=&&4WjipiQ`H_ibgb?C@)xvHsN;|1M?`3Y;?+R3Y#)neV~WGI6IKX0 zr~7q~N3)o0`wEp|JGcuQ+vT}X7wkyT_S~d;Fvy|}I$!#f-(m{Bd~gwgHoE$eEj9}y zi;!|l8<394aH~skO0g0()8CtnlSw3guCuAn02MGJIUDJX)*E#*mN>ffsF@et`({cz z&;@@dpS0EZk*CIeFzJ@ZI=5VcBKWhc2SigHnMwN*(ac{=_hS#&WEIon6R3sIN#3 z`FNX4%bL_)4yL7TJ1}mxZsmR#x3V%c_k%LAU!pyfd)Vg>v=ZlWn>D!(oxd1tGPOP- zmfmuy;s^Y`O?JT-aZCoEk1j5CSrzu33;8(pE1a(dQbKdg&Su?xo1cFqek$iRn~-rd zCKxD_l78V?b8C@Xh_ph2Ud1=~#>woQ6i(~p$UN|1iCv1Dx5eAkUelhh zS9H6e%MHQijen9B2bFz>J9r*cC2n>v4rjkFk|sn@sL^)uPk7A9f2yj7{aJ7)>p;uF zTd)>=j*m!`3Hnm3Ao2?Em0lt&C0yCAe0inwQ-m^WuOWWYAZe!4vR3H0Hfd-PwNTSZ z&O^N8rOblD51uDnod8R0uKsY5*-KE@6ATi~l_yE*V{cb-QzHIu^Fv|PMU!mJ6>5#$ zJ{a^HtknDd0$)>A0_^~E?T9O@Zw(7 z4!xAyqfx$af+{?HNQwOw0Z!&GX@h30r5UPt6TV{Gv4(8vTM;;Rj*s&Mgy%5=98~a{ zZ~v4L64Tw8hiv&Ra0xi&=nAM;V8Vos*?O>)Tw@(#x}}KK@h6BN^9U~wg&VT~{C~`} zT`MYz0vN$-Sq~R159e}uqo6{{YjENU0o~ds6OeEkHq9-faUr=2HpbaEDcUBBinzaP zEAxJ3Mp~+I)%%5siSBMFFK>chTt-Wd^z=>dDFaD!c*)} zBUZrtBId5S?gAo`K3py)ZXQQ1_F=bk>f4{)Op)+k8dc{w(N%80hyrRjv|hpMd~yp} z=#iIjVX}iE`Fy0IayQ{Uw6yVsS8hbDGFgcu7ehv9((*~fS*lp*xl-T5e@i>|(5S+- z0AGQS+GO9<|8#B74uiWQ+b4agjhmu0N-vhG3SIu15Ne@J#bdn?KM1vaO>3;sxZqW8 z`#JXPNy|#S?Rv$4RqRXj7B*!x)BtJ1BEvzE?Wlh;D1Z>| z_rY^fuN{n1tn>4qN3itMh)}$7zK-k>ERtu5mhXL9(TGMQS6 zB31x=7uDR+df802>LDUH)H=FN9!$tY@&WH<`4cW+b4faJ5CU?Wp~fe=(O$%k@!d;fD#g zdC3QI+(;=wB?JG!Z+2Y5Qijou+fDw zUH_N}WBZyxLwY=B@QoT(5_}ltfi>ZoQe4G#GkNN=F5{i{bxV~iQ+1$j;mtY&B7m5p z^gXL9SBx%K3>?YM~pTO$pT}RqOt@YwAi6g3i3@>pdq!3O*%^m`LV_G_~=bo#J6{kHHZF_ zhxjR-z8EVbpmrh$V&Er9=~2B_CP^!7Tq8%w(ZH(f_y3Cb4YqpOvRUUT{>=_JuA3ly zt6avt$lkn=A3*K{NjLFAV6QG%FwtDPrQrv#g<4{r0brQu)Yk*Eu8rtf1MY+E6H>+F z&3eNq5&Z4U5V>zpJLqOY41gQ?BEp9c69`IHHT}Gbz7!UK!(u3k!cc%JstL3k(q9)d zB4}&aL=8(JxTLzqhu%dkGVh<9v#_GHQ4IoM*&}M%-*O6l(;bRWRWK6zJ_N^8&DCJ_ zaEWM=Z*3R)$ytno?x`hdwutihgH>=FGtC-Y3j=z5Y5=1#`kJ$YWtj?$|V@5 zFb0Cshx;JsmJ|Cv#R(k;KH?(Gp5_a~%cfo2+J+)9Et}MSh`P5$g6!#1MIjrT5sbZ< z!Y+-kq!6o7DmFp(sM-?MgOi8g)O3uiOgJUEbAK&wUH?@FCnixc4zx=8Q35CXOL`5@ zk2~Ha#`M_Qz0Q$FFC7aml!>y($$pEicx++g#-K! zLn;*DGvD}}pT2U=#{8(GQhJvsma*@Pc{*sB)gax? zC7t3?MIbV56=3{)=5-gc)~31b!^8|M5`$BC@TOMv>6*qMp>grw=|v}^@O z@ln@j{8!wbrLW@W1GbK!tMFG%r1I%SVm9bIJ!duTUv*hXiYQMoxL;;>$r4>8BX;}+W&6Sqorhw4; zJ9`xqMyeV6hvFv!Q;8s-=ZsrB7~Oa;3oE>9mwV|;Sx=*;(K4CcGCK>IyRElHX8H52aBqvDF@q%!(quK?-;}8O zU61Xhq8X)eFT?iv-j9xW;f{Nl_H6$NK*bUrvY%_;$=VbK@#hB7<>PotsPFwX5i6crnH%sH6fA)fx1DLv;C zX=7=Tw*1P7!nX+1?RE!6*I-L48n*-RTdDo6J?wwjYR8vK+%6sO=Z#t7Op&L#q<~8hBo8q(3R8>MZe!?X$_s1=|)(BPuvXXUsQ1UmeEclFep%E}wl~sC#A&T6i6w5~&o{*3ueT0B$DgHfY!LlVC8f z8)0>zn=v5O%F$X;n~}$?JjQq%tO0ALtohAk6W?MC=)7YwTY+7?*fw#Ln~iV`|B!FP zSbPB^KNxw1PW-7AY#FHQys znzSKXQGX&;RQHu2hyu7>OWm7LF-$t=Uo$#YD$#?|19wkTTL9gnRDs>@ZyOPqJ77Bv zN%3yVMjEwN;}4dj(5=s_Ot}IWBY>ST)cOpJJ=x=GN0cnmZ&Q8Y!}CZu(kEuxg3B+) zJW8!oDs^Fp`_8(5Y@!(v<{)rH;HW##n2Mb7wGcG_EQWQRhBgKo;rh*zvy?e3+?sm5 zLBDUaJQ05_=>LuT8s^c8G@CyL{`7(rDV^RCs!<{gftR8RyBpJ>l~JD-ROCj^+xO*zNYtuLnB1LN@c6D5M4)2r0|V7_s5CA>l}}OGW`kT{zvAt zZF_EWAY3KquH1Oz;tM+UrG9!26qf$V0JEcyPSmSp;sSZPhd<&mrF7FuufjKy#@}Oq zUYSoyIKrccl}PvYy>wNwlJ90m3Q5PP<>LbZr2YpC8r19 zd&^mB@z9PnmnQlBZeI@%UeK|DuBKljmIIPx*$Q@$b*lF%O7C8jXcfQV~id05GSw}u~VQniKWVEP#o!HS| z$ezdYln0Jmewr!d*DFetCl6H;u)^R%;f`MlCW1FQROlaH&+ZYCn~GYCyMZBa?; z^Tjy4*}Cl)*vD|t5;wpcHv?6$u%* z+$cMxKb|>HVVeQ{?m(~%t}0$c#)t_U1nJwwXIHgitV>A7$oXX-*kIb2fqM*EqW4O% zI{j*?+L(wNk>h&lZ257&etCp6d&sJFYsiXJjE1LB;Qp`GKG->wJvmtL+HGP%T&+GC z+?tL=OALZ^zL!wXS1H>J*gqenJVcFk+|G}`6P>L|&&PKQ(Al*^5m0++Hi`{{CHIHJ zo>(rIiLpJ+n?F4@QI~D@>M}euxnLX;ieoP9L9$u)4N6?>-Ls2CorGT5M*$NvrP_-? z-{e`T&XxB}gu?UW^?K!00wb7Seh5A|l^T{6gg!u*vBU*aa!jn?60&hU%HqLL9%msX8A_=01x?li zA<0JJcai<&swH}Dcjni={}zrV_XK(1ZESg&?wvjWeuj;|2p1F>RikG(4VP}nFW!@O zP@>F9bt+GI-tgm41K?}7(9P?mD3}1odNB4^^8P=Pz~E3Lh+1NU9^jA^?09DbgcAKl zM;X)zI^Gf;?6+~XX|^z){JxvrRxr_VOUdpoocl}^3zRxtPR*wqP&|H2QcSJ3Ml)5c zHS0?Idh5(P)B(J+Yngd>Y=@7=Z~RS&N~pZ0(6mVvi2JvN9u4P|a-ZR$*l+>kwWXuIqp#+aCUh#_PGjG5}C&PBJ+ukx@w=iuM(pOKdMvJ7@W`P45fTVq@#uUyh9}E?RNX`?gxe z>=qHj1DLlZkP~&zn&^nbEcy`8YThg!3PXFC+F8x zm`BIcSk(Jyre3f#@K%L%BvcszJT1IDtnc&nIh)(djEYXSP~+C2_@p}epOvLDOHjR@ zs${KsUfv>-b3z^@=p5XDNH1@1GUb&h7(wZ!U)}fN7ag7MG_p4+Tt!B99(b)&vzKr4 z2m_Ve#7(X16SEuIAqXey$93meH^yM!vUxvLhXkwP-e~J8%#W8M0RpS7-SLfH+dB6` zpsjCq3G;gGsk6rI6tWdrLD39O;;QAJo2cM?wEyOCCSUmrbM!Ra)yrNBU%VT_y#SrMY< zG=y~LWnZB~U4qq(Q17)(9vkmXoV0Tk(YTegdkyH!7K9aXbtkbhy}M71vmR&eaWW3M zG7shK`QB)9c_^nPML2eDm{H>1jlvUc#ii4zb60~IU2rXw$e7Nplm3h?tx?w&X?v>= z54{=}$xQ0NB+7JS67iNUsLxo1F@C@!b&S?LC_Hwv5bN|ZO7ZAkgWcKh*`vprcS+^; zVZ%4|MxgAPd6M70^|o)xi6r3l=o@N55t1F$x=9%Ol-GKgFe~sw{;e!uK3D!OjA7Gi zCcL&@J87^CD&&5|(&MR!`a)D`l zqD$K{?^18EXzTPjVVvQd3}aO)mmv*c^i5U@zXdEo|A->w|7Zhb4DV1UTS5)1@ofar zHFR?6^Y1k!EJau5!Wb|DBm!mbK2^FC@`z`D#tDdwkp{$H9#HpqJqA*Cor-g@B24;? znEDcoZ#c&b9#ZpP`tnaPhrFJd`yzAEuR_G_2fqyZbU2nc8@Xr0WBe0tTM+d+qXO{ zKIGnnnRva$@L<~Fd<|h2ke97Zy)AStDF!3ipf;#FebDFOD!i zQO*U8Tn93!TW^N&560b8Sx{>$vJm~NG$SIfocU%!65lKy(3z9oG9JW0ZUnEs$R6wa zX`?26fd^Fiut|9xWsgPujNXT7*Y9LA33<;*kFmhor?MY;SMBtV2Pxm>e;vA^s{19VJg-N4uEB#LCt`CF?iz4337E9@`hi+dtz0 zp@wXqF=0SEo)xVY@u1hBUv#@^?6Jo0BcQw5A(xuMLAoeExiJ03V(kN6pl3yfu(n!S zANk5#tH3ZEQ)K?S!h8`s7n^!o2UGod)e%sOVrP!Yi+Hs8u1p7p5#^Tz&< zsw}KeAlaE7;>1?%?`#xUB6K%aTPz2(U=-MD5eIa_I;1yOD4~?ziejtIdCd%5^c4A9 z45LV+J<2HN-s{RS5s|5~v>>Ne96IEBXbn!GWxR0=j#E?f;7GC20nsr-{&Z5ml+%Kq zSRR#G?5~JYO+|Q#g+$dhb5l5$)x_0DgpD~jX9%%w-)IJWcnZJUto>8SI?es?b@{eZ6^CxAZn)GyegBbeX#BMzZ}W0 zxHNU8FSaS62opiOBW^M6dunl$(q;tAT2IsS@L2K{>PEl%LCbW8N`6?G5om8#YNL8! zX~(!0(eMM@B(1v_XPmYn@RgC}%>q0BUeGWc_v**Hewcm;8-DldFzc@0ADl(uvlyv& zk2dCYkFRD}>v(+3pif z8Cb|aHz5i;=Z$5%%cxpM;e^Pzu4mK#& zHP&CnFE{G%H%_X2Q=uR<_{(3i;n~>%4f##V>IVJ#BEMbADr-FcSwYY%X-lqJgS&PK zFImCij|1py7X*)yRC8dr=wgP{cTX~(ZqdT4-!& z)M|DJ_e9qfKvqd6Qom@q4D}G3PNeulI6-huivlozF%0MM$P7MrI@sc7=zXBWyw?P& z)`IJcUGV(gkGQowBLGIk!Tgl6n0s(E2dlItrd5;dg(PM4R%aUKw8)0X88$$E=`p0R z++)$_%D(njZaG~K$_sde5l^QPJgmH(PVnF7dIbRI>lO%u*)m4#$c3M1*yMOZWd@=X z<5A82zbiqdI>_J8;!oB7I;y0?L;Ni}oxKq`;;fvdg=4JVqG5t>4=HEFjzZl8&~2O1$2_GOSc5-2Ft5sRv$yN!EprrR_xVos2^3vdmW2{Pr*^6dueu??3c1ta*W zy?sdmo;&2uhN=Zk<5IU1%$yEoM{f#_nO;CgcFRb6aKAm~Ij)UxvpqbJ4N&>JP_BeI zsV1TRI%Zuh({$>DTdxQt{-P0-rBo@t&N})G`@&*s&floHooRz6FaA?vEN4S-fW`qS zpd2tvs}_qh`-m9w0z=J8tQl=##+j>LK8J?*^-`Q%f4JNUjs0?ypfA@(l;dFSfTwg4 zUZWFHM^`fxqr&V(&T++jMu4oNz$Q4*61dVRW^yle%4(^b z2`y~c9Tn^j?Gf(y0~#T)^F;n7EGG$)vbcW&k@##dv-#s0^E}i5OCZ~AwSOp@%Z-Gx z!C-kFl9aYha@#nC<20ogLceFU;G30(l@?MwaRHt12!YAB$m;QNm3``Q#_>Za6BM>N z8)1us(w_f(69QhUex~|C>iERrpQx51W&=8F*i^Y~C$xCnGf?Rii@kEZRPA#))|t}) z*){QPUEJy4$NkAt;2>VoB81Q+tOAHSg%EyuNlN4!JWiIU0q(p1$mzLTpH^>Dv2p7! zg*~thRUY#MhBjvKY?6MT(pxAM`#rlJ+det%>4zj$>;K;^(bp+Au&zvm)Z6b^Df-VZ z^q>V_Xg}2G<_YZmM&%v31MzCit2Sbjb|t4bk`*DtEq6hcB1`$Uks3Otzt^suk8Uj> zM^pWCZA~$2!w%$Jx_uQFB(zQT!WH=$zAF#AQk$QBn97S)#^FsQ z-XuIigxQBZ^)_0!&^@;cxv8j2vkgKNgQqOcJ#;DgSzj-F3H?IzgR^RpHK_M$SW&Sil(@ zALZ{N|9+0?t396X<`It~nWrhb{8)h|_T}H>F_gaYo;3Fp*r`fl1-m7$-t|M*lh*5A z#(afxqzp`Qp3D}jj*cRuWG**^18NzMj&0B#^Is-lI?C@hRCFXr6|-Rz@y{&0Tecki zG9f$Jc}RO5GyaE%c5^k>_wVMja{{g(T{J85vnpbTqH5|uIi$KC%W}Hb(1;RJz-$+s z@9_y+V)ca;N3k+YF95nDeZY0PX@(YbLW9ae1Mt7J0WK^M7hKpNackoKGUt0{q>eHCsD-e+!pIcy=(Ji%@J;jnRGOFZ?sT)q;Hr90GceW&3#I_{VzRhgRIf&T(lFcba@-Jy6E2ze0$ z_ol>lMLe|jtUtpMQbz(dLVrKUb?5{iPa@nT0w-$+1NvBMQ_42Ep1rp;M}`i{@i!ma zwOR@o0XK!bH~&N?c5jSATw@u+4e0@%k7R7u#;cVI^Cmm^B!~k7UWM#)qH~x1rDw|P zbulVbSh48Dnkt628jo`hslmj1!4nV^h#bD=)bj1lq?gWuj>bN2Ui8qH5NbUci3NOXp>d+k&M@ngXBK#=idT_$CzQo98B_ z!OZrEp$1zE42N&Cll9eb(`JWUMn6UZ;Jj(b43rrw3Fm0^R|bb`d$GOB9I(-l|L zt`S9_@?EQ4sk6>GnRtE|fzTLW%qh!yV7nMJG%MjP*{TGXw{p2R#LI#a>tp`W^AVbD zp|c^ZA80=AWDoiJt`mVHpP}lYGp%?;P-&THK$W76>M|a#78;Ijr{qy z1`Q1hXCTkY9*4O0nYQ&gYvzpzM5}vIZbPNW*eZ7JD9>C<+vWm`sBuisVz|*|cH5Oh zy&c`ncG9R}V!LuW#t9w+`vy8IST@e5UPNo&7e%ZF1FUm9Sv9*^$Jb-=PnK419E^d> zG=Vafy?ZH%k+WE z{DI5Vfj-)AzwF1!z#?p_Gve~2a895^qU;~PE~cW-96SU= zlLQSeZM#Sq3COPQ=UR%LtxgSn6`9?RZ93&Ch?ZVCu%OTAtr{oagS?50+o*P>1_*{w|fUF=Rv zs`)tRw^?$9Cj$jK{92pu^W(Vi2y3&UdN7>T9y9$ zSM7M6yNZ-#S`1~WbihPXQ~2Q^V^zwx-{A7L++BDBFO)%&IkJ2svUt-mo=fb;GisGN zfrSrnR4xi|LyYZ{vK2T8w1fy#_6XgHI`am02MFQNPL=!6K)8f(ft2Y5S-xV<(`lOAe^RKWK2(dhb2yGPGnv~ln%w`-| z8Q(?}b^^CDZ$>X123}%fU*slYAjv}vUR*#R!h~?4liqB=KlVM9J@0ZVH>ELbiyUn(n_f z0bK19X;?LE7;Zqw0;GCUkvWWuyb_zz`8BG4FM^$hW%&Rg?xomvDDF!paTst50y?U8c$NCs@6ogXTr*blQT|pW zcnwje*b5-}8JN?L)9I0@M1Q5!b@UfayN~q#yD7IO`9j^`kr}aHz37Xg_Pku3n592^dyYa{{m*e7FwM`s)1}%sM770sM01c#` zsi>{FpbW=`)`&~P*uEu{%VC^bP3K==qt5)76#}Vhv-n51u%24JCMoR7$4Kl3@IEXJ zyYjZQ{nf)!mbC7>@9XW%%eDI#tHuh}4GCVKl*eiIXLgKd_HBQMdLN324_#vuPzwBq z=O5tPOb&G*+~e>w&-Ux>ZZbpecZ^?@j~=ZEA&cxhy0>tQ}-D{5c@oUJMS&Ojy zzt&bNTiaX;)W7TK$hf#oPFpF9dqN-HAvx@9-F1uUPi37byTq~tcV2Hnhlb$26d_2p zjzU8-S2eoyqv3$yA8?$z|7+Q^zQRmAopvpRp(q#LEH(+c0OTsalJ1qi3FxT>yi#eu z;#63xsBygn@w6Ezt2N>%($gxbrMs6MzCl#pv+Wgs9J_~S=tVC8!iDP2rs z0pnPt2q*Evol9YR17+@4q%aNL%jl{AYhYC$rwR&r6Cs#aax`VNJ9ChxiH+2EHkD6@ zVoHw78L3Ot;gyVVcKfLao>DV1D)8^fPMbqz)o(IfL2Y7rD$m(y!OBNrQGOrGW~>3@ zLr}G+VVw#48d$_w#O@^+9>j5ug9#c~!m~q}tSIo@Mq8iJT(~0Ccf#Q*_N!RHfbarZ zz^uz$_Vqay@X+{+2BKB$38yDReiWbSS2|c2;j#kVcWynvV&| zI_lNgw)n3q+jyF;W(k^;)RAnN4R{z9%jPRYc_242%8mR<>>*qtz>k~OsJ<4=HT*RQ zQflLA>wy2@s2Rctae*!fF3mdZ1DkAN2jtqPy>9pem$O#(0{KkTHWdcM+lW0fQHM4- zZ*-g!!eLO7N-Ugu-G|F>v9%B&(5z-#ieO@7nz*{<$mYFapkQ{2UgaIbOu2001njU0 znoE@kpIUhwL&S#H;Bs8&5KYk){Q$UZHG|oilx~DMnXE^V6ZN*(5;ivaqh0<$ZsL30 zR~TubvErjKg%lDLcl@M;$jDGAiELA9_8XXQ;e(fhYZ>tf%kAT3)y?2^T^-D%6szLF z;Ta0Y)NU>hCjsFM*@v{#IpR4nWg%uA13tpiGe>S~ls0v76sj~je+g!ERVpcg`J7T# zPM}ssJb&yWR8n0it4X9(Jg~1ZbgcV`Lpa5MRyFt6i+M{2B}vxM5w*0@5^k6aV-m=h z-TK3=hS+?8I)-l7FbPB-;OJ(uqvpZN0_%&_IgTykgLR&X=m&;bKUG~5WoF99VV^xE zSg=ofzLGDI6~4s0-MT_NW4>~uVw0R;y;3H=GE_Bz5S*$lc#Suwj)y!)j)p`bifDhd z@3}+(kKY~N555|4M3&vYuJ)T$zURdS-5ol8068MrKa8ich>}RMR!cHe{1A&hROUh+4erU6O(7pZ865EzS2U+h-oK_s&yrqWjku0SZkIP^ zjl%SvXKclIIiC=b+RyDu$|)c2dN?~Vb~iYkq7TnFvUf>bsqp^UEvS;dVhkA)&OjFS z1D5-SOrPUl^?Uvh?Q&W+`cP=;V9{^MB9rmx^R1|c5P`D)9vZ@P&0)ivH_VEmEmRZG zBt>@TgG(RFJMsx>fM}@C3=)yTbk#a-Ct6InX!ub0yVlTH#U!H{@y5{;lttHlP`x`^ z{&Og0s;JgSI#+`ca4@czp0j%2%F#EJ5p$oE()7Dtu{!8($GRMx{IKN8vgqN>dYB`aO@Nn#m=#T83p z33I_q5)rLl>YXRoL(Uu(#-LUTcS%;PUgsf4;psgmSPl|%fLSCkkz5|Kh(xJ#N`$>H zb(l|I1-f%lRVDkLe;Y6YkMu+8_G_tHy;j74%Rd@R!8&6vXiS|XqJT`1!cW%z&-hn3 zh8G-`9cLk}XaW|ZI@fgpsTmsddMz?3%aCt;NjEgn_^GGbrw5ic%FHE)Ovnw)KkMlC z>61VNwq@3sp!h|h*vYP5nnySiU|(%r<-T#eiNgV6iY9X%FM9s0rU)y~Eh2J|tFS-B z=YEQ6O#HZX%n3Kb=+W^564KmxDx<@@d!bPTtqfT_Q%K62#rIB_RT;7h@u(G*Iw+V> z0=EiaC^HWHiDDE1CRjCH)tY~vqlX0mf8wCJOCuu`QV~=&RKA##So7CD$-+GcCAY;S zwlcdPi#6 z@bv5b650&~Qig09Bv~8k)|>8^ck4aHE7ZOqTD`KM&AL|)hLH1&Kz?aLLP{=>^g+0V z_yMepXq<{5;j^nyVyVV8XSLIkhoNX0q!P4`f(|;F>y-9+RA?{rxZrvdW9+(9d@K>G zoh?EM;O899sPE^#?@c%flTIolLq$U#xcN(3JfuEYQ-9P{#8c{jsg}-|)5?So)tyF9 zy;L#NX+#@`ZglS!8r$*9k00hCsE4`#C6lxA*dm<=Nt7j*zbf!dMCg9w3$a}|hL z@q|}P?P2-boj8YDB>09T*??9KzJqDd{0x~_Kq!r#46xy6s7k`14XME<1DcGbOL01_ zQUDaQOR)!w>~-1Q5yn2M?Ve7wP#UZn=x*z$vU|FQvoop=#dNqGo#bPNoGP1l z`}P;*5C8|1^DV5U!rsTESJHEG!xk&wsMFDYwqUm2^xUt@?v`>~V_X*ZDO48sEAWGVD5dca?92`x zRkud;BCYAYmpFe9P{P6Va(efL8BQr`N$rGsgnWNt>*pT+oik7j*`v#c<4UAWy*B7d z0{UUL{G!IQ4FzZT#qQru?mkW-b%bDGyY z@)B6(Ho8ox#I{?7D=pE`HpVyK;f0LLq_t+G&Dih%V$%_;enzQZ<6GNu1e4Bx^y9hu zVAUd?|C_RR6w%#;;)fHm)3_vOInHZ{e^g4}AoqCG)H9zMa;td|;P@&cbg>JX=BO|~ zc$_%t;s9Z2xhe!F9PptgcBN2-d-zIe=1z`i0e07%hnX|LGTf_*8BIDMfUCXYKw2PacP~)1^2zIMLP_-tU*kNfa8M~<;To1isXU@1SFX3{W)w>43ua5n#~x=-UTl5B-Lfk%Ip-wdpy*!anVJuWy3Y10S|+Yr zArOjuiC#Ow*q+W*w1U|nEm_DefnfU-Y>;Mo&}ux4SWUqv z1rfjBaYfFyM37m2%WZSwO|lFNJA+ww?^duVN860 zYbKiL^>~Z?5r09TxY)5S_dP96N#MOi_a!YnWYJes<5u36gfuwYYfI!GN`fEepv;N( zFeln3FXFAE`zUj?^kEdmYp`K)W|=@}pRMGFbPRE>5b+=zhp_B4y9I)+Bbvbb4Yh(aL^OfLLc?_tr-AsW*zbw@9p{9%ALFEF*h!;&aVI^) zPAc{BG3e*m{tYOwhgP$P{_xq9wO%}aP+;mDdY-v+{Ft=ht?XVpTh4*{csFE)@U9dH z^&5C-ouG|qn0~JDP$9&!hmyq%w?MG{4^6;BET% zkl&`vyk7W#33r%H?4)mjtp>J~-eTJ)6xfuReQpxGv6(UJ3Xu9*@k-Hcg+M5dC+Mtr zl^_i}JxmX(#v8di61@^6 z+MR^^p|nCXc<)YH^^}GCi=sfZkoNN9{E3A&rOu+CdCs`L5DtW6X3@8d*<6U1Cd+^d zu}^10Np!O z*fSXR6#D7zCYYe+fiY#6SCRXCos)ON{sOO}4+1v1gI-0yf`?Z_Tg6X%1;SrN;Kyoc z#59{S{?1S|YnmAqdcCh5)K4Jz7vtgNQ2bsKN2s@u42y}7`95b#k3NcWMYns=*04T` zmU0sq70RXlB7tb)euN)6KVOiB2;n;Cd8*kgY$I^{{AulTm4`@aGEzzo>+9zCzH81fs2ZPzht+LAn;>;7L#VlzDCgPfl-6%LAO2HO0^@vjVs%{lsbcWwDt~xu_r4 z{mcR=Gy8%hN{#324avyaz9o>t({A_zowPr}y_jvQrAw|AXl7f|lk9Fm*9nB*4&wnH zcY#`wrZ7FD3tUqoUEn!1$;mKsr}mvsAS5JVyFZ@NV})c`5Mrc+Nomg8`NFhBAmk(` z$@gFv2+|NCL6QVZq!mK07Kpk(Bl^hOqmHV5c4<}n2?X1II0_?Ut{@E&O+ZN*kw*$S zUm)s!jk@SoV+Co5sH@fEwF(|dga05LOHLl@r}W`aAQ{Y2!$cqR zv*U?D+-J{1@q!GSu1C@1n-&P-+{nktyRWk8QQ!)|anAb|y&1GAwImP>(;j{*{{xpj zrD6Jn%kB{FUj4-}5A9{dIY0zwme8kM938SLGv|N2rrpn&Ilxo^GnKweMwYJvrXHAS zbdY(zf{<{S4khDL4z4hsD^op_Mua8353xa%)#f8@uTNlVI6Ra7PUi2@g^}2#-<{68 zP^Wef$%vbjZ<*T2o&3_R?VRIJ7}@q_jXl*6={3v0L#i||+T zwlnG1m7kBXhf}WcDk{53JNRQb zc#&7p_c5C?9`!03G}9*cO0S|~T)f~_bk|HQ-NtlRR3o*vqt^A^6|Dx(yzYv2G0$7w z6x9n)EqH$DrsxQGe(k2{pCkfe3s?F9Q2YxzFXPIGWuPOIUIqH7Sb~o zUO0X9YOFo$fD0A-E(^uzO=eBI1{1q~HZX57=G<$*>AnOTbA_~xYmWtvXO~LxN0mVM zr8k~!hTMuagDs`Tt0?ah-32cOX*asyH8y2@?p1X9T$|iKdKHbEYwPY>A-pGm7wI<_ zEa;qT=EA+a+^P|#tH6Zs1bsMHz7td|z6}dBa~6Nq=ns|@WcB%ueXT@g2BSpkR6fW0Q?TASll5@~6^GU$lWXS0wS3Oj7r=7Eh|L7$?d!q>G<+XQh- z(C95bMNgSVNvI9E>?YFaFDxyd0SG8|jhw(&f2U|3;b7 z7W30<%FNEiLl)tAmwA4>5xp@Fgs>NL>xZntNjG67;thIA{Pdyy@)C>uz?ix_xNcfG z>Qi78Q5Cb%S&E9k)@-E$!IqJXbtq2P^!rv*^8|wW1%%*q&Bk(U+YVIpH7;<* zCgo=2&fl#R#iYV~fvC6#2Rc}6sYJ6(AgEi6*seE=*sE{>u@PM0^v+_)Z;&N{;sSiC z+$2Yhh?69VGZu!TF;67s^%NHu1Rb{Q@3nElo>mw_)ae^n`+hd9yV<6+f>|hT`@y15 zZpNvDARXWn3jaWl_=Hjv2?VEe0y;8l4mOeD`tDOQ%eNwO&g>&g?G1|omb4WJXS|s#`=#lEG(^l*a&LyZ zy@WhaAnNYId6M`osA1_REJi}YEoi9_=L>|K&!7Wzo-0U0gamz$7mre*9K#>t2|J<5 z{zV&Ra$0Ud_NRo?ZMy$foZ!JOHPQYQU!F}zfZ-3o0)yL-%Wku&Rk6O!Q2SGGpFyqo zCc`O(a8si8r{J!HQuUi$VK05fdFj86$2`72IGBR-IeUQNG4^lfxaxMBT9gEWjQWRB zl$qBTD;bR80UzDc4E0vs&cpij5>J@sHJhJj(^1sCZg>vOYlb^0qRc9%8n{+4*X0Xj zz+Pdv-2IX$HB4`C`3XbTMam3=8l;WQ&=pU-1Bt{#SXi=su0X`+2aJp<2L>yu?x(ZN zZc5~CF+|a@J8W{d8KNkLi*`d4-G_^=LlnJ?i{3*NeG2JZy-uokGS%r$o4D2)xInGT zae-QaJ29$0u~|6J&FsM|0XVA{sGkI!y5I{-cf;2uOHMaYp$sILNwzHVbR$1(9~%- zHs$n*ykE6-(l=5)Qv<{Og_lMOqa){p{q$ioJf0uD5cwO6&|c1mIVhHdeDrCve_yw# z62*AE{skVdpLR8?c-o>57TT0GU%KB~f&9JsFzw^Yze7Xb$XzewO#)#^5e&gbZnwJ= z3@P;X4dJIPF(5~9{7etbShE;|a(+uR40||1zc0?XwmFXC=iQAC<@GqUC_T@FTR`y4 zDx^2Kxc+X8;{CbLywJQ)y+xlvrIf;viYg?6TM)q;Mk-3WCqY|pDCqUXqOnLIh&wA$ ztmcSOus`7=!#vNPNW*OEeGl%4iB8m(9B?r+M?WZG0dWKP~{q2Po;BG@3*LaF-{7>i~yYi##Z<7ru`{k>~$YjT{)NY zv(jF`i~+{A)u(8sXk9B1IwQ3+zV#_ub)QY{pL~jTfIpsZ4Gr(<7@YUVaSXo@hW~aS z49_9D5RIR>1f?EQ8oR{!fr4SZ)r{0B8{7QV%Ju;Zjd29p=(GQab4Y=+jF|mpx$gVKEK#;d2R7=fwQ6 zkj`{Rm#U-3(P#&CO?SRR3`Mjh-bD|Csq=6G|Bz@I2zrkpwdH?IDJNRBcCC9qtd2UQBpT5=s>Ne z;u8I+q2b)GV8F|ol4K})tmuq*7@b{ZQ)U@P zf(X6CAM5|-kp#c8wNSwcw^1QiHO2Q!Ni`hTYT4>$k0O_dYPpR|A2q7fvTDQ&q8_x5 zU0?GkMzFxu{+{$DBT^r;;g>JiFXK^&(idFuV-$SYFX!J27_tmwoYws_);+Qe0~-xU zqSOfOXVhY#;v-ccDC4uEJ|!K;jK39rQF7ffn}2iSZ&mh)MV~CwIr2B_0)NiuGcmm% zXMO)+eJ4ELFpf@AI<1s7Y7K@HRj{CTPjCQLMG}&5EJ{;RLLSb2g1f~+eo9;QM59K~ z9XU{r{Q4$|R_S&sxt)z7xsoOS3CTE3_aGl5ICVKU^bj{RYPqZ?HBBF?${Ucxv%)EO z>Vrd74=)~h`hYQ(5Tz#8V z-^$hNQJpf&P(MHiSn1Z!!e3693j#r3aAt9_i(i%I4G;}`<0FgCtH#zCs*oDi z_alo+s%>h8T}@KMxO-&Q!Qil0pH{!S8hdBtAN`R<@8a4Yj78>90q(cyIdmCpkOtwc z-p|>T86JdA6D;OEgb)@w`<{~#hD(%LFC4Lm-%sJwFSIFhwN0skQi=||-=d+bVIO6! zYpE^REikn>5cJanJSomVg@Qma%4m5J>hMi!?iESA+z(;s#-06+)pC>i8!m8@dg2;< zf_8|aKDfY5>XbET(s8N3H0%lb`WA+?XB}VWrD=_n_!KYP@8h$ZH?A>hxKCY-pK?xR z4@c=6F21w|E0#zheWtbyx2b4t!|AUiK4Y^amFQyoj@6S0XuSKl5J?Oa(9nJ?NWcoPap|B9gr)9pF;u zm$<|U{w|2ZyrA6D^{DliR&*(RQXfiPfo#=73q9 zyT|;cu}givh+}n4+eGV2d_+r|BD_DpjH8qV1?ThxX3Rp1GG8$nx0D~w^T0><^YsO< z*pwRaz4>BLv?atZVc(1U!k;GS2Yw4)Y&G4%3KB(JZdLB*+wnjq8PV_`2i?Y`F( zLjq-nS+aEa9Zk{We|SZDye?8^J@b^(Za%fpemz1l1fdA(QQ+gI7zPHcx22bV!hF}E zTo9nWO`DIf=>?QH7JHha&wq?Ej{%=>`Kni?(S58a{&+;F9->os2OfT5MA-PMj0j)j z0wY4oYce8q#RW!$t6sws!U29obyEEkWPZf2DDs+38Q1z1eGMMoY+QDVcGr4==mPuj zl5^b0ow~rwox2akXldM=cbcwe(!GG_JND|Subb$8$F@;wL68nL-MihQOJBDsYpcX( zzd(4Yp1tII9jnw^{fbr!ZLL5k^&^Z}?pHJqY$?@#Med>6JwJoA)vxHO*KJDK65HPrssiTr@3E)Vjtdx4S^mAY7bMpy>J;lH!t zkJcE&f7elj;YZl;H*0LlDwB#80%7={Z1@2*%!U^WEi4d*^SKKc-uw*&7UqS;JU#*e z^SZww<_*II%!}ay<~@ZAm{*7D9P=8HzF8nzVNqFWikfVI7n}}ef`56S*gqJvn6bYm z`c)Jh$}J>6wc^=Om0Q??U@zTlAw7yWNFO?rmRlVP(Ok2+dK>1YBf}4zqJsWTOcg5@LUgm+XXgGm@4sG3y_d7M>a^p)C$E( zn3Fe(M=!<&JnF%PyFk%>xPV8uZG@}H!gELCj_h{EE$q$ujV38pvo{)~7gmb=6wy?v zIo(u+`igzHo@<@G$w*mmVXQaXyRTXpVTW(RO3`~&K>=;#ckX8bQA(S+?h+IV3Z~Ll zYsmA8WDI-tulX5IRd-DESOL)?cF-kn=}8A=OgXo|jW=}o(|?!`4zXw4o8wQV z4q13AbptTiYx2fW6H7|#9pm~#oRV@oqa~O)++`yUx4(lpMEtYDUb>r~!?%AI7^<+b zjWCf5URubc`mHz&?kT2wY-DzP&>8Pb$bg06~{z~f7z!jPbbi_ zCPe)E0yTL_{B2Ct9=S%~h!letO1{7zb8gSqg18~t?hb{qMUL+X7#g`p2Qe_-SGk5axy zpBbi2{s2w5@C&DSGKT}SZAB;)05t=@cDi;uzTt6#qVI8mUpsACi_km6HFOJ4FARHP zMUGn8osUs(7pvE^)~L5jtCt#}k8F&}<7>^`kv=|hEm}!v1P;KLK!$os{1`h-Belmi zc90uW@7t7yTHvOGob_YgHwqlo3h+bLAH+Y&g^F^;KR+OjT?-Xm{XX&#jw+It$_2tv z%mzn2_`W!5CobTqBdC~Y1J6oE;o2_8c&VNhKluaPbq0$4!4OeB>pkNGqj$a5TOPOl z#N)uC53sL0ED1AJF`N6FjX~(e4~*)4q^*$xq5AKz5UTI_KvZwF!zNb!+#Scn7*l8u zN9X#pnsUxGNWi~Y_pv(?#=XCJaCrwvGs^wVgFx$@&LsV}wn!%Fzu8`6-#={Mq@B38 z&uNO0nBZ5mZ>LQeUcVx1mrdzdic&h(p^X9(4eKM?rgn`Z z1s+lu-z!|`Se8q2DVwXm8kJbgDicq)GGshZE9c{B!J&&3p4%?6YMDK4*OmoMLKTwcvK;c38H zzIu1JO|AN_pabK6jTA7XtIFB^Ry zVtubyDO%r$Sl`E9)~Ye}R&;mt7Dsj?l8Y($c1~LIY6+Dl5*F=}?kEABPf1vG z)vF~m;p~J(e|W8gCiEpNdj7Q%D!(jY(Z~34O~Rsm{#rui{RxX2@#F4Fa?GNa8fqt3i`m`KF z+Z+E@LSunXlVKZPX$?L zGV(B7W1b5}nn7+DMi+A4?-@oH7)G8?bOA5m(l{*7(ghYu?*t&Twij^b5MzGFEa0=Q zkl$E-BI=j?`S(yBT_|}s)fQwKD9k#}C+iC9qUI9neLdW%>bxDvR4T}W_lPjMwUj-_ z`b5`pUQ!ZVH&}u+&e!Q&y)z0*Lq2lW&zfKRI>who{cMy+5zBe_C|W-o;yom&=R+l> z>=MAoAA7m7Sq zeMoO3i%erPL>pP&kj>LhyepY^gPhxjrLfsh*sLgw740^&zF~s=k!($-{Kx_uia-N~ z+<+oy+B_P3kZo3Bc5db`F~`ecFxYboM+we*3zK~S5L}X0098LFV%YF|>ze$!LN;SP zveYpH8oR>$bUiPV4WeZ^+Gahru!LSOD3Dkxn|Isd0m*?uq#^PGEOGzC({^|3Gwpp78tM0qhA-jv#^AgzlpcD=qldxz7)c< z7hA*eki;vTR0k0WTX%JNb@);>JOg+p{Z(Hijv0 zEXx0&gbsR3Q&#c0gDE>H)jtLl%a1BBD@Hy=L19D{w@DYvW)sTYI=7YaurdBkaF9=QrNQ zkP(|4^e<+mrBkulZ>vI4(*292YeSlnP9gn*Y4B55pc0bqU(6#UU0W>UrvhGWb&XlyJUry#f=0)3qCSq&xL7-WuROAZJ_0DC;;hFww@btJ`a4Xm;tJ;H0sHri5;_Jj z7E5Rv#q^LO-RZmCYWS%|>-%1zk`Qq%(_RXCX`;)E2km%&;c+2;bC~$e3>t=b zESrfd6KRT#!%*J9*>`|)jOec7!xqC~C==aPT)()4%HJswJ?>)MJ+WHhB>jLz-!QBm z;_Nd(E=Kf6VU@;D6wG1(xG4U}hait1H&+WlIfiU`Z1y> z4C5!5@o(P2>=*#lzK4LuVm!gw_9RB0zd8``EC2q`QhSjJybXdeq8AijMf(K?g=ptp ze|}ay&8|XrV6e}> zn1L)s?GvKC&mh`9YWl8!T7Qg4eSAvDY??JBR?-fj}Q_0p?6}~m41)22& zEl@X%IS$k4v6zUhehKza}HbdFXPL6ifwW9uqMtBY_CW65^eo>D+6jg(omw5f3!Xz^lSThG~8(0Ea2xQ1lk0k;YQm(wwI8NCrh3bsKz>;h;S`# z0xp#wxC83jcoJy4;C&(?sO^PQpf8r=Z3blq4FnN&ugyNB%%TxurNbpe-u)oS(Pb9> zWJd{=S3yB$7A%IuvyQg5wsPYv#l{kA=W;|>u?cV6f%=IUjQ`$_5-LqLTC`4#_rH1T&3-t%Zu~(&1a+ZY1h>vP#zx6Lrb&J41F(K~tVPcY-WCagpMcCc7^OcDnV$d-lR8EUa+ZW3RSkTQ+6go!wM$6xmjpm+?1w@s`yqT>iSwqDUEI0L;DX&HA#)OWz-7bCDkdGsfk zgy(W}@d(&?4KTTV(GpdD_`(#s`g;N5_I3MQWumPTq8j71DXy!peIj+$`VXoCT789( zdR8~pg8*Vuv+5M7b_qf1WfT>veeHjQ)H23LQ_TsUFCp;x@hN7sR2Xg6j4tGiXr3dE zRg4ao5E-A+jQTaB=NKQ1W(eL<5(57n_=M7T6BhLeqj5NfR^D#WzyDK06ZUSmXzx!; zsQl1&i(;R`y`X38ou^ozB_T-t2dvTR&tWw5jH?B_PC}r43N-YLzxz~r#x(-fSm@M( zo^cz9sh+W4@a~fk)OPEh@pehnKoAM_jQiCqfvY7%UV^45lu4gSq0Ijb*G_PEv;t}>!f8Z*(`m+)qE8WT;je6oU)aIYCi`h5=ZF|yg zJYs~DJZ<7S+`1c{#qdLOX-=l`PLgKR7ahv(EoOK2ZgkQLo8B7n>?aYr4;*sf;M3d8 z^ZTEpCq+u0-esPbeGZ;nRkk)M+S??Axy~)ZiO#@Lt2cmzi&dm>T>kP;Ioe<$a?;tTi-Isxzb3E)u%{2c&Xg+UYPUZ~_h zSwiUj++e-qmHfpvH!cODm9AK#GKZCai}dG%>x=9Ryw`dmgiXosf;#Yx5}PJ&`x)1POZZsNvJ%vRiG54Cy*_05b_{mhD^3u4!7w zVp0#3{G20SK;B)DEtjM7ZP+Gj+cdGlDZ*zwRx#2l8!GS<#W_dy^rH$N7P(z4y+J}< zP~$NNgAc$2>~N9k7zv@xe)?gN3Q5#JP*B~B(KVlJ^E-3w90CQmxdn=j^NDV>Q8stj zHjPUnhDrNwTQ}VsIWAM%e%5b#DGD~7quXti;VGpyO)8JiD``*W#j(XBOIwjgvW`Gvn1V!Lz1Uil7~jwG;tRs ziO~ROcnb)z>GUkeDo5KWrN40A6{BsMII9)qHl1GKq~}IMZX#X(y>rv#e zaw|w&8UR)G8OOE9P~&Z=0INU1K2a@o#EJHWyD1%G^TyM@Sob&_kqptkXmtz5=tALW zh_vrHF}KNe;;t7E-k8*~{s;_|OlNS%&trh|`KLF=Ci_o6wrD`)`A9-!Dn^gPZfCco zjuE1OMsT$U11RNuNI)6|H4@GzsMFx0fkz24=#(%QJc(5;sdFU+bTmU3jj@8%#t?K2 zWH=Gmi`3ApSzvJqL7_~)2fIWPH4qZ2HpA_$TfpZ^h`hGWd$J^Ipvh|rm`kD2%f{y5 zKAX0G-?D;o;5Ce2^YG|~F*cRq4UNl2-1zSZJ%yscXmywHBFPCsz5zvzu|FDw0&&8| zE}hYCQD18j=beo4<@|PwCY9M_|D@dtDBB?phXBiOx5z0&D`1n%75EYfA;|&SB=wT0 zfsjF&bC5}Dc=towp|_*Z9@w^ch+l;LeVI+;@*T+>J~IO^^g0swXaGGl;=HFLwD(tR z!ffne{|rIT&&E33cpyi4Zje0PzUSbE zZl2_3*N0!RiNA5Xli5!ADjH}q4lwxEBhGwjCo|3>0c!1JwXR2$&)?Kl0|isVS2>MU zRkz2+m)m^ugqcFsdF4_$-XF1MNeT5Mns&PR*4_tfollYECu1FX`p*cAT&IqOUrxq4 zs*`PP^eLw`BQ1l`%jqL=J^2@i^DAnN**yJ%N1o3iErnge3r1q&aLG8E%G@qyrLKv+ zI?kqv8{sP*x`ao`^fiocP?t7Jd2W&rbtJ3n(l-ONcLcm$LZIa}+8jnZwcQH9ABE6- zpsj7UDET#;CS2EU(K^N-UvAMSf;S?iN)cpxP($IFcMk$4h-ftWS1P@^-J}pCFWP2$0L;N>qF-cLK!tr$+wvL_uCUQB!Udyb zznmzPpVG*?0^~kHzFZ?8GD(nsI!P#BG6@bL=+4>ARW&Y*I_X@>4cgDT<*EcM)!*>5 zt2d0qqWoi%&|q>zH}E9nTYI6I`yGhm8`R79LJyx^LAQ=Xk2!X4o62yx^RAJ<{YeSU z-P=~@*hd3M69?kzEpvKonhGZy4&xIJiRtT>buV?`PtO7_OZD$U&XQC zB9?(^FX5c8A)buWI-XrM>^sCCR>qchCOvm{XIq==1u`zp7sxs`og?cymX*fB?^)MH z;P+@OJ3Z^V2)wN-r0W&hq>n`1@j|LBN5AE1SPnw)f>NJY`w%=Hiv5mD0OAgCKgo5t zgfR8Di;2dY4sf!7GzvPOa0fW3IGWU_N<>ku;5H$mt1OhGTUfa}_qA0Qc$VO-mJqT` zg)Er9skz&^0@5gu1s&n|56Zb_@FLk7LAp;u(3y^DAQpaJg6e}ro|Ed#w+A9F?J6h} zRblRmVBD~KUoGc16bZXam=g$M>_TES^neV;yvN1jl!GAcc$a zu?V`FgZ7thBu`Isg*#z?TMZ}%q{#T8VGJlv+g}D0&At+EiGy9z&m$)ByRU$#l21`h6D+LT9%f;IY=W4~_Gc=RvQUo;9rGZ5g_ z&-l9d-g~|-zIPX-<({ZlkQZv?L%t!%Kl_Ftul@#9!`yLmrz(#v5<=`HP|eiZCk3QY zVCQhHHP!LZZ?ns1m)7jGrrg7(Y#FrCSm1;nP4#=C~4i{2Qp6u{`4NZHG?Q zRdawR`}mS?zMY;g!Nlj&$u?H$JLqpECmvryryZc8xfs30nO{A?riuM+SQm)X3!H!S zH*IX0N!lx%HszbrVW=q4#90aCp|^Q0q34@6mE~geHuGEy0;PK=Ey^WSVZ8wJ9+R}_ z!Ef3$VNTMb{SUHfLSxdRKOJOKc_L}iu?O2!?j#wtx$%lkPwCPGU^hxWe=4^4McIE+T+VuNsFjmiT4WVLcDhm7V&Bi5%JzX zM8xyICF0$H9}w@UZ;5z~LM9Mz*S8=Zi{2}+x4;6Tf9+6Ropy?p9hiN{GDMb>6v>sDUQ$|Ezv$rzO@A)V-y{)xk4t)WPM4VyTbl3|<0Q zeW)#Kl4sbcWkdN?rc&A1VN)Cg0o~k*N(o)Z9ik8HZ=X;?cM0_mY*bQo0HB2Ad^(U0jeTQKr^ZEpf%9E<0%v{8>sd$bqFU{T*q0_!CYAdkn`DclKmyIB`{dFfq zvy+V$jTb(9NeB(rLIdpOzr<+R6`3XAxP(Bv5@_g5cYoVf=L@F)A2co;x7JogSGaC2 zig%;~t;$a>(5|c{*FyKQc8fq_cnUcu6J+c!BrvYE$9MD56>iQadW4_G?fE~OnC_!Y z_u>Du)wXrLnmh_kuz^)}_#PFg&Su(8ZsXBU`g`f(l@ahJEBjsNV7yj=<~j|+tTmAZjoEYSpnsB0f+KO$60hH zFb2!i=y)9g;^f`}k;ZYmsOcg)ZxrUy*MA3-7@okNHwtSNyN081Bf%|wo< zZ`5zEkI>Om0&;y!?x#~k@0Fv_j(VrqM3MStE1)s?bS>WyJ)%ANn(m|@pbP}4u#&}x zL$4f#>C`pMCDB4RvJ@|Y%V4WSd-Ah+w5ZASouN4^a_|MWj)E`P4RYxm-7zY9b%efg zgiXp9+{rpDIzoJb0xMsT6JK!TNbv<19)V7WeSz@VOG0q_?nol`1^tZ1zCgfn34wMr z(BKQ6J3@THs0ywUTc%lo{JSK>5buXQjM}V|3NU)lEYP^D-E|bgL!+Kv8=>!1*kqqG z)uM928!sV5nLUzd{4GMiyB#uz{YANrm8LLHDd`k;56&30*?H6#hTG*Tlosz z#i%$Iw6EZ+Wj9pV>YbZ)V$&;NQ@nHYRE4eHwBCguc<1J8Q*GksnP=h$-nse7R2V1_ zEP= z=K!>ve~ zSUfu*dsT#J}$-|f@)@IinDh-PwLGUHP{q`3?UE1Z1J z$s}VG#RTb*nHVwx1?NH*A?XL-wbiK}yya6@O{ZI{u8L46QZw=p>o1Pt@hj}N5Z{FR z(b2rc=;6ZkcfSuI64@%q(TtJt-;u&kg;B#dCzMeBhrr-B-cQ?JUP5brXw$@jB%Ye+ z^b+(f81nufV)RSPa5X;VBxsd&(^V1r7&()fWp2!O<9xdE9X`o&%8$T5<vbOtypW;6xm8%NFry`maT( z1!vB}%n{Wl7o)#%Qmzu4L(4G$�H+KH>{Cqi2gVP*IvV%TqW$*3SP`bl~?(sA@KJ z=Jam*m=FA)G#hf@q4_+HEeNYC`N+?2fWE6!k-@`SbZs%J2UQ6xiB9b8QaH@&x?-?u z08TQK;^NG-W$CxYFcOtX8eL!f_&|g%tHO3AXYZ!p@mb*qt8AKd?Io&V%w4U*GCU|i zcQC^1Rao9~(k|W3FFNj1jdH*XKI(S zCNvLmCiEwcZ>j;IiG3i$6?`k3<$yV;CA}x{6WOPaKsi+-iR`-@EIL;l&3zK0VSks1 zCJZ!Kbn+aV#&5;(zVUD4|MJ}p7Cnm0rNzrE+IUhCn%F3)>e=4kDM!x>rniF9t0Xkjy0Xo0N574=<4js>N%Pd;5MoF8K z5YnCmnmx-b`fGr8%&!$%vxGqVg+`lnED9rVr|doOM19~xC;vv}w#1jV5k1Ur%^iKL z+6l-Z0rj^P33w#nVJ^HIkA*j)7e;*Yvl4m+kyNtF5S^{yPF*v8+K_+6yd*S`t)3(Zp>h!+FuUoVB*Wrin{W!M^{Aw3d^8+W?Dk zg{U}HRft76^n~(zyg|xu2Y#UZ%I8Z5HXT1uev9VodazWoAFs3b00-Z6Sc@OX{vdv! z_+Q5lWFNTz#ee29i$<(fC3BF3DAzSuBxdLmN$r*p&`Sg8?UMSugn(WIXelVK6TvP= z$}p8rB755jtrlRN6I-x+i~~YZyGMRQ5Nxjy=*Cs_buYWq%h*;mZCtlOOYAY^WuD zoHBz6kN9zTIXvN_d2%b#B2K=l(EO@*rj7g=$fh6Lgf_czB>IVd#4@fMuk;cPP7X+D z4?k?ONiP3y9Es6}(`55kSW<3=tc~hjyRnX!NIN;i@o`R?IB;qam8H9A^T_jBO6d1Z zHsSi!A}5uM(_>6`Y80w;(KgO;Qq-nN83L}B5GA*@ zur_k1ilJ6jB3qTs;BCsl6y?__F1kj_sBPy+4BP$~#Uv1e1`LyECyV+C61g{`oh-}| z&1yMjCwrA9#CWKu;*T`jvOJ^WROV!QqCM%>Y$|!88>bJM=;zHC93`@iRe5@Ugl=U1-y!gRWNcS4&tHqyMrTA1s841~p0bra-*4 zC(yfpkp6Je7x1$B_(kx_F}jG4jLlmVu3K!AfY{W4O2u_b8g0!sqD%R`wKEpMk}*Wl zU2g(yE|y%3e#J?jA&JKdm-Cwcw8eT*aXG&VxNNa_;@>d3D*Wi(UugpkrmTptky+lMAR!zFujn zEel)T!j>5M6F8Y1ws~OMLlI4RIyw(g6zVNpsF|OHi!op|HK4z4{ZKv|nD9za0v{FK zg(&!_XzOt@AyRuXmm!KFJid7l!3^fv<1p5vmv|em;&_`T^@&Q`B`m}A0k;UeJUtZo z+iekQJDvx6sP#@J=H_wL?5)U8Z;sIUfRy4=O#f-BXXV`xd|2!jfQ&i0s#Z#Fo|3}0 zfu6H&DAYILL))3r+mMugr;vIjENjC9i91=9BTrDxL_PR-$q8t6L0JyZJQ$K|<^wk> z`nqu2h|b{WxgI}3n#~!!wm;^l+%;reI-d_MRw2#<@iR;ASreg?5a;pp`5Zs`XVPZW zYlAd#7fh+AEoYTrEVf$Xs3=XG)f<{ioLz#s#1lWm>Q^_N!(5A6pd$}!a=psW|F2WCtOa6fT{Qm4Z$$q|Wl+U+Fqa3}|Ru9p-OLe0>RE%_# zglKl=S;1;aT_Pc%tGH1Hg@Fk->Xx>4-%W*9R}=VOm0-?%#Zopr&)|Q>do>%EYCo

!@a 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 &Mic;tU~<$4oO8^w-{tovYECE-YzTj+Pq` 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�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�F^uDs~e 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�DB_r0Nsh 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

2e}xUD@2*z?#l z6r~#|5L=3`=dYYRwQee2U@lJ5a^8)11%6`* z(#%kV&f^UEd3CTU95K_k{$0D3AiaP|U!Cq2YrvAJP*+@^F+U!%HuDg zA;5OX^aNAC=tsO1;=97}r9#|c@`{RZCMp8HF5D1sQyIQ4{33vH_*Yo&`Ld`iJb~&? z8nkQBow<_gsGwXQwIrxWDqayJ7lAEE{*X=5uSmYPNaB)&CmunvXG@lp+7>D0lolnW zUy`g+Qm)A+c|?&E%mfK+FL_lcb_Gaa??iqCGpEW&f5syy&@?kkfrT@r0ykPDD%fwPd{`S>J*KHEb$fBetI70zD^a>p`*W&*~an{JYv`GZn?Zn|)`o75Ml zPhGYPmAoblLH1g#h?^?!JOysh|Kizhv3%}d_yf!5KA#Ogz}P+s9#G()&5__E@dv<* z=O}Q$1V5v|tAWA7ynFBmz~5P5+9VWvPJt_qlbmbt2f!yEr#MfQ;O7 z9gc_VPHO+n5O>}Vw-ODZX z-+qH37Vp-3FE`LnK;U-C*AaLVoSTHHfdjli0=&Nh@X$Ha=wBIxn;E{DPcZ88+5 zv?F{I*OXBE-hxj=UJ+zpBZf}7ri6lk747-uIO>&@ac)qINeGHGVmcs;Ni6?K%8xyFwyrn(fJByJIQ-I8cVdn*D^<86k1a z2#gZenbzyTHSDZsO*KfkM&v`vS8Q=oaoc>laRiQAnA`zvw@af?9LE97Fc*unHIy!W z`){Mude+I`A;NV12z-ow7Ji{$r1h*|KYoiok=AnwPU&=0;fZ^d(txz`1$jl;90^xm zv{xx5JO7W03$2y5>ngX=`hM2>`c9$s{jBw8_$9TxpS7Gc-%Z%-B^>Rd3I$_E8O;&o85x-u_4XK<+t(1jTAv)j1&Q68SWd=PWHJ>0UL5G)|vSXGR z)DU*l_!-L#63bKjw>bIvctkdqr=A*y_ox7jlxV85Q~-I2Dx#&M!DUCEo8mdmD#CX{x;8%660%JN-U_Vx(icUX)2nu9FsGNtSeDW{x} zo+8>E?=1he#O}^wixa#L7wv()w+2seQ!#%fo}fMO*uB6_#oTn)bw}Ii7j^qM>30jn z5Ll34bUHM*4eZ_rj)`g?<>N;N-_*Iy8E85&r$d9=(5BP zq{ZiF0e@%;4vKQ_(Ut-EalrnpV4w&Gx0eAv?*s!y*mul!YQU@V!9h`${AxQn@a!}= zD9Sb4%Yi?k1P4V~HFZ06;8hIZpeXw@IP9p2_pVTHxU0KM?2%Q=yI-Lf+f_%iAR1c~ zZQxHI>k_;@7Dz_vNZ3MdQV2s5txD|AG}fWx%cYmbj?iHdDrx9Q9TZ`ihH5S2I*`Wh zpkvE5E{!eFVZ+!?7CWYLsy-&p^u6evt54BtgUm1r!_cu_Y(^rnMU2~1hnt7vnNw*AZi#dMfcv zuH09TibhsQ!u6{P^n_jE=+LTAG?Jb&xuu0096AF<#=sj5r<$W}kQ*Nml)=+S>nS;g z@zre6$bs90YjWzEOtn+d$e-OPe1g|1t#Z{7QK8^|pLG9kbGkp2H1YKbr&FNZeL~vE zKaC~_{mPj>mMR`f&7a&6j+pp^%3r-}C#(IL`o{Jgzh&{*0h}zBl@s=jgqAFx*WEEu zzOZAP<9S3ExSUklMkEf}j3q0*Nna>6KVZf~iBL)$8f87UWtp_j{*){=;=|E)vo}+E zm^e0ul7!|Zfr3op;v5R_CaZHnejN+*=J{sC>{9zdgJIe)$xxR$E0$n)goGT}fbbbA zZ)Pmg-6i&!bT~5g8kxX-NV6V--|26d+JE`>)G(}c=<%PSP`#yAPEvn^P= zd^}%X0b8nIf45+(pN$4pyd#PY8yS{;u+gBcJ#H%e;)`*#O6q%^ zygG@*^!ScQ!!E)gzVIu=yVR~kUSZ#k4x;g6UO;6S>RG=Tu?+GZn{61{b5VaUW#bZy zkX{WXIx}zHvPijHfTYEjvRzc1s-krxP_MsO#1p3S*RH*8Dh7YvaMo<6>o`AqE^b4D zy8So4eIstqQ=FdRUy4)VV##S{EJByDo=b5HTySd@-&&7bkVlvE@2~M25W0eY$CkLM z-1m-?ij(0bCOyU~zq!Os#Zh{ie;lwB8Ba5wq(}Mp?f8ui&Y$9)8h1DmlmB24mTNYj zI1y!1v>V+1t|-;rk-k0X1%viI32RzkFlfz5s1(5L(IA|^pS+^n_Eq@uWfI@A4AWFc z99K+JCC^E~Oh2xeF6KvI6_<~Ap)bTae=o_szgOh_65~!=$IBtnpRj;`Gtnr zaevDww8oWvDhkAJZ1H=~D3tr-eQwb>tdh~ST3%t`;Uh>i4qN-+2eihw$j7(KD_~O< zZ0yPK>5vYnHk`0@+cd0>&$5mOovd^ezoFxQSjRg~#+-I6LeDYqRs3uZC+J1~dC)0t zD)PKw(4h2L5bA_pFzD=4l-BK1?tFQL)-wS^t3USCVYEI0eYH||O+dL8)!H#mbl?+l zqQgO_Dy=8N(NtdX9&ez`+r8XyDw+|o2hCH%N#Pup;@%fjQbrSzqYz=#FD1VquXr*R zO+4+0TAm&`q=!f-)yYGiHiVO@Y{U`HY3F)h^Y<8`D_DjL~;w-_8E<>?rL4J-)9 zYs2CY+6)xM?@A9LvFdAb%Iu0qLMd}{Jd{Y9RNnO1PL`Fv_qJysDH!Z94A;u}p=5*E zkqRclU5%l{0uxyq99FS@RRIl85l#l;p*9oarUVftnuf)0B;==hz!|88Pg*&6M1ZySfhSzF-DCt*<NXV?+xR@w zj(9k33jV{#*n~7koTm->!@0(eSkeqNsZAJx2-laTx801U!X05VAy@>=luw)$6eiky zKt7Q)3=233W+)!gLv}`N!@+w0l?;X_Y%&+6DOnth5p{cbiV6GH#=276a zvF)p2P2q_2sbx--=-`9$5Y-gsbCaaoa#!Y>`Jr%B2$Khgwh=8k*h!_l<(%Fn8N_K# zCHJi30=eh=YHq~Y8CX|dQgX3irz;E+7b1TD&K8#_x=37mY5MWA*C*~I6_3!9VS zu6QKevA8DI6_1E)NR;R$Rzc)al9kxYB@~V(tD}6NX;S#4v~51OGor8U=t@-vl5HVQ za^R#HzK=u(`iRmf@gf~Q>07+<+4v+=x3o(wm4hvNX^tk*9f#$igD1+p$TkYtii#vgCy>@cZ zI&r6o4Zq-I9g~a(yfhL{rep^V-5ac*IVJf+(N1m=|No2f@_6U}znp0aGsK6g>qO;r z460=~+MUxkIT;1zP(5dPMnheur~(;9J3RX)6X&>PQeZ`0lIXfThGZBcMXhnVa#AX` zz>JdPYR$k7U}_C!b|b92CjHpx^h&Y$f-fV9O< zfT9Q`QbS2H{a1>XTE1Q+Ofz7nh}=1ckn=-HECU)k^hy`%7!(oqSiP!X?=d(I5KZ2Y z7ddOt6*tYy5Y}5XFVwc6JAOch2TD^@h;kPtzlCIyAu-1P$n z;|$4qc~Nr_hV~iw^vENRohD0oLgpgBz^-eIn4S9?Yg%QGW z2WE0f9UzK2&oYM_FeuAp5m)bIrO{ZssUMdMJ)-6!-e`DuE}7v)Q0QDaeU=h%YxAbmO^h8vny)%vBW?ZZW9h1EC3yww#h|Y( zTAzG0UeVT^m!<{tJ_#sSfb-IT;k|6NXQ345Kx@rNxXbc&)jVN~ngNLrtr>xKbmMt$ z8r#lT#~PlpqOou<4=j#=BtCipm=4?eM9f}f zz=boE6Z+eQ{u$0#$Ikfs1u6j7jo<(*4t1o=giIyh%%S$>1#T*wzS*E&>C(0G3f&HX zZV0-T71A3k z`Z;(6;|{zCGhA0}F=((uC_Ysh0M|AGcJCI0PP)iV;~(8(5RHEx{}PkTM<|?`mt+^t z3JK^00EM%LX~DK%KAMk5VEY;#*}BaeO@`Y|nFUu4D@h7NGaR>-9XIh(<+!cVaU$YA zVW-W#)J^4sTb&rMea&A^or*jCAMu@wMq)YD>zBd-T<{;r;yG%8kOoIBg4QVbg3E@+ z3c8iwNNBITg5*Sypj$cmGUdO)k3@j>;Sv1z2XK?!1sq&4C;(?Fz;iXxXRekabRj&mY)-47&vnDXlb&}`b0E61=02696&-rn|^LBX! z&l>;+&$j{IhUX^9^K`(#^B0#}hA_{s77Cuz6XFV}q=58J-I*J6{G7|40-&~HB7u~A=ymchzoPU0W ztcN}s#1VOgmbXJo#LE0D5G&|tOFkB%(2qx`$mb{qYbD_$@(Ko4MSctnMCUp+lLNYt z53i7&<$hN}3c@8WF%Llsis6(itzxisP{y=~^3LFrZM^jO$a~yQ`uCM?`hT=tcYIXE z_CK3m2w6%3`p~=9-1ra!Vn>aD2#OjIu|Ca`Y#t+Mti5hu43s|D^o~Q`1J-deT zq-$&-57dYa6eUta4@wvC_xYYVGux5{{`lpO%-)$Z-#Km0%$+-TuG%)YOlc{*eiwJU zFIiR1&tvDxZ)ub<2K)NHiO1ccJvE228r^C-rMF&+5>H1yircrbK!BoRF zi&Y>5Yc;{12!d)MSg#4Xz7UR3Cj>uff}#k5Mj`lF6Fm1q4rQTJeEotRb-IdH#z_iG zeFu8@@NNKx`f#iIRyXNd#d-Hcsd@)Ht3W5%z%J4KGI&FByJ% zC;=Vrtm!g)$QQ=iW3CCthD{fvJUd;xe6`RxG)=>F!#qn@Cj{}DAi35MaGZJlKE?5V zNnuteh+)>tKzwwwhD_CY$GeyJ?`mD-SF096g3faZ2s)Lu+Q!c%@bjw-KRurS9lTwu z7ONd{qnI#MGOliH?$j>@<)eQv6mck)r>L=yma}+;H|8;r1I|n;(ec z`E};`p%*pJuP1Pz>@-E%tdlguPw%i0AD}tbu`VJ(1$#Zf9(4TcixGn`+pSUTb^*v> z{LU{KyR|BUdYERI&;MtX5FfG-*T1BN_)rOv?cBrr?S^~llLQ#x!Iz*~Og4+hE0Ece zg7+)H6nK9FOojRf^X}WDdQ^Xqf%is`A)3f+bp1aRX3q&K1!g}G1GCf1IeO~KXtjcN zH3)!q9S9U!%bGCmi06}{6RnHFhg6dx&iEDUx+BX#MLV*TV`Gy1E~#fUX{T zr6u2K5RFX$88r3*$YN=%%u_YkJw}P4*{`0c8Vu3YBZ=s?dyE*5BytyEGtpjU^rv;B zU0*d0%Z@~XS0E__c^t$LqzJ^Jj?}VcODnD@^Nny{S2@b#FD)`G`X+_5>L+?35o&zy zRju(C5;?-8dJkk$p0GL%t&cyDN$X$DAxfQeAd?D1i>4jOq;CH~%t%_h)-tVBo7S?D z)>%~bAKk`TSh*oe%3Nm|qM9Ia&vh0(Z;11F!&A#*hHg2+10RD@YtZ6}U(P2g#3rZ@ z3~V8`2^|CM4Qiu>2J}6uHE4i~0sN~0E}lOni74aDiecpW@v~&={8|pBUb@brn!Ra+ zN+npd9I?)#qStaL%eT&==U&Sp=h$@?ZFmj(eR*#tH45=?5ZCX`q)T3B{Q^ky;Cf8+ z!f+41E^u$WoTuF=6XFA4e}>G^MHGx8;N8wZeI z{YDO6n$J^LlwGh7Z;0cqj!JC&n)3!k8^6w?x_wFy0f_d-I*T&i%%Q9q>n!T~CTJF} zv#42UMuTSKI*Z1EX2&{W zPS2|0CjykZY+ok1_A6D^Kuz2CWzwFvawu!hzD(-+b`GUpvM-Yg_oq=Jk$Uapwtbnj z;cYll3M6e53GEuiS3Hq|g1lYc0bMJ86O@s=offPxTEM4Sz{}s!nts|5v*QJU;gANf z<|)OYL!2={^b7+JGr-R{lnq!v!?Iwq^ID`^GLzoQf}ixu%=opz;Jv0W)l&+JVavpyPo4r706u;;|~rr?%O zaU~6z_e?n3KB6xj*a`ZFf&Nll2_wW;Y|I`r#Fq{UV=00HU-}w4#t2Y41Db5by@L#C zkJ6ktpO50`Tjr>ChIrJs%)}2faQ}UfH|l@SF{bTIykdX{S$SzRWo8ahcFiAL{tK6{ zMR^hZ;=tb4n`R+)BPcl!Dd%Ve;|NN#XNhz84n?@sR#Z|RSu3^pyfD-{b+**XKO9l( zmf27Qw^e;uwY6HeRikUwMb=uvwT`Yo_Cl>RSG4jrvht41)?Td=H9#UT@LQb8{$b!+MK4&V%)i>c-HP z(U5bxYD|ZJAJIY9$KCU^rVhsLuxd>?Ec$EE>IiT*(PMErJ<@2h0e>tmIH`L)4ny>^ zdD3MEO6{8^g+82EAwidon;%2gP?mJ3)x1={7%s4z=xOHZqWRKkpJq1xF<*v(X3;l4 zS48*u0wov*3jd7gKAjeTDegWse<~N?hmEM^ULc*WKC;$ZT&p#^h04MmNDELCEy%Mh z$esn-a?i%aoDqaVvr}kD-%C+CdV!%kFVxU4#POUUW%qiERthJ5r5X%%G7NRn28*s= zm_u1-Y_RA-{5WTWMT_v`;tdw}LEp2e5^R(2B_<(8YT_2jd&Nx-~GKh=1FNW9k#YNOz8LV3?b@O%I%=)l) znKH>7yLVs@h=D$4v8&4Hnf4 z4L;bBRky*SgP@ta!J;cahO&}A*ICKC{H{KFN88V!_+yoh9aW1|7%kc#EZWVVX$$=k z+fgHx$G)mz^WKWm+@B18kAeS_eUMTf*l5wC!cBvuP&Ypq{m({=WZkE)L z!CBfY7H2tUF&6*ejk|?zzodp9J~|TjTP;ynuol1!!z}>VYENJE>DR(r% z`sB~yj_l3#NviJis0(kt@pJL!M?V*D&QDg=jW@?HMfGEoo_$%1oF6UvbQb;MrP>VB zdmNn$;|T&(Th|50K$sauG0`Gs2&gUc~S;}y(^ zlJhghJz{V_Q-)00u+gHG!bTUV1}pKS?(|I-ow5uMxi(pJ^D+q73LoY@J2t#-zfb`6 zjLu8+Z9HDSdt#ZE?^|v7lQ&t0-e>A%UA4)gnTGnO*oHS;Xv1ru+L_@B@e-|JM!s7n zhF`;m-@i-@Pbtdq{OlaPwD)o`e11wq=X`WI^m0_iD8maMb&`fCW*zhM{c^3Cb+HX^ zL{)|tyny?a1ZW;=1ysveLUbVh%bsa8@e3{E0cB1s5+39s;GHjI2&j_E)sljo3Ikf3op+e}UsYQV{=(shW?4`0JNCp$R^9sH_X-bvSw_u=*h2hC~Mv( zi++N9NsBjGh9ZBSq1?5}qJOW@9KXS)pv(iCEO}1!X2Or3CDRux#97)%&CZg-S-L{k zxb;i;28wJ&T7Er5d9U^w%|^o_%?{ukxbb^00k893@{M@Sd(4IZn;gn6NKdDXl2T7u zG0kCa-$1K8SD-e^_}$}(*l|{V8|F9#ZItDW<79pZhPiIF)IC?%?e|?+-G<1z_Xg`y zhHCdhU3YeP-TI7(cDJg!JmYSw>hjSoaM)A77l*y&dvVx?wyL^u*oS`r+sB}2c37?5 z#%L`sVl998gEs%7*bW&ox!#Np7v@)T``DxT^rFhax_M|&k%Dobfjb6ov)~NX5%v9#M1*U{K z-dHK-_9{N2g1HvuQ&U@>AJXV?Ceg9qRNKNVfHB#C~&WhG5b{Bmj%9mGW` zy_i`2ViI*RS#dDHq@z2uK(@e32DH;^TOs2^AMJQ%6#Vx^JdGK+h@$4)pxT+_NZe@wwiIaYX8d~chp^|Yl(Bd>i zi?xBp8vd(R+J?lK^Ndhvjt3gDdTEr#HZ$}@1HCzsCmI=EFKywXk03?TwVN$dyT+ho zjooZf`dZD_q1d)mbJ%cOYOKcpg>zOxRGox_A-b&hxm=!cWomMP;mTXf+vMZR28bl6nr=B>>ZoxeVZvSw|z zXcT@d+HBD)`0@E>i;k>^;7Q*i21tueNgY$O4sW*T<_)^NDM>N=vN?G}PX{$n{uhcj z-H|;+QV(>BN*WTRN{BnSWtHlYL$m|Ptq4A)~L_;0Nf8kX2)za9 zmNy5X7}E<<-d9naEM!hbZxYilWYa&pNlahZLG|lPp$M3M9ZF#O+DOx%-4xUGh9|bY zW+XqFp?YR$Op{hk{ZVXhfZ6yOusIs|QwDy{0DmgR_iwStC*%tyh4HV1%+GGIXi-xR zWxcq?qTTrM))tHYx*4*z;sw3^Zg0^DEp@mVRxa#hj#|lWMUHbs^>% zJA}`Asby{;%Xe^#*s$s9tZLnbTG;tHZ-;EvT)jhfexA7#LnVlPLOe2If7$9I(}*;lJfj)}XBxO~;Shwp#Q9 zew1vrDD!uGy?(1jSK-IFtrp$)J1`&JYEgq=6^nSl91F}DTP^x8=;v*6R8-A?XYSCo;SijYxWxHXrRwB%R5*1yPN~NvFpOhSWST7}dGvwG1UtZi+z$cGtetH0m}Sk2m-L(J;Hy)jtjW1T{{ z)m+xB4(E0l(bVJ{FG-_+?A6>(6>fKLwa6*tw@V6cv6_|DWt&C+0Vk(#v*>61=(f$G zj{A;{B?-@(nOZ^DDjY`i0yA~ZKF!n%$uTEgA>yj8B#3pAh9FO4WUoPUl~pG0im2`VT}hrJOxj-UjidR=7b=)WJDY|RmIqz;bT z3N^4WQ}atWQ`pU#Ouf?Rsr_1)?}&jf-e!?g$ZwYv27U+ZdA3>f-~Bn1HENqh+wfz| zHj7R>0Jd7`9^qVR8w+r)q}mciMDH?Rw;s@Zy&K!c;qc1L0$L|&2>5#pey;(4FSeP( z!HuN_w{cCBQtKGM_JCNrjxGJk0kL$WSh^0XgrzeM>Otbfh(Y3}gHUN}IvtD?=R(aa zoH&0C=g3dAAbEDLG)JeHh(1rwzch_bJ*1iaT$shEQ!TP}lxkph zDVW8mbITzab!zYfqs|iiz^HQsKQQW?cQ}W5)G0e0gIRsloMKqqRkK-e!1!H?6AKV8MwhBK->H;HRsPh@aL+`stZ}g6)(xuR3YrI>m-_ zy-Fe8S|FVCs*`+w=1|I+uR5tdf-0Se9>CtSOI~%-@;`H^W1m-@L>;f^|99fQaMdha zF($aO$yV=J_{mnA+4BDq(T&b_*r<-#rtdFGsP$k8v&}IMJ9Hylv(z=S&5u-F%{&qM5r+uwuEEx zT@qb3e@YUKO|VJU)%kh>uFE_naypI5Jd8{}Q>rhYo1$_rPqe9hNu?JjL|%p?BF86c z)-KCAJ57JOg1^Fvdk=;7rk`ZCd`i~!|Bpu{AbczwJ#*4gbOn^M8J|466c>|gz{7cjL^Pq;lc-q9^-xSZzS2&-is^DIvbO0YFAcXMde;b(-|3fCh<5&hEtOvgx}+#Cm8QmT;oXZ>ncal^Gxy;vWATfaMonb`VCnO z`7}3iUy9v|4fRpk9!OPUV%wS|{mC-xQ!y{?hE8bD(fU46M~X#UPFEqD@&h6I5rl8i|XRUeKXsx}^su8Wpg=lRK7roXdrq=33 zC37Gww6?sBXe~ZNv_>bZzGk#$XNcA=Y*z9Oku*$ecV--e)+)V9Z*US(R_$&D8ltoh zS!v@l5RA%kWGsE?fZ^vM$2io7teXC9ZOYC+Ih`^*RRO=7KH}U-ZEYg{h48k}88h_yJw@fCJ$}Pl{@y4SzhoAF$b?<}etvoC$(hO2)`{>%Uper-_$!?@ zrT%xjMGeBkci`ct?G|lxg1zkP#BiRqpTYZ3+wLD*LjIs4Zcdb~zBJtC1%$ewPD5elBuAMGn;BG!`@LFW+(+2l&mJeAlE^g7TzlQd5?$gLE^Hh2Kw2x2Vdq2yj z)a)G=<%#C@6H!+F4vSW0*_73Phegh8o3e)Nu;_ODxMPP!_h&=jqjp%-EVcHa)|4F< z&B?Z@W9<%$$obX|i*^{wT9>lSUQOAqQy69cPBu{rY#2DGEYK_|y2T;Xf;~rqj1pjn za{_Wq^Ev!M6cf@5U{5(6QCpJ^DNO#xcC5#Ub>l;peWS{Z!)<4^>g4R(AC%>8j{$ z1)1G&s${$)8Fi&y@Yyb=;> zzv(aNVQ8gLXu4uQBU*XlFVf0NhiYZNq+zWr27uzTQ4r472%9y+p*V%mC0?ar2(B(H zDF*)h9K~lhAYkC{(?xh#Ej15G3IsFo|6L(qc2O$`=KulY%g#6kV2092EOlV5G$;5Y|`vdP+*Yr92VV zy`?c-2^cbFFOI|X{T>V9-tVWS{E51meCaKwuhJ)&$S$YRTa!@Bs~2+e%0GfIe`S%|k! z!Q>y`H*oySk&4=RF^oEXW+{lf_b)7g`W@BPnWE*~Uld|?b*}XNH3}%ZJ{LWk8o7;i zEKlk!J1uG!-P{3L|GCqms#9%pKDN`M_fECdRJhXo4g`%4PKaYU3=ztf_LOvpik{;IfPh7lw_ zI!%Jaeh{%xc|voi7Ao&_5o-A9B2XNB=?IkIA zHQn4gBPi4%5hkUrssKVGRBt9s!8sqdOF4xA@;Q^}wPVkaUOR&;#OzWS%dhvVcSVg0 z7IajthxDf%?27%))FbQ;_6wQ#%SFp>mR;C2UEdSzWaql~OhgQXwR+K5IrI)sdFf11 z>Z&uvQ|Rmnr5-s`l)7I!OviSLTjz z>NozA(M{Cig)!0AkkXxuEs^FRy* zeh(TbFe6VZFfT%ZJ@Q0>9lIzo^CS&ZU}@elC=g%gWAU}d8ha?n5ZC*RHTP&<=$h1L z{Pxf%$iv)@KI8K*t?o9p10*>Y&q8jeR5)wdqyJxXmndP- z25%C6EFN3MTfQ!G`{*%tB~>1IjTa0;%R{cSeR=7WF`E9z+PbH^P1%h-w3}UlGv0^F zd%x7cB(>c!nZ~^IYrg(WD_9jX1N1W&so&r83#jV%kLovWD9_W4&~_%?(jC5xnP=ho z%J=w{M9e%hd&nfMUk{n2xh_;BW|B6thYTSvfdrGZ#)}k*2?0xbhzI+mqfVAI%!7~g zU=QY4|EQ(>a*CuNG?TPb&IKVK6qA3kYHA7k(~avby7^pN9Tf8fehgo4(UNm*>gZpO z?d>e1PpbS6RUqS^=ZcKy_Y@f$g~Z5sTThYkDUd+Mf=g7xM#eckMaKLy73+nPf^`$- zcJu`6O2&Xo5mrkILL+0l^FYW=)k#y!z%XuY`=2LGeJ(YdBn5(L>VAcQ8+7WWm~8+8 zhQyaNLgOil2Rc=yKrln%Dun>YC=i6NfdHi)I!}~#?)h42LSmG5^ZBB*CqM$F`7Tv_ z7^N*eUnEI6OSNxH3Oi)AFaqtZ7YH{`ULb+C z;IasAmR%s+ymF2L|5Q>mVz`OBkhw{Hq}ifcf%p-v%x<>mj0AsvdBWs5{`_V@jV!TYvo=lu2qO1 zaIGnqifc_cTY*lMG|aVrxYVYObX5l|6vm#M7LD)}jV#b#EY?$l+MWtLWQuTzrwG}X zVRFUa`#r=X=C#Pc91TMh9pX8|Gnd(vUEdpT`qFrQ(eA^`Y@GfwJ^|+qopd=QjyYxa zVXa)x_%t(gaTHUN_`R|G%WZ1!E-Nb^gHL7-C?T4}M*)vPzTs^WzpnKz^6)&@F^S(X zOUt)O%?=%tnALNT!4f(qC18Rx1Q}|bXi@@Jw8tXDQ&yoqjwzYb^7T0VB)?AgNxrSd z;Fl6`N2h*=%x=`2ha+{fSp8Jo2q99Re1$m9!1I;FBP2~A3P$Q1uYel4V)PD&|pF2ir%sy zG8Qzk@76;tDtGJJo`uG)N4Z-sEzvHatN1Qa;)VF>Ty_bokD24MIf(a{z9KDMDAk}1 zehC*_VTbmyiMPT&h9B5p`YC>3f9W6iv1+SDJ^I>ee`#r7C_knT``zB*#)mbd)xDw^ z{+JoA?W-C7STUU8r%w{FY3+x;Hl<*n+HB#vzhHp-KClJ$sT~AogSJ}K{YqQyQyYOF z*rzrfKd?{jd;A!;)uN1kN9BG@X<&rbwr0BK(kSM?VCMVw)69RNnCGo(p9-HhOEvI& z9r(powR`&6YJ>Dl{J>VV&G><>YObqn;;m{o;YYiz7CnB|QTg?hRTyP!J`3}s_+7*N zes-1Sca7pV!{_mgq+hwK9=Zxo(fEP%M$R~;zjWoOyB9TfOSjn~&Xz5QkE zcJ@{M(~R9O^_S6O6-Y34=L?A$J&yF3Ah250w_nnP(3RWs20$}v>|TAD61PcG5Sp?3 zW+vqKN?eyKx-v;YR}8!0y^<#e*y_EK#rT2uN{*l=S6nF-P8YqR;&5H@{HvwnDEvUh zSFZ+dG5g4{vhpIcG@{K_f2HCtq*L!=v;BOvHrp<3HjG4jIZSuF#-0D3Ao0c>|w5a7?;Y-yV=Zh2exKr+!P9^n*CIZu>uetvw@!niak4CE3<)mAu;y6 z=vuMo+oHYCC50AENcLR|oe@9xp(~ZwRG}5@hI;y1n>waoI{~F)e_FK={1XJ&lh)=s z*^|}>Kd>k59{gCg&7xWOfjwzmuSYz`Q=~enJ`UCK6sh=nd5Sa@KkyXklmdB*)VDxC zpegRFtkWnd*#8F*@PK9<$YPsZKONV>MO(XifWi&2`s4hL>+Aw;^~dGKRJQt4i5Q%> z7GT(QkMhuy{O0NTgG}eGNyNbW-k_LPjqcKz?Ya6X&DTIK*!SB(V&C+^V&6g`G4{$R0rPdg!6r7}n>WCGV6s`N z^TGXKaxG}EtaQQoC!3yhOW6128?$MohXfbYbdww)9OmV*MO|4wXUK zzN^wHqk^V!`TaM_GsYUzvW^8*AtuThIq#8HX+zADG1F#wuK4#@W^^; ziW$b?k*C~Z6CWOV^DQ>1(YaY@W@@2oZV{oD+#*61UadGbLTv*KI?`#kN=IrC5+hXq zTScgEuT#S8mK3}iq3*vmC{*1*MYvE>5E`LgVnROcGVdD2&40mg-3E(R-D(q`cG>PW z2n8Ki3(XwRV7@=+Heu)WYfs{hF3TlFD~6pN08lC>aoRSLf^GrO(5>6u4z^=<0_|qn z`Ri^`?S^#b2JQs?Z`Ylmfjv^a5}-~Py8m`N^l}a^d6UrBOuF-Sanq37rj~yOI|HxX z?mf!d?cSrT-G-KjuHDvOBM^ggWDIj>W8{|;8bUEo`Hh)uf;Qo8LWDQsod>(<@@TQNd`AbhV867Lj*UV|0F z?UIHe^tzJ~vUXWi8;Wr0E{pEG)26H|cUkmr{J4IXMPGuNn`;*0A9QnX7fN&6Zcxp& z8KTm#=GGN*b8zE=>y^kWfdDs7atp#rskvWLAQ(5k)XfNwY_h066k!IAxO3wsZj(h* zK$L<5u)ZBCT-+on5&eo5aSWDsn5{mWus?zd%PHoNtN#q+7H`{SQC@-KnGyc6%c5U~ z*_1VDmql4cHf8;5mqphW$r6oATI?k$F!^g`SpAz{6kMWVK8M___?sXp_*|#?JOE65 z-l0lLH5D)opWTbWX9`v+b@}PiF%24)l}d|cS*aF3u&lJQSa{a;rb;`&e+G${$^!_4%^>|jz7_OBj>VA-`GtDvX(Rq`83gyLzYSY86r)x>L% za)ARd4kliw4wpgjmf z$ftGO(PYs|w1|_KGDq0NCox?$0)qoQv{2ek#+xee(EC9H4}Bj$;GsK4h_xF9e7~fy zw(-!jOM@QDyJ~9%`49xhuG+Fvo3gO0_T^GrZLFoc^fb%)H^qNnNx^>xSi;7y)9#Xu zU$=rj6{nLl3V0{b;6#!-(BMRpP56NmNvx4J@rfkkM(S3^33{ERXeA2>Xk`!RF{|rZ z26~*uIpq$;)oMvW&*#J7EY9&|Hf7-~&Us9aBODJ2UH+Y_9_ZtNk0Ts+fgVRV+M|Gv z-BY&<-3UoRe*)++t`;&Gjva20;*QckK=voJierbL0a+@J9d_QJ+=z>C)bQ?6wmO%( zlNT-GsNo9*qL-uw>h}#6UFWsc@z-~QK6c0TmHURe{S~Iq7PytjA$|8PezShE*XDO< z-r}=%<^Vb7T%oeUGt})jc)p@2+!>7fBXF@aOEZ$N^Pyci+QAH;W^kA6U#^434D}v< z#%P+El$Mu950$HNmt#ffqg%v^)*i(c+<-^1Za?3Z%;FY4C`T_s{Hznz_ki&bGY^+b z%poNJDU_u&!Mni6Y-UYh_DTL3u@PkQH4yuS5%TOsqg4Fp;ZR z(Y0$MQDU*86%%AeSFewRiKQ0<1Aa`^#z+X^Bt9_K=jqnXb2o2Fi+lk9TT)Hc>fuHu zMC8DyLma2}PNU5}o7&$^>Y~lvHnsDUgWrv4)pEei)$itNT-OMLudJUvAK!mF3X5eP zyn3PQ`brH3X&&(b!E^2w9&u3;&SOvox1IYpJPc}43mUobuILsHU!F!U=oWDCZFmc< zc%I%b0p|&ELEVBc*pkvmEUSlN1szC3)Ep0#9l;p;kw&PEL=r!0QN%E&7)DpGKOPwS ztgsI}n6RNi8Y01BDJldih@=skj|VA&EtXFM&`9GY%675T6v`5#=-RI1L9s(VkYrS( z5%MCDVyOtvRN<3B7+u|WJTRdQu~@oxbtFnGR>CXyTmeq#t9lgSFbr97(0X^)|{?g8;KIjJq((<8lpZDDyC}u9`{JNc@Rg}Z#W*DFqT*{UA-|9CZ=)>JB*?0HXjd$9eR$l(T;|o zQ4w7wmUhg6&_NtsKks;O!dPO-boKm5m{{5gvcnjuqnu#h z?UqJ^OyBL6Ms>&3cSGPqy031)8Eok2-8Td(Xa|jucRWaH02ZnB%v%8RC3WcedrV7| zkJ2z=3#nZw=`o>z9WTEej2;-GCXM2YM2qRHAy`2@X^86Mfr?~|-AyCZL?XpjR8T+# zqpQ~*4~!lBI*IAg8lWx`D3+4sBPT%=UAz8xQ0$PCMh!n2q2YLtJaT$w5Jp#TJRTT3 zcm%8AM*}n;50ISX8br~xsoaEyqxaYlcGz`vWoINvEZ5PjFoLe>IvxZ&^iv*2FB&2* z5-OJ8m~VmvadiEHP6ZKMijmqilHza&A_)<4l_^=HPP}>sF zQBFD4Jn2)?G)7%G7Jub^6`!S>Sz))j)MP$~WQ?wH>VtSkkAVUcMA5YyT0x0DT?-y^ zZvg7iW(|oLD{|!VrV#$_2**Vuzl;X#7G$6h=bD3I>C*RW@8dx_-^^;DoWnlIiNT zkub5;6J&=mblrwlFj|QU2E_yh4bT__f|Dw{A0;q^pmA)_7|ktV9VIq|VCnFnVW`5m zBUlRw548vnvHPPsCK7fuICT+tJ|YLc>F|l}kGME^O#Ly49@-xTzg|*vj}gn=f=EHX z)d0=M17wFW#m=JZQ@|)v**BKMg)qb*x^iACAhFG0cH5N~dkjQF5Q+^8L*U5H?g0sm zxEK*QmcST_A7TpKLSwKcC3!4UgklAap&^`=5lV~&Wk)c^n$!rcNTgWi2xE$2boGMc zfdNBRyqFN8C5=!Ri4;q;A%YXskgi^RJTRdQu~@oxO(aTe?I@uXgsxh5JP>xsVYp`G z&T7hU~*w7$m)X??wgE;8H zs&5@-)Chv{prIiOT7o*tpb>=9V}?d43`YwYGo}YxpHdDe_ILxOC8Zvo7=`o@4d)BO zDp_OsfgOd%HqaQ=kyv8J*nu>hMFZj-V|)UJ;82QBihry_DK1W_JbEY%#}B%&ZXhq% z(9tyz0mkBMfPzRM5kI}9rx$pv%!jHHPWNn`28;Gg;%F77&j`0diHk|nr`%f+aC-xc z7T-FlT3}?VgjiI*GEWs#CALa+MMXvFa4!=jwMx|2Q&i^mdzdP@RjMnm@5dA=ty1vH z1k*i6ovrK*n~j|+Ooj=!!!(^+rO~V0Om;%6WPQt(bSJh>;VHo>NU+Oa zS|!3ewoKBcbrP=<{iIeY29z+w$*mGxSE_=G)hY$w#W0GiRT@2$W3p3PCBxXpB&W7W z;wdj7d{*xM7E1&E(oxsC{UbeoCOZ2lL<2ou!iKDtLn7wv?1ud5trnp`qMlbXQOnU6 zL>!=j(|S|<^o(g*4!eLs*u@(qKx#Scf(p(Bik3qzcJ;I0fTZPs%Ou`nrf50Xq8SxR zfzoog1x-jO1!2oEmkCRlpygN#0_*}~l9t0PNZ_YvrR4z26ukPwL@ftc5OIJ7PRjun zB+B1G({gYHjf6Q6wH#PMWI6@NS`MoqGocP-Ek{<6ao+(+%W)MX@F0&@X|mon0})?e`SB{GQ?NVWm{*FQY`k=~h}X z!c#>KM~5P!2~Q?bu%y!4T1f>DhR~(E)LYSK$iUuX10G;h5OdtNl-8so;I$n_jj7?N zqupht#Wz-X{H5NK^3Xbd`aHG&bD<1?s=!@Q!6Tu=(V?=!<5$~xp_UFlUBs6`zELfj zJXp>gT<^o4S9e)Kxjz76A5sQtJB%JqVn*V%j_k8|KAYR^M(-HE+h^2XXr{%y*A^e0 zJZX6EG^)nj{XTqZ;v~ErKrJ9KpaF1I={o`gbTWWmHb5ssv-#zyg&1K=A*>rK@;8rc4`cN&cz z9SVG9MUmU*VW~xSjaMIyJM^?ZX|&wn4rSR>@o^N_kaU8IZX%*Ad=SMRV-tT6#TJ-= zqzR!PM42$gZt;UCLBkC2vRm{ouLy)PshO+!dzA3E-_j?I8pmkiZx1qAAWZ&EGuf+3 zm~0Z}dJ0?^lT)gW#$?5a^2)MerAot6-MDbpiikYua=WW+YCj4~c;vadcN%pXt6BB1 zor1DgdOd6%16B9WaL5Xx&-rNhi^m$w&m92$w*gfIIC!)>IX-u=-)DH~fBgN5FUH!G zF~VI@P*zz%%Xn9E{@?MUH632oZHWYhNZ&R*!v|R5Z?}6nt-Nf3;E{J)qJ=BDxl|w}F;YiuYyG z=~7lDDQE_R=6=v*J+v>A9vo+r^ND?#^al7PX0KkFj>8*OtERc=KlegRaNZnQw3LgU z+m}hMTa{2;>*IZywC!H`?oRcs>bpDmS`QHu*9mcwgF?USL$^gy=G~@XQ^F~$qbciz zGTlMy3q#J^L(%xfw5b!6wqB7G-MlRpNP>>4-BjGu`G~6Fkf>Qf^g-v zZaVfp?fZ&=GAeM-*QdPF8=z@%7^*(K4=(Dd3e7wHew#Ac?=Je7 zFW$gKfZmJCcrJ-fuEqfpl_m6U+#4q*6Fq=0PTbDkI-RM{Ku!&Eil{aYKK;)J*r%J3 zS4#7lY7z3X^Zv#aKjEz3xgv6k=u@sZVmvAaHDjNJQ4d3Et~?Ad+NqDwQYF#L@ss_m~?84ei7FYXa(2HdN5RXe0qUlqxR{R*=c6ryoYRRKf2UC*mHNK zry@Yq9FIV~@FC4*GczM0wwYT~T>ilY$q%!)Rs?7l<6VYpF!mdhJ~Gj!>>6mc!ZVzw z)3to8N!v*_QFa3g+?9b5<^IyZSbB|%uAO94w(Cwd&l`NW)oUQ8>;mKgdVT_I_&?;P zuASzhnmbiU;6v8pr@QEaM{RPZPj}HL_|b8?iw-=BH_u?s31XdBB!xL~1e-GUx01VC zQj{Kmu~Vpl;{W{Rr$8GAksvpigW1Kp{ITHlHIqM1Cgww5BH%0SNl!Df8eoC5<6iwu5gsW@7 z31t6Niq}gDGMwL~WG8VHm!v4|gnz*v&z^OKF_?C(>St8*+T(*JrFypMk2N;6!%UhS z^$7?A)NVw1MF3X_ouv9^J=>KsO6eoEdzUBC11e)G<0|JbQe{N?)W693#Pkh&C@nHFQ4wBk(0G{2L4M)Q6?!wzaIbCiZzn^ zx}+!=6i3E*1E#yEURt>Ws&`L!(c_cxqU&@Q_4pS!sh;j48m6pxBWP--yXadKMW`4v zLZj7!sfsVHUDh0JV5zJAt^29EmVUZHG>P8w1fL`_|KB!c=MCdtwVAc+e8#4Xzn6PG zw4bkixGpL$EBEs4$#%wH@C**cLp8M8oepwt))aZm_#n5_fJ>D3pd(y9^H~gQvT4m=LMTO%@*VL68sELMUjtQVfqCxK&v6QQOuc|sTVVMnycDrQQW=H+_jsg`FWoq zDZ9BioicnhmoNKI6OQIGNB^A`)*#=!T8mrl2-eF?5$ z2ddR=|H6{V;JStjZ?6@p*Kpa)TAMnZUaN55mK1g|qY?cv17ThhZr@-;+)mCA5z(|MjA9wU4=qd#R;HWhqU!L2pO3^=cBl@{E^sTd(pf z#FT+K!@ItW&mGNvRW;EdX~qbe$2G1; zadr)==&^q(7d(yv^|8|W64h_*c%qKmaTAh)dzr2;Da@Xd;ywlE+{nF*x@Dl@s%|do z;{JkCQ8#aR=p;WCUjQu>%C4Z~R+zF@D8rCJ-yrnohSNJoDC8*m{1J+i^9_C0o_(40 z#mly8$k$Ru+#=OV#S2g|C_;nK%l#2pqEgkw#h_#nxQU6cNE3ObE%1gW3Z-H`D&otj zp|@9cQVR_k-J-chsdX)C1)IC-Ro&cO(aohS-J3~WUsIOLlN7PDH{LAgF|@Db4v`e4 z1LBFYFcbRy)!D&!(eyf>qW5<*rGE6h?~uB`QGjWim~$c6;9v=>@Cav@Gb z=&FV9DfY}pJ+<&g!JQbI6JEzN^m%or9_e?|v3z;%Te5!*7k9lCw&@}oQ{QD9xaJmM z5s_ciu(()xRM^1-4N}9*XhtzkWWFto;-cT%VT`70nLRuO;0XuDbw>*YH^|)|%Htx+ z;mTYPA5m~CCa0*85K#bym^FG3Bt{Sns`U8B_9-9bEBE3N4oH$BNX)p5!esiUn0R57 zD8+$?BIY0f%C0&u!{{e})bTv?2*@`TDKQMP+m%(GB6bvU7l)&Rhv=pOY1BI9jp`{t z>!jExH_BJ$4tR3A@!=p2M~47WUcYG6;_}L2Wu5|$zX;lKI671W{OUObC920P72O7V zd}Zz;&lP25OrVN8l$RCDFRy2e`W4A?C?62CQaz;+RyvIF6Qw4zHEsw1$@Fp+TtT4?LaTi2bGHA7-QEvapkQ%MhRd@nJ z_`sPE;tpOS+|P6v?JleI5S4tL+&X}-vSLJ7UH2%DQsXgI_m&5)z~etWMhb;-`|;uA zj$PBJLrJOEUDh%er4@rKy`BMhrs;rI=i`ix2-h^K^o(|w@pEfD!3=GyxICcXJCu}q z;0|B*OrvAupvdj*tsXu*It0f0i2k}FT3N#?OUnYK-U@O!BDpK_d)xufP$(K|07(aY z^YvP{kLaZSY1DQU4Ia=x+Cxgcfq|tXSq^UZ%Kx>{uDhbN=$cYI&3AMdtz?X1!0km? z!Tu@`byrj!M)y!Z+K%i_i{k;_c4QA)!oMOR?y4A2af8oORO;rQ36E-9;-!(?t>eR^o^dT-xz7aDyjgnS!O-u(?cycqwD)4*;ciKnpm){2 zZDY9gR0Sh*5U|1%80z*LtmfHKm{$Pv6JRoM!SD@PteFy8nqj-^`H(H(k z4&P+8((GurpIy;3Snz&S!-LT9=6B4QP=nC0>s@{KH3-d8cAaW-FxnjVF4|0bZH~*} z)f?Qb&*!*kv8i4KG@_)h=eP_}W03gwIW9W;J>Awg4uP#&MLyoHs~60RlH~yhgqi%F zP3`r^+aKU3bjy&XV$cH)e7rrUP9JbQo(bNrQ}ana>8kV`JPO7klPz6NbOeiWjAbcw zqNrQAoXAh)D7zU7G~dL3kQ+U1hK*UR7uJ)ksWY(Bb7+o>y3A4Hoh~W7Z#)rYojlh? zzkw_@XReD}UN!OLqJDE-lr__))IoDyR3Ig#s5E@8i-yd!sbl$E7g5Kt_)nAqglcJE zwxnq2A=Cld(=%;K0onv94W%;3n`go!nC+YADz-;R3bctp1KXF+0$qf+di?&u^2u;* z(#H7;MBgfS{P;-tbpA;Auvu7Tpjrod@Uye~wm^oy8?hx0>)uhkqNTFxA-nj`WoXL+1+Z4&mEGyB&g0~&WM zXZBamwW$qHiD(6PLCR23>q`g1hhrY@Sa&+9L0pm_M_;$oNnfJmrkzg8D^I6XB5Fz} z%DQW(lWv=jj!?1FNu3udE(;_D*%pvZ-07sI`8GM9-|3``1vWWf0n!4SQhwXwB$v?J zlA_)-&|dmhCzUJ!{5xBm)K!XmN(!AVcYCzIy?njEEK~hEW@3^IxrqPd}$SyF@ zQ{wR9^3y*8^T>qPJ zlLjtUO%zCqhOWY5Na~q8oa7UPYaK++fjgY^;4(PO&>c={l%hc>x_5_@-r%B#b~vff zuiCwyaq4zBsaA3Za8Cd2PHL2#Yf#;{-AT*2`cFHYlvkmuUkT!vj>MZ+MY~#8`TtV_ zi7#arR-{vgpMH+RfVmTm93y0pZru%7Lj-7z0^P-+Wy|3Ru^gWHG$74ihjEA?_9J`y z=H)tw{m3?UePL63KhcjIJhp#fQ=4+HXF$N?cLz$#y|f|jxq)d!+4bP2ln%vVDt7vp zYAWXo_~~$*uO>-N&d`Yt$Ms#FtS(E++{5W`++^HlQFdM+oifTt(S-Ol+mq?RFA;5! zRZ9Ql{TJVS2??|7Ro;`Fck)+w&|8U$Bk5`0lrZuuka0NiRVo|ahTej3^7vO0PCf%s z3VK&ynbJd*q;Neq=+V0p8W43rwo-~4B?VcrCc6Y=sc`msX%U})W@m4%3_5$(<=dU) z2Q9ISxkfAY#=^xor&@BxAtwcHxO%x_uTfI8`v8~1f4h94N_$C)QhW=UefdqalsXP> zF0eSbl~OSYaE?(;Kf@yIbkf=en^JDt>7*%ND#-nkVkkBfg4C~}4@?MBzEWhpBn6q7 z5afL=6M`G@0~3O(uVq5u6#CARqMn%$JkRi$5Ok5^(KQ?vV|WNsD8(Zr z1(^|K5y-H07B?SeEirtU;$F+qrHARWu5XoS5?$JtdW$_(L>sujHmP_=pi|kIA-erLo7COG8}Yc;cpBGU&zKvq0!cIDJM~MWW#8E<>f}|azV$jZgs9W} zokX3S?-80>V;E~`1^R1+n$hN;q8R>|87}!=GyE|#JOkHi67n&By>QbHHnmfC01ib$ z*@ad3sKcmY`aB+AZ8>=*_E+VN#a34RY2L5+ySi7Pgkz}d?@F4*TAJdOBF%fCNkP<` zuu?JksH6x(%N#^0815gIOkIc`fT5qG;SOM^Amx*WP?1u;*z2Swso5+kV3&i9=Dkk3 zXcasXv8+}qauH(L6RRYa?U#!ES1JC`vAW+|?b6l5j@T=JuYfIIO6Az=KE z5&{Z^euSi`XF|Z-9}!^?0?MQ~ASuX92>1zPM5$Bexu`(|`35r1ndhP-KiZV_;XD@& z_{pZM|IKsJ^q-FAL3lmH?JYKr<65U=*Ri64Xbn41%4+REYuJGX;~Ks}YuGuy!L_Ut zD~i3VZR{M%BZs=CjFM7+Mc}4#e=#-2+gf;BJ~=J>Tz z)Qlo@kEhp&L;cJ&sNN_vyFi2L7yXLw=FNA}KYoQ;VfHDFC*d}MF8o!c@Qy>EhYRfe zRa{`IP#uyK$~P`>(prFFI7<)^4F)pf0)5wt3zXsqT;S2Q;sR}?UPnn$&$z&Q3=bFR zEX6KKL1tWF1;~h4sA?hTyf!ElZ&-v-d(bL|wh2PDQc}Pfp}MToLN!XU1_PN9s?RzR zYB+vCsEO-Ds3xh`EGg<4q3RhPLhY8~Lz05b2(=DmF^0C%VvoD5kA68?J8APqC3c9j zKA3>;oU~qjC95KUcd6;Y1e|qLuwMJ)g9(V)lwB|mcf<6r1k6F7TW?%$obtvrZ0dr` zEm|)wm%IVWI(fc}=1M>LR8qK;6Z99&chTRNY<`nP-%9arNkP_*H~2N-i`;C)N7pMU zx^7S@XifkWj5u|JcxH`IHA@Qh86$qe4Z<_`OR)w6nK9y)4PwO1jka2O>9J9aNYZ$U zq^M_%c;iNh4I{RZ;*OGn%owo>Wa60xLeMNJgleyadLFI9Glxj&Y)JuUg!&k8EYw0N z)?gqrLT!dDyqvU2gv#3_LVYUrmP?9yMyMM$X`vdVc%`HuGeV69nF!Tc{B5qJ5Gq3p z_3S3GR2L~7Cn?~JQ1yUgp(aSN1_PN9Y7=CEQ0Yw~RJSG(>QSjTSyI$9LJextLQRq4 zT1i1>gbIKxy1SKD^!HTZQJ(HtHJg-6hIFu36YzN8nI_$rUQOU_cI@pvg}kq%&<}4c z{<_Jc51VZ2sN9~Cde3(m@cJg*NY-8RU9_pmrY!$_7o}~sDQnz(7mdJ=hv&O!5`H{A z-$k1@>*n83U73f92I;qF!6fVEy6CDc(r@qDa@27UpRVGklA4`{Et)Ne!FRmxa&UQa ziyjHz<;Fk9brI?ly_RQQBAaY!)<#=kR$gz4SqAUjO8llMt4F>HV%`#|@Yd)H+{0x~*W+bfM z871jbmUMfwmUJmgdipLbPPCsk>%0fZOU%Am!AMGY6f2D|)LZ z==2?T_@#T)YNWdAxK}@#`}-;ep__i4c70A)7k&J*X^N zEGZVcU*Zkiy$_=ruS*qFtLTWm`fB~GT5?9jky<~is}8Q8$&F&8(BRv?lrsD`C;4`( z#sZSUDes392o=UzGuqE!u!@~d z>L|q;3}j}sUwK&OWry(tlWW%z8ST4Bz0)N{Ju}+(Iig2$-!4*TVIpL(nKG3nfbcCbXV6QrAXavM-w%$ zYwSIu!;QLDZ8b<+U!!%t!=EBRZ%c}T6%Yh>_?Q0)M~Sss0+tLDlzcMZ4{ByAh~_2Y z-r?;(bqtxOn8S5Rr5EMsGxI2y+6TiS&0{xpIdVy&?mYgC-$>5jomlgDtNjvWs30>h z5tD+`;&RRSp_-C-A{QCn%25Nn^g$x-PS(cdaz?+>Do-(e%z1s|bE!?G+QQe6IQ7~z z#A*7C%U+4kC5|qOxRc$NkV_eE|M1b&oS4~^OdsPK5#llaq~Du~xgni;QDmoHB%PYZ zW9f%}WIddcq#*fttySF0<4L)coev_ne>nZbdPq*rC8F$F$z|&OOx+J9*^MX&(4U<3 z6S8_Z(2&OIEYVZ7QqkLK_(|EqfV6+1*^4#97M%d9faRI zaR)ripmvUi422isBrhkyNrtE95}s_~x!21{aEs~4K~$rclMvQsrRRz{RXL^B&UaC* zu#EQ$vgXfsQG6RMO`{Z@gN@m#SclJ>pmcx_uc>%fFFEJNOT25I5Ek$HZ+DXGpQ;vU zGJSZWrqBu`|2*KQU>zt)|$vVOz`shVy`c zh8=keP_w!HG`Mx-%kxUf~~Z{4YOS2_E8yU$7sZ@609jZ21fJ!cn+p zFZ_bN@bPvCOGIDrR{|T`X`fWolwJE^I>!b2A?eGWX>@!0T%t~0ovO7dl5%fe#a|bk z41(-NUF)YLJilI!%ucUos#;w_YyF&r8E8TWz!tPq1Pdi)*fmLiKQE1Xfq?tH^C9IJ z*TJml_kj-5@84n?bfQ9`xdAljL^&PdJh-QWG_2)lRbz zntR125N@68A}b5F;Tgc}j*8^M|zu8hRPg2w~{?<7geFOg1Q;K^@3Nqtwmw@aj{>EoyX-BK> zq$Cb;xI^r4cVy?1aR{7LI*Cp1=mcHI z8nbT*@M(3LpN7s+d_9zmfV`@c=Ifzkgx^EB_7XjmJh5vUUD8?e^-wZ`wc^Vsd_AoB zdcU*qwW{;c_!{61c!qoYh9TF9QH(vsj14(KGxiiSHU`&TqNkX#_fOD_J*61Su6sBg zcaD>jv1Iwj32`@oxw!Tcz0RDD=%P7&T{x{%oW9ANzSBi>+AN&Dp*h{xML0e2 zq@!sUTeoq_rslEnq$plzF|T)?qn!0lZz5}THuKu$DdMV$?gP&N7-kdIQmny1W}S;bkPu8hMF|I?KGH&+cBTkLQaVIZ zz!{;g1{@1@yA*3MkQt%wK2wDH7k)sfxqydI#Zs?KQq(g-?O=Ea<&)wnNkL|WYL~-8 zsZm|5`56SksNOS2M)mu1!bWv^RGHn3>i+{FM)fS4;Ub2bQg3mo-%}JYy~KCAQkx$4 zMic$Sy`#*|rFQ<&?{|w?g zw>zm_Zm!yhGc*^hw!&$!gKJiuXGF2w#4JCWtGlqeCZ6=yh=h|Rg@bIyEdk#=Gz(YT z;z=>Hr6p#}#z>#P)EiK*D`+;F&kSd$f@n9#n~by6RCG7Tm%g|fjWUeKFP)XkOFny9 zoA>`UmoiE@itSCVc`J!tLI&f|cT36}i-*rW3$4ykB z(Cmkdyd$(qIDB1FXy6bKup{)`vvVm6J3{X|y9Fz-yzXITSVF7x7+LFc!(|>#G(H7# z)t{|RFg^u>;Eu36ImV~3)3809IjU|)Nx@Bgg1NgA?$hx4DsG`_x@p1cBa5y)M;A3q zQM#^m&=k2IS1L0_@8zKuZoCRZi*Vyr+#N-@Q>>Aqwg7}@zua9syYcZb&jya`iI66M zb8`)uMNxT@LfDSLY})IjXL{rkujG6T`p6C-FK}U9yrNr4rMIZNQF~*aQlVpN zIuSWiKAZ2N)zZQQDMQIMm;$FX&UcyI$q}VlaSL4JI5(G^&IK;I@Z1($Ae0Z&a(?$P z4%CT>1Nfb>ls9k5Ad>Pfl7gG7aYouA6n6X!|Dz;!7Z-EaVv$V~H9fXOLX%|{nP06b8{)X;0cVa?ol4PW&V^TT6S(OWt4d77WiUe&s@rG1i@(f8=Q4d zPl%g}p|PMQoq6PQ|1cchdtNT_rvK_1Wp6WDv_Bul#Soa^LvdCmDZ;rKEnYicMvLY6 zfze{;`MGM-e}ADbkQDXIXmQ2`fX8StM2c^h6l7+!=npa-;e=p{q)_%97%SnpBQKC; zjmc7~sQ?$UtWhT#aHAqR-tTCEBTAzb4bw&UTnNQQ1nlAE<@|1&F_`Z>r5^E8brW?r z?p5M1(oy1Wjteb8@$(A};kzIliY-j{!o+tPta}+N+xa9vcY45qRm2q+@0 z2Y#5P8E?F(B>^7iH>~zwjA`;HUm4Nk{ASCLOR&~Pj>q{WiD|eBF26b+=Q9{TMlQCJ ztILg-kc}7$DF4ffVHQw@$ zg~4gea9Xci!n&_oSe)j7#b4>AEv{%}T$tv-@TOJ@eZqMy6hD8yi+1;dxiF;FNztn) zf^YV{6rBWtddek=lUF1KKd*xfzF%{x`2JKW)l@;>PdQ8O7e$d?!&_9LVy)Vm%avfd_b>s`d{*)N z%W|oG5nk7w&u%{Da;;u(&4Y%(B*V=4xar{XCkl7@RCA^s^e__N?trs*y}xsGW&7Z1(7l(8vnO|F=@e zdMJc*e3G-3bFh8AR&svf9H_BDa&{pnQjHa5r9~d2zWl2cm*HwW%xZk9cc>Zl5C6Z&92T3kg>#SObIjmGxLrEGczN~WioU>b62kyAyJIp=#+ zfi5TWdrt@YKn>hO^ZO_+2TBTE;($`tWnanEg<6+Hsh{j|l5>huVFq^ev%>Nvr#*7` z4S-sKctuj+RToT^GT|uWzU)27b;^RozE(as@Kbt>UiKGARO)X@SV3p2jU5YFGiWpQya zhxpGqE2p1&IyRcVVelROazmc5)yJJy>Y>dn`QHYDg-9OMTW-2ZUwG4)4iFt+P0t#r zz3u>a7s?3GLH_j%fFnf1R&5Pd7Y&+6RL#4y9oHKBRma1*@4QwwqX?oHF83S2<`#h; zWZ;QG;0GDF$p9;YC}3}Sz#tY34l{w$!z2doaGhpw62F%fg`-9^jZl9>IMQgMxr}p} z!I`UY)D5h-;X?gZVZ(FkK4w4?sd%&KI+&3cLFjqai#~wQ;tA?*E{iaQ=WfG9O;I>A zZvXJ^L=DW(U$0k|=z$DaV(9f+&<4d|yZf*v&=Ajazl@RH>AU#ruS}yCu2&I5E-Aa< z`E<${*@ISc@psoF1o`m-=qkq9FZ60-&ffT7gei6h+_X3ToTrkA+T1tz|9JcI_$aIE z?=vLC%!GkqNu>TjGa8jiB?JVQYAt~Th=veJaMxs#d6EoFW`>ywB)CN@qSdxh(Q1np z7hDiEC@Lb>s8GN)Dk@s5aj8OEE!K@%t?%c1?zzvbY{~Hck=%LiJ@=gNJ@?#m*XKS$ z@qG*h&i{N7^UOZ!n+*0zeAp*-#P=~2KEqF6@Jn`_gLW_|BJ0ne%%{5Bl}6uy`Y}$W zJ5P47c%%yTA=!m`8>l(^or&4+Ovp~BtL#VN)lQ*)5A}%`LQg=VO1eui zLK5+it|umjhjc-cxN3zW?$vzmv}!a%T>lOVk-CW-h})BJlB@n`VT)`LEG zP>;myFk>9|DjF4o*HP;v2Jc7^$1IPFfvjGM`IkmGayG`JNUFL|F*K8^IBCh}4(gU9 zh369-8Ca=^zhFFwDUORlkvk;jOUOczuVRKsqWe{LGpQR%+3qLv>E82HQ&}rv4iWK9 z$=rW+NXGv{E_?st^A&xmgrNVQ_Wrw=Ejoz`Nv@MHj%@_l=#BZU zZXaFCNmVs6Houk=!!@oX6uyWleR&`iit8A~!!;%f74g>^jp8~MB`B_ALF{^N$b{=T zYL1IN&CUFDC7zV0S;pD!Lj*d{8#v?0GnAuZFVdB1`W<1$?ttAx7oUBVCM{YXj+1-b zq#safk9vd$5}NdtXQ(F44n?R(n%N&r%>H0P_E#l48bh5>I|s;=Zv2@r5hV4-Bq@(j z^^juC#4z+bP2wI&IzscYoCQ8;16^Gz7bhWCEhj-l@#<)jazo1{rbzR7)g*R2tccB| zsb@n3+HHp<9fM_5j_Hnz`2;Qb5tSVmcN51H$Hf3@hr~>PbU?kGMIedRsO)Ca@N-ZJ z30Za+Q6sRPfIhVc}q zk2yEFVKhZd0QvJ%0olk6WqEY9&Xjna-?7z>Vw)0(N_qoFn`WrXhAI^7CUdI}qqI|+J z(=Kq4y@5W-yyChn>b$^3c|AyOj+v5@{2mH z7WGW_qv~n#z^6{mreobM_5R5iDORzBIYe|hj{o8Pleun}e*eUJ)b9_b;zyNfF9E^i z-yck?+(4RO+EJh(6I)#ZMmNrQ)3pPeKR<{*a%-5^GVG+1pIR+-p}9B~#g}*?(ei<) zi^27(E|w339y{uFUEIzGJO?&lQRh*vi#s@`5-~l9X`nj?qC!4FOx7a6pX+1v&aqU^h#%%?6X>2?XB&=t_vGf(Ez4kk>{moA=E zt1g`5!uUdliC$;@3^KI7)H7G>Hm=r6!=-Af`!Q8h??5tYYO#Tu$^t^oIA{uBZ0k+7 zf92!3yRC+hnX|{_fKqaQ9wz#fYxRAT-KUH?iQSyp6){)rg-m9}7sZ!bnaXF()Yhnr z{+VK${rr>pv{PX0k`Q1%N5MaMGM^?jqTmTCm&1Z#Q&`<4sf6xgp%GK)E+y0+m`DF% z9sRrshCttOe7MO)c{^bzUh2rg-oemjwemn6S)KQ1(TryJg2&a{2$yAHv*A&upvyRY zTQi_qv76NWxT-%3Hd(QoROFT2r2Mt2lQwsg{@}$*Hg=PO7pp?tD?X~cE4xW;Lf;`F@|n9yi|2wpc9X7<Bu|Px|4~iDGowCNEZ4EPGZ=MIbP*HE2>Vzf$J{Cbq-%teH^((+=13 zW?N%Gt3?rrTI9isEwo-S5$tj75x)W<1<(*^iH5Srn&q}+5-;!6nN0kzF#a!qADehY zuQ2{GL5*J#06zvx(m2qI)3=wv~J>CW4n@u~T+bGDdcq;MZg2()}p9yg5nVll^tU@=hT_d+-0DpfwvzY0f_ zjUx*>cKdIlsjnf`dekX)>U=`A>epdmC8yYFUdTm`Q%|weZ@@pXQ;2Og?r=EJ;B`j~ zQ?b3*DG@PE=Ob3|>JSVBw=k>c|Kb^1B>IRoR2J3>|HuNLPX}+6$~r-K+5?qnnCSN)#xIy74 zl@JB`52}y9l5~~C-YX$ezvI-ecR46?smhx#AyQYP(?94x4q67pWB%=+Y)Ks$n84(Fi5_{QLIfs{XeJ+PCM2nYB#dE#PeRp6bcci( z!z{%D3#V?7*pDSd>WyaV7_o>M5+d~`q$ayg-1%7+3I)uY^|dt>|4xCo=*#)ra5RFl zasBPP!uMkd!5V*i=08WhWu+N+B?>UF!EFy3MMcJZ{swOJiY61OnX~R@6C&wL{72N- z$lB_nVe^UjVR9=D9g;=0G>Ts04;L8aZeClYnO5DB%pCU+E!52M@Zi2NH{S`@On0VW zeo~E%{-&AZp>)A+ke@sL{CMytf6ce^_sQVhH8#3)foKK~pU3l$|2lY)SA7DNuieIa zR$_X6AmB3-6TTW=)DURFd2Ta3;gjLG_1jF#ND$nJQ|o4GWa0g_&#`1tJfdR zo0X8a#T_hHr6PZsEvZB;?%+8_D8T2%m>{uKE$$#U6;4d}ymL{DyA2jvY6K(AWXFn#)?awDrIRC&ti!K^dIMWD+ z-A#t8XofpH%WuqToQ6vx!uVuC3(?i**oX$=LuKO{y*>j!iptvfyCL|kzO6CXOFQ^5 zRez9F8=(c>1|tj{_-%x$BO$}x;`KMpG$PFb4-kckit21MIIM`tu>emkDt+kZZh-B( zG9Xq%nB#Yc+Hpo?_rgcT3LnkFGx{!kOyM-I&u|r0^Qrn$BWUu z8a7uR4sFvokK_px<2(vDOWM+dv(hj;%8IL7gF$@$UjwU40N6-$40QK96Vow_DX(K) z4%u61EG&N=U}fJu%1OnNeTIanfFdHw{b7`o{tB{m)O}6J-7v4p-7wGHWK;(H)eUZ+ zTlLBse#foxdTt~-9>t(`tfCPeKi#m=@$Ko+W_g(3q%(zfB?~_V!rR+*y`I84?2js@ z89F0u!y4g&7K2=nT!(N5YfY8`o-DkN;{T-etCjds%Li(TY6YP6GTFLqJ( zac><)nL?JWLn7J%@`|?(qsuSGI)nAoX~U`bNwrMEZ!YYbHk?*m?4l7geK@Ac{qPCX zjYv&3d=+b2*No$K1zxYCM61G!(poOjCc=*~RWTRIQ!kOKn1`ni@x)c(!{fk9UBrqy zL9C!zLMUn;N)AO`f2k;HE6Aa!8X-GN!Z<~Jdnpt}S!moEd$CytZq|o%Xv~N7+pOW; z4WGxw+G`IQrmSvLW+q|w+elQEd4Y|7ZVIou#=xRNKWfYrUTs9m+9F2C@AjF3dy)a1 z4FHi27Y#EsHJuF={H~+Fj%B7hSmuv}+M$D}GBk#|JG2ogWwa1A-qmQMb*3^J)1Zua z46!=V@`K4Z0>JS_yiNkp$%xBbL|Mh7oo22cGk5N9M?2~G%d{B{0X^jfpUff0??yZ6 z#>-rkw;WF^MmuRO7!hSXGTLdfD85rGBzMrEPWp?<>i-n09%LSIsFO~-+(mh`K8GBK zAL^v@E@$KJhsl^jA?{J98Igu&<(5rIJ56X4Ab{il_UMVPKYKTOxIXhms|6b(7h5GaXZ?ohHwv@sK=+ z)tI`Y*oIybDkkY0>@t;QXl+Yy3PEPN7ECt(z%gWjpZ(Jk7o`zy;(S*F>|ALoQ2|vw zPaM!67*;IM{Hp+60iAkP`hX_&MjBq%{RuEt=VRBXTu|TTKqVS>q4HNCB93G;Vq!`D zfe0zd;H$Y*E~wuV^LyRZX>z);BNMYo#jDJs@dz@hdT7JRJM0I5Vb)a#Jr% z1$=IQlUk6fZ*5dRWMwKa&SQidLf&8`5Td+KuC|+!m#^QiC8;QvxDI+BMf0v`QL!mJ zXciwEaF)LD#B8KiHSOAlKufIxQ_Bl;^{tKSM?-Cs;je89)J97X`;&=ldCyj3+WDZa z8pg&Om}>>^Rtb@^4wDpYV4m?S7x4z>dP&_ZA@*?924>$1$gnh=;OaP7l%qB!tOLPYa37Rr-cx4Hs$hj=rCD=i zX4cbZ&ze)koNa05JhQC2x@5X)iaBZKJ>~40vT8;>D9xPFV8lG^X=YtkIcFwg9-L;z z)!bkN^^gO?Tw0?e-OQs-Wat54EvSd3k99@Kl(LH2SyeUVvnop}Xy}V+?Pe7B*=48C zDW6?d%G}e~)oAWjWhFJjy|3Mk&zKd&O(Egh>Z-D`Qflmn9-_Ra&MGadtu8;OjQRDo zI~AuWFt$OMW_!4S~Kny8E>aoMuofH z@ab}Nii|XuL&?wuxmkqtry$V|LtFdIfXA$k9+A+WV(dnOF2ptw(Vs%ZHmq1{>Jr}l zfuF=%179o5(**p~>R9C6!aPmLg}H{lS-AHd`kp<6ZUwy}r|+fMiyU2`?INh}1%lsC z%Q_U!^gXVeSYvi}ADvkGR>eZ@g{4Ng0jRoTj}Z37d#4XoQvk+}W0}Q*3h$-%&EcmH zmB$E{d)k1?A*g~Iv&ceqnW>j-_xUVgK+P8@@6H?T<{Du4ey!bV7I6!=`wM^#!Gag_3AZNc>r&fs37SYDPvs*RE-)^=h82^6DDyyvt%lS02X3#^*11)Rp zH)D2;k%U?$YevUzo!ow7Ppzk@=PG_isY#vij`dt=5*2kv4iS~?j?yG5>SKDkRjHJZ z`PPxr#{}m!jpO$P!j$K~-EJCa?|wNC;ShTOH_EtZOyNRrq`5lcZkXpPn(A&18#vIr zkZ6iG;nZ$YCi950dT+yGLAH1IJzK1_J!P8~a<>>o!3IcZBw92Vz;MjDXo_3G#e;d~ zxhMI|a~$-rDk~QmCp)>oVIpg@jRrT;GRvrWHk_TlRq=^+i!pq-%#CK1^gOEkm%f(0 zF%W8TM~H&!ZqB0R*b;Q}9SlL()@JMq^7e8N?@q+;Eyc(fQ`p$*_qcHo#_e+{k*1{H zM2SQf-_>lRFHPor-R{0JpQZq7u2qjGl!xe2aL>EOML1J*X~rqpRELKJMyQ_X(iy+c zqSvm$nX8HAPBVL*$tJh1+(}X*x%^sPz#HRIWBiN>(4n9fM7MRQwjaz#b3wd}IM+Z@uVvG3Y1{$ekh zZ}FevHMo%IJLdoMPGv9OvAsm_r0nH8wwIpHm=nua#N4)tYwE5TfMdy&4fT8_1)!&t zAQa<&uqP<#%TAomW1T;x-bv2H)nm|h;dOg3HRV##^_m4(ZWaXRclj-bgW+o3*J(W+ z3`67V*+-u7Ru)}x9qwxP`V1O{gnO=21)`B1omoWLZk52+kvc{XgYS`eg3_ zeO|v|0&_gA6kr}@CORAdt=DUShqKmjfBX>uc+B-KvNMaLkud9e0eD0d;CcbpEg=9N zp#g@j->U|B;YtGwCIdVM0B)vdSz>q z;hK)R0k@H}SDp;7yx;~^Zod7j+`RmZA1k7du)A{TDSA}Cf*-R(D;)H(lhcv1y5$B~;eb<}RQ!}W++L2PA*VWN{S7X19CE6YmMnEq_SPQD>!RHkB7$Z3g8an+(Z6s%5ASt&n zoWgH;Q-A#=|2MlJlh_L*P@j}B9qIuuUwb6i^RK3hYz3jq+s+W1FmzBSB zQC{$=9I`i35Ex(j9m>3S>B=cr`*5|i7G3w}WC$G=V92~#Vd!8#v=~ncLCbAzDYzWf|%i6IA z(NlkLk^QJ}gzn+Aukh%nyIHRXFH`MM9w~drmkz2B#vTd5{%%|=@%@($qTGYNa!}>6 zJpgTN^)~>;Ksvv$6VeEKwrEX&l|{b1u!=j}>y~M?sAsZ!=>f(z=T;n*i(14f4nu`qiq7(*dw8-_{Mq% z&9pblT!B0*$rFp_;~NHo+)6BHdV} zC^1)5q^<#zwaLcuvWX7tSpS%AT=GZJKOP?ab%h6`uZ4$dnLZqUmRNj+cQ=HF} za2yfcgsH;bcbJRL^oEQx-1tx$U#PKe%Az%6=VNNYci%zGR5zgDtwVp<8^DDdw0~fX zP^dD%uPypL_}(0@GudwrQ{0|8HPcSO6&L%LcaaeaDATZJbUmv|kFMN8-cw_iQUie| zpHZZ$uqY5}8rNj_*%6FWN$#LGJkA~Tj&u9{fry*Wby41?r|f3S-??8-CYH@WC1O9N z7xDS-DMqtGL-KEsh9B-ta?9A3+y%T6)+nlM8V(JUbFZP=|NUW>RJi=?={uf&xIj^5iyZDdNsm9=vmQ} zN;dm!H0KVikUou@mcmqa!Fg8t;~iMq->_*E1)t6#P)`Hup_@n14kYzes~VR$Pz|Uj z8Q7@+cI=(Hji0&>OGDW|zj!1S3-P@Y0^MmarjCnwQr$;0($M(TO1;LRf%S?ki_%F-R23N4W2F%p7o4#-fs6Ys*>LO(Sa<3Dwo=)<_OsZQg3b`a{;`1AYaKXu(rHzJtt zgiU$H@p57DZs_!qyR>1se`rzn`Si(g#|WO*>hrai8Vv!DG26gf?1rbTE$CMBY>lHT z8Ba6t+-~A&#=Rl^Y+ulU+4e=E3OHE*ItXvPpUA-i(TIRvNs*MfR33 z-IoCi8^1#P0!O#<1uL=H40E|~g^O|z**uCif~J3Vqd;rNAZU9ely(Qy4>IcQD|7`u zm=WU|g#2C!VcQQ`h|=O36u@}*AaZ&o6qxBy1j{j9gz)eDIH?lXusU+?*6LW3!A`>7 z;-yEqGUwb4=iaTH`{P`rZFg&*F;W|nZQ1X0oE(PKGeYcX#`ek_>72QLYkZmZ97A|&V;r-2Abm;<)L?IXlv34 zt;!u~Xf_dbBqRG5BYVq4_OBRZlLgsMjqJNLBAeP8js#jvNZrZMzF}yi@6(3%O~&PD zecS+o0_|H3ZSsBTGqfoIPrC`IHyPLu46MNf_Jh({I=T>yhKz79;13&&LQAJllg#~! zObi9CG*MiU$(?GNP?UH)UM#Y^eN()CkJpcrgo2@1Lg_it^sZqn_nBC($?WG4O<4yP z!(|OzkBzkOoyj12GGQMt-iK2%&!F%0((9QR8|AH3W23E^7#p3qQjd*##E9nLn-u64 zf4Ne+#g{_p~41KJcdorGZ}_W*&=t44vEMEGT6t6Rbn3(tm>DyNul+a@slokuRsu; ztMSu6`9p{@1N&!YKgUlgfJ`?c{8b4po&KIw5j(jeE?cE5VyCjyv>FBadv~PS6rZ0A z<6DMtmkHzB{=rCGN^6cpg1cSD({Q@uVf9r7`zG6zR{W2+I#HJK2!Gm9E#CDCtnVd+ z6|aH6NZaDwu_lOMJeUKZ0$#GyVtPN1D?2aQ`TnWmu96VNO~U9 zEZJpM)jCbi#s5;=EX#85t98;pO#?fP_eCA6Yn^n&19*R8U9Hok?uzEht#i_}2XyN= zox5f0p>;%6Pc~|5$YsUvxGQ9a)#_9AcJP=*r_3@x}Fo=N9dKT+a-*$$hxG? zY32+ja5(!$Uj5J7R_8R+I!v0}W8F^jnngHYt=4Cq>~@+&J56E*sXk_2SKm*!l)Ou- zyMHaU>kF+Al$XaKO9vboveC5<;Ha+j0XGjohyNz(iWf$gi~fItQ6n6B{)7GUlUz_uo z-AmM6y_Qt`Ws-{SWEK6|RMDLSxU0|Wk&3;WEA}na9wyfie6V z*7>6kX|r6T%rdjuJUIYg4oE)~+`m5!`*tP>$5%O77Kp*R`J7KUO1|D4XVfrms_DK(;j)K!*P5 zm50SXe)34V?IWh2(nZhzHcscNpSmR@rk}c{zl-;JND@;Ux|`C{C&!~eMcm32aq=VD zQg2n3npUHjZbYUwdwm}6GBt*}WGr_vmRb|bUH!w7I13EPq0QaSLNz4X6<1k()y2Nc zHzfw+B`Y(zGn37PkCEgH!O0TBqzlqI6P;*+=n@(I9J=mB4LlpwqI&)tr+J=@?h+Uy z{-e@RWCKe`n2lckh|EU67piQbikXe}aW9{NX+RyBhw=MAayF7O`?^`KTWQos=##^) zSihm=^<^p(&aE9uT}ZDP|(A{EavZBF|mJpU&u` z8K(dd(b`RGRvvwoW7YvoI%u1D=(`kt({UfqvVY8S+i^BR907&O)Z~RURFx5!}JI- zuki*;OImQ7cXxy3fV8ljHK(R(PEGBs%8Ij@YerhQmRH6x%}fu|nKS3ql;HatDE`1c z@=Vpkl~>oynvMIIqjtdSGwBmCYj*kc^2(BminD90%PXf>l+{+1)YO#Cu4F-dwT={J znKq|p&g`<e@F6mg=W z?ZF|U`qLib$1i*vjWwfLDqn7Y?vvw+XRNP#4hm`CM-e*?T@M~}fhX3gS*($=Hw zNo=V*;wEc`Lse`^b7BeNzz!_|qo7>9DIA^--N7vVT4*zLe2(SY*wpI{=L%Dj=pw1P_3bBny&;(0KqFLb5P1|IPzjvX*d@ zw)vpg{E_O~?6lZ?OtGStUL{3Jr=`aTirROv2R$5u3b58@q#BoHt z&dHh)JOEBIUPz3ibZkg}Z<<<|ILqY+z*(jiC=Rpuz?U#~q|hl|Go2%ag!0As=q{0# zP9L2hE$XLtiVsMqpH2`K_0?S>jD0ojJTd07DQ~2?RX*ms&z}nj8BN}BB-BoMC%$Vp z*Oh}C_UC3hlgGg1&X6y=s&8!^hkGZ(F<+7n))$Q_#QsNg>w!w`@l#Neqs$#l|nhfSXt5H5z!QT`s_Za?&x6!LEDhd((Z-I@52i+mV9|;rTnBH)n zR;qg;W4~mu@2d8=BkrO~V<8H?o4c0!rmZvFzSabFB@IgU&Y8LFr7}FdTp9bxooAh? zIAcT=Q`L{ZnO5!xjx&D;P3$wxplA7wKx4VzW3=^?zi)4KdB|(5?P$Xadqb_ku;Cx) z3p9mV!$qY=eQQ%AV5s|^mGKW(pOJvC>t{Pahu^1mfQ+fkNm?`zw^4HW_Oqo{8=(c> z1|wWlX&9dHG$Yc`JTu^F^)df25kB@mxY-@nbTo$VOW1E8n5rZ(rrWWVt7$)*Tq>sc z!d}217WMRvuN1x`SnY^dRc8J>NeWZ`7>zQ|*<;LJ`s@+ele(w5d{~K{wgH z6j6Tbpf=L1qxKhbHTRkNLqnj2 zF8IRIeJH5MtadJ}+7U@-f=Z8W%zwq`tgwT*3LYlbqCw8-I`4&nrTnDN-Jl%NmODu}NKh?BH4(ToM><7SwMOFQ{3T=Mua%s?q*D&RpdT&J{Ex}{$v!jU7M7mi+Ek-D10b=j7 z-}ipm?3(cQo1RCx{cc}-*uZ24!+3M*=oqSxCaKRqgovz|O>J0%uQ_2@itP%r4n5OG z|3#d9uaOl(R&-ty9u?ADBl|m|u*5)Q#Vm2sV=l7enI+^Ma<+|H9&^zk zt|G=b=&2X1M0SxFGwHKI>|My;IG=^)AmWh6UC|?Mw&=N2979cb92QN*F;p9Ww}y|$ zrFb01sd=3na>#DbPcW(Kj1~2huOl`&(+W|C#Pj|M=QepC!jELlyU$7a8*}*k9k|RV zxA8tFJ@PnS)d<|@q@8kNEPs%y9#jsKy?dXN{_(hrazDP$Nr$g>QSQI*b5hG%WCYJK zl3}uh$e2T<_;;CPZIaw6A;@qkJ;T@zGVA~DbJB7_n1{E4vrAVxse7;j)FUA>{sjDQ zTGsj_7)=yDiO>7s{Y2(=V&(-ls^_@*&^Pm%1Xi~^8PooL7T*ef z#%7;Kf6gI$U>=ey~?kih^*(_@1)6p&S7Q$49dR$ekV1rhmEbd z-$`A=l|t4^h&q`9vaD53`Xk7!LsmIyxp3ec4I5WE=}jc1)BMcp@)>3=6^~ZnEb1m? zSl-3g(k^_8Yr&`VJq-GO1W~ayIvlaz zJ_R2tOJO76c*%~j^H0I`q(6y@nWyqf@L4hb5Rb#-D^EE<(}fLJb-5FD3I9!_;Lbnz zlZz-Xe-qw1G{RwblR-|*+%lg=d>!I(w;{ekbrc2@MCtmF=5=LRI}f1<=~l@Q|CD+1MBjH==RC-qA5R}zA3IE4N20Vn+h zWNEc7k0*A5X#@?w$M83Jjj(BCJx+x?#@Hso*oJk(*t|Z2TP{t4AqBg&%}s(uklkG$ zF7<}!BpA;<-RP4;Avy_ZBc6fH1zP={lE~~pAVQNtbIY?Xvb%j=cUV3D;yF-h%bWp{ zzadIp_0Lm1zJv9G4a)Y|!e+!<*o>99q}6)w15WCYS~(61{qX@OZQtM`>m#F`v~zO~ z;i_c3cbGfqP$!+T(M66ChdOB~ejI+NlOEp)=TJP_N&l4gH|9{K8Z+Z>M?2{q(Eo0< zlZyZBBFBo+POAPhxU$V%B{|nfh}u0Kx5Ose+)^RXgmE^v;Lk}mx9hFLsCbLAxfx(M zc-vvPf&+#=`7j03Cn1E+0?lVI@fbs|5CTmYC-jyiq5ppjQErviW>|H&DvUNqcYT=6 zN7>8zKWhV=j9x&T-eee@X^bVXqG6j{l>N;&!{{q9?-9Zm$|-?)+9+oWGDLgjT4=Fo z3)I3!woCL^aD+k&J=Uc%vP>b+gmFf8&z3~XX69QZ4;4h2H>YCWn?M-H{P`s22cSmv zf~Bst?r{pTWf{JL#C3uu6smCjrNgFDhTG_z`#Q==c++NePc5qD~vcCq*Aq%$gGBR3q5Kvmg+k#E*H7 z=X3Bi%lyaRw9>C%!a$)LF+8d`1*3|M9O-xgql$17O@+p`b6geT0)AswBhA1%ZqCaX zO?ui?UsCk4Dj)-$@#TfF6SSC5ngWXIdrV~Nlcto{1OAOP6VQJ1GVV(_7E%XYyD)3w-88%3WjJP|B`9Efo zeJ{x)j#AbNvJvotfblt#1s-(LhND&TixPrt6v+Pcpp%a3fzVA4I?d#F6Up)(a?%AL zvmW-4lk#6u%6|4CCtdMV z#o=ZN!GXX3I=stCUoaU){@G&{*(eD?=7b>30!F-wf?#Imk>rac1lf@w!_2J0B&#b@ z+}b1rS)nGo0%ZMlG?m6e(@SfQ(sitoDxbW7H_$r*zrdEj`d4*d_zQFw(ii@s^!S5_ z>>)Y>kzc*);yF_lJpaM3xyarcHh38wjXX@1i2oVlBjNIvU?9X}wJ=RaLk}g!mtf## zNb0vp#c+>%--}*{>qxanF&&QN?S$lMUZ266?3{Ys)Z)9W_XdYeFqF+G^}dd5KynH;vQrGbLRcX^7})3mo%%@40AL$e533?2zWZudVfI z%gq2CQhk%AD-6hGs3jda>uJy`XwUZh+k*oP4CB4`bNt%Ff#`z8(II9 z7esY5(lcBEqkAO>?BE$iL3v$@WQzrhP3QHZwtFz((klYbTQDJ6+AG!lJPUun7u9Y3 zxXVeCdvaLW&p_EHt#;BCA7CIHv+xR10IsZ8o?^WmDn)PTRi9ib06Tj(SH zB3X3Xyr0`c(M8|b`R%OMNZ9MqvtP5oRXx&Qwu%X_BgL8UXh< z@$dLHKj$R6X#hHuGZ7WR$7&-w>Jdb7xrOFyL@2dM%<=!wW}vu8H-FOr)whRR8ymfC z>Wtm`0qD#x{0DStMCf-c^)@`Z>%%ol@XZ|gz(2*Q-OOyNKf||7pl-bwbsLkt|Cx~8 z#$*+rV-DIObV@CB4^wXYTqy5h%A$Xv^Y*#J&1_h!nI>zeizxf_wfXdw7}&_kN_%iq zN8k>%rnULBbf=4Q18ei?XJ5D|w|#9s-SY+fDu#+ZuPT>YfUE5ihlf`Qw|gawbD015 zBFSNb;mIWmL9>KFa#SkjGlW1B#xWoK@0859N*kRLpx52;-QKPiBr~Kg~2h zhWSM35X*iw|Awkjz@?JhEg>+RkP5?cA<%?z7(PtGkj^&N5b*ho2LAeS$nTExvC~2U zwF9mjTFrpm*0Yfflk(^_cop5p|9JrV_}VXB zl-KcE4h`}cF&hY52Aq4f4Ow2t0I@x&-1GBn%+DZ8P$yvcPA?3=YSf`$sR`)|1K_m1 zc=ARMWWU0hul)+&hC=4RJbIN02Y&6MysE7^WUqIJ4N~`Gj`U~4`A3qw}v#Xu7 z=sV~pjbo~PXbXBjL0UrhX-XNoMQ9f;m6`Ql-2&cY!;t<%Rju05XX|~Rt+(vIF0wZS zT7o_!VzBRipKYWW@#trJ*(C1yuZvh|4iTO&A(U1dRa*9sONUUgq}50WntCYEapMpw z|2_>0Y%(GV#|pJl>MFEy#uJfcSPPLIN0k2Yz1E67gim(c13{j95AM7_iw6JTqU@Je zJ87FBepf>97>wcc;SW3M!XMIyTpi$IeQU(Ml}X6+fc&-}Tr{-Bh%^U0WXW5Hox!1e z&Q%`lp;n(k{}=Mx=#3xX1KjE==TZ19)-IInrw=>nBGF5Sgecj;XyVyR9(K};61z=8 zq+&BJ_w|RJ^vwUzxBTm2Cl$<85Q`-Q8LvT}{D_l2X0o#$anePSe3gVC<2A^;A92z_ zKZ4t{k2qgqTa)sahul;?Oe zhwMky<9kLYAlC_4dF4v_UW!N}97V;h6lLGI#z{VjZIckGCqNM&u5r@2VA5Yj#LoNW z6i2mskHFMN$Jz0E2@(Aq!{6(vka)*Ob;dtOFS`YCaTA@Nv-w(tR84+3?mWcl0}=Fd zoQPO!DI|SHf|;JWpw34BLagwN+3Yz5jE^2rNcsreFAy;g5yExO?20OPC_)uT_+UUG zuOKL%{FApvPKoZ}U`uCu^brdQr(m?Li19d`AM+-oI;DM9!bHx=D5N}k3q3pPcpmEb z`iw#nA}&kI=WZKqL8Lca?hm%|%S7fuqd6E!STYN7`e;^bBr*9sB%jF1I_tF4S(!B` z+4n;WLH%s! zp9cr$D9h-O(B9la1~|^h0)O@Uwk+&2ko6yHoYeDH4%_f4u;Ei4b<$Tz%tn&0O7Xfv zLYO))FoW!;2Ne=or$6eX;%$nbMK(x^1hNK@&3Md7uQC~YYlS4&NC+|y$S!%4>5n<7N0NIb1X&xnJ@}ZD+L;VR*d@u?XDEyyYhYXrsKPmcdj!^+>*bq+=TnhD;CSH?(-hVR+*88Tn0t@kQfLEShvu{@8G{ zJ7jqBLq?Ok-b=`y5z9w#6lvg+djEzbVp8){M!IsoO*_Pq$D_X0)6Qq4r=TFwXEym^5kpiIjJI#$f6` zMU`~Q@#u=W4?vN+U0?v=@?n9=&CG;S(EOfrn~(mmglnLyOnn z8ZMy^nRevhLbA`MkNDvvJYb~#BClv&fXC*LyQS3IWP~I12IIJAa3SS&Z_6ROk2dfM z+6hD8SB^XOC@P+;3U-!+(9x?f z>M}FI3hPh^%0*@RPHz0 z+zpXg3yhG@%{kjt&f)DU+-=ShfBPPC>2@us{KmqmQ>K~)tvXM4LNFuCuzI3{Kl`nX zT*C@!n0Eou!2rE@m^O%m%YJJkvX0#Dr2Mzla?v5zKm@| zrQrR|h(a3X2}g)ZQOKHHxXVz3JkC29L)Zm03u&&O6jJsn+nuyraP~-udgC!#V7rrE zKctYd+qOHYOHwse4w0H`uGsFRk^ct`?X4iyMx^`<6MAQI5$aHc^Z!q(sSYSRz&T~b zmm0d_HK$H@yi)3kBB=OpHOB}zdPnJskEn{@DnJ~Poh!cWtm|y_@F)~3K{{8DDLl5~ zwfyD6NcX#KL|0oDTxX-hMr+YmbDxn~V==sAt6p>MG~!FyMsy8xpE6q4{WaW2J%VSh zeD!?nVTE|3$wPl&;of}A=OUPcE#rthXCc{xA!7mE%FjPI3&{!tsgicdd*3jMm4}N_ z?39u^>J_Fqqv$;X+S{A@lu_tHM{&R8O9eC z(ojEH)Qci&Q*<~c2}z>b0wFaF*PQeHS^|zvT9l`?g6XA2g*41f>S4&ZLW1|<6#qDF zT~=ras^Y_^w~R|RVO*+Z3h6e5Wx;@XnlxGB&XN!*8!$eMnOw444CwATR$bH?Q1~YY zRTw){oPUFjJ_2ye6!CCKaokK%4*{jyA5$318K0hXdrZDG-{h}!#EL&13{xv!kJf~F zn2mEv!dx#ifvTyYg}X&=tI(|@nV`nqw5Q~mUca}cHI8afGL!0v+wXCQJe2`|Lv(03 z$QG|@BNUnyH2h@E=v-6Jvt}5Tg?#E8A=m^@KKapXg3JNNi6StsF^4NNh8PW#vFmcCBUsT7MeLbBS}~<1&5PN4wt@o12#9i z;XWJbGRqG)*yw`s@Sm8JjgkDt5(55}8vbPwShP+0mMW;8zwvxXXm_ zD>Z30IkErI`Ig7$*A4*pJ-EZot{91$vTA{rDBm>_{`O{K!J7bE{D{d0%-B?P?(Re` z$}%*Qzo%jX&Fg%{3lmT%MJEa73fIKFiJ4UWYN7TCg((ffR3o1Q8J!mGGbyTOi#Z|Phh%( zbll9+Nv4o&9XY$as%&QI_~VM1)~chcXOtXUtEJoGV?};WT&zZ*J*eWKG1y~hCyk$A zavq!*FT987_$d`7rqQ=3 z@qw9yal7>sZg%SE?Jb(5*&S}?)Xry=%OCq1J|@)m(?kawot?+73{qbH@WDj6M>6M~ z`{j1y_~?}aZ_4$@hGwH-Ub){J@w$E9MTUo05wOe{CMx~NMuUUo8vP+I(NVs9cWeT| zc7Ex*%xAP1e!f5itCBSCE*oK;GSs^_9^?2;ZQRwTShz6$2b=}Oxre(|xaR^TbD8DG z#T}Z;0w4t#{#d{uhviohvA8W|f2B@JG)b8+BwUWG-B918xh5~b|Cb){uF+u@AUO;r~ zNBdv1G1>QS7)4_W{qDw!Kww^Lum;`OB$x(HC6)Ul8pVk_Y&6`1RapAp$2P)x)`Pe0 zRrQISPe{S}@=s09oBtNWSw;xEX%OaOeLXMM>vr6mr`od~JS-qugbFC0fN4Q%BhezX zn5GGOETO)IWnWb8UqBbFixa>JxT%Kq+(0-AWR!e1&Os`E}%=LA$|?#~t%(5IlCy10N&5E@MjJx)TshM0EI z;sP3f9EQ$Z!B+|O%@Tt1J>blSGGZg=d1-M0U3grfvYTs#Qs)5wsNIY}HB;`eD+}m0 zCFQ0o3#eD}?2-^tRzu3mu(jMbuPmTvK%HH%q<|bFRbiJ(2;zs)63$yvKsm=3Qm$u7 z0nNb=-;x4q!;i?40($oNLULTXq=5c*d?96Dy`+Ff3Wre=0%{gcO|4r}K-nj-5?2e5N)F}Gg~AxGc!XovuvTVQq!W+va+JG#j>Qd-Hggi&Fc4hpL^~zGl2Q& z_51P%_j%uQ?m6e4bMAfabDw31+13krhm>G@7KXJt(v8ad+bAjSNHPR>G3M6*>K@rhf5)-1H2OHepW`Io%t)4i5^Zf(F`G=ddLyzG6Bn;ZkV2A(r z-~b^wXCU_xcW1kbra@9ds&WuX;}|Jn5Ozt}9bXO``<@`!asj$`&SE9bD8$T8<~SmZ)_F59a2Kt2apE;&loKJzXJ!5ziqJi zXS?w0cBXvz{}|Ze|1-|FsTpVT`KHF5(sG}a(701;y#0KU|A|mFSA_i9khJ~6cT7r1 z`%p{!Kuc>Bs^*H2c8I0@r)Z{|A#7+K%3U1FlP^%A+{FVc`vM(GMOC59m&PSh!uU^N zJY0SA1>%Y#p=vJEc!cuB3rxpeEqwE(gtX5f4Waz~0tsc8ED>8JY?|E^iwKU-!kjs; zJNdI%K2CMj(qOrikdNEvNjTL#0@m7l5mpSp`>BpuNJ=bQbOA2+S;EX z4J((mLe*T5X3naKLtxtp1BZEVn6t3NRdkM;3p329)pTt(5Wlxz_1kBNir)7e%hDk_ zdWxz}I$6>W`6m_g0=e#LzQ2CVZZ!3 zRQp9y$?Eo0Ort{fv{B*MB%iGCl{{T??=^71AeAn(_r9b(@__;tI8e!m5F z^t;t?nPPejN59$AgQR7)l+bt>t67N6l1fd~Vr5L`3b{l|v^@eM+D?&5O>EM(RLE6Q zqU}-L)+d#k7;1aM43-ngkfI_pGIU0>2wmR_*FmF(s|YD{9nee?^xSYAFGa;ouRwWe zkmk0+`TnQjHnPrCDM2^3!Z=76A=gB-TU`^i!g@7uxEm2)8D)%s(@(Vc#|Y#V$T{2x zZF@~hvp!U_AyOhtpu7$RLvHBGD7!3@sf3_ue3Zch3;&HtUKvK8(F9F14z0m z6II#S!Y~zR>{vn90_EnW7YSYkJZ)OKz}GL79DYpPy;({`HW{wK*j20VS|Mo`9p8wn zwynanQ%cC`Y|7#M-w&Ngw(Y{Bc_Rh#SU+hb+|N0`Pq-VUgyb$E$(UNwN6OSPX{1ao z-wCsB)I5zy3>J z<&+ng`IK!m%d6F#R~L;^d9|AJ>UyA=M5{TkHjL7FrFhM}dWiGt=TWv$Ua6{1qiuw| zQfL6s*s+2x2jaX^)Ej`2R|-BnTJkEpn=&d^lg27E1{^c2f@LRpLdGSA8y$yt+-8b)!hhoL5uO z2sU4Jk!ka4X;v#GboGkVwF1rHmY21zwZg0$wV-Ps8bMdvi=pekD2oUABu=c5UG7astgH+RzH;&7~LX>{7gDc5USBdiUb6>{3++QI(x7=;Sdr zLUt+I`9Pdq3KsxROBZzW7)h>UG7jR!Vz~2s)15KMDH4)qiFBT%Kqq19E+yn#V9McW zJO-T**hP3WZ=^sD!nR- zmyCt3{}S+=@&XCC4z#aFvw*+F0l#*v3iw+b@MnQ$61~L%-#=CdT=AL#-@yStb6i-! zRn;g|WoHX20~$M4&>|oXxZ-^dcv`xk&&El>tGg>pYovrbCxqOIVMF7^i;IOv^EUA! zM$4Jw;XDr1YT@1>B_vNYC3EE03Q4m>3Y1jZE=)V6gq$2x4hQ_g@e**iHg$(E>qe21 zIpDXU5o~^vZT>F-AMP#3ja?n(y0erI!-jVQNBjNpD%uULuu~G7t>dexWSugFzU0_u zWh1sz1-XDQ^DE*4z$sXOv?Ua37q zQk#+u!n9vX$SE@A@TTNW=*0EfKH<^4kpg*BvfTvE16%_h6mAkPL9#1S^3Vx3W$NK3 zye&v}g(P2)q73ON;+aM+QXKVg|=3m16*vzdHzIrLaKL`BS%-sln?C0(V{|QHkdZz++bAppR z?&)5CncBG5o=Z4K^;AC(79g5}dwu^*RQvW*a4UCoj`knZWY>NQ9^E19EO(Jh$-MND zQ`*wQIX2=Q&*c)E%~IldvuOzRf3bO()8qBH3!SA(gSIx`*34=btlp8Mtaia_Tdua6 zX=1gDt&W{=q#IT3ZpT*5zzw1sk94E?xd<7yYfHo}^QDCG#W0?!^-|j?C8(vKo}g=i zLUmKswBL~y*$;1dkmz7*-1&Mj7mp8gS6>t#Kc<%Os#QI>cx^qjdU% z(L6?J{psd5VBNwngAOyXfl+!o-O9wylOZRQjxcc`qds($(PfPK(w~f~7^MxM`P}e9 zhW+Rm6JKMLo_@094 zbUnj^3TDs^3_DMO;IvG-k>Nmw>1nip;bjcd`p{g4RSNc{n;1T*U_YA2aMu(Y#oTtJ z8wDk=u9gykEpJ7X^z@N#bkbBCCA@H?8>LT0nru7Ljphp9d?~?Sf#J&17E5i7l%URP zMM}sdQ^;dNu9XsOl`I4*HcM@tl%URLDh%E(wL7H*b&gh1X{y*QFcM zD(tM2+8t7Yxr^o;&&+x&0w6#6W8QLu#GX#39c zXgV^@hO?2U$UAGSGcbeRG#j3x0ya46&~kwdWA*42Uz4T zb_WCWYTFTC#?hfmY?NHPyB%5Gw5=_kXgu{&8&Ps2s%Eh|`iwCB;MWj_x`R~D z`hut{a0iE$Pp9{o>mIa@J#}7pa(u4NKd(g*B@La|o!$oN1kS{lSNOT4an9-d5Quzf zL%T2`Q@aw+JzHY_KGKb9#l7E23Ci_YWu_hNM)gvui3sQe*WG~7#XLIIN)DlqkrIZfryr(Ti8^h={}X99A26Bh^yj+ETya`dh44w+H#prLe)}z3@0KaRAWIO z4_=0Rphx&ogw)GzWOZ`HXr*P_cX3q1HRGJq=^+cUc^hy6@EXQHTyCRe-{uE!51JbbhpHGHo2fAP8B zPM;sehcNg~dcqf~eh{7+z@2nb^;uFsI8;xu-yH2mzAuykuOd_W{n?GKh5<~f5z2O+nax0GrPwi%W9m; z?lG|YW0*EGoyNh=_61^R24w?hXv}s`fZbCHY}EM^vA4fyu)1j??7pVp#CE$q?x1O! zem`6;x;eA5_o&Re8R0}`y~$GL;n3qmQGJXmIGbXlraZ158b$B)Bc;b_Rji)@#P6g3 z@6D#W@ML6c)F^4i-|u(wo7D6pqEK*UGG{-B<9Ful>F~p;^t& z4cUGdK14vVQ7K=$Sjxejc=mQp^VcoRr(z4dcw+lpyg;5jVo93rn2XV6<4w9D%Z)Hm55vj9+FSIc)4X z{3!CUv1WL)XP?2tPG-c!LZWk@TpUL~71$`zW4%%6hhZ%y$2)h&(W1hzm*kX9#f4=<0%hm)9%pLMhU7OfsF-LdguG!YYVyK$ zq`>hNE!c$6ZsH|K!Kr}k zJ5m+BT-fX@bz%yu3`*rQsN^5qP)t3hYfrKe+%pfVmz{5$ZX zjgtEHFz7)X4DDgiYcp(=Ft&$58Kqd(;f2uJ26eJ5M{~SIJfl=z0rOjgoHeVUYhC8zn64VbF+cZIp0N4}-3{)$NuOw4;X+u>*;5=JN1bc_`lM9_clMUw5-IS+9UAXAs%{el?oDy%w%o>mX#g7mJbpS4^INMM_;WLZaNGmO zK?e;6*Cht`qg*MrrwA^eb~dGhOgQYmh-*g1FlKf zt7`BoA)St}bGSZB>hT78c)d^R@ueQAk4ak4nO4tJ&U#ErXvu-+hcD<%3t<4W)e3oo zlwixnMbn@Kor#$FX_I-gFm06*%(&zZWB$-&-Y!h_Qi6GMq~yb3jyNq9sSiKs$m@tZ zZd08JkNh-5{?xfT^3xFcgqw8a8BV$hA$8ED2-Y(U(&#dPljebvPL~7R$smKS0Qd>O z<0m(w-S=jW{FOMKisPVzW`JuUgER%UF-TXS+kDKr846r8ACce7kuQaiXXcxcm$+RT ziu^tm`ODy>@W@O3zQ?0nFB2$aX2ghWARsf*F4c zHXV^o4q@sqC7AJoMi}$CCi5U+8ZIT6=fcQPPE7=JMC4tSKBuSXV%O}EUNhYJ3sp~a z*k`zAlT5QTaXAj3y=t|LePPiF5o?kCA|Oe`2vJtA3iip%Pojs$6IYg z$q8Tc?$~3@H2PK>CFi5&N_v88u0u@?YAWeTZuTsiks6QMVoy zNxFU~B^ZZw-c9uaCOtx$x&zBNxHIN3jAlN8+;8}+0 ztvb_dNtc{u&^@>5^V-Rq%onJy7M?08aYqwBk{cNle077Dh^EZ!YGtZLezTb)(hWmz zlc}Z~zQQ4A&u;4EIfD#j|35HRUtM9M$M=O;0lx<4E;QxW+}VO2{$7-EyY5a}n4UDH z$3yARbIa{EvYu5)84oUrqnB^DMfNIe>3dGtr+u`_+9s+CiTXp%VN-E`==c|z^5q~? zQp2Li&J+?2gv3+tK+fW{H4q*=ACOO53_rU=zTwj#2E~XN#0tM%6oXIq>~BKUr}2NY zPd-9p+Lf@lnSCQ+U)Dlx-$>Y32*~y^q-wD*;V#v@zm%|V9Cm48UstKr#N*g!CW2{9 z?Gh!`vb;56yNfd|6?V9)bq1t{WdQ%kELlD3`Xlj9l>v^|m&DOU0Df<|rzk*ah~3?H z9zP}c`h(9uxZpC)sB2;lKDz|j8}8J`42R_7W(AAYiJ^t1ERF1AA<=~p`q`b@@fV`Q ziHr1Ejp5Wq^6j3KZ`u)@V>&zK9wl#(lp$xw6rE*Iqx9jRlxT}Deg3=AI$N}{Rre|- zIxvMqxiGp0R&qAy!sw3yIa?T>ewP?sB}U`C#~D&3PFOBw6Qi@GI#)^2+Qd;yU5M)Bdn@x6ZiVK`7cLAHOuPKuiure8tsOBxhD}v`l^)7VZA-mKlFb`+r{dpJ zktOM<>h=wha>4?+?k=5u9LSGgW%wN4)JC1;T4G~Mk~xtri?w8i_Qf{yg9;pt<9`DN z=Z@mSvKBu8BeZ|}`irpWy}ZzF1BP(Cd^do(LJkK>f1Q9yK5yx4uD!37-V}yhm-(fb zs_-wxgtG+7efX`sz>pC+*x`Iz?Qq5|il!FXMqW5}(in=3>UKOvpLbRz#YQE(uQpt9 z$r&lAz+35{*eDvC&v|)i>)7TDX_Ue$0cJQIe*V_ z$r%(ImB06Ro@WS@*lgCA01i!pQs*4Q3gl82wEj>|Z9g>(kzxS{lCj zFPq9}9zJBkuWyG0%1o(_`_x1ugE^v2_>~dbXx@f@X=ARb(Lgi$Rzxb{XL4KW?|psS zo6Pj>|4)Cht>+3{==Qh+C8o%f2O{kVcaUm;uUeRFRW&DK=Z}4Bwv-1?#6H4PXmVAp zI}!JASE0$J&j&h8G%hK$VP578mYnN%dWtByd|-QX_DlIs4&?T2Oi}n)ywg*3PT1zM zpD5`bZ2dN88tn=8&A|5XzwlgG>U9SD@<%I#tNnC()iUsT>`8}2Itv1$^>((KXw*5aeTkc1vG7r;mtN(gaFfQlW+{Wv2JMOPa9VpPvX?e73g0QR zSUU2W=ec|0sC}SsCJj4)C`E;=&^{Yc>C-{bXUN*;bQWS=z~8t#9YM}ptk;;Q4@7{H zv%cl))^50xy<;)HCO`%#pWqA{J8+Oe_20JR#YGCP6DJQcsQ=wIioIfxLG+#4#>)d` z&LD%lcVpQRd*dL39N(!{`0b6Pnn4Dwx!XnwYX=$hxo(~>&0p2c2QRVViueK}fvUrs zUu+~$5HyxtCnWyO2}oYLL?pkvL=0x*1 zOKF`=86XZ@sy^sX=|J!cf>HOqTBozc2uATz=`;P%Bp54}qA#&eBN#uZR;W-;^hpgK zYG5aRxKx}Nf3FCv5rJlSO7BH`4o`h}bA;zX&^SEwqtca*s3JVC-z$>;){-4RDpO6# z#xh9e@N5=0Y?TtOWl;#vRPeEue9?j*3}P+UEE6s3mx=w=O|^W2)=JBEk*=K&Ei4LJ zPPz})w2%b&q_Y|I8Z-J>|8w+5Bl;QlVI}Hv6%mcb0KXQ}qA^@_i$=3051N(t>2%2j zKXzaS875QKCY2tR`O5vns_v8L0Q7Qa##tN;QAz90ul@tJ_dIdh%LO~qAzCw(t6=V1w z865c63hlrKAKDL6uO<;5k>p&=|Ce7h6)Kgi~+O z624ib9n@69j0Yis^)?8NAE$xd#s{TU!U5$VQ*Zfdv}(yixV4_=c*yU4ar>#?{s} z2q%VktysGRy~kWWe2w&@K`7>cz6y=h={VtM)yL(!)zi9FmQc)A-*c;$dOz9|^q75i zywt4kYq;+z539bfv0yw6dsz2fVWMb0(M#)EDJ{!+KAvuJKc$v}eD1&hVdf{rxE4>o~;JQR{4!T&)Z^%rzU=;a*3bsyfD1yHVAWd-$8n+K$@h z_RMXC@%7I-Jh(tKw-t8!jK|bBm*?^?q{>H^=kib4Md5|87`1xyRQMNaLy34$6Y0=}#id)02xK&xf&r#pj z3g44^<8jQ2&QiL)6(;w@CvY#{Q%rZXie4H=Z$Dw9*fRzj)Yzy7Y$9G?x?r$Dt)H|} z>_vkOO8G@S=J^BCamHYS&U?~E3FU(g@;});(71!`DpJ=F`l3d6y>VNl3;aaaN3C5N zM|VG|x^jIKOr+QY=UFNH7iG{5*jQu}tEA>eZQ>qnVtrE+Th)q*J!)ZMtaXr;5`I+z z=i)80UW2UUWm?2wjQx*PEF?pUq!XtIVGt^$wopX7jT|+bwK9{OFUK1u!3e z+^voL2ZpeXwZe0&wsG`Ru>W6d%)uH?Tb94QnS~44!qTUZV_>C)?BfTYvMDZk7*md)y&2fY~znG$w#yziiiC(G6;EKu86|G z+^Fl==oM^q)OwW;E23~hlIdYZ6yLDp+{l;CJb=z{+-sy}rS8Dk_02jEwgJFF*H&lm z(AG!ueIpER+F`-y_N_O4yn}ZK?pn{+b)WDu;kotr&i-#am#cX{@mU)sI}WzPhx~SP zgHg}Ij@au48{|8v<^ld-(%pj%n(?fS67C;t&`KOUJlLSE;En-vt+;fjlrZfJOdx3Z zE%?ze?l~KA!(Pwf7BL!rA`M7-g@z5fVK(^Da2^hz@ewqnXv|>R5A?S72hU?Wp3~>D z@3}{6Qmd8Dn3LMikcdew@p<$(8Y5OqstrlRxb5@2mUw_yRBAGuf_7m8m2c4KmMQOQ zn{Xj-v7Ut>*%6|vp0`oV(}NAF7bOi+BA@Zm$4+ky#`8k4dj=cSa8Qi`)F(9#Ht6Z+ zZIp0yutC2-d)R05L)$Odurl>iy|x3Xr+!oo=Qq~|^=LYS-x zJ%Bx}BkOaWKCZvBRb)Lsi-&RWkNyi6i1lqcE z^&a-;LoKH>@!OV(GdvJmsfY`jw4BAnIg0p16XJ9xRF3)_GZiye*Z5!(rB)>0t?*5 zy*;IKNNoaMeQ%uJ@GEc!1HH$%ocNJEeBPFSpskX~yD~b0Ww^TnjZ55$)Unhn2eYM| zS?(nZT6Ofh%G6Q&ne-!{4cq(WAk3Pcw$UDZEZJS`f#6D_CE->Tn+&d?oPsTuj&l?j zxcMv_>YNs*z7HJ6*F>tv8SEV}nKG8CFXN&N69%R-=M3KeoI_02PiQyc@_7AaVi;t! zcdJJ+!nnk+AqDK&;~OS?`1omLN1Jp&{i?Q#BUB;)D8p2idS|Jf;YwwD`wIHDmGW1B zKky#Ft}Pb5E`FdoK(qaR>^>q6pnjec?YJVl&5{uCr zCPMl%)E&fZq3mta71k0?hnn_os&3On78rwmr@Pec;Upc3_x+SeX|lWxQZGzBngm?I zJg=W0wAWFrq{!qCr5QU$gf_8Lx{{0MXq8qlbj14`>aqPWy}~;tPy*H_;YJd*U}u4w zKWZ(}>L^33{grgMX|F_j=mi29Hes=8(JFYOJm_`8CatDL##w%Mkl(>``${?e14L2h z$52Q05HZrEV<8^5Rvm9&K)sO>VGcmrsMJyq;uqn40_gP^m6MW^taZVk&kC#RCE#NHUUTbg9RzoqYwfXXd&Qbo3Hu`&_7cJD_ zHea;hQywPxGG}GBmtUqRP-))LM;46Fjvg7X=u$V-gxTR!O=M)44w9ydvG*8nF~8kW zNyK~nA*IEBmow<{=ax9tJf0@1E7Rp*wyv2iHL^g0#YOIlygc*dR%0$quY| zfe)}WsdSLQLx8h2I(Z|0Ra2uu8*S8KCRtQNUc<=D<|@Cd(Czbk3!SB$FWOi1o?gtMxh1hE zjc8#jgt&f_UZEB9!GeY2D>!tBF!FQ5-GuT3y$r_gsx3BHby_VEORR=r@OP7MIlIBe`Xqnk+6t{|9IMJY*-__;U zMM#qeCmQq~*w;-o=!O?<6uW++K`DpSO)Wf6o%F^;gMNJxzhOJkptP6Z#pa&jv#B`lj91qBrTz?iKID1mqXI6FX7$of&kIwko1Hpn5h)| z=|qF_52=3QA@8K0CmPhF&PEA;Of+bD9Xb(BIfkhqUm_rnRiLGC=5psgTc>uG8 zGVe9r7pAF^62wS(?=?JkYM!M;8@?T>wN!o9Oxt`5)Wy7RV|5B$05qEfEqGlkR8*z$ z77J8<_Ute4(Y z+v;0cZ-1Z}BVEs^#V^H$DHcGlO$Dq=8al;bRyzj7@L}T%pJWQhMr25LcGJ`e>-JC(= z>tzNF)XNN-e&lv}fMePOCYhoYphaX|W%O)3T2$y6Lo> z55#Gkz=G9B-O&>`ZCIJl^px-0NRL$#ZRY+B+o^n{(43uWD{`~C$JIO#!^(WvUeV$j znv4C2#ojMs6{>?+{+-5;jwe_x7`42F@0yw0$a43Zk{bE;8d)po7e0#q&_=O=9E0dj z<+_=0|4lgto%5lM5^m2i=(-PaI&PL+vgf6BI-2V~%DPv5s8i;s+Tvk#4pDcNR<}*7 zJN2U$)s4mzk9{*uJ=M+i{logs|48fmrxnh$l$`%(JF?Cqb=%Gf@oYl1m~cJrW}u^U zL2BO7(E;hIR$13v_53JIHxHYt=SQ*X=E8DZLD|UBQmVd>4B8x`RV?kzk8oQA2%8#~ zk8%2S23)AXv@`5u-A~0XLvfYT9D5JepVGqz;pE4144U(Ci@puGg7~OSPNCD|arsS) zvVUl1*;=-2Gi>n_t&MthSseWaq%2#jEc--Trr5=@waT*OMuY5G~Wpnp@0@vX;z@FthWXZdm}}7dFSN4vIVC9O)Les> z3e$QiG2MRv#p$^Qt%LM|xdvJGKzg(JCb#MKs#ckOpqU3gVGnfQqmB4P?VQC9&o!t< zdb|sYUAYF0++(AJvRs4i-(#bgPHPh=MI`o=5>GU)#D+i%nKGi%XIkL+HPVtfL|?Hb zAM8;lScT#m)X77kAwXrC^VSA!v!arFs)PW4o{`~esJz$SLvi+h_`$vA#iy%-}UqI3|>!b)cNUO6c*13#~1 zQvOo;{d?p|xpA+Yl+chslt&I5ZhANS4`rVvbmdpw8q@E9 zua%b-x)EqL33?mIsZr-|Fg7$Q|3>>p+3zl-5loSNy<|W3ZRB^mpa` zeNrMjPK6fiC_VdwjXGgRi4^mGVahzD8iDyV&HPUj=3HT_krK>jYUa^DMoL~QOpQ{4 zxrb)HE5sZ&kCeJf%3S^&cUgI-}#}#4q6=C(R3YQ052s>GwX|#nKpSd63?n@U`3RJGqXFwGib^i&Yn_l9? zD*MSs$@#70@x6*KSWq>{GX*^J6Y>f>y0xuUXotZe%O)7~(N8vt#g1-c>v-PTG&;lU8MlT<*QDQ)&!$3ie&i&a&iRBJJ z_;xzOG!3@`R+!Xd3{7fgqm2^T&(z3%E^V|??5tdaQrajl%z+mc<{GrR(MC!4;0*JN zjbf1LTaT)KHAsnx{$lKEVOw&*FE;9gZAl^}uv!G-OSder@)r^Kp%ysiPbIKK$_Rnh zUz-S|Xk}qQTR7%d5%|cjV&TCfN?<}u7Jk`OV3i2;Yk?`hiNI@qlc|>4s=;k`^RwSV zR)vigS9xKnyGZgt$G?hF_)W#Iu`<66rruKysyt9=0?;HU37pTcK*N^+XKHi^$gfe( z?bi5yZjjCJ9El?^$*#yY;~AtNY+&oqjW9Ox&|H=T{91hu6kiHbv*(W z=qflOx*V}hbR9S%x_TXDU17134NEn_;Z&*PL~)VvnnP5>@p2tir%HvE1I^a74}hE+ z#r>&Hm5Ou7pZZj(FjpO7x z1+;6G$}<^mOk~Ha6n(H2Q77DzQ1>Hxw@OthoM2US+=B?)oN|GVyFB$mH}iLSt5mhU z9~G5KyoktZAIe|+vEHioO77}Ny|<$gHpNm-QuHQzw}KA6bwW4w{uw2D3tEd_M?w?5 zkn2lOa{tyta)0YowcpmgO{yCHjt+{&6n#k>5#2LdMAvo*iRLrJvglMw!Wm*$wDK)Z zJB=dfd+5Sxr$gIRb=vW?6+!ulN{~4Rztc9g$*Cq$S@VMyVvP|YSH`5Ob61yGHMTRQ zj5yV-iU|p9K2h-FUwUpxX{Y4qIeiY%ebJcHzl=$xM8Bs97*B|GiA|+M4-ly5#iruA z-a!_{t*-EVGU41NC6;Ap;&arv!n-^+mG}y8b1dA|>SdstBGNMbruR)YJ{NTieMHYY=)FKEQ-ClFG*qK}V|RcT(-m zd^{sw@^N0gq)~k*l}0!n;g3^2AxX6x3a>+Mf>km+Unr);kyeq|wY^BJOA1Nk41ct} zWcc^(5wh@Hy2x4REpVF=s_zsTsY;?ZI8xnCN+q0J6q<38j?EjJXr&@KN`;++?bF`$&IKfDDxKe zrvuSA53ET*-`TqEBnU21=Yot!TX zXKRz{rNT7HpDdO*x;C*SzcU*UQnbbr@gs&v^hNYWx-YEEy|hc4`z(@7G-Ap-DNIw6jUXt9)?Y-^V(wC z%;=IziIpViN+6#`E4%2ip?JyaqMNzZCtXsHufES%Z&81xUaL*%+)Vx5EGXe*rCy;? zKt2+5-N{IypPKE`LCl1ec@=NhzA zT+lUH*#ht1i)@abgy(45PcrC=Q&Oo@GT`xhm+SSoN=w~2B~H(bfZ4ISQZ(p}qVD!?qHaewR@dT^0VB}N zhlJCVEn#`FoAaWzq4GkZ^MHIL$ZzPpP*kF5B(RoMZ^}$U>ONwm5@&A%4v@W_&(!Vz zU|lWPIWbUT%E>>YnT>yQyMbpa8x@)f{GLs6;oVKJ-jbS2Ijr0Zj_NBqT^ za8|R`6@EiRtFB2=ZM2&zi5A9SdRovul@i@Rk1ma-$Ghu}EsXKvar@-D)8nD&K33GO z2h#HljNdal$0^aAZL$MN;+?nLC>2!4&mvld6Lc&o*8GgXs~)*%d|D$h_rbQ z(Hge-jkA>76zX`k>cJZBL0_N(aKiqovvq$IFLkaLN38Cqgj<8Oj{ElJ*)7^M#8YG% zlHEhK(N3I0^gJ6>(Nh_u(BnX}HEqf{+5|-<>+CdohgJT3PAYX?D!u&fOeGvoLB7D` zDqAXnc{8K)QjcffIB(E2t)Zuq5@zCuY~qeoWuih+cC|!PXq;V}s4#2&nYG?zPo>WD zrQdVUQo>>4E+!}UQYL=N=)GR4M4jnu#noC&0rz)IFX-K37smTdvs3JS5oX`wSPY}l>B>HZs(|o?RHmh7X!{gq`_{32uVkcB=PA|4s@oJ?ik zy^PxTY0*A}U)z=KP$I(Ydzx){ppUXop^y4#ixh5Q{^Chii%UprCiWE;dql)4G_0={ zt1wYC)?2!DjVUDwE3N5$Qz;26ty|1yNx1J#6g_s5VRBQ3)}2&5$)Ly3$~(!RcX2R# zl0hr_X|1R8lj;5$};L9fS*{mxT2Iij;AGrwJ*DtgPY&Napcc+{|Q*g~d zZ6DT=7R;lQ-y5JCxMCG5{O;nCAl=9n69=Z^+X=2hcfjrS&^)f(7Ey_}j^^>BRo|h$)a5A- zme8HdnQ~q#Sp#^>X&Rg`1JLJpO?Ow43l-m@qR3s0S6V9I)51Y&Nz>aG^i$7s7e&je z2CyOoaamn~(}-I0;F_yvBvjPo>NDcW>ZaKs+6JeRwTNcp=N!fk#szjAsOopQ7O}lP zuy6%>wTOH5!r)X&PDzPJ+q;!V^)EhQpTfnEM(lMG5eKb4YJO)@BW zek!T!hE9DIf3B3^&jvqI=B4vfB~4PAq)F@rp)`qkVv<2A{gs@#QbNv3$k{&0pqvX* zDe1FG20eK}DkXe7$si*O2B6`5Y4DwtXt+u@+?SO~N%fNq${HdPHV+XAdxmHU`=#ZW z0m=kOcu-4NGgKtB8YU917$y>K7^WrYmbGCLR%;2PhfBkUhD*cGhwFwrq=7?50#xJo zVYt_;M@U1uP#Oj_56h4z>(OZB3f_3gD5kBcp%Yw z&Vjc_>bXF%W5X(qEQ$z_4#00bV@H~v<6LSzDpfsx@*I=Kjf%MTf?+xCVvlK5)u2e@ z{6yQ>oRdeVQU^TKXxYYc7vRUw1R-@QYH3q8ld}rlx9B zV^ZQ|gAQM$J-U}0v~;RK!zTJ|d~ zR*vccHu?99#pJ)3W*?KPenj;)QT3RVNR>aaE!KR_9_cL@;VJYMxlH@2vb3E^gs&P` z5+!2Vo-sySl8Bj4+?uFT#!a0uWxX*5^EY)tEcf$q`E*JK`$=O{DHe|aRj0%g1a~GP zegx=_v8n12pnW*_JjbBIajEJNpjU8!M}Q8GYjI?Z^cDhu$%ZMYCM0m+WP<|PsnlsG=$*#me{+XU@|1*-KKw4n+2yHYj=6T-B#yU1-qFTOXf)MzYXY|=>^X8r;g%e^{;n04i{W3~0skPU z#k&YF)>%|!npZQbnVAJJGci}0$za-KwMb|1V4k*_A$B|pF_d1P!n-X+IPNhum8^vn zKsT064O?;eN8t4yzIBHshT6w9p&xD4EvN?Rk6-tveyZ#zG)#kA@E%W!q1-YXJU>q~ z=z>d9)q6apmx714;)TZp9=y}E@KV{j=y$oeu3A{I70<4#x&nhYEQ8>*KzV`btonjO$ zRwXQ^-$q>7g5L_ue5SwZ$3*(Al4z*~j%&D5`AVT%XQWaGKUtQlep$=tUOswv20LpR zgI@vM^bmuj(umVA;#F2&I;5y5FV9q3GcHp39HM7f`NgFwY6{hrDN~-|FjRZgB1NH3 zJvxet7pAENNuoC_T$`GNYZKcTO7krW^R3o8apETU8S(OYC0?(25evkNx~q6?0T1Fe zz$ft?%Iq+bLD4r=(#OE{RrsIaO$^kp2#Jprq7fJpWr;7q-z+H$po3!_` zvy~A2rTRHUudo+q_>~tGY8y~qRA@#Zm6Cnkd4<1~{rYVn6_*WL*%NU=tUsqrHmFfz zbWBQ^_$qqjnQYKiU~4ie%edD^V}EA_rNWyH)oU`d`Mj1dw)WBdeKw&z4$!IoEkiKH@F+gDk?PYXyHpU^RSJv4o zb#}vvNUzi8AY5B6@-Rm!^x)c|>j{@{MT zbyX@Q*Pe}j(qT3+>1vo5x*#`o;l(|zBP*|&uD@AV|ErZQgI&%?_gLX4|co8PYb9h?#oE2TP zIF*v?QB&!rFPQ1;#q3~y#(TI#@lq))O{Ij|$p*Dv2A=hJD_wXV2M^|zfy?By^&#`% zw3U*o<2WD zPk44~9{&Tvb8U_0sTH2DG|y=(h3B1>F#EH~25l`=X782~W`7U<1CtHvy$Uf8&5?XA z&Y9^q2U9|cY8`ei{*AMxa+MlX3jMH(2g^aut&9heq(1tcQ}#+mbckE6d=L*%*f|l8 zFmusr4EqBq@x>(;!xwBO(BJNf_NMYRy zP5m?dW|!(`DB)pUThJQwMcXy1YYKh0hP!raYpkE|c^Dv_)RX+b168KcUEC~dts0IB z?P63!_cG1@2v4Rf7`y}ErO$7{xWc zRUY(19$*w_tv6SkJT~ivVE`B~HkYiI@lv-Q;{{XMm{R5OA}Nt`gTRm1TlTJ(scgWr zP>QK6;asIO8$6iG&VEj&vU{Hc4-Cr}o(sVP!`@{Qri&UOjRFZKEqz{0irS!?Hwe!V z@Su4%lh8cHp|lSJ3C&O5D9z_?M01`1g(n9*m;m2n5)7*jCqeSTjWX|T*#w7R-YfAc zhg3=lhfIbj48phyu53R8=@)=NpMt^V7 zBS`UvPanlD{!EgVTN8|w?;$$ISw8ATE#nxcFj?o&Uwm}ki!#)3s-N2iQwb$kr^Vw% z+rL{^uZyNuFTs(BNu4-pE;@~vcwds3>;_Mh-UmubO@nG?MH)7T=#e&<(K^Bm8l$9j|Jm6%{L>XV^m9R!nxZk%4oo^Z*N)O>IJx1$xwEk7X0LP;&xq>j;kd zW3oZ@;=Bea5u$bIX-u9$JGZ7%QbL|V|7=4#U^q4kUwpah8~C39KZaxQbs3HiY=`%- zsgRJaQtV0aU{j&fo3g3!*;}%ykR>da;i?1<&VCzN#m=u1+9osy?W%Xg`D@;VNf;12 zE0ihUNePoSgC7Ip7qIbws25Q$f`kEaZ@mnN+3!JLWEKZX{AT>J<|qYW3H%Djart{H zjtb5BK*jMDj^nYNI*y8pIPTy;O#6`I_%?$(KMafG2mc<&54eSj+YZUC-BO~{ThTMb zZTE)~w;w)&lMuK4!WUDi`U3vf!H>9=ej;(3vrESN|<648uhh~kmAKjdN;dx#@As%*%KBN47TsXFb3Nm zZlXpP@b^vd{xFQu7tRkX{IQs85;B$7_rN7^+p4d{Z8N^nZp#*)Z@>e$t@=j0?OX6b zPPOoS4<5*IeJgT$e+M26n|k5lXVx)Pu3{3JC-hNf?AOgd{!W_LeBV4WPEU~;j>hYn zg=I-Jro4~8S7A|T`48%%Poaz-bs!YRP`QU6GG6y150#}1V)jc^;N=xuMakKHc=7rG z!_@ug9C}bEJvbc?w!s0;{nCTynFslo&{y@6A9#l&59}95j{T{{UgB8|-NBR_nssyy zcl5@eR7Vwh@PO*5LTCJ}JE|}``Y>C*{%7v!S_VJ$iXaB@~( zcEpnmM>T3k)JrFOYe!t$D2~|4JnV>m$`P61fg{@eB97SeOLIryfg0(2-P~qQc%Gdw z=vUH ze(aG~7~XkEdxZL{-VQ-;ks7Zb5|5nr2YBF-Y~dLR9(W}85An!|!_7TX>Ghkg$iKOn zOWx!ztU9b*qR^2e$|VY|KB`@!FkJE$o89V9cF7I~V*mp5b~Famqko3EWM>nX>}39s zOFmUNxw=2QL_NX($1!vlqa|yAatWSZXP5N)OI&i}U*LgDs)c8ocFCr{#3k$gZtfEN zK$y48^ad?x=9N9%in15zZCdRD}~*EsT>LgW~Zb%NC}7+u2T(>>JDheut|@cCk}( z&H2pq9@jkFh5d(^QCUt{{WSdpzF`ksi~-(Vn48ux6k1eQy|S@C#%mp%jFNyfwpD$ z#nEYfkuXCzg?{0L8HySj8c$YVI{n%fJ17hLqM3lF8KepNp)b0boDY6C{lyZDes)T3 zK+SA7{mmm}8mjV#abEtzOq=?lp?crFewd2zpYS4L(zU;iiAu8Jif+c?TF@~O>8YVg zIE>ar9EVT)OB~J^06i_lVQlDboQ^=ks%DXRI0lo%qyZ`t3cWZ;MM9yw&sUR#LMLCK zBcU)^J>~Mzl(qbzc-aMZvd(bO#u&^T4*>;f6NAqICQhVRSSMwvnc`JOmkhO&)$4K5 zTMSoSh=`~_*2f@_?vXNk;5_k3Oytt*HC7#(O+IOYKMTV+c?i98$-T-US4(O2`{^k* z;Es`YqRw?vzgtSHn_gg1X`?{Cbh&E2UrMW+K45Y#$jP&rJnlt3#&Fy?L@fJ3rE0B|)*^Z;7Ku7{9L6*n1nB8l@5*S}ga#@U z38Pj29zp-$r^a#OgA2#QPbcRYlrKDwgC`@;pgYIgDfaw4gKCAc5|n~GgVv*w+WMf2 zl;n+|!E+yv7tgt~TkzaWf6(++!^5g8VP4z9UV9*04Q7R2oS=QCFj?oM(VNUTaUw=w zx}agXVJ=jsWAj-c1(O{Y#p6=^9d_tzlhAcO5lSasLMLz{>^NCYgpcOQiLgdk%oE}H zQ^bR>PC-9oasF-)rk5cH=kKFn!q*!cK|P{m#PiGl)v#7DZFu6?W?2cLm5&iq_Pj zfGo^P9n>fIHNw~4ET#O=8y+pMpxJmBwRgUqtZq+*voy!$qdAbc5>nfr@pv(N8Q-%1)orKby0LhHnpfG&TVV#8b)~*kx}Uk00nefp z47LDx@S8650CPvruv2pOIG*xWu?^#ApySC6s4FO-t=#UW8FsRIoKg94#w_lvoTt$9NUSj<~ak0e5Mc3^<1e1N6;2gK}j=Opy}fg84tr zGpLx^I;~Bh^+Mh(CD^(`?73?b=vJ_C;`l`4aFCEV30_H@yK#WTarh*0=J;R(CZwxt zRX`6*3E>w*0w#d_eKG+In<*1O{dhG;U;0t3L=aik8v*+Bg-E7<9?2SbqX%}5&X%}288uVNpWHSjfo;h3a>$1xcs1AcO zHUA*uq-`ag3Dj&q+0rY808t3y=q9xfhKG5L_1o14Cpj{tu1MFgIXhG`W=ytB8p}0U zwSpOS4%CZ1W^-G=1}M(Wn<3B14woInfaOa%7P|A2!VEvw6v7h}Fq9a6*B$ocy9Mwu zuxxk@<^+YG_uEj;t5MHI>WXj7Z{sa)EJ0x|K#HHE27DCN@4Nv z?OF~_3_E;u`=Zn0_Zr*P*uQq4C5^M?f+^JXyvA{eecxNJi`xyqnRP^9zAZPZitV(= zL2iUbsK>8uk5HIlOkuw2>(30lVSdHVS(R`C((;yB6$;CE8UAf6mmNfkcw5FT4EF<9 zUU8vc9%+m9Z5{!B$4rj%kBtiRmMb*I!$Y=H^$w@M_$S*jCgmtUXwxz^5R{BJoftCH z*(uZy*x(2fYai!I&E`;q?8Xf7ib^l1dVb|zOEvK>N=3!LcZo|yC3GPgCS;vwCT*3) zt+Mz2wC3sOS4}U@L8lu+IlGR5Qa{4K(iCqvz|e)iQ~Pb7mE$#=d!!U(?R_T*EuLNE zv0R2tqNCXmLY>L5E`hF#F%I|@Shv(9?ep?1x>?%-_~Ik}XwuXc-Z<1I<5>vZua|ew z#w)jQIBA|&377dSpfA#nIjmgs+d_IS<%-#b!jMs=8*z-Q%4Aw=_DIXe61`m~O?Ucl zphS)*dFKhQ;CNl`;kCT&E{^Cdsraj!dokG9TU3_{11wae&5zlOpRUGd%}Kq8Q`s*I|*`3=g+IWHTww2(yKJ+X3ZA;#CW zue%Yti#yn&*|JTNZ*70bddr^$BoUv}{Ato)XxQ9^L8Qt;8=Q$Sbj+&dmx)EN)Hd=c z9+lx#QTz5fe;y>l`H{O?&ECGc-QtQe@_-fu%fkB2h##0G_o4&529wUu7@Z4lBuHqS z%Hp2dW(B|OOvBf^b*xsuw%%u2Ue|dj%jKMm23t#WH*qL?N(nkOC5Gv9(65u8U(eQ9 z37^wgcSB^_tq0#?v)x_ORGZI`vf-YeDUW|j8es#_T%wXCu?< zu(r~%T^P=610y7KHZiBTzcqShWc=RI_1fnQ@r?!)JYAr79cI3m?T$tOIP1hR$5y5_fzEE;za`VOd#sQO9^j8v2bb#$fh8RbPT*J?PZrm3wE?{VB`xt~ zriLCpgIC=L(F^5|`%y(*Ax>3N1Mf8gPBg2!#obfwP=d)hS6(gerP_-wJj2lhC7|Q3 zKekvcbd%{iEae_=6P<%3movLD`_Q-50|A<_uy=p9*wL*J7=oFZBv_QpK?G(;Q*A5UY z`?2gZM(%6Urzag9*|DA~r=FlaQ0d9%*xRTrl}TlbK1)6n+h&So@3UC3J7HY8FUVIQ ze||>CxsKMsA~IIK-d*?iL#EyzneIA2yE5gYJ$or3x+8DD;u=;>#q9&XZ9t7*#~|c7 z4m1qGv$K+5TR=Anl^r>*&vl}fuljoXy}ERTES0IdfbF!zb7&PO^V}f-1+s^s3Owt& zck_dcZLFfDUPR6ld0rbS z$dt+F9}`TG30QeKP|z&R=OQB_SEXDKS@;-HIEvoh>N<-q_+}Yle{4!K!sb|H0<+)pljA{lMyG6*J#%>KX4ln(}bqj=ZB@5^H641RSH`GJc(8kq#r=gvbViKFuR@vH7_h)$n7 zUp3Hr1r@~cC(FiOY&fhfoU2c$66gE(-zBJIaUVa3X7eV0kt2S2XT%*C!$W%UmN1fc zYF{-Z5Mdr+&WPc5KGj8o6S2!lI=D}9VBj$%>c}k!DXKKbPs_Jc`OK;|ef}+xl=cjY zArQ}rP&`*}z%=N6D5Stb7^Y^qynd()m78Dnj;}kI`jsN`^NRaRD2MKm&gd1!yAXjQ zwnuKY<6TxNjdZ;S`bU3ZxiBxZAEk z`8x-nEl0*#R*egS2#;aKN}iXm-^!N}+Q`+{?FW88gvCam1p)We6+F^+qo>H%(9FQ- z*b&@~6!_o(5X=V<3&!jSfNpB9ypZ*+vwA$xya#r>JjMLfNwA$L*lfPj0A-5?tG;sR zk(0d(%)gVIV!QpNpjx%gt3QLbHqZmyr{B0~3f!f(xs?(euMv686rB8X`nR;kyo{n9 z?dDJN>y1RE7d3W79K)IJiO=P|et5iB`l&9rt$f=La{P3MjGbtv>QrP->zV(GI+sfV zL)oxKM)SYD61qh;O`iFs%%BljYNKwRCiN0HkU5G8|KhC)ih%Ro+-41<)mAk(h3`;8 z0fj=!=~-+=Q3ixxW@vt#9_ig4vxv-7 zhIIte!;$>L$10Q35X2v@m3Wk~agm&^okJM@dKyUxW$&&>swq&}b*y22c}gURcfg)~ zkJnm63m^_C*B^aioph)=`=O*jLaMqm{>XH zH=5QAk5iGsTu9B#8~1==;EW`xa{)ARe?NK8l+rPP3k1Sb?j5GHjb*R61Nko!frAY$ z?+Hfj%-WxP0p89(nd=_0k)XUoD))X!O; znGy&vera2bVRNkv_INLY51!=C-7c*^8BJ13`jqK4E$^Ucra##nyvmc+I+LVv{N*U) zW43$NrH0o##dJSi^@ug?V>U<4pREFRfNeIGRFTERZQ|)}R-m7}R}tmUVM~Q@qOD-?cQUMZQcKFnNRjyT4Jn9?xwlf8}w^zN{ixL7j_39a*qNz8PLiM=srFG|kP1F5n&O>S^R>HIa03B|K~-Au>>r zVN67I;7X++ZK47t}807W~>r8uEvI9&%N|fKfVK5@Rgsa}VnWbT>Uoj3$77N=U&Z1!gNHeD#+zTQRiBz^l2*JU6Z~`T61b~atC}x;$vXM?XZ(H3lY=nB^~0a+tQ4w4 zjm<>dz(R;r~KRb&ulfygcoaC1{o(SfvgzBt@Lz%Yr^{~Tts`ZI+M6H%-fMn-*4U4$* z)5})YFv_YcZ|WH5Trc(9As7mqJltNreH&hd!iGwq&uUZujwE5ag-D-O`--ZD`jOS( zU#@w-GTMv5ZfAbqLtuO1`BCbe>*x+3cTn{=bqc3Y6HbE z_+Bu85cf9(=XWrzbUAYiR52cyN0)nJZb(rtWOG5BO8wOsO#cJXU3k$!W;pn&uPGCD<;TgPbMq3(A7~X0 zVn&{~rlxsQ%)_k<5MYL2_icdV5Z%cH{GwyCgxIjg?F2AYd$*@ zSwM*rTQK5`tJV3BX1AmGswY;H2wj5de7RI}Dcz~}Sw!4hmPzur$5b0X`A!L3c8<*b z=@{)qJzbfGWMpOv=FVvEULcJhL=#lOrzU0a4L``etj<6)GgG!UWvUS@LrP`37So+@ z1Ag^lSvh$NZ$yk^sj-#I0-)Ap{s_^0akUXWm&vuwgFV_ALyzv&5W%iY#|E+ig+Iwo$?pKnY z0oE2*FP$WxH?T0@Qxi|%zLlrQ|3LNFs_-TK1LC#RVqO^5BEEZzth+J@W|qz}0U*?nC{dO{5xeX0%#KjnjVKi@Gv184Z%3?A_^P zz|+f%i(JBUPz^4!0XZiqILSBolB zqBjPe%(c_$`%kEzIQQ2Ngm%>tZ z#xyj6_5lV?N0Ed?aj&BzLEgB2qcB+3DeB2~XAS1Eg96E9&Yv^GYkW zeZ93-nXU3KKQJ#bFO;k64UgyFS$zrSb1g1(>jB2HY_CGr+^Bylvx z4%}S2&dpErCf1s*Ao?%bq}tJ~$^W8FBKQ5vO-`jm9wkVb)o5Va4E2vkgqqy%yEU1y zk;8tTm1)Q?bF@%IQ);nQnuCP`-5xoyC@I!O-A)!Cu|`GG(Xl%TDy7ngR3=sGdqYts zK6sRv*e$U$*!9YYdLQ7G-Dos;pf%J$D{3R4H->N}spUv03*zE|*RTQT+OC`*enFYN z#!PyTKghh+{E}CKMOjN-IUcI5qbA zJ(=Wmb)?YF{C(IYuoPA=75Ag_n4eiNhlqiE(RN}6sp+9JO4MaoDNT1?!5hx!A~Ir> zJQ2C}jRd>QPjMo~g7oJ7)Bq3Ve4s~f5=VEisuv1oFAtS5*3qTVRqnQdxcH~Uz^j&0 zL||p7)(%^_0_R_eY9g;|Q8kH_PP_mT8E;q~0^WS(+Dyq-ISY1%p`*U2#t;W!e^*-5 zj8Bv>)BJ@Ywy^kGQ;ifb!-30etad7Wf@jGP5wm2K9ABy&uHbt^!bek0#PELAYQl%y zsA)Xg&GM3DLK;7#eVi+eKPYvrYCPM0;%m29;F9aHjDq_KZ?TnJxo;s~r+=2&$6>{} zCj~G6ED55#*`f!`mTo(KrTTk^6wN~x%+#7AWeU_^?^NZ0Z*#ESj^S&?=2c|bKk#o+ zvL_zd2KuEk{VIlQAY18G3*%4r1dex2KP0GHFtdM109(k{8IhlusZ7}epSO`b zBD-I)APIC)k4ngVriiBzW{)m>Yr&GJ0{`rZZt;uETE&?&qEdM{pY^AyI~5Cj<0)bS zI`rf7zMKj9T*=MTAWEHX&g*TIh`*Ta2UzH@GV;`flHNwEGY7K#XhXNqV3?o{zMrtm zwjwxG(tYilt0vw;y0031KVAR1$o=Q_!P|Wy>KYwOfqgHGm{8ZB3?w$LZ+mIqP1|tv zrZpSOGOoaI-akx?`aBlXUKiY9N*u~z+CLi`1>tVf z>waCAo)cZb>d$W9sge-HJs->`Sj3+7;&=`uLa48ELT_)2@ur}2 zTp}l03)4kZqICs7)|IENdXDXjTjk@u$IAFGlPS6D2JOQaEZ6qu5>cb)wRIH(IY z3!SDe1tPZ(aA|fcmx7avOsTw5HpmfAQigdd{+{sWNY0QXzP<+N?-d;@u9N7Ls8rWfJl=dbzUvO%ltS|W|`N0)MAa+o) z#2T+9i1BG){g?cq)B{P@pZ7Wig7;Ie`vQ^v>K2Vi-pyVk z4orr~cJg}Yh8?(uaev_5=L&2Xx}W0i(?$C$=g(_G z#C?VT@|KC)*hiiYzW3R;vRb^grU4tee@l;(osF6lpvxfSX2t;_ufUVTQ(Qj zDG~ElbFy2U#p66owj;#J`U^fws-XeDVz>HJkFuP2kWCQ9iIXmi&6UX@knxpRoIxN^ zhx=LGkx_J@=}BMFgvu+-DRsT0F2t!~-LDRE&er{OfZI2Wgq`gc)tC+!JKW0dC(h&b zo!Uo3elMw9#6-f&9heEiariw_B@dzvZ8YARkiuqTrqB4A{9+z^+7SlvKvW&oB|1}7H#+Be-%2# zw8n}1ZjO{rc|DAiA0|NFB!Qs+W)ebtG4L-snDWwS za=7n41~P%xH;*GLaVZ$QJI}7zaLp>U6BlBXlc&d$rPbB8CEg`w0PWPQ|7(+d#`D zCz8+*hN<x~0Z>C5;$p@BeF=jOvhL22uj_(vH}|r=XQ~N^kp5kq8~$Nr&wy}?Otd1v{WOoY z=Zx@hUP9a-0gwqrEo3FEezotFN4t@EqiyXoG41+8{} zyZsy?mGubLc>``6`kv1sp_*Ha-@eds@J3%QIp@>4KAhY)yb{OwhaXHK0_$y98NMho zUKt8cVkB4cttOmUDy&menJelR8;)Q3VHsfQ5qN7!-M{G^MLpzw^D1w_WFS)vmIix@ zz;eL#$5+gb-Gc=ZhZ75j^WuLvru`PP(=>(O8h*i)ZpOL1 zrXpYy<0~yU@`jxHnLDm)WP@6Lb=ccy^m|e%>UGQ}tF(+ZVczRyIxPl|IA#_Zx(0Fe zq#SN_t(Zc)(~TL=AJ8yyc?&bouw7UrK7|2JmZF7Ovz!twOX&q_`66Y7D7cPhY&sKd z30J+AMRl@cW^AH*X6(GCf%VoVn>U9xA!U2|GZ9aL)F(;PsXXBn9!cz;_bKEO#4wMf zKYs+eZMV((0A6wP3#KGq34(et9YIvPMzX}&RQl$`pjR8Qj17EDFXN!~gSW1~jsmk3W>#R;8w#0l0bsEhf zIf^?_ImMLGtYZ+rb|8^t7w7vCsZR{{;6|_!7=NAaBD#-8jIojHd$L@n7tK7mr;jA0 zI}a5D->)PPt|$N8>=ZCQph{e%CrxRYZpQ7|?i5q7JrpURPi{)0&loB7oBDAnzgLl` zp#N*n6Oj{xQxN~QNgwxI+}bCVs!X2=WTon#Bi%f9wE09wJkEBEk;-rE7(_~W(9Ykb zOqmIrRVl=B4kqG$$J;d;;b-LTpmjjhOY^y4IOIKMDC!fuiE~g_c}q?$ZbiOH-CR`N zJHHL+qr8rRK)dSua7ht%2m);0=yO_q!Zb!}X@M7ABjwaw?mM9^%rAqnHjaer3^hnr z@vYL9ht?W3NvN7$b+l33Bsu&kJhFy8v?3*W4 zD1-h3e7^o4#+UX=Vac|ps#Obaz) z(~s(z95iC)4+Pp+F5$T%VwT?VrKp!-xgejO8y0OeLYy4{#4M+QwX_GJ(l&lV*H6Hx zO7_SEg%!YTE31m;KYW)ZThgJdm4SnA76@)k-P?L7Yq@pt$KweJCsrEpn(|SNw2&xS z-i$ZZpdN!?=h?CTWFw$gtsJhbBROrIvb57dPq%#?Y0vtTHG(9R@TW^;7X{ue&}Yi$ zqGD?LFsAl-dfFBx%cRIi+so@9=FfM5g&4!icwR~n)A$(%ee6oUNj~v|{Aq#)Iej@( z@M}^ns4mRGc+`xX6!(Z()>`qg9Tcz&W2$&AJleQmqVL=nX6yHLN*4GhPVqPUF!rYO zr;08V%U#Xw?lLv+1DI=XMa7v|Qs}O+W*fCv9suY&$~TlpTcsA2Q{)bqNk}xqw?PN= zr{&k@b9EWQw)~j&0)@nejfRPJiEOIDaW2Dc@hJ##{5{GscSOY)o)PaD)j+ zN3|M}=RAM}Qf=%+5jt9(PHe;^nuo(0ei651#=rcj_(D$#pTLY_S+yjhI+K~DTehLq z@sSzMxak4MGz=T&ff(=CH~oXnG(%(Deh+1c`obN|D4Fb<^|5QqV@QpvgSu& zLsA!sjHyq;yH&*XT#LWZ_r_~U=ZzKNPtl03L7DYKjdgmAWD7&IbYmn+m)cQ})zObz z{GVQQ9XK2w`^{d6B40w6zaHt|{c}izQqsL3AFUeQcQ#!S-^ne$SZ3O?ZKW71I_s&F z-dH(NvdUY<(f+14mWZg1xS|Ghf7MXZh^WuE$;UjBCsPpo_>1LR97)eBvhbgvuu&Kp zK1Bmgmd4d>z`_op*dnbR-4HKxAJi^ZH^~%5T`Qt;VYML8d_e~Dx#!*Xf>hhjeaT}w zv4Z`otOc3LEo!GsP>>YNID-3-g0(WYXqAPo73n&hh^5dY&f}rH#siu|gG+GX<_2zP ztt!Hv2oi`DZSPf*zN6ZkOg}L$rLCimh?tBx(R4^S_YIhnRtGHA_-@$OaAoCCoPURt zQ-r+_Q~wbIJCC3d!gU7-xiTXAC*{z_R=`jQ=v?U31 zVTG0n+y@jlF?+*vouf=2B81Ib=)2@WzHl4|ya#5lHW{N*Vl&L@rHrU(ZpbYL9BC`e zAA!_<>H)cXg<(z+f{eJ(RRF8rn5(6VZ& zB3B?Y3tYKDxNL|kl9{ESyrJLek*zBfRuDlWMyu0mXgN+U#`r8b2^Kq7fTL#N0Cl6z z0ZxISfM6K!>4q9WjA^wn*$lTj6BNS$tNu4&w)+}_x8n~C+p*(R->C{<9s(ydoF)M- zP|L!tSo-vo9!J~BdAo&jkqQ^OZr+yi*wIG}Ri~V+YF%`?Vd$H91>gX2Adbj){VmZ( zM-DZw?$+)Z1bJhs6CR1SkbrSnpH!;TM3w}4DKD)4Tk)}(Ltoz{F*(N#xDxW(DleBkdP(-T=*EY{*2og{eTY88i(x$ zt@~9B3f57tnI2C@JSI8?%^?sP_fq^kDU-FF*wbr7LQ<3q_CCa_FHF3*FP)ip{MMDx z;S<(m(qk=3v&ZQ~G+X39%1WFHev%v%1X@t-$-{PL5JLbxECkR?SgTpb^c}z)n~Xhc z9%BCNUo*fA``jaufE759NGXL{Bo4F5LzNnYlJt9IJbv23clZV58RH5NfeG|8Ul{BN zbfs-?QSRP4g*6WBkqJl90IiO>A&(2aB0rsioXqv@$iZ)N^4wI;usoyO#<;>q#spUx z*fdg*k|haKf;_Su2l9Kh5TMJohs1v`H35}(07}-Mtk5wo(9Pyt+vzf@5V2^E1=*15 z@n&=xVTe?I>!U1?&-0!;R{7uzjmA5uw~!KJ-~vk^x>_wKSFt1SIsFVO*R;+D2RVyw zVJZ#!QdPTm=`MM<8``rvuo6*Noc<8^fUW9KUSoS3-X-|spZ++l{=tGkB=NLohyHq| zy|h*SfU3-Qu2tno9IS7|ncu{g8jk2SCOaj*Q?4mTs$hOoSz*ij+>UBT_wxn*57-v` zxG0y&-hN`QxhLNKwBq|G--Ms5=G(!^>EEsG#uf~_(7@{jTVbE-tvb0oHB)TWM>u_` zZ+@!+C5rqP%6gO?J;QFBh9tTbRynVwR7Fg`x(2^HQ8`j)s*xKx+pQpAMG0&$c2Plz zidAK)`J=R@A<0*N?iu#jMYVASsgOhcD6Rs&o*hEZJbR0vKsc%`gIY(E$X_Snmp$=s zwoQM}LGM-d%te=nP=Q2rB8)$IB;{-dNc-^V*y3?J?r_`Asi0zX{BI)r?c={(o>C!V zhyDUKkbAXV-MW?1VDFQt?&nQ6hdhqAq;F3IyHXA2v6hekBtK0}Fg-7GQo1?8b9YV7 zvNDZOnjp=piG=Py%2v!Y=N=&Wk3u^N9J4uqbJARli4Z+qZYe8}H=NwKg8}7Z>i%0- z2ERh$T(a{Yxl-<%v03rq+gbSM8gNw6uzxIl9!U#Y+!Csrrie`??jEz{zRaJB{+!=y1O zN(M8ZbA!lDiL3KKVe{c&e2S0{MB2X7m+SuY{1aKTkW7^Mhs`_3L~{<21C#8+NAn#u zZTmS8BWxVMQ;}vfaowrp1^HR}?}pV^rPoR;9|kH@S9dc%wlKwu&SoWvCAg|`cz;{Z zv~Ss?U7SwvR`Cy@12TFyIF4Vp>?tl@UiuFST)U3**A$`s!<-lGgo<8Tj6022l)^5U z_;8O&F37m=*#D5c!~=KRYg+J%#7hpz)h~Fn(_|>TpAHp`NcKsZ7aN>S{AgEF%PXX9 zzbD{+K4Camf=4+jV>uZlG!No?ze2*HV$ zg;yFtDKf#;@YUeZMGQr{%7*r3JJxEN^7Pk1UdSp9<$9{DD1I#`qH7Hxut9h`?8d~w zuo_SfBlJEM7_nq{s5&XHDTh6$>&SjH^KM<%`OR3D6c^bpg;lF;tt8xc(_v*8-rmG_ zA-UYT+5qyGVWlJT{zq=f$-bDEo>}$*(H3-iD0RH1JrmU`30)_K0k^$ExiF{~lRhxxuO`hnXm`(#2M{*V?h(co~EnTYKv+ z>l{;AGklLd5uG#9hONr8`p3doPbn-JmI?f;ywskVpI=_=c9M>()?(J+FD-D4g@ZUT zoY@vC)Dj?*r1rNs?#_LIpXWCKxMvVP;vLcDo#{SQ1LA_MiL zh`(Rh-q)=lLR*&eS(p0GJ0?#j=iUVOB*=7O-S0yq2%}MoXWgUYlhru%dF?R9);=`w z#N*2It`m2u;23Lsc-cX>BmU$>^2QKf{Z8n+9kg1!NPbASTC+9G_ZKZ|h1syN?e~@Y zD?258a66}e(CzK3D2H);#@@^#kZMzWgy#0z!gL8ly>Qp;sgK;b?{Rj> zR*;?+O!8P{{1NE#?V{L?jO-4vv~+OW;B?uPxVQS;t`ufLi_YYt+kqU(zG%p_qNzEw zK)5)9yCxrRU;CiZ^%s6#iJ0!lap{!=oZMkLb5)HH=iPU+drLUZmd#7a{ux$vXl|p@ zYyttDa-nfK@$&2;m~>EG4zQY+#Ocl3D&m`2Nn(aE0#HU+9cigL&;?zhe*o!=b=wV?fs5 z(N>6;hv)0-J>GD^@-M(h`@!c6LutDfS^eDa5|}=x!nZ*Fq^3=VJ7w0NwQQ!<_6${i zxVNUb3pJ?ZCg?`?uZ0m?R8GR5ml0jYGV3Ly5hSV&(9LNCGdiLRBW+Q`!NF3=p8Ds@ z%gf$H3(&`d!({)oYO?HU8RL0oYun#_&9Z>#vE=cixfieCAWh-N>A8q`oy~(?cx%u!y&!%}yR|*T-$t=(J8!l#AfuO{ z2or?S3$R<3cCZC3Z;k4U1t#%;=XdM*CnLLproOW5yj1}(4W`70fQrZ$Kit#2uq~dO zMmi{8UBH$UqiXUz#v6FVKeS^44a3XXw*#lxt#or&6ZlKUAlRJo`#Zwywzj!YsDS}` zLWB;aXS+tHzFV3zg<^K6;i(ayk=&4alF!4LqmO`UtV+V2LB8U z=X5|yX-mb|vrCHUvkd~-YBAWw94Km6CMGeYRSkH$i9$urZMO~N*eraL!&LY4U6=Nq z2gb`U0w?$1+LA4A$6x04JLPq*4VI@`ol`B50%=b8#gfr&C&V*@t=6S=X-Ar~b%}rpg2g2E zB97NCAJ74;tBj6ddNv{QPnum@?f9r7_*CMY3k^BhvCzV6XKUmQ1n$pVM6ob=H80-i zEFu;UuQ(U=e}E^jc`lJ4k${AXv_Hw?i!1GR=IZ7`*0BAh-}L<)XRFdW!~$nF~he5HM06lpl*1>lyyx7UY_Cx_Mr9W>xLs1 zC9~e)4b3_2P0jGs<_f%i_utV5m-E`R$9f~r#lf7$y87tC8@W@*Yx=-&GKNExBi6|_ z{OdZ|r?pH$Y^7W%==fuS;P&e&X-=N~s+bEZbn4%@zoa=qF}}?oRfO0khsRAgVt(F} zQFgS5Mbb|yai3Dm6ZU)jG0S3cFj=ldu1E@Jn~Zd%11nt7iacA~brOHgg<2pfT{%lL zaYOcZ>?DH>ck*VE5S$B~ZoKw7+WaQtmUf8&zN29u$(U9c`I>$R*4sbq_$FVD_N8ZmNk(LXY)xGkR( zItQ#$a8$#r%X@e_!_GVmV5kJR$u~06QC2cOxwMn%oU|GuOdxD4SI8OMEvdel{5qL& zBNnDH1%((}h^}tP7|bMM%cP#mEa8$KJx7#kv_Ln6BmN$j=N>J@YY%nyseQGKo5ZA?K2CiGk~{-r{d1GHP1 zsYfzeaf>^CrSx5=Z6wSK9Vzq-iCBxiv? z)Xg(nP8e~z5x6K9*{ibcc#)J7gBVY&M0ZSitqx4K6JqfIfBn`WM2ex&iK;1Akd0uT z9>SrGc8l4Ix2j)GYbFJ%T{#GR&F8oV*zzKcY_KnAGn7V4xiHx>A~DHAAj1s%y=GEY z2S(o}%p_xbr<$c9V>^H&azh~~M_+h>3yDMerfr31ij(DmQOtf>!j83LP}_b+`SBa2 zJ!cCbWgy06n2F9IIUjUbicvHbVqqR`WRMay*~a!kX`5%oJVM7JMWVKed@|P7S#U|i zr1TR4?WXSvA! zv~Y?O%$v|?`r|OAk4~iMaA)Xsy*DY1%jZ7~+FH11^s!IZdxp6FxKZT}8*YLN)IPFP zM7dxV_$vuwWdn>F$U=!#{4YMo5D5=&I+s`X%iqgI)3qs3+L0R)LIwN68JritrEl8b zyev{vh}Rl%%wuh)L|pc|G$TQV3rdFQMMR*H2=-~}6=YaO1&pUp3w_H7ZX34&d>G!0 z$J`~2$Dalqky=6E1qcH|$`vn)OSFxtzOi`~AB=n`FSOVdG8H_vMK=`rMHWHv^!W@~ zDKkRGgL&XZiF98q|D*c%5)HL1f9|;8rUdIr-X-LSw2bJBL4~75A=978hu&FL7dXa2 zA#B|&ijrRk4N*ykQVeVU@HAe{b6T zO;h=DygU{`gh9xR;5vFuM(Z!c4m|8Um0DWOTvEbA#*8jXU9?m0_T@?1y7QcJEKEHo z7IJufmB84eu!{~S^Af!|vi|+C=OjAUHduW1wxV&$br?$mS?q_29%($k-w>Q$DWGoc`fSa6}`-IBRwvp%!S z@JM_t$Q(aAF%>RD!}n=;i!p=2DsEuF@GB%I&jVB4yjg#aq<`X(jek`uOD_PTv^JBX z5w$0{V=5B?@lP4yuBPAWim!{(Aqn+pWQ*iuUsm>N143kSA(yf)V*-6wHEbI7f51HO zks3Ch`YYnm*?z%YH4ZJ62qX3fegP-Q?|1xVMw`PW21a=L6%eX+I6pl%n||b#GMiy! zdJuiR5qqasqzfYnq0^Xml*{nkl(gXcszkqEPSyZJOETf#*=v@^><+{3eU6WOJzww5 zmF@MFNewRu^_5diDR#2H6hbnI6 zb--hH(ml1t);2E|@R}Z1%r(Z=H!o;|m0qfid`-3;_05d7odmz8dr%=k26iO3a7JU| z-IE*1gq3!t;7tQNJgZFudo{yN^80vE^XHLK9N45p`o;#NL@CB0WJHU`yMWNweBHww zTN8L~=|VrZLSPla|$anPLOk^m&l)Kc<0Jm z5_iV|T!#NTXDL#xkH%l+6nys_&F@XFxq{4F#0{cu4e>PObJR1Q@B0L}GgtDeuvZR) z`(#X@F+=L6p2mI3o2iIbQR^8Qq3*U@iT)0qgQqbnuA+jm55A!WROX{4NWmD3q-dgz z!%BIVG;idh#pqkQp$YUMajWa1g^w4DJFB11m1mx~)!BrI%G*a#aNZng^oW*8H0E4z z2P+|*!7WF*I;iHRRmcu`bYC(BEV$!)>O89OYIOf1)hSH->eR+@lf5Joi3xX3gOW?% z+%-p;%~y#hc$yLLv4+bo14x8_1YN zu#-7r5lAiFfEnEKH8@`h*oN-SLOTAdJ*POS;ZUFPk$od=fG?;NC}SW7@$(nBFL zJH<9E6#w4qU&tzK z&j4b%=~n3yAIguX)|tC}y!18km+Ze5jco?dg{lruZSnR5Gt#xjM#pgzYOa3csTN*j z)?~{&2JzH-FEYFQ&QCAm!8-o-G0rKBKe5&FJgN`NcCctn=SEMpV?v+@`QoJ3^OaLn zG(s(E%9|58h;N86hj&nq@TP#t^v&_sl_cThSZP5E5{0g}5stwMvBn4sx;N_em%arh zNRd-Ks8do#JJEcC9Uh;GIh24>-aMbSSf4M_aYjPv|k%505HiH;uJtI9s4Si-@)FyO%MgLVJ7x&L^^l zf3m*r+N1@IFJIvn-#8F`Xw`<61y74rL?>K*&HXEIRV^}xRe7c^4$f2yn3wm@WE$_C z`O73dT8h~Y*nV)mvbY3B{W1!IO=8B`1xeo>_DP(w{V5$X>?2dh4XIjgzO0pFb3mzSMm-O-=HIHS}YEbUMq|t^M5p*cRbZ! z{KrcwB70mivaWSAu8}P}T=OEU#J$%Dm63>2TqCYMuRXH&ND(UIy7$txOA*<#Y$54) zzQ4!s_g5eJ9QSk2_?-86zTPLuy)!%3S}(w%uw3x#r`we*@5;=rk~T_*MH^)@zFv+v z#}*rMUGAmE^J(+9Y4d?@zuCx|kDaE>ZIL_g(v!a*PW*zZ`Mkhwvc4R9e0(G`Dhn%o=Z*Hu)Xvn4U-=)!7U-%BG#cQ2WQ_`RtdV3~;~|Fr44RW6)=mpKg^z&~47>3F2k)ie1NEBXxT zXDId2(#q>M^Qn!sWoLqn_|A9vV+2PI8r-PcD>(D%z6DJKqajt=Bdv z+O2XUlim@G9&c!*cS?0E^h&ck^ZWfh!U$IVY)E;LytZh?rm5@K#g^PnCw-F!^4M1& zEPQi}wy_$u0++f$%_WsBnHGA#u2{&bnE%zbruy_$NJ3AvQq&qVG^Uu`kj)rTLr|%X|*~D{kmi$*y1OMwfJ$mmFv;{POCK3 zjlu<$0%*H(XaxfLKn&Sv$la*OQY*+r%2OL?muF_JI4yORfdD2;=#2Fmov z;N8~&@vwh5HIaEpuyP~fifDT95@H=ccf-y#{mGJIigKqEN%*;I-s&qj?QlWrqJU3& z;F3@ZUmO|UI3_n^-#soO3%rXkSFBUrY|u?hdC~WGa|%UTGkorId1!q3I8u<43`OYl z8~W|oQ&LrojfA4|o){bY)sTq3Bj$wkq|yo!b*}O?%spC^byR z5)szyFHch8yS)VCH@S^^pzQIjZa%CD^7PR{mbG)btqr$!%vnr|ojx}u2_^H%omY+# zCi=;ZAP_msFB6cSxzxAbS~@j<`Pev4sNdAD&If0)XA;NSZzeaP^qN}1@AEEXX8=A% zoZFe&8TBelr3=j}(4USyFCee}iF8GH^C1B4f8|H%Myvs&$+M>65UMviQ>7K3S|$WFKkZ+r22_FVSPB zQ@E9-GF(JVJg>-wyVl^HQA@Tu(z#F1nArO*xSFo$R7)GXd3Zi+#aHd}WsBvvP?8pF zXK%{3Sav$Y8>SRe#aoc~;b10x0W+yu!R^5;chQ-w*ZOESZRF>v`y+N_Zs57yYxA0= zDyGS*bItR?h35oh__!S1Tk{&nTZWhneuVem@_SF>xg4KjHX%5F<}z)E6+u8g^m2&~ zE4dfAm&xKn@Uef zxp88O$aWy!Qr}3h-=eAe31OwkvTi$#WsIoM`AfdcYd*)&mG++RJWt)oOl8i6^x~!S z^GqEp!Cb2S7Q3Ad22RKOgrt&+qt5|(x$=ZFPwWD+Y_qadph$WtaIjkG(r>6Ay(9_t z;b9l6MAMM(XJS3R`zG0RG6;u%gH=Gq3E@heTt3puJ6{e*wwu_k8%rtm!yGPS;qUmF%F<&~u7Qiwmg9~tJa#QvZgD90mMja^ zM_WBCpNUb6SFbgW6Cbe3_1o-L=q(-M`jxgN^&`)6B#FT3uLZ~HMlxizExq|XiozdM z|Iq7T$Ld2-)xe3fHOX{`_i}@`$|GzC)UR4J*8i*`%ZXIpMNSviqfG*X1JN6&-jZCl zIXC>4#wk(R7WWe?6i|iO5&;N^DX?nfLi9=p8nU-ijreWhTuBHj&E?@&veVE_xT#Eh$lBR`aY9PygB)k7)>fbRmkYlcAL8wv8=~aB`4}IdW$oKfj>oDeTh{i3%5m!hZD-Mj3!Xqo27_t<=MA&t)*(+f;$+3 za(d!F{dBq@W0HDjx&k?(9fLlSkbY>ZW$QkI0wdOSugkDJ9ALFfsLSBns&s84N^Q+b z2kMiCCeZOF=p^Uo*FaIBZYBp(D#IkrAM>b9#&>z~z>zPtLXMItqD4m5D1U{z}H!g$nf7gQk{^?TEKeuCO@GwqFOUKtM zr-=E;6~K+ee`;ZUKYZmy`sYHPyJGnyo<=XBjiS=AB&fQ5lDJT_K(!)Q@ijbLE4WM6 zz&B0<&<;Tat~*dCKjANI=T~&oe~2}EnLjd7F}|p`TKF~pTQ;s>HD4^&%dFUhV>M3< z=^jw#4V5$A)Wtg}mhHyRh0T2!QGSWj>7VxhWTBQdVRu~GM&Qe;ujufh{xl)~?LzD| z4C_VXEfvN`*`zT`c?(yFR?zft8;(baB$#sM0n0B7JQiY7>JQObaUPlX25}G{Yy=cg zt^K1)hTHLBcZk`#N);-M3Z!i*Woy%O?FOCWNW;pXFe>R zhixs*dl5qUZVd!>o_BNs_>>*>ffyAh$BREATiMbJq(Pc~qwPpWi>gKNfNq6l1 zV-cs)YpwQu+hB6`u4?5yVv}HxuSV(jd&HD6=ktcA4tLqJH_dfzO@KRrd+k+QaI-#M zn3J#m#i!y<5gp9L&E&e-2K=Xdb7HKLMdv#J%1+)2jg9r0&_8)s)R)nt$PID6XhDSv z={>kF-7QMxZ!Gk*zoIlQ3Xb49r^#s@=Z8mv2p)ot64I(ze|V;U0bYQ;5i0@H|?Wy}}D{A9q>{}hT4m=-?W(q-UwhHbO- zQnN-smUPY3^+NccEoHhWp@I;hSmI>D4|`ueI*lFO)oi@Z?&f}Y?pXKlZ@Jg4u8IX0 zOjRoUOBHv=Za-p4IP0MFKs~wJ#&R=dVN<3{k;Un8OOtZicb1K--gn=ysT#JQb-pz` z(BP2GzEjkc@iS{?HdWw&S=!uR>BdQTQJ>aaN(^%+G{6RDQKx+e;6zaO8;-}kb`LY> z^okH!h0K%VrlsWJOfhMWvssN#InwC1Su9d@{95YF7l%PcTU)Y)U(GJQtJmGct3n;w zEMhcB{}V9m5(XEG+UqX{;(rENY3Pa;iA70y-5N_iADmFDYr)*s^faOpQpcnx5}5Y$ zxYBYDKw3kwKYd=KKPE?{9J0$^8p=5AK%(2kbTtJRauqMs|E06$JNL3kklyuAU8M`X zK#UQ*%F_;l_Rl^K*5ARf5`(h8|a?cufK{V`dEq_cNyz(KTE9aq8D{77$m=* zPXESOj2R06p|5!}lqcnuuEWf%WR_vD5QV|`lS5+k}z zt%p-LNOZnF_vcLc&SA2cM3-p`SX}dxK-|EBUOtew|1TS8N84&rN&DQ+ei^B4ks+Lu%%KYKa`_3p`=TdPE#0Sv&_ETMose7;vvFJjytcDd!Os57;cJyJA5iK&KQT^Kxhq9YaEs z>5(*Yh^4>;7@R>St=^6k5|yd1u}m+e6p*Raxd#4?mq{7;0coOP%tpvW!3I~AdZR9} zTRZ2>3TbPu4_GTeJM0E@${9}J1AX!oTMI>Q zh$3B;Zf1sZ+{#~6($zTi^5rX-ezVwnO)YzLNnkBSMCoy0(pI8jLL}(VINBNn!Cku) zvBffbIYm4xNnEb^>cDk;v54KY`T4W2drIg_rAgiDJ&VHHg0U$2B9k8@eKb%19-dO@mK-HcAAxWGU%G8zb`(k>Y z7i{Z>*eC=c69L9NV(1Gx<~NA5m9nJ&O|AN^T$*I2p1^Y+jP#b8>6M7X=dh1S-LNhs zRNXa2Tqxw`iVK|J2)Z4fNOOinm6ACdEY zKKfuq&=>k_jRJ}2utjuGDM8#u3?x&Ox+S!o*6}C>5ZJqW&AE+&$J!c9qc`ebgd7|> zqUIWsLP~tFpB63sr?Q4Z?0ScJ#v^_PeRA@qLVzH*U|KSaRqaQ6U-Gx z0r}O23J-|F`%JRmgnz*+&C@v3Da6|i$l^2yuX*@3^`Jt=jkS0q55{C#%W5$x_K9?TQhn?GOx)ly62`1JjSUkx?X zr`0s=Lv}xq6jwmMV4te`H3A?efLW=Irh1DbFhbf@?GqIhU_;OA{Rp3S-9S>CN}hM+ zcv#{sA_Jqk&hdgh=@Ufv(Uw!l(cS|E;n=#Ibj=dCl5g*y8vdT9-4XeI*J>jju*|g27f;Y1P(uwj7mn=_VbeXrt!hmyWd1%f_zZM^GP*CYpQIeA@{HwVKXNbV%QE^n$CTX0j9sA z4Wc1iNhT%Yh(0(P4m53EgGDh^8=~Y4eF28X+v*wR#91bbRD%xIMUfL0Yvwgpz23m2 zpKgA3Zm9(VKB)%-Lz!age)5<<$V#OTfODr3*Y#^LJ84Dmsshw~$G!L9fwi8y2^)Ly zwaGXu5qAT&w4!s9tk#$n5R5HmoeU0@qBEuPhaNjI>G+GB8V(m;+2+zqxE1}KU1;yB z>4_fiShbPMp0JVXN6&AyiFL(KnmR0t;d=snPX*ith7$sRMZj-z7ia?LK5pzrOK26@ z89Z+vQwzTZyR(>u74FMdz7N}@)ZH&7*^#)b&;DiPNOj*VqFxG2`RQbdIjhgQ_&~J> z(z0p3xTOdhDz&_;jFACC6N0MOAdmzI0!aYLi$63e2Mg%p93P-JV*ymWfng0cqmj$!I% z$x;$OoMD@`^-V)J)s7%4A!0#?vwvhULnc3I@sU_`L-a#}hy*JPiY&D?I&31*_Y+f< zZJ54Q(x0mqj-}VBh7P>dWe}j}{hXL^!d^xzR4vrxhr5jRLqI2h``Cbg7)7E7=>+A@ ztNzxjR9-@{{sNuC1J_sU!x5|7?6Zf)tyejnIf2W`*OivxyD#&F*Tp2%E zf!jBb9G^Ngj*eVHlXv49iL&27TTv{=mD1b9;U9v;-%vpEg-!J7f=$OGv45Yif-!D zai~3!gx5dV{*q3nCA!a?Kbn^4yV}L_Q+(BsG$KbUYX#`>XJ_OPv)6Nw@YLkc`#iIk zcf1K;yHMp4h3N5l=D5fQmH9-zAwH@d+V*QVIsMD7b~d>-6&7o#gA-MA9&x6^kDvsd zGf6Zl#8la7k?QOCyO%&<$s(I(HC9Us1EtK&|f?0Apc@0iast&{w?U^6z} zSNpGYen7E0N0DfCy*E z7ErYo48xfr(+WACgTPR$+H%f{fcN@QUZwIZcP!XJ9KQ%6n+4_II-ciW4h*Nu+!T5W z_K&Xw0hPpr)^yJu242!KSFpd}42q{vuJxr4u69A|%MK(Y>^>SlRTdZ_Gl`A_fgK(Y z*m3M5ihb}zCs{;KW1aB+E8tmI3=WqcIr^~`Y95)a=iI%D&qdNhVe)uq8a%vDrpxe) z-{s^A(6tQP7iJ$rdG!;;)%BUVvvFHc@ZB7+hEP_V0J0QfJn>llmh@Lc((vY^%gWHi zk|wmM$kbkNfT=b@P}6fm27eOM(8snT%nN(D#fJ~?%`~#b01fNrFvG#F7PfRI0iS4eK14ZO%}1$=_D)l zs_b+VfON@0a`~)cvcVMb99hQ;+VAA{tGg%$Bj`OHxODnV=ELg-TC zQ|w1DP5K~4E1vL=GH^`HEOr&}M!@KoO@7#O%~7B2F53~{7>Y?|Q(YcHQE!0BAJlFF zafNr;f^OZ$CLo}hH%bw*N%f=XNJB8sHd#9Va8kG~0`&^OL-MzF-#`4=&}{`?6nvwk zeK34CetCzBWE!R$$e7AHXk8LQXX<3$QwPcw<3ZsM2H^QMXl2c2ZE6L4GR-tbCs1dP z6oIXuyw25kh*SHl^l^DXgdon5;&a99MzZtEMnoQpYZj5_@q7_janWhmnM{9Mz0y5f zoxl%h>}xa`vQB&L{=94ntzx3n8w!_V(pTj^j;=m1R~-JEE0Z(||H$KR43nf(K2@6c zvRuxhU}j5ctEbQgq=+LoL~sgtXMQlh&UPig_uUVA9*&-><(c!`!N2h{Y1Qel-#LbU zY&AI7^#GwCn1tXeW-iPlQOA)|#j{ulSp!=vc({RIm#NXwwlQ5}h#4o=U9a3P3U>3^ z$w(IL`uB^>-z2QIGNgXez6Z6(^%_4v64u1z6tT8u`$S4D7!s7*lD+_m)E$8@Z%3uB zdp)y!zoc>3;Yhzj=kmL$haYnftWWrVRiB&opP8e~sh$+)jeOYrYD48DMdc(-b)D^n z+q5-x-u<&lz-IGfKFof%_WY=A?K?&;{@VFF?q|PD+EBgYcwrp#VRPF1#ryZ~GPhmn z0w-EnCOT+B=I&?v*fJklh;Px-xw|{iZdg$Nf>FH>PWW`V8+=;Te|a(NZ?8h+qS<=u z$#2ig#hwaW=I7pgN49;IX|vfst6)ADpk$jc-O|meS~@Lcmd^BGyKwr3Z(z2SPn}YN z&#Oc>XR6hNR}fai!9*4Ww8OVf-T7dmwcNuq-4Cu$A$hM$${tOtJSn{QTAmN&(ov^2 z7e&?Hcd{%S>af(`-hHDoG~*pI7^(E71wJ<6Qr;HYRQSzUCzAU%Zp+RCOB9rTQ-hP~ zgv>stHZp4ApK)W{F8Tdc=+WlWUhdjAL{%?Ip>`y0$chSs{Wy}SFd(i!aff@>Irbz2 zXoP@RPITshL6VV<{@cZ84&8pgIX&I)CFOd9Mh>_kBo*c|@|A#4^)-E^UoZZx9RJ7UC(#mS}x#=C@h^i;7S5uzH^na&p)Uc1CIMhivT zJ;(Q$vFQv5{<84TG&#|_jlXq|omtuvwq-FPWN7d}}*?5PxT9!#f?#1U3r?ni9s;$`6 z*7Bcx1_C48mfR|Ik$Sxe?6B&iZeMNM43o@w7aS+EzuI{HbV-yg(Yo|>(fRwrK5x#P z{$y~JHzx6U#5N|^Y+^dHg?-%}6VyA+5M}4osP4VVG->38kQ6d&?C|rJR4n;ViPX>7 zWJkK+(h&@#Mw(@5NeO>5@+L=tU`X4Z>&S8P%2%5Wy=Io+lAj%4TU?|I(*KEHNJRhBSr)D(Q96k-=!okj}Q(HnrkNdW3?zjmGSELBKV%!zH#zn zvRe-PPf!IXvNtzUdRrbhdH3GYlLXqTb5UQbj1MN3_oni^9A5tAt-*!V{`>@tzkT9t575NjW>M`i`X^{5Hic_ckfY z%Eq^LzwK*FBg;|Q$26X!>UP0UE&Y_?6ObtXTK4M-vZNr)i?Eo!hO@z)jZu+*FwM9t%+Y&Hl{oEa9ed! zbVW{{PTC!BzbCuVj@NxNw^LynlV&LYthrcte2aJNiI0v*-q9_e8-+al=C@7n5C4hx zwQ4M6`EHzx3}Ts`+$rbmeYMGLb#C``->LnN@=3F&?5ayvfmXv!WmL!=C*i7Z`*kXb zPBT=TBv_fot?DB|sbX!itkcPG0r%U}Ru!e%-bkb724rxBS}4@JyeDOF{3Gq?bt{(v zzkgrK^eZy`8`=wI|Jg4+Y8w^8?TalrS^1rl0W`43l)0bwwyQ8@aAY{`NtjQi^Fs~ENt4V0?Bgs_O*SCCfLhQ z8`P{6M-(S**6*yB$E5|%N2rur`=LZW8y9~j7=={bVLnY9ptkzAO(0uN?8n7iEcv{7 z-KNO2L#2FwIWFz(E$+wO)w-jWhs7MHTmRj&<$LIPMN-zb=)(Q#9U{istZ)(242;$ zxZtNAC-(i|;~xA~DSz#O5-BxCeIXcmCF{R7NmJ_7;>|JlLyBm7jD53udF4vTsMG!L z6A@q3jvjiX&z_4dt{|C7{0p??JIH=~x%x%f72;X-04JJ7X9DH0_`)M|3rtDHW0q?9 z{l`vhsFI3M)98m)AFaX$d{d>hEjI+K9?s z0z8He+%<1h$Wh5xxzKF0uOgBlis|GwfpE@x6!xdNSkZnjOLgyEb2Sn_75}APf{3-L z^AvP)d&e^vn^Fe~boH*uWyK@~_uA6fSXtB_OINCKr(03i*nYRL#z94_t*TGWt&jO7 zZ1{h(ER$}u8qfxrS0Y$+FDI`s1J zoh!U}>WY5qgKatgYp?zMrN8+a+g9+-jayC@x>fuft{RIUdN&pydpvgH6R7!pkUz@P zXN};fpW|FmnPu(6AZdCV*-6K3xnb7TErC>Rr~Ew^WDbsP8EaCqXK|*knR2~?Vw)V# z?%#&eP7B8v6{b~4TckN73>P8&2TfKU&wX^Qh(F)3PVkkGXL*an9-Oau141~huUrt$ zf2KGZaq=I7bzd44mXvSa6JRvYa^|*v+{+^u&B`VAJD7R#zFm}^*QU*)EQr^1MR`SC z!?eK&jz#4?Yv!7-BzoJE$<+*xoUD~O*d!RM8TR24t^HN6c$#VUD{9bEtskpi2})`| z1*w{TBZ&sVv1`^Pwsw|y_QJf+MyAnIU-YbNUKdOSzl+bg5@l=lY-++;D5$)l54z(x zU&Q?=PEq9!u4eCbTyWTtX=F80!xLe(p^eJdknqHxR3=%DQ&wVajF;MhGg zR``HKHjjOvJ%XFfy37+U*I|&{dSp=P)N}^8!OT#K~n@KgTE_)hrdo9 z74=^_GHmKLGBrMCIA{la{#|i9L6H|13kwaS*wIE0_Dg4gH}=SmVB`BFfkeGd{;yFj z9sdUyAp4`@{J@`XqvOnpn$VUWU81a+n8~d+)PVkPSiN^!0Zxc-L~OCoa)NA)px*?2 zFpXK(Ktl%o(d)-|(@LGnQfK1$#f+nLu$Q6golrTr_FtjJ*FOjDgQM7(gU*4hL?m_+ zQTm_5K7<{r$j%YwTyQr!y{SxJkXHJbJIdWO^x5MBMqc~Gf3BeB#MG!#*ysGyDJ6Y} z;}oaiLu&i5WBYkF-W7fY%1{!>=^2Rb@L)I#Gp@rr_x?Se z!i#_J&QDaD4$7KtasLgNAFDLYKdFq*FJ%1tnxK4~#Q!uc0n0d)4-=h?0-aHB7^Q_- zt(o5APGOEr$9V0RhE5@)Ok~<&$g1mq-BP&p(=qq=ODC&vR5&R^(xFzS_XwzhQf&i& z#uOhE7sah-<8^$CAUj?7zEA1J=j>mn++QG|G!a0~+&fm!L;VoqB>%qoR8*Xdah) zb}CiZp8{Z>3&W+gZgO3o3uR*mwRv#Nn!;^uKFA!1of~Dh_MQI~V)P}OE?M|0 zz*Ed<8MF7IzU0SmDP!JGt9cmW^cEHgwCRZn8^s#0k4KjwAX67=&7Z3r^*KNNotelv z8WDk>HMmmsweYC)T-P@=SH^Bmf1J2ys##rJMyps=ZMQhW=0HxIjfF2v*o478WMF6- zis>1g(mtXxwDr=gUQO$`*X+7BjN?lY_4&S7(%2dTBH6EWcz{hocc(g|vlLB!~$qmA1KP4**SB8JNg)?EIhYvjcw3f=-6%4v!`i z`PW1}lO6mflNbGbehlXgO`@?3Ai5yUnx2UmdWpan(apa5`)GpxHV8?!u|BJ_{6#GU z;>nT%-=|*b3^wlBXdgdKVSbWxX z(*%|KL_06E5-3JD`BlyT1k;zjA5&_S82JZ}mrZ`w?Bf#g>J3*J#3Xe3Dz9`mWJiGj zBzxB_4nP6dy{q#~^Q*V6sJiQ|qAvKUZOSH{-XbtVQ#NJex1~UIFzh!m9EYruQJ+-m zmOu6;D3_)TUgVn>$JLd>8vz0{DZI)9PdNsszbB2w zfF8BI!NoYP?B|~3k>vAyQ0!kJoS{&!RGgOs$soU4Lj;X5sa26XLvs@`h<^_=eZ$iB zGC);1y;^Pprsu1(Ugb(efe-!rnLiT=>e zNUAJ@g(8HKk_xqPc+&0@b8OI0Hw&Mqzf3e}FO*w!znQL@*K{V1%v5B^#ghf<-`Q~q zN`{8fy4UdX1GE7fLq^bt~VTp$bh?@QS z@zWr^j_uro@giw?F6X=8#dhsjJcTwg6?1RAC@Onk>xtb`V0gU`Hb<#7<1zJ7brM-X zKdBBvQi$NQxzSc6aY?9M?@y*z%s3f*QUFPbj`fc+Ks+HUaZ%4CPmCMVJ=6i zd1N@10V%dAw_0-_j7CLj9Udne2Zr#1a}rn-`k;-T-MUGx+?%#x!Kcp|#p{AoM0=xb zt{;n_q7qi4Ai-5vI=(42whe1?*K9YW#diXAOd0NhTaNwyiX8!Ooltw4PFNnI8qu_l zr-C`3d?yH`CtbOsS|y-PnsDG+wI(E`C7sSf;`w`R43AmnLC4N`=h%y^5(r$)$$K~E zd9s!M!4{S3T}H-d{;P~rv#0qqTU0gRFbpQDdN5)7b`nipBWl8h5?z#pvI1lhB+|Aj zNCRtz$fXH`pgCI#o?59o&)i3)Nz42xXo zAc%9Pm|ZE;&|%$)oA>8Z&PvAA%ioaGmQ3^bKaOto|2aAy*}U#jP&i1OwOQ2B9jCj})pp7aKlU%m7uyjep$^ox)i>9K-A?rC`1TE`4!vU;}hOitZP|&tLs0 zoF)0TUFoJQ9+rU$1F!{S)<6xk2}pio2A*0)I$NZ*7D+JhHp6x;Q>KmNkouXu&hM{V zm>TjB7RduXnKz8({(VH>dyVJ9+hLYCK=q*cn}WBWo6#Ue$@qlZ;BjRQzd8&2#iuCM z#FAg*QJg5|MJEK*7O_OENOSw;4i=?GQ-95k-6)Bt4{ak{`CSyEl<&ir_ZU2h@ao^T z25$$@*nKp4;-0*w8(g{iW|LV%g!&8|UuadTe9$`XFu|oW8DxkK>D|XG+F}0ZK(0nIh-F)ky8cFMVog=E59N9 zAd!Y^|8?7Iqx$*oZ35rr)pu76+!1;1JjJv@bv|Jk#IlaM`7(F?&Iu(Qx}DnuW&7kS z;-Y8mQ!YZH+;#4FYz)PR>{)4icxe#as1|96jmO5C5CZWCyzT8}H=wDqOa}!$^s@$r zb74sycO!D&lq0%*G0RGiY`z_dj=n7z%kWg~^T2BGESaYGw6^)>Ky9X5C*|`h@1hFp56hn(mFlrP_ zu+%%aRNNwEK};P*8)}ZfXtVQQVw4I)m%^|K@-R^5(kxu{v>XN}o_hG)Z|Nm_Fo?sa z?JVAKT7fb!}GhP(mLj#TM_D z#g?CH5_uj&{I5Wi1ns%1U+ub_%#pUQ8eOefRH}Xv(^gFZdA$=H&*ckQc^{44I@+HGxi;f+peS zZXCDP;TytW9qYYyDq*b8hK)o`7_TT8^Zn>i-4K#iJQxzBI5|ATh40auR!94(WRD)R z?Z>Q@z8oyj%i&kR&-W(dsN9*CKS~rc#r2P9#VXawu5Me}>4SEfdELszkZWXk!zD_n zB0gPGNz@{;W#j8KIz9lcoT_x=VwYE%k8SOboF0Z;v4o>UQSk$tk4Lu%N$ftIeMs@T6sQKh@VWOW$1JmI9ut^$dT)NpNcp;zDb-$4XrGcU|IQ_pTS;!{7IUAm+VQ9p znn#OH?G{%bM0e(sQUiQ2A5sP}0+v-1d{Fbywr@~2=TvY}z8*dZ>_&*;%+Q1#e)%y@ zU4OLhFf+lK+Yav*B>ZZPf01#i0wI$QGK^}Vgshz8E&`7d#CWDzZUTG?Akof|hEd{Z zqlDkI29)I-JG4TcI0{jAQbOvvr-m%eG(6f1$;*N@aSuL#ENALyIw><&5BPmDQ$q5k z_p6Dvf~R>eyJ{h^o3oIV7F6p7Cs4)1`V*goVjG~y|31tvZaEjaTSV~Fv*xC@B@k8vxTN6ENiL_!Gr%8zN z9l_YW7wkT@jzr`Son|p(H@%z(3ai6yFd@mglSUHcCmF7FvCA>V!(te$r+qFJi_eFM z<$;>=CZgDlTjYLgeStOrGu;tT`^UxqgIIj=Kj$xRL60NH*23*V*^0?g?x3=Fs-2!2 zndh%qodwrL8wyCCyIjSv{(t4S6cc?L3fOGcQ~#Ji|GVm?AqO&Zvbp_t-ItyE&m2!} z(+{{L7y88;DU^H4$S1gB$Jf!K;xDVycNsY)`vRj*S>~zjDXnCs*S-`XoLtokP@=wx zp)A8@13m8Qihqo zx#J^3Yg)i`P0smDvwwdvJeqVh&AZZZyc#9%yC+ZrtyMnQK@w~FwljII=mQw&ED>An z)=6|s2>^}yX=i=o25JaRM70kR36@>TSTP2^OJO8-d6nVOX;i?W?U_DAV5 zn`HJ}xy_oQUC26Dp_vDQzu1W@xhUQ5Q{_O}kUa%UU!qOH57s2^3i8T;jVq@~tXZ29 zg=q5?ScdJ`5S1OecUkqs*nKHQ6PJ`VUE$)K;F1mXmLdRF^a5;IkX#c3Hp}@Bl}fQV zo%U|x{AXXvgqE=q@(H4}-Rm0vkWwQHWe`*nOz12-U$)3XvCDDhUSvxNvgiV{*qAEh zMvys%MY~D~sWMQC_~K*ovX2LVW35;N6T%P+1?b)^7!>jLv~Fa2I_*d1^YhEDaEWYsioq4pp(mg6xqy)#`a!9Qg+jUzH`tKg zS?kMjmp3TUC;IZjIDv9W`JcPcyj;Skz4!3=`iK*=d5BYDFhq37mqHhZ3^9B^1L7;b z?S_4WH95PV$U&fE!97gD6YrxM!aqOC^V$Hj@!mYqNcEq)T;Cwd-DBCwdr2rsbZCU) z+qlcNZzr{v50$H0N8lYSmamKNUac>pBnK(e6td^Omstfvv-_c#E9&nm2VRb`$X9P! zEgJl0QxTsksj{qf34B@%soHT^nbEgu|j_>!&;4zRR8~ZL_MqCvNPP&4rucTd&#ao zj7F?lBrKYSHm1;#1;<2@gutYS%cgm+s>Pm9eNu|x(0bOVq{DjP@R7r%}^4Xd! z@Q3u`cbGnX1s1mm*c3a`ZkFPzZ}@tq$bJLj{;&fq7ZgK?U|hiccEa})EMz41)pZ;Nj?bZZ%3d~dz61tIXo#_}>p`Wd`dS22b-=*{}Y@Y3p! zr(R!u{~ft}<=I7;=HK?&VbRTyjp>m(jb)13x$!erf8IESQmVx@|5d*$+uJq!K0H&} zBbu`nuD){>D*&o#%PYgsf1*1aYx>-J=-7o|f*P+gUdVE=ipYGlY>BEeYQTv}bYE(@ zUP*39j?UWY?jQe_zH`sE`@rrG`r&eYyx4cO&l%sC71O`TDtb8ll5SBUgnk#5d|bf} z|5cr7Co=D&5*YteuYj>SecMukzbl5zIM1@m)zSMsj1-(I!TpEEe)te(E!$kwper)u zO9-`2o4e~#OK;O}Yt2xDfjwrRwjmy(D#c)&@OYl)M4wOReBG0xIN+yoF4Q%cljknD z4BOH@gfS@Jb+b9uww_KNK{el1Dv z{!>V<@gG)6H~Q11#w)+SsEGAP%SpPy1eBkclhO)4+~YDCy9nRQDGsb*6WGYYL9G) zwyAwLE7z^`AbQ|f1Nlkm3ZnvRoL-4dS0GtHIbA+HT}Gok6Qy>}?4NyUzcx7GBuI2! zCTY#pny*BgU`KroJ!NX`6@e3xXpkT@fzsV%EnSRF*IN~-M8@jYG?{eHwGV5YPTFZv zV&l>j-ld0FH|wC(HO}RvacRC138^pA6xJ%Ic5CYx%fEAKO~<{qODGD&@Ht! zAra~AiEs1tmTV1_ZItP&v$jp=nXas^^N^BsZl%iCmM0grJBV#+Cil|_Rk=^~D-jfr zdkM77)!SbP;sHa;1|A`ib;LJ(B`J#&dg&y`=jzxD>o%rfQYvNb%AmrkPXP?*566_U zy4xU5DO~shjrH(5_u+aV9vT^mT{c;A*X39}Coh1rSk;jiL8{0Lg#^hnehPN)nBT3E zG;lWz&Go_AEI`Lw_492zPz>qXvAkxA_(EP)i~E@P&_LKS?%bZUTau4ECjJ3@ zb?7||)Ls6@*Pp^>0MX6!;BhFKuOZMzj^qdCP*S^Mc-IqPQAieF+Y;2#W%TnTkreC@ zysxpX$64Ow)j4Qqxev^ldAbxm2(kZh2wlhDZ8uuQbDWPq4@bbVd2GJhKD)*B<9o7U zcTsZ#BNDWnw1B36~i@ut_wsZQe%0_#9fi5aJ(}EzI!Rt*tP^tS50Xk z!g|!m{GWf|Kk+O94I&5AeK?n05{eATw`fto-;m@1q=`SU1bg@Qfv;0T=S? zjgmK?eFTb@!fRtW?L6WTfg;m*ioMIiH2|03t~xl=VN8Mt={lhs6aoS_(izv&eMRl3 z4~>jCv5PwdsfRYxZ(o4(6_k_PJ?I2CgmKroimj$?@8!A&&EJM1Q^{A1Yf_%#=p`0j z5ffmq+qc8X&Sz>KPK_vGZIqt9*Jk(-!Qdo!XWA*UQ|y6blhM6gd9m?Jmr+&TC$A$! z+^y2Zn_GOIwa4QNJ?xf-z7Z1m2hX>i`6M329c42en0rAr%4W~^PL9EqF0Pr+KWMy3 zp+_ygxPyiGnWX`#7ip@s<-StA{i*!+%L5X8{Ex#fEU##Xex;>9(6ZQmTSPu$`YxU? zw_2c=AP(vdg!BW8FA!LKoQnY|FVj>@5yKffZlY^B_;D2graj-elV*N9-*V z755sHQG#=7elAfbR

PNp4Cis$DA|A_~!ZwjeAeWK_5quWWmv=8@V5bo}rJfElYl zZyTk7dd&SJb~W>(o!!o;gl$j`re#GR8@~c z#z;AUgYAIvHVYXbc(eFk6QoabSAf%$UP`Qy!@|LoBv~lz*ouaWh3{bb$)GC9&mm5!E*gg$55&D z`Yc}6S4k#UQRS-s1`^-q?*(>M5S(V#5$^9I&9??2>6x|qFM+buathTOO z#Qnrxsaw!c3=8uGj?ks8O4T18#j)Z8>2X~P}?k;a5d?8!=b$ZyY<39!J1)*SI26I_X7dTf8Pw` z#JSd^1ciKOiXWRdnnl*L9+5n3qQNkwnw^jPn^|AoAK`K*alq{VhnrEk1m zm9S(k&OW;Uds79JAKyf`7;4^rQWqbUWI`!yI57d<+-|PZpbaN+xw1pcPaB45^kMA` zQYz>4J!yLd{qgf7B_gNg$(U>wK@7G3)$*mNL~{W4iYcG8MIu(5&?sMLO4arc(axiz z0J4>`3g5}@2WHsvt+lJ9F0}SmQj-CZb*~>y#s{$4&jqvbTi{C8X;UlBJ&NU8;i$$U zd?PY~Me*K=%-$d@$0U+K(S^u9*lkkaR#?RlJKCRWWk8$B025)IWh9Fryb`lt{|Avo zvfw;!#P_z%r4NNVQ3eZ7&fJf5&ENKkWTl0nEbbta&}6aBz2-C6wPAUqDXtbs4l=os zSPOzvZ7N30aJ&!`w{>wz+=SDT)=>cCiaZ}KG=oezCo9sm8oK%e14YO>{B>(o+$Wr7(eGki>CN7*?A{MdoTgU zO=Uyq;zd*@s5D2Qh$2L}v+}RW9vetVB$u6|Eqk({L<4!hkhf2DFoeSxI zzUo5pG`ZAo^|wFto}eA=YN|(tCmXZ|%&kxj6OT4_4HOMMmNk1uls#A&r}sm9zd;rU z+ti5#Wg(d3V$f&|$hXxeqIG8^K8&#X$JCK_`S*p>^u=ZWUoyF6Pvw@smOWiIo|r0o zN;?#1!Hq0JV~dND_vz0NoQ$o-U*cPdIzpOsz0KHhsXKJ~I;R7k78y-+C1bYNWV)rP zXYh1(#+DA1)us9><@-a8&^A)Qka zeMsk<6!_h4o3=eSAo|0&GBf(M@sYzcQMqem1SPW(>AH=lN5@&Tr;^ON=+WKFRLJ&sT138(Yf7y16oP8E7RkaNbIFvn z;FnC$9S~ zj9{ZRklh8c(cw-CV~m3-ZnnpBCySM@Tf?|VjP!f3Vv1|`*)FBSJ5QW-ljGn{(iiQb z-c@L9`N8<&T8OMkA3if!`ewLG4^?KmxvRG4%~g3S$K-ABMusLUc76_b3Yr}4Tc{od zIIpM~L-ygSkN}GnPCnIBQTG0JF7FoH-KnN}c`7-pncI)QL}si>%|19_a;9<7S*ggB z^C<67nwtUNA()|!VRXvHTJ8=)h4;_4fnQEM=`M&P zUI@K=z4ueI3!oZ%7Pb429nG$0NPQ8Tpt21Yvhow^3SYsOb=34P#`hmLS5vsb|PFI(|4fxuGxk1+nZDH%Vm5R%Ump$Ht>9xRA|gp;6H;N;w<$QzNSIocm9CaoZnw2c#$yD%-G}G7pm# z+7my|LVzE*k)yCik=XXzi5@oW$QCql;pcdvQMxYf^ZuzG6lS}phHTNg4~s&~F?nm>sBXifz_(H%laOOJw-CBU*xJD3I z^ctZej&JEBTrb09SYn7RPy2gpsr*Hj%zGO|gA#+Ob|(S$(-5vVNdA||c1sZ|<~^s( z2hZ-7lRHMJChXhdIttul@e;OdSK7bNMX=EC$et&`^675ZZ5n15N)ne~`~LlgOwFJq zvd$VJZCI};n%x9bU!V=^*X-72m(H#w5-35e`=RYBw{ISp=%YhRk#Ub5_V>l-+&@owM3(XWF4-$B$d#0yvF##7&+8i)gzA_lPF$k5v^Oy`V;VW4)2v(&T;s*A=7FJHgr%BU$ zfpD947Ma-&#UoZFKd)*?92oS=l#|t6s@`2EXbdVQpk}e*k;GTRlnoB12~jS>1rZoA zN88-@dk;+sxMq?4JZH{|fLtW92TCr??a1UcOA4+d|8RS{iyWnc(!?Ac=t{6?AE_{D ztr=|cIEuF)nXpF6u1Y<6-pQsa{!h&(3Qat^)=6ojU17fIwJUaLPmNc;jo|7_G=}*5 z*rUPG3g#yg#DeI3+%wKis8_lIjKNA|2WLydNw49#1+!#4<9p@x5fguhX}s)0M?D(6 z-(@8!e;;bYENGGCXjW?HUMHWGJ%BQbY{U7<%;a>JHsp5&>6z0Umi+G};shB_^l{Tp zOl3t4RBa=IRUt1%ZdF6qnlL#v1YzBMqHe`h>xAen+SUx`C@;g-1J2{a#N3z9Yat#> z{?>X1o3Xv-1h?9lAQv4@c&hBXl2jT6+T!e$wE6JgsoyH8i_cY~~{qJev zjEP-IGj&LSno8RoS~wK9c87R|+B-314$N6PbnLMfH0A)7u+hQKyzeeL8Q7zVLwuZv zarxRs5^otDjXztv&&LI>Amc@jK~%~)@F-qYWaOGU6+%{>dZI}rem{*&j^5>_U9A4- zqh6xjx9vRp&clVZgo_PiYU_8Px}nl>NYs8Nnv99l2m?d!=aPjJrli4-JTY8f+A|%( z)t(WSZ#zQzs!fhSHf3U93Uy%u5lIH}a=UwhPZb#pj$ z84Us!axO;Da`W!*-wJMQOraS{%))uEvQ*5l=6opijQ$$`nw^Gs02w3O@BPq0Iyk2B z^`oCm%Q-_a#G|j;8}nm@Tqbf>Rs(R(oE^4zZoSi?Z(0zEv~Xc-85AwV5n!z`g7wBZ zp~>XA3NA^e)G%dEWC+3{^2Z{M9thgpl4vSaoQZ!!y7oj5U$+ufxQ&0dhNN+;KKz9tO2jV5sA!4js!Su$Z+ip^mD?+L;KRaDd{ZMXr_j?h zKx6st*L=9MdgahHEQj}KvIs6C%tUpo^m>>nOfCMhkip0lJWE(i*m8HG>c%+gN^2zY3_-h;9&=bz~pY4qQehCY5EU?Zyp zt;=R&;+&cssD#``3gED+y0Uar;Bwf5lb3>Y9*lLH16WF`AjmiI2mGGsyRG!^YXS3E zkC+o$o{L<73P)D09O@`q{1#1Cp32*wqxq&Mz9WWaknLRDmctlKixW(13O~Q@JMOXE zWs3FeXnl&=&@%}{cSQUTCuucgl6M^%=8_JF2#j)#ia6SXDhY5rKm6sY?KK@yIEfd< zzjM74+S44Za;QDiDm6Ir0bH%hbsK?$lO9mRn(O1iYE`D+%ixthjnvi4&&81Xi5Uq5mfS$e_%9B!aE#su5L~Ce(}~+&av69X~>(? z=?4)Ol%cb#mBE4+nDAW|y8yw9c;GuuN%jhLV^Oh(0S+Q0Rt3=w&JH9NOlhqiyPUgb z6J7FvE(&B%cS`kwJrA&QOHvLgHUvy-93yR=(5&aATvgCw;ao>d1nPKZXndok@85<| zt%S#V#Nl!lqwIsnL2^^|HnQs3_N{S>C~lLZ1JYc_NLJJ)Uo0|58`dqNltiyR3+)+V zlcr{3y$1t2%mC2!CH|GM{{b`?*zqVSU|B!ahIK-_ZK;$oK<@YNbv^1r6+nSI*G|nv z+TOgv@m9Q$RiS3ro-H`9F>z~fL|bI0$4PYKO4;t2KKJb$_sq-2S)zasM<0Gtufo~U zRy8{>36a@Cak}*ZF#m*ADUnA-MVG?KJ$??<3KeA)kDgP6KnE%eNrGzyA0r}x-H%ysv@HgJisqI^e77z9aiNcu`0Kqmm;Mjo~+7$9qDN>Eugbx!tn0YdrzRlKyAt5{W}w!FAr_lv`q72 z-R4&w&}Zk~7K!_?=gDc++m+7|Oo!*y^s|||tH(M$%r!E&##W8B^Bu=oDE?l9r7COp zt#pqd0moyXyR9*Q6B=zi!aC1)RDJ7FJn4xk=GT+zOrY@0#yZ7xb#vO{E>;ma{BA?R zanrna2YU_6l7~pYYwwc3zd#M!aK;Pq4*RS7>{8}BltX>bYWD7>$F-=Wh1IxT?Y5>T zP^|EmsI!XKFMU=g6DNnG8*-1idEZjEk~&X&hV`8LvP+$2gFb)N%sk`{f6Ej|3O_tx z+|j{M+S3>m)}!~Mt4454XL~|s0!5_?V?Ok*;(G3Ke-_zZ!8#y}78=&e6jRz{I}h2` zsc{`wvvV|x#y%(0g2X}}gf&-U``XQ0M~3X>%l*A2=-l^}Dfoe)#n%8+0~~LY85=lJ zXP@<$=Q37*Lz;B+xFN%JzNGCpTgHnvvjL4N1b+a}S3`z9U4~^nhLmJ838po9m5No7NeR1f>UYq6idEcl!iCB|_ z1z495@3c@3T#ygMB&-`SW-!Tc$vrl~+a`cBTyQ6w1!{+AGjNwDzx}DNrseZq!N)pB zG9q8HF!&J;Lzh%-@L%yCZ(o1KbI}{36>RYHH(6@n9+vuzwwm%QaN8~=B5rorf8E$L zk3_#)*5aU9*CU2*h|-e(%rcrOX38)+LWbI^Xr~5UH9!*j4lwe6PpgIo?ISMvp5Orfm&=tLS|x z%{&x0;>>9yBk^m#>?phTd7@@Wsh`(txkd5Qv)=xU>SEh1fBMVOBws&Q+VrGDg`v3; zi6KSd$=m6POQmNVB;guX(jyk12EsYc`0ie1xW{8_-0#LI&$FXmS2Rue#a7rFqo}em zR35_fS_YavZ6jMSEeFxsk&mr7#!4wYCQT_n#(y~(f*H`Z$?orYIPF=!I*WYDlO7GL zS$5%|K_svRBlC_4R1aavJcf}3HFe^K@viY~@SMT(1RLi;UCdUz@8dR++~e<=*7Qd4 zY*IPH=Pc}Rkx@M9aWocB+NwS7&kShwe(D$Py;oum&cQyubo?=&biij&2yGIHJ|5u> z7Pnd zqIi~nTA25P#!*R|DrpQgPT>V<)?uoYLp@tHPabnH+ksx|V~;7?HDVRxg%jA|<^$&n z?}o;oLU$5K$dw80C@Sch8=~H%`6%J#$NOe1^?h&t?eNI*?}3gbNxk6fxY@#K_T78O zmyII*K{Yg)ny=Dg_7Z$Q4)l|_ed{W0{=KGVH1xkkeh&I8%Vg-Pa#@qc)wb@fvr+nL9cGZ>2Mw`XxXkUQ!eFnjtJXbm| zZjQdDA ze00DE6gDji8z}4~ps)qHt@!$Lbf_m<_Hi9PlG)Jv4N@|`hvSEcu+H>>-6Tv)td!N; z2qw_z45c9_c~7D@bmMrKj5_^#d}Usp&uw7&STAG|bMOJ(G~r zQw|*LY-g654cvWUA95J7qfUdP7sJMLghhp|L7LZU}iIB?1gWKq+K10M9&b*w) zi+fsFuii(haMMUx@?2=j6~jEl7E66XMz_>Q1f8GN`|XBNrokJ$ccLGWUQl1CKcOZp z+J_a6KVl4-c%}_gQt0*x5{na2ebN}87IQ&hMh9!Wv5umnP#4DjH!&+vSBswS9I6D& zL7r7LDrE?}5k}Z+8kHdmbP=@@Z(@4{(@pqxAy|>OxNc@@;c*z*6ZP6{IPg2C!64R`2xCmiAQ* zLN@Di%eM!cZ;*yJ4w+_cD&#hpcp{v!d2GSo-%RO2Sm)H)Urp;R!j2UF{ez3|iH&%6`eG|B`gT8QcLo@u*=>Y}i`i@1~}*0fiK{!45Nw{Akyo zh6Kq&V0%*h8AhDiCsnT>(O59z`y0^~l>|&#;&alwCjNl66UqwR zn|$Znz#LwQP!gt6mVHnTbzpHQN5gQ_;1EFwSD07tct0tanKA*;n8qGpCU{k-3r8c9V7N}34tRRB+hf~li4{a!J{D^S zfcmUB*oB`S#3#_kiws4oq`-2$+Y^|qkc9#h2zn!;jb~B~(RaIb+<&aWfuA8vF>G=K zq!ZT3kD4)t+(;*i7G(ntgiI26qGL(zLiUp+wc%ZM(j1u65{tk7L?6SAdqP%dIxzs` z6MKoZhK_}Pwnb@_eWqjCp8_Fof$=0H#BU(;q$eB#vaGjVUXln3P%&kb76K9i4-{LT z%R?X5YY4Wu6_M+PMiR`yveV$e;9*14 zN_JWvz9nh2;_j6eea;>Re`DDPlFM*^K@W~h=tK)(>O>cHH$IR~P5@Pct2k8Q9_&Vt z`e^+C77AZwuu~LMpXi-{hIMc!Zd=Uiya{EA`#v|T9AProWqYXUOmi`KAFlyatk-kG z{o@nq{gs76;K3QMuQdIOe%6q*P2F~yVm(~PBb~0cabXAS@~MEM(<*0ozADD!J@C9&o}j|{+L19pNc^8Fpu$z+ISh8=1EvRbe!o~!`epMf6oK&(a<1&hS}B(?ci2Oj~$t6 zby-T?5D5Fia9G8iS-Pol$l3c%yXm=N5vx{>z1|)kBazXJwB8M3I81@godbVq@#|%9 zSWlpX!hZ_zLkSezKf+GHf&$)$q?=?#XNymy_JrbDmG6AJEu7}VAf?<9E5u+z%??QO z6+R(A;37c$D-<8Qb`gw;1*{CH`kO)E{wso&h)Xf7>Kz>-6q{;ih+tM8x<@Qhu%Cct zRRvg&%-kPP%Za8za9F4W#}|0VkcHEy0EZm;bX*NiqX$?9)yjEYl2UP#Utr$_q(A~v zjFIlD<)$*PTQtT;#cbiX$qoD9iF2iK^T^~V6?zrm(2QmL*j>E?5G&jma1EK@y{jI` zPm%^)q*LZDQ&>MgaN!822-;|2&9G>&;7|01Ga}+JD3-;aC8Lx9}xlRETMFtkx1M9yS- zYGdMtT8f<7YLkkcd;%FE+`T|oDgs?;prl0=j^O|ep*Ia>b%Aam=$-;_m@ZJ_>L9Sn z$Q~kI$YunBLiGl4n)Mq+sVwONiTinm%(k|Z>h#-q!WWmL65$Pr6Vk(EY?cK82Z48R zeT}x>z~KfE5}qXNCnv1FL*@#=HY^Sxr$|m5>~dF@UJOJf2UsahhWG;S3$f|FoI1Pm zaW`b-X}rk9^9*pAzNZuR`({R^1P$IJ-WOUmq*5N`25=TRuGj}9yfHSGxMd##P2vb7 zSqtCD#Q#Px<5CEiUu`3Jf%&9I@Xi?0fB`H0Za0CR4^AA+H2wOFGLDNRE~8JQYLAAyed}9m{=FLA{CmBpnQ7%^Gn1p6Wy-#WWlF>7 zmovzS?{o!>{q3Ggrd15FyjZ}QfmPV&b5X?iRl*W=`RV$O8FlOq4m71B;|{k1cTWIY z4L6!{{n0eNp|79^%P{k6aq)(wDRp9T3b=1W*0G!F;XaW82lImY^|U&6D+LHKWE_WN z&<%boz+WbVqYvbEJh_Ix9|&ANV9?PT>tZUg?tVKva!#*$Sf9d^o>F9P_ox&LFP<%i zM>ut=QzN77k+70*i8}1OK0=OjS;?-Xpx5IF5gwn$aKw$?Sc{mZfe!WHfY=1Y>BBJP zj}a1)cpk&}t{S_0@Yo+}P$dB|C^!|`$I;#adO#5^u1b1+`W{8ZAgh%5CpIyyMn?5e z1P%Hfu=w~{9n|`R-#y^iaaKi(#PS$oD$JiG7(QHeE0MKvM9A(~C2iQ>GT@*YYmE4A zOl!04z}AqZ$ea-$4#CaQE|4>cWpB%jKV;EHRk_Kj!VOad-senvzAu<&)YjS&venpO zvensRyxnYoCe%&x`RTI#hu9V!E?E~UsBe7I;48<8K0~GG zyF-TAsi!Cq*B0#-EF62 z^>Jb6BmMIIwud^xO|CQDAT}4|d8xt!;<4DE z>1M^qoLd2!DI|^ed|NrE!Z8vEAL}`7j>|b_eAyd#O#N?)ybHMT-xU$06f#V(D+>8VdK*|-V5>vmX4^|~Kci{+RyI1uG_A!;~lN_j|{YS>50GM(4? zyY;|2$pf=fRr)r=QBy;6W50rWVo4zX0Tkt$Rkt@4JFs6d4bk&TE+F!Yi5VojQ`h|5NO1f47QISlIf^Nq63Q;f*DAhq` zw==Nu!o^lf>~Lj|#v)TL#7I}LaSms-;-gShTxQ(eEMRKU1Q$u$mQW>XgWuF-y3hM~ zy%~X<=?{DA-GF9d0^22E>H4LPkp^IKFmYoHVBO&S3aB2rDHLSeK*V5Ckc~khpCFjH z5bUIe6^{FhOH^)wBN;x@;UTlN*Gb37Ky=@M97OkdQOBxBg0gzl6Kw~#Rx@XEqxW7s z1%%K-QS*g>Pvs^CuJM&kAp3W79pitX;C!k%K(ipYR<|W)UF{vHEqXiqcTllj-iuMu z5`%JCHt#hel;(P@Hk^m$zo)0GmYO;p?3SfrIWnH; z0$P$r3xCS^Xdh_FloW#HS5SMPCFAu7j+ZtbZVucT^vp!muq?ZpN7zMP_UAJ^Uxc%b z7;r1VQva7UNx}}6?HjP{PN8G(lomyxPJwgQ@%aHJ33sE5iZCCa`$M1X#&kRn7sbIal+b#qMP%mN$4#Tj=2(GMtA ziKyg2-2BKOBDUaTgfZ*^h!~KD^5W%p|<5pWJIs>Mj`4J&?a!gY=rGE7`C1KxR)Rafq{BI{PXB z-A5y3Y1a{Vin}?;ZkuZW0H#_+fCLqQV#NJbJg_dNQ{fQL8qR`KCT?N>`kQp08R|P< z$c=0csCKhZ;Q%8R(h##>izaJL=j}huPHl>$mu#$03j25KJIhCo2h{6>eL<*efWI_g zH8JC}n?UOG0TohEDIkvm;ye8jN=r&7ybA0fb=P_zwkk@+m|4VIA%+$TxpBb9<3La0 zHxBrC3TTGaT^qyDc8S4y`;V;$#>8=*AyBOV;ZUgbSZ6(yN#tXMQ{S!+pB-ddWmUKBRnB18H`!Khe7)-J6%DZN5d_ss&nAZ4 zN%hhm35)L{7^F;zMG6-^VSdfZvdY=Q6~DkPCYF9bUP)>$=gxjgoI?h5^cKNbeq?eY z%^>;sfqoh`v#>Ku=LjwS!AFP+uwY^36)ToGHwG?~Tdu~e{doW*a7g?Qq>JbA7|M25 zi9n{vi~Qd!M^Nt_)Mn$nX9Vk(0jqI|(_akO)$$f9WBs?f|L{qJV^y}-!n<*)yWf;Z@vYHUZ8Qk^YVty&=cl1#{h;T9CPRLJP^W?;3;5HR#8V z^z&7!)G4+pP@AXe#-0i>wm#@u(bU*!i*R}v8_i%%L<;N5lywE4B|(T@wQm zsA~DOH_=$j>3BSGv$};f3=Vi_{F~6_G`*{wE@i@ZgXFT!2RN&aKtKV&9k3Ux!%0Gi zD8qL_88}#{9uTt#E^Sko(wRkw>Yr}t2ZF>TsKvH2_1Iv4IEs|A#m;vqgjVK-p*K}5l_AF7qTcO*!t2i#{P!FBw%MT0!feQ^hXD21#AFH7QF z!5C%L-e~q=WdP!9vo6*;qP74@-amjoR#{NGW1+IpuZ1!*@!uB(8Nq8Z(^uQ8RDh6E z1PbA7^v2WSIf}#zo8!CqVng?mVfo%K$u{w@2ic^>zmvv-B?Z#eG+q?c)!Pn2U>ydd z7M*vEBBUb$$3j7519&K4`LlJ~sNUo|K%DmgdzFfcQ2E({HW;HgnXY>z9B-J_Z6xHCzRaPaWiF9sxhThO=3J zVn7-=h<0SLz*Tv4=XKr%6COANzWcHHREw&79ZgQp88rB}v-0o$E(Koit>|kfE9*nQ{7I3JF)TQ6E{>LiQ1l z(69Lyh-Z@}=|Zn%?r%>vSh*Q2;Qo?n6?$#AD--yqL>KO<6&m;>;pe#|{6I+T4DXt6 zBqtFk!rZmL_Q)L$Fdw+Kl7th_N`&oat4&CPq!xJld#9Ol^72o}PRWw6=NRXI{ zb5-9<3)AKZSH3Hf;J;{@K=0 zxZk~VxU&ib@60y0V!zt*hYL2)cKc(!n61;WEi`yhMQ3Qr*4BxrQ zT1&~YUu}hex7lUj4@A5cbJK#eSzok#_uiV(AYS-N(LSY#!qq?x^cwi)2vQ}~b0z2p zE0eS8$>~iRvdwCs#3UXPo2kRu{O4atL9+3${~iQ*&LoCrQU_?Iypo##)TK7F7UIce z(xXK`+JL}G41N>dsCeQ>&+Kitqzux?M_WlHZ%)3^b%dbzTPCs3?wsiN9f=_k2HEhy z<+v18l5|f8@`i4E)U$Z{c-_dE_zDkdvzZ>N-ktcu=sUepD$Ct!y=@?Isd1SHy=|^l z(+*d!}auF(UkxJpaZdJA#pMi=uv$xa^CcZ z#8E@c?4W(*>s~8J>}l+2WEcK2d65JZLGMEVYpj2M`dpD-CcfokS~44+OhSVq%`%x4 z-BEoavQCkCnW9J>x`MYRg9}`m$M>KPBnLTOa|RgZgyVz;kh^{YvT!Np?&Dn%YcFwa zE>*%ly@Gy4=ZGR z!N=&UIdR+!L1#SW!B1H>vf3TWb3OWpJkDTKaZ@G^guBj^81~fKt>TApH~WTICPG&8 zvBzwKNO~BEPZ(^(WiraDMi|WXt#6dcT-S+deQ3%*OAdFdDESPx(Y!XiMhgW|W@VPU zW^-Poi)qV87SO>TEEObttq*m@`NCsVd2NHk5Tut7!{A=|t=^UC@ZG9#hALB1$sQe6 zOQMcexEpO}c0+kzR<_=3V{fy{q+z|*`wcaMKkrtR+$*wNj3~3#O34SVbE@(FX;An*1s>L5Uh5h9xJ5i>zr%+^o8Iy{%QR$XA%}NdP zhSBbqPj@QE{eCkD_JM=LFJ`{qx{PxnXH9$Nl=~G2>(xk0z=v$|4UbooeL|kE4`1en z8H|54tS&np9=r22jo$r{m>|5xXt}h-B>QKnJGZCclwp|MtMoq) zJQ-h?RbrbANx3~wFN>{`wz1lB=k0)*B)qq_l5pq!d1lP%JK4^y^?}8tdiTDVxsBGr zhxk`2LSIbvv<&DCvj)>z#U~BFd^Dm0FNbG`_%zaE)Pte}`Dh;TD${D7zCo&={ zb*eOPX*_x^aQuoRYWUqIGL0pM&&pCW)x|9}c0S~Fc8RUBNtl(}BX02i>{lH6wXc<% zDUZ)NqWv6(6aI$+-$L!hTHCwA|6UJ6ncu3t?hNytOfy>+R2Zrf@x4`%TMd zDO%5@r}rCCY7C*+tbN%1uuu`EHtzc!-{;)-iTmkAXI%{MAIU;{%*guJArMo z>=o!cq^=9Q?`2`e!kyPPP5r{WrNa`PfGA-_)0Z{Y5qrJJl*UT#=9143Xd+ z13lZBOLR(qXw>LY`ivvPsEyM8qx=0QqH|1lay;_A912dX?&`mqR~PJ4UE7dvDZ_G} z&k+<|h=D{dI$PZ}^eLg!y6s{Wz#p2XP420iophA$WOyEc?GBFAF06Kboc^n~j<(`( z<_@%K{@#D@ussUER(*tM9rTb9!Sbc|n=c+^NW#w_GTc}{~L&A{@w9Y*9=d7 z!4!=~B5~N~9(uymiqOZ5|Gh+L-aPW>e*<9_*TmY0Xs%+R+No+#v2QgIPb3r5XpXfI zpG6JTBx1(UrvLs*1nvytoF<14&c#GfL_4rD@P+vAocpWt-<#Aklo_FYCnyBZF^N?eoXK z-gG>P`1UbyXS}_%(&k%wiIrvBkN6Xa_m}H$8do8%J7oLM&ONQ3Wga~=oosn?EcjY0 zF*U>QlJUV%p8M&CsJ!K+4*?p1k?SK7YA;UU*VmU#s$ZHzD<+fso`*OkacXRyGJWJP zEB_{Q<&w%KXHDPyW40_nBjx7QleYGpO2on6RD@9CuI%FNIGM+KC-7Gu7ug;bUq?;9kLHWrLF-dxwtP*iFJy`AKZ~v6l7DH{{XlBPO(uq( zwqoA2{MdRnQ~ptQ!pZAvdP(571?n=_=l4TSCU(Bk1z|;bWJ`snE6gPfhBtVz{(R+A zob6l1{iN*c{6rh+yT5})X&+Cs*V~%TLf-|t-Q85kr*JUklThb7ev(O_C9CkB+Xy-r zN{`r4it63}`%hssV<|x6klt#OCOBK8(CoKoB%PeYi@)H&txDF9717tz=Z$nOyPlDk zg$+@{_^qCmhw^C!`B(XZQ~G-J9{g@@uLO1H4NC+g<_{}dXHDntY2|6^j0^w0|KOMJ z+n7nRE8h*#-<4Osi1O}xL{3xpJuDGbr@mF!M1HZ^TPRCmm z+-6rh4|#ollNqpWxFK43$iDpL$Qt`<7`B(i@HvART3o9+$3l4DrP>}%I;q|4x^(<5Ev(zkD zO0OB!kntR)c2<$jHq63%$lDQ4{JB`W%p=2YBQ^fzSM#++?&s>nI4v-%FAN;l34D4p zhG7@n9Y)PCD`UGk>O^DPmu06*PrUzW84rt}!T%+^(Msa{9IXL%l>OJ_iLvN~e}G_L zkp7w#oW2QuoOMZPlH5$W+=aJgr}tk!Me#ac%-3WKHoT+6T@v%6Hv*ofwQt%4Y>9B!*ZPHwcQ|$m^Qr7lU?_UEl=OWshTPOTdW|gvPS_h0-r@B-9 z9tPo@TV;G+Ukt;T6_B5wRcCs#IEt203)hzSi9r~TgmH8&l>c$C%_bpJP{i&wISS_k2# zVPG^b{u|(h_M|Kv3{dK3fUo~IKs~cyu=7qv>fm`9xN)xex!QQC7IY-sk^YAcFrmqJ zsmzz^!wb@7nqD*CB|oUaMOJ~|*9tH?tF+VaU?JpehNchSC~je{jsQU5(Zd$wo3VCe zo`wMIb~zI_JhK$+`@7lO*6<(c{uJB`(ic0pDmopOZ5!|Rm>B)D_krWFt+D$*I&GoD zSO(|hfttk0U@6}gv%e2;A_l~T)gCk0__DlR6nho6?!xYBtNU`F)s?FItNDEYa;eCe@D~=?KEFSWI@@9~EbpL}b3oZVdq?PBmVMf0bD~L7boO?WN))*(w_ZW#5#Lke_!oi@(zpdap+;{ayi1St$Lwt&(s+0_3-Zt z^-n54<2^lc`3gPf?X8k!Jr0VuH%o#%mzfsa8g^XIWUvQ4#oyrOZQJL$@%kOTzJyPN zdJ`33?fkv|<@e*)H>)5`?y5DCk2y701vP){i&cYoz7cB$@)Js3WYw6c3Xj!dK zUH(N}<}O8j`1@`DD?4k;r$xSW5IMS78LEITy?%+mnsYyz*MC|LcShXOzlw^8LGldT zdbNa9#pe4x^wR%9f7l-F9VG97((8Y&lrL;K3BTeM8AS3L1|MN=)x36M4ceu>^F|9n zJZ|{Aa3&4QZ;Yo?DogN-wSVklj(F}DgKEDPS)Pn)zH0^TgXIPPo%yOzHv{Q+3w}>v zBV#7%>~F1{#YSSeOmto5L|ln89wscRol`kxeSc%8HFWIpHr7tS$Z}^YBIeXkw6?w7 zj2=^0VS_2(^K+WD-j@Pj_$CK{Qbg5jf6gHTKKXg2U+sSny(WbDhL{`JlUpO_KWR@%i@$a@dh0enSdROIwEFJU z5mEkc$0@q0<_w*^hN=*$o;??%U)DYz5A#l%s$Sna=sA7*%B3c$CG+gP?MeJ7a|4md zuy|TZTlBwp&k|L^mP|a52xX2E&cYZqPzS&797H$u57YqJTrM0;r+WEHsH z2=Q01$@i)N8@LX#BAz`&v{qheezr1Msslh;aQb-W2D~<(mWSML8lwcF{<_c1x3(&2 z&e8OL7iB)5ta_{#zKnw6VX@g zFfSUrp}9#g4}f3!m5Trxe`TMF{~szlW?g`uzJU=6eeL&v@o$v|m*yqxF|P4TkpP6c zX){nQtD|)ws1?TT4yXgrF)Ygr%t{WlvHkzE3IwydM%Qh;R|PZp1>myIw=lvMz4t9a z_&?n=^tN`mFncYu?o{)0%ztcPs9H1!Zv|sJy9Lm;1yCztSP(GJHo;2_-1utdtDBby zh93&%v#1GPn*qR*$t@yO3d;1T-|Edq zuPh~h(``VB2ENU;Tlrm`9~Te%&PBa9B#frT3l5TmzWVw*=nXV`S{X7EqCuegu*Ea3 zq_u6;K>6%j9bfyMm-sU#Evd_`k2Ew47AC(ldi`KSbRl*hzfk`r6CfZYbK2r0{@y+Nth?A)ut|>iS4p<^2+`M##v(B>mGFLd-Vd^T9~h*?dcLwO z?3=l8!E(!m+_W>^Zg`M0)#1*8FUPfB9r_48iT`9UWn!s0YLL!-O)B=R^zA_2hXW45 zK9}a%`en;TiIWeuI?NsNpWbFCj_TYZ8Jo|U90drmby`bOu{;io$CQu0#s-2>gm zB4&hQM=vMK*we5CElIgCrHDs_mr+e4_~Lgr3w70=;{03efAEyBqw3$SE}UhoEAqSd=6XUx3>VcEmo80|(PG+Y? z-T6a>`}e!g28Pe(yY-h68r8*P)ABMHAl%;+ePK`Up*L2^CIyPq$qCsLs)^>I@R}nv z!ZS`zVkY)Nhw;Ak-hNy;4A+usv-fjZ!UNJSRjnu*0^<3*0-SH&nAl5n_58Z^C6rZhAvkClw$3tyGG z>HTCqrB9QjiOre%*P2TA@KKwW{FrlKz%-eT{eBNvCa_KRTLH@5+)BA63yu0|W>v8*1)lrrR>`6A zsYd^Gx_*o9xPF>3$Crbfer$>gBv*8~NS4kU0jEwfY-%577(2D@6mpO`wNi{t z*5J1Rdi~PUo%CsW1_<#l<6bVWVcP#=>no$`>Y+B^ySrXoio3hcf%luWW@gPF$T=snvn@MMaua=UF3_|`6`zAB-wc}ye=02?hV&R_ zd0K!QN>Y-QqI~dUuswZYL`7CWS7ff_?1Pu&n5M4)${?gffG+hK`RzyRU&a55l-3dv zs2t={;7=t4=(?AOA+AdO^EdkIz9W!YzLDpO;iL>_ScJ^CP(tEwc36^6u6 zx@u$>D3vElJUB3A;L0Hw2rZ=?5Y8v+&MKB(j+Vv~fy9`-0UC6WoRZ!V6X09+R7IhH zsi2^gH$gGIHA$K&0zOg_`(WGfhzRgCK#2fF!9dX%=~;B+d|cpTHXKtCE5K+l!*nVH ztc+_4TUne5`A(e>(RA#4zaRVddosiKg`B)%^jJxMXT(PQi-6exeM}z>aPH-_dGp|x z8q}(PBGohn^GtDhX5@zF-=VX)#2H;0ty>1MfNy!kNu12A62sxAN#l<$De7n>3BCws zNf?8TR4MIc_3^2erEmyGT+4i(q;O-W4BMN0_*i4nn9&f(J$n>r|aY|$Q7 zSUTKTXcZk%{x@^wVF;y6RNDMuj5(B=>(siwW6+u#Eo1&@ljGn{!AUO>7M7?qBDOhk z*O*ORI1{b`-@Bx9B%^bN(at*5F&1Mztcrr49~XmqpfwJ^BQgRzW6r*2`4O|(_SE|5 zZ+w~bjP{MoksFJa)F>v=5I-+Z0}js9+|$TFKMt#o#nBErd}rJH%^El)j3gbD?jHgo zFbc&n8aSp7xU1QpmlO*+&HNR~C^+Kk%IhZ^1+m`?B$lbavSnzNCj6lQBX0rTAtG8j znaC%F{`^@taV!XVAW9%WYxxIilCw`NZ-VS|qf-lU^NVAkXppOUpzj{mbj`&s`-URrin!!0&~ z0ui9Ow`|dI@T4&Gl$6t=FvRI;c)>03MhWuzKS)ym)l2Etk%`|hS|?N6X|{9t!73u) zFXvghO(#ha-4)CL$XC|QzBOE0wT~r5+fu^lTrLr7W3%@u!|nWg8tgu?2^n)r(ujjU+RJWzA0e@ zdR4K+NWdF#_uz_;kQ8zXh|w?p{VO3cl3T~hC-L*@mILL9acv~cxD5ADt^~7R~5AhcxJ3@ z1G5YMNEepNI%y*bbrebVEmL)Ox_(QlxATuh>PMeem`$~aPLwiDx89G{ZTnu@u5Kk* zRpaEYUJEEWk@L+AZne!;EFKYqBrN1hIEfa&r1Lx-Sm`F>Y4RPZ3cb*KXw}too;Wpo zfIfSk-N%`fc_~b!j$rqhfot^8U9Ps2j`mYilb%4H7X%ett>2Ux8Zg7#mSfwt%{*BK zA%#~@*mn(*3-w0C$fy?EW81EhLPeg-yLF=R2yO--4x7op``L@tuk z63!C~Qm|ca1e^6$L7cS?i?x4MRl?)-IM$&&SI>&P8!t2}C>zg&2L__xyU&!446yRL zj^>VnX^yu1>{`zhLsxMvl1nwjIF^uwX>pp~X{57b_BnQ8DJYu+uoXX=_Vq6EbU!Gt z<18XhsoW`8%_mvf|LWt_jc;Kd^O!J~AonVXuvZ#suBOCi|5~#ZMMSGBLD%wyvPS1TemzX=cP_hVbpBe$6wN(^cZk*3xRCl8?z zn1MHM)b!Df=Am;RajN2RelVJal2jQ|ga>~b!OyRw5LMqjwRH*4SI=MtjZu$T?LFaj-z+smS?Iu3*HLkd-;m# zv#@7{dYNF~vajolmk?l`Sp~OJ%JxXxi;OHvygNDY*ERTAz7mrI*zvgxS|$?Hw-q9M57@=BeE5DTg-ph+%C*B(>cAOB2X{LY#9C+3X$?hkq;Eez^jur zoH&lu;iC`wc3-t@c6ujqo|+KubPE2%+uWyIsn zn1k=*GR;(VEdIbrnKe4uRIj&cFj*6?#5~mSb(_v-xn`dMC0ek6l;wV^>gSa>%nqR97^nc9;wuldwDo4QOCn+0jgG{%spp0{I&cLSz z2XNM%E@+XIJQo%6Ty>`8XD*9Mp4OX%7gX{mjiv8yCOmJ={PI0x2eM1!b;sPAPFfTL zMRrv3Yu0P{+{xo;wJ3k3Uc_|7n<3&5yRZ$8@@SE6@)St;Eu12j&54VfqXi?7=71d4 zi$O%~4-E|XaWvyFCV8g1afy-YE`_aSgBvxm-&u!L{_LYzESG}vH3Xh!_?11kvQ%az zxf<<{mMR?bF8`K1d}LG^=py98&X7k;V5BL(Wuna7f*R-$`!z!fM%NCLggT-2tZseR zMN=+qwsrr3s-Cx2gYganor@V*-9K;U&#k+;|FEfUoC$_FfI}8Bn7jXA-y)6O=2C*3 zJ);v0>0iX0MR<@(Zbp!)0yTNKLg0U|3<*n#r zVkcD4m)57qAX!Ps1Z&n_l2z4e^Yi?r}b>p1=85B+j~l+y>$q#gSTw$oaxRD8J)x48xCWhU!_# zGAmd^3u~Z+eQ2-CNqyf9ZadAWy6#FUbkcZ^?&!txDSE?LU?Obs<7v%8`J__cH$o{} z1)x6EH!L~$EJ~tT-GDS^>GVg8Aj5neM44Ts7)_OQ_MGG?TUN|k(onQUyK=HirTwMV zfQkY)aL=H+(Qfll3_gq|Pee zqhJ-K&tqPoBtwT$k8fjE{3BIyX-)i%uR1v0N@*nNsg5uUK2r@gUGa{QN)1|I*ASCg z{i1cPS=>S^?0S-R$t~-e2UsSRxVa$-i&h{4<5JngML2V!DDAcc2Zo-5MM)8Gy_gu{ zaJjS^7qx%}6@}YsY0FTuOG;M?rM)L?nea||TOz+_4Z(%Gi>_VK996hTbUIFgfz@V()@(ZRII{y}0H;nNACQNCmn%{M}&ZC5M3RWsK$CYsC4%EVD8=arDY=7rL^&Tm{W zeNB#O%S)+Yy`}=RD@}__sH;&O_!q3iERFyQ&n49}$ z*djF_ly5t-GrdZc z6U{6*3{Z!U_oAC63yoT0GInxb`;vnS0e7z;u=Oi!Ca92vR)0{wElx5Pgopra1k>w| z^0mk*nKdOh#Z?d~@T+wkmz{nDZcZ!#5YYXK0@eTa2}BgItG{kYFm))bgds6Ku%{N_ z3NI8tr?Suh1jC#!Ix1G}5Eh?>OG`m&8YC${qMy|&dOfg2GN6gTg;-=p{@GLn@>)|) z4Xy^YhDBkZIjt60)NuWvF!1=n!XgWl?~pILJyKm07oU~(xA3UC2I$cX5yhDF3?5zI zf(Sz?`2nnTIDCLCf1IRbPLXVZGDr?(&oL_e5LU6RQB+dZ%rx5vZ#E5kxywG;lq?kmNENHMLcRd%))ZRTBy7X1qCS9-ls$Wkb_hs1%!3;YL^2D(2DFnQ2U3kV-)JRh0D)dX<k?C zh-aScoOg|jx!RkFZ=U^rqi6FC+}9$7lvh$FIVTAo_OEqr+r*v74nglfkcV$%n^en+WFRNd}Rn%AMB{*uFG`BkB9Rv47 zTj<(ha5?$kHLlJS>G>0373qX~&Q=Qc0B*v$f3#c^h}7JSB2%e@IM%Gsu*^1URB=f> zzr>-$@NbaXuokBN5xz*z51Xn+J&SzI%a8qwjp3ls%0NkDI#*cAYx28P7k;gy5|K*U+(t=?NLZGu<+UZcZOn0O0+^MGoUWZtSF zoB?bFfAaRIxWn%kt#d3xEpEH%;>uc)_|7fhC<)WqGy1HdU# zVQ-DLfn;@UjURPqc8p&ufvC2r2WUa@%6QAaQ<&ytYv?(7`+rmJ5VrW%&9b5}U}z{_OE_l0xiXbB)to;zX%_5pfAx~qousTQ$yoU^+`T8JKcFNZ{KBhUuZ{SmISZN zx!;{47q4t9Xrz8RH*+BeuM8LgC3N+;IpWPEuOyk-L@gzvJ@m4JA6_|7VWj}5CvKCw zV@i>YSWPUlM9eL^v7R2a04I?rKfwCpTLlBlA%{qmn2SWGR7pKQiajPxTMY&`GkH;? zvL^@juA4j-hmXk^l15gdx)Uym5H0x-0N%Yqa(-Yc)(GK3=r8@>zh?;;;x5SQ&DPwHAzZiM6Jy@TI7@ z<&T~uA1fOdBmN}R&0hpo<$Q9a(7z$72mknc-AzOEhkGbMdad<-;SFRp1=7j(!w@LR z1G;+Qji97H4ZlS9TR1d^O$~}|gP^@g^ty5U6Si&&vwk5*3HQ^|#N*Hs#1-H4*8}l!NA5B{cU+{GJwh5lr!ONSVf0Im~ zry1>Xgo22s^C}+^6i&3zCdDqeZkzf+fpsTc0*nq@Jy# zc))drBZF)D38mwLcY1=M`h)rphFtdyN60b7VMDiz3OA!nc7*u;L}!^{E`Xg2KT-h3 zrE=z?n94Yf4S^EVC;Z}dfT7bw!AaPk8h~do{TNerOt%q>i$hv7oxNd29YdHOw~!+w zl-#||T|uu^A~k)uZAK1JFJ-u| zN2%Vu8_ouW(gxDM8jEF+MxSFPWS28Lep&LJK!g$e_8>o2l;ec3*uXi){KZ{0uS5fR zkx^^~`>x1&BCVa`0|^}Smi;|efFMJTShV_O7a@kq*}UP@PAE4bujCPN*R6|;lBZ41 zo`kKPShRVTA~2%Xsvn9+r?|&(8&oPEzKjh>Fp4~s=6gv4H@1@Z4H2Ex4~R2lu6R*R z_gd3DfPYms-SM0Ulo_a&M#Ynxn;58CM#kgKGjvy1$Hos?qLs1bg5s*-^@bd$WQnNF z=4729ANI+py)1||M{+=f&y>_$YAX3$M!#^+kGnOZiyy;96CBBQ>c$jQhtl^VPVKHN z>8(~(5l!t%v5I1Th>0Z*%WcLmKB)J(o%Td*%Cx8-=MKrYEve?YR&{SIcZ6XYM8uAyPD>z&@Z22$LC?XDAsw-Wg*(-_} zG*AsrAu55WlIIpCwR3Rc!0F^Nsg5#b)f5W?b4r*r){f4~P9NkC;>T3ejLB}z zej1i((^LcCj@I*{cO+vJJ4q69$cT%Dm-r5OA)ctSOp;-n^-o}@&sQr^XAIe)6gp)`J-66tdi zXM*X0Ahp0zyQhJrlL_Us>9&Zx%k$VR_$`dyqMT*uoeHt1Tvd)eWZWqPf}**hY_}yI zyxc_i>ko0s#xB^ubrad=7kBaugO(_ULd(93o$!#hd_1}`s~9~ZMhIH{i6aUu{hiN! zyE#1zdNQg`zyb#?|K>m1lDv6ek+3-aOpSIcZ;+>!L)ehVu85OsLXI=AVb8q9D6nJQ zX4>FtiiV}~?YFPSuyiy(LArf@B4=NNuVH12YW@-c6qAUNU|(VcWG{|UiSxi=vd|^7 z2;n`{-nD)V_cS)tDeMq6Hy!z_61a^+HSKC=h>yD)sjjQ3+w6I;ZFxT`aPK=TG6%~8 z5nr- zI8u9C@yCCv+W@YU(c-LWU*xVjUHWW{d+vJKzI=WjA;3qCwy2)i z7|)I)R~=hCqQXx?Z8B0LQ5G~<@F3|UuR&LZ+!L`a6Ybl4zmn+p&mEuO zj2&0P?*0~?yHfXvr^(C^Ikbhm>9=RQ@9Yocs@=vlJ~t>Be$4_QI>g5_7;S8c=B^a; zWyBM|IMqsXB`E|-QzQ&i{Ms2svrQhQ=oY>jy!I3+wE!;i(G@mggB(^=Xu47rrTy|e zMol<2NW4K4j)dzaBE!0-fVjCeYMA`(UOrza>uGMD&r?l&2TPCCA&OQ3^_fI^pUGnR zh~@9>{i6L{Sb(v?#o0+PQPj~6UW)YRQ~IffvJjEJ@nV{fPa0=7;df10)19)agi@Z> zbMg&8Im0;A#S#ngfCE`p9VQTL9hKmgzLzxaLz63(nV;DEUhYv~Z7SVxxu}%1#vvBZ zKz&4rPdo1@AN}QmQG@cYdT9$M`s&i)v)K z(FwR_)|SRos$4^fJ6%t;mAY2?%90IHFzKT3vD~Bt-SF%B?IN{&oNs;{McH5}?Z;6b z%R1?pK18IH(YgaiOj2CiHGo}>7Te3C7G2@BMg0%5lM^0YB!1P|y~K@_OC(>} zShUC|G<1&r48sBUgGF&qCx-dKq$Vzoz+ZHdn@ zF}p|Y?=3famxpgw{g030&E>j;4PT5bBl4P5NQN|$G~f^@RR+fb8HNBvcZmO(npmaQ z)Y-b0nD=F{QV2KFylHQ?^~uF*FL;v3Krc%P{%NEI#Hr^lF@YmMd@g+B8`sqK{ic6& z$|8xROD-^hd&K#NPU$K!P6ymQ|;_VYm>{zB_Uq*@qA$%i;sj}8&XK7#Ek(~ zFDv_-&84ud+&;A3mRmxzljts9%L3 z;p)@VCHt!X4cB4m%aQ6DE8yJoGtIZ}vq~95N>XYlnWa7g{UdJMwV-k1*a+XmxNSJh zIKvr$A7yUYiPQOM&>$XZv{DoAc2mqZJ@p=bTGr4!Z8!pZx$C%mxPV8Nd69x^QmbJj zLvApb<1+TVkK@Yu#QNLGrL)s1oq# zHA|bO+}Aw@E09q4--GHv8-(m0)-gsc(UJD7n+eOFJ(f2siQ+FxhW8f@e{OmQt=gm! z9Oq9KZeKAj1@-%of0hPqv+=}D9g2<)Mk>*LiZMc(7>?Ey`mE!aPQF3xv789hO&zQQ zmZyq|$Iw$qdU40lT5&klSew`5%WGMl!*b22{@d1br26f z@I2i5@0KL3NhU;2;eK*A{_%+0qD@ap8?eW?(OMqGh z@+~dT^TWhxBDy_ELpyiXC1QR)KhMuG-JqA_s^pS87j6p`M#*2BO5?V_*=p_iW% zm14T15Eb*{#znok>hdvt-lc3%_pWHY4eh+?t3#&`1p_H{5U@`si&Ly#5B&~y9ip|l zO%Br)*mB;3!k*%hK;@+KZ<)fYEZ^V6X#g)T+j;SZaG&xxn&&QejN;dF-!O3(55@Z$ zMZhg3I;rKiS}Nj~Mh=2i{B|9jbeF`#UgEydq5!jL5@0rcfJ-0Gqc}8EAGdVEeV#ac zk1V!bZh4_Kyv06hFu?xnWcnnq}{i@YvU%e>V5%pnfu>&$5}Q=ICYv_L5gdXzZ`he)Wvk#-)rbn>o+ zYV(<{2zjcEg>WGsguO?oFMBXd^Q%Y`tuURX3E3mZ_WF>Ib4rXv0h`iZmXxHIqgyc4 z?7EhBgQVrl#*rx}A-$)(dG{@If$(N30GwjwC2o9FN~jh?VpvA}N-ciPmTh)gJ7B?E z^4J&N>*o>8pOCKvU$f~MkaGD<^uT^@S!<&zTO|`IPmPsF>aZxNlWVyVdQ2-10eqoe zynk_ixUSDH0``MSLw-=D&4}arTw!3?*rZvBn@&(Q*&H<~=TSt8tT?w>*`aI7>dG|5 zkX>0>NkD60C}5~5BU4p8Oja^1CX_LV zHgC6W2Np2Gik*TQw9DDeLp;~%N8Tq$7Y*jJXY>;1bemqY+kROx^G>%CyfoDpG-dBA(r%BY$g=J*9%!vs6#Dj1qb0B`AIFF*Lb%Z6hh_X{^FN zf@KtXY&c;f=9DYbGX+Bxj}XJh_x~FnH6?aE-JrO0~@k{}k@ONYwE1aYrPyxR?#@5Bdt#(l4D=?TKRTz!EP$84cOsJOU-I5=c6~Xm7Arv2 zoXvVV`SN#G;&#c2;2PR`y(e9)(!8Pc;ghoWRTHP z%KttvJTrbZ5ccWiLEEspy_S9I`0zLnhbUn`_?sg=%DWP}dFaV7rRu9e*hS=nL&^|! z5(TKD*QGF11r{?(rtH@b3mv1|PULx9y3WI~U|c1vfW4RBu$0gUSfHIS27+1gUlF(G zAHEq(K(Ny?pqk}>a11)Aq6}k@N7mA`UM*!>=zM$vCaOPrl7h8JIbO75)_3$l*!|!QnFl zP$aB`;dHghU_;<24btyI>7CrI!+nj-?ZflI$vyQfsZDbamwJtdp3;hU>cXk!B(&({ z#~~Uf@_D&HqpGYq6E!iZvF@t;m=bBB70%8|m`Bo2h!lU)2z7#InkJ1Ac2`&91Ov`= zHcFZH?~yS*>!?zNuPP~j@tebwrq^+%TDtU$3@pdzOaqAXg^fS_OnvdA&YX{R z{(hC}5Im~W0A;^;xw^b}Lk#eIo-{1bED{erIo*Q#^q8({Dz#qMc2%^%Uwfk&k=HF0 z{-i+tU7{5@AoQw>4`G|oH5SB%N3S)GYw-Rq;#;<#hUU8}u7^);MbAX&r+!D|cikt2 zLt9Ykzq^}@o#SuLxQ^Z*q7x44U+n=i`Bfs@G zgGGN@(uI87KI|Lj{iC6Y%tf1K>9e*GJ!FYYG}|wB#T3Pnu%*aph^b&FKj-n;e`GX1QYwybq3RQQVjQg18MFB(py**4C zmpc~I8w{v6@JO;czBI-ZxOOF41&ss&d91|i+pb|Wk;6@U4~Q${u46oh)2~0MLIRHl zdN&t2H*N^-J17r)t?;Q>UGsO|=(~~@8T@ivm-h>XMfR=D?R5@O&3A)&Vifru_w)$FxWmpM|;twiNMAp^RLd&mxa0_bO`ZstbA9)Tz87ZhP|F!8f zYi2lsE|>-FLO!NgfK2-&@aP+v@62n!U_rQVTOj|%541IRt-2`k);D=uQw#sMQrZv37V&Q>>sCoKIMff63Fz;D z-HlFUZ`IfGnNfayd&ePQX7twNZ^fz_$Edd=-wFlIX377{C~0=^U&bbWGo=5?7*Nfk z$dC2LOcG-YxBt4yreK!(KRikXU(39*{hhg1NsHtgWz~%`W^iv6ohGfaT8v75A3ibpHM#hky)~~4_agCDOO0q0;}ZKeijYg9%kEtQ`uAfkx{+>= zo^w`z@tF@Ff#Rm8Uy4D7+Qx_TcPM1aGBZ4sY!B*2JFO*5>wPVrv&sxFG}FuX~%*VKaJjqJ!pO*4-F zGyz;tgYi}yaIWzX> zhFlN%Pm7GfTTs25(-wYkxQ0 zm+k^b55c9m;wGJ~>?78ArK5a?xoO|}&}`|n*TH$+#$%&MlxJ`~n{B##V8ZrCp`V;N7#Q-;;l?K3h(_z2R_8p{(L zocln1@7#i#VAKxZxL?Pzw>N|?ICiW^In%~FCTSmsPr<*#8>(kQB(@_XPe7+i)p1u8 zwuj&bn0q>LlbO$A+S}~hXiVZM>cxUop{{9tA?{hmR|vMtoe56tuYv>K^ithIktJzr zO8&6G<2DV8dH(*O2?3DB?o{3AbwL-bG=j~bckUK_!GV?V%tHskIb; zECC$y?X{idR-lYD~o5(1Zq}zLwdPMhh4e(FUX9;?dGxX{hf_~A)JZ}^8_t< z7o}TWvppmrc9^YMF>?A4ik6)mWGeaL-{l`fil8S0&jH!Vim~Ldt9Lz`&77$zPM7pBF>0XQ7UoWEcnQq z9s{UW*pGd5F4%)vm_dWLn)G9unc8T$82L+qoUVrZ@28_>Hp6+h@B7Ox z!o$5=P>#eWImms@NXhyvsEi_?cMP(# zBX=j80nar4@{n)^nBQcND-dERjXB7QJ}r$8!L0~_F5&_c(CwX}7$dVaL8{p@_{E*T z@KiVo9;`$C5Ojuc@5-VCXsNMv;>*vTn-(E+2()_R-*=?O25x||pVd(UMtHW9ulf`` z{Qh*4ZSv)7*r%)De}TXyxdyw;V~7t$ll@6JS7p10fu1wN;o_hQ!@l`43JIQZVNt;_ z(>euwc5B+&necs~TS@Lqux#5Fm4l8X5GSogR-P)5zC?G!(~LMXZxUx?e5Rr0B@`{E zpl)@|5eLpJdl8HUCWDQUS|5MU|JFgXv*iel~Sjn|6P8I_&fz_k9(ghHFGnN zk&MCazsn3R+A^DDCBO1Ou-a=IoOgFf;dQ?;lgx@0EVz#?0^2C;n~B%>6-gFAE9A<1 z3@CIp6!H~1+Rk99D^M$}0zdc+_rH>z=~sYg7}Oj&M6#WcQ;)+}2&gwjSGvpDr&DrB z{-~)StI(0yaFY@2RDV#|GqKW#2@BTbk(x3{YV%GtJZxd>3yNYu)wKtE;|g`RtXL01 z+hK5j*Dyq6?JmEbfKG&+IE7&PlTpSS5oN);`e{(Mk<%|j3(3`-6*2837Siub9O>DA z6z|sy{%(g?qJU!Nt_W<$H6gzvvUz5&ixnnwVQi@?{x0ip+!m}}{YY-Di5l3SwV&le z!VFDWp>=rPfBAMaz&c~>fL7-US}a0d;;yQnXkmbK^lSGVRW{Z&mGdo6rZy)nIVwQ5 zsAE9$T~so&lK*sw9tySdq2!7ZvNo;4nB%8e9tGsJ+2!Yr8Qu4XFeFo`Tx$6JwZ8CO z_Vh8{i|PWiWRUZSksZ2QaMQYWXYU~@Qn7s6Ov-8U|FIee>To$^%IL*p0WsW*hN2dt ziN&FF1ygww2HfY|S`B2!2tSEg)jYoHE@@AxneZzv0rRsB@uvUWUW~W*7a^I;{JDLjMMX^XER|HA5_!__gwAF*o z+bVQy_2bz0WohUvYda-$8|r0bW+@*_#%)?>vP3-ilhigid&a3C!}|Lb2_%6ji#f|L zA>M9Dg#xA&ZGD;ysp~pNCZTTpH0A4_eJTr?bfABVc4`$ts(;&7&Ze4T z&J-h>N9N>mCh{e~zsfKGhbWS^2k}MP_&8K?nb=Qak`j|1ie#^t(Je`5^F8##fM)?l zOk{W?&fLD+ZsK*H?uV(;LVG;0?p$>Z1$-Q8MN6aupI=OTnB63$eQIQuRWKHy@H}x4y;hq##RFJ>Yc(1ZEdOBkK9&P%gd^4DLS$u;a=}IOxaZ8M)=A;j_j}@U zAi&1MG^_KcH0_HSSuV+MU;(rO1{}#CX_g1f?NN#||H+r6mb{ki-JLG72mAvmynd!} zy#m&uLZClTb7q*Tm>h&*6r`DUvWW$jpD`s2cx_42jDrl)@eA$5cx?>$TK3c7PJ3nN zwE#l~zy?1L0B~5zM}YmBl}V%waWJ(2>(?&o!z_=PS0e{N3ozhz$(e#uulS1}0x z9P`FwtHdh>um%`#;DZJagN;^sC1;5o7f?(K)$;CBX0x>v=7eq{(ra;Fw7~*0Kxqn- zWatcPvk(dCbkHnrh4D~$y!{c9?yHRt2qT{t?I)AjhqU*upJ1*BOawJR}3# z@e`%EBU6(N@SH!Eh7tY|+tvIG1CRztv+|Ou1=lz7%Q>pAGv2zMf&`5AOncaXYJ}Co zs4i;azbc8JTn)J3KX(0xxezJ)+Wm*Q0ACNoRMmiy{D(POW#*xnK48C?{`X}D`63J2 zNpB6=*NU1I0keM?FfzNA*{bZT-a<4fny~^ien3{sg*9$(U)xzssky$;RlW+tP<2rd ze*x&$@Z6iq02wtO{XF~E=q zS}cEeNk+&KA0)3q>#KkPwUF!xk`kv^17pBC1WT%*<*zc{l#*_siFMMS5bKx##*lz! zQ-cDSZD2OH%qXJ!JDXLh@Rs5}?q9|}HT3>ZchcF)FkpzCzNtVd?QcZNUC35h`ozjF zXD~FC+A1fz1gOO}5m5slZXmsC+Cw zjCta~O5wl70?|fDw6!s}q7a^$mYD@i3{o>ju6srRTPTr{0k7=Or|%tW@`Us@h$pGJ z75VvZrJZB+mA@*y9CoGy1{&jg3kDc4nL-9? zl6H%A%-Otwcox=a2MpM_fDKC?i`mPQ^Xe9xTz1GgkhtUCf6T^Tom3%OyXEp?9P(g_ zrHeK`0A$x+*7eoAHU(eo$+CSA>egnV{baE^He761g|4On1??eO^$tCP-Ga!CovAnuj^1`Me7 zXt6S8wDs^PQXT=Yf|NACo*l33bpU*X3waSQNhw0^r+YF2W>9}FcyewBRX$&ijSsd0 zSx>UxFofWBjuzy#F_^*f7e#?%>2Ka%EpJ5Roda+#71eWgbtNBuq|S8%{~M0L-m}y4 z?dJ=N>b#~7H#Hj!{M3q$T z8^IJkH}2#B!EHaI!d`KZqE{-~63&H|fpOskeAiDVAm*q=$hD%e-2i4Zs_xTh4hc6Pi+yKufD54&<6 znahfpU845SRW&K@J8r1Ok{w8y{x(>^wyPf7SnM;RZlBkT*DE;jlfd zWRP$~{ERR2swyP_|DNq$m%wiOI%>lfL{9bHN*A*X#Wg+~_U@MSG9&`>ryjzPUKSFI4cAzzf>?FgMFEkdj!+VX=Ur=aF&iQDmLH z6B=cu;}M+9<*;gRJLlNcOsKFNANfq6eFQbiRcefzgz>8dt{Izz8x;-7AW>*KN!wd# zQ@RTXaDXK?pXNUg=E{AoG+FIX1ao?tkDVeGk#qz&MY155`^+&dJ^)&10iXpTkAf!~ zca!^+MgYvYYADOZc#oOr5LYNfd-ZO&3kVk+W`fo8kcEqeV%nx@#*~UPVfW9^N`m+` zrfhqsS-XGj$10=aX?v+%fK;w=0~a_~iIiu}kPs>VRFcMO7W(*qz1;i3X6ReA@r>>SVK#{03oNjN5paogud z=3Lk%V+uXMs^!TuQAcCbVh;?sS7pC51qgU-gjLElqUjB-_Zp78lC;AFf5L#(LwmT* z;)DAYKT)%FBvnBzXuBy820u|(kN^(BFx}Eg7VA$uaICa=0uTTyNN@9D*fa721CJ~5 zab#;tFNm8XB{upDZHI++yLjsn=acOCavmmi=kw>w)H?nzl8(Oq59md@3uM1u;=kSh zv5I}Jw4yT?dO$g*zP_jSD4NA=v8gBz^Mbi35sT5UA5Ifi= zRJWnWH1%gt=MWs1K$`B$J1Lviw%^<0VVT!Lq$excoqnvyKey49P@XYCO%YGZ)kLH~n?Ta6QPD;gX^ zBfZ|3u<`O|?#m-(7b-fJsM@-dWCS%y&eqzxdbK0iMR}muP3=*{%y>^u#Q-n;(r9{+ z=gRpG=@Km=0fEL}@+-xb6#Q&UK%|jXOJWn<%Zy%9sawQL*U`Ss#5`8cke6t>h|R>; zz9G)t06Q`oS0BfJO?p^`Zq`*pA^tAo;JWVt4^{f6!}Os`HKZIWAlS|WZXvvyODpzBS{HXt0YrA9uPlpGcp9q}_8JRHElUUmiZqQvTMP1!4N^%SEsmw1) zsep8q=%0w0X_pUFIR*LJ3kE5?588LRsV9&NNK_au7{?f_7Q4RMaJWqmzMOYU;Oetf z-o?zic-6}*(s9ezM$#*uZygXG^+Q=Iy__Gz0$gFa8a#_cmSI?1V!dj6P5){*Jyw29 z*zQow6*=l7okrbekf`Kgd(L(Dcm}z+WZi-c1QZW~B}n^0NIRjw{Y>^3ZGEURgjJ$u zM(+fS-R>E(MZR62qPco_TG4=t8}Ias1dd>OXhVeT5D0U#F6gYdu?r(eXVqfmgjv)M z7}onVC+S=%_RmN+$P4r#xxV(a$r+aESbu?4L8UpP9*hNlGwNrYUIq()s0~(>8##E$aMW21X6G z1-FW8s1Gg=^IDzMt|ju;Nqml4W1l|(XnI3Thvp8w1w(4=SkO}Pz`}&7Ml*IU6IrmJ z9ld~NadJ0@OH#B|TMbjAs&CxsUUc^f_UBj|KivKCDuu_tx{g&OYOGt^;Fg9be{b0%t2p5MW(D)%C@1DQTvo~z&`Y| zB1kmzdn_C9wY`Vvj7rd89D&nV8be<>=a6Q)&aFl5mUl4 zbxL_YCBAqnzu79W7bFHO^BE+_NV!ZN*ofNro%g;HJv-2yiB{GgV3jVaNKYNf=lzz138V^G2} z?GJ({DC?E-2Jj5n@REaSnTZyq{avxle?lqe8p@wQ+0-&vdvm<(Y<}Cxm?q69OxgdciJf{kwd(LB7kNQq^+IfXf;)D};cx*zd#O2z#1medY4oqux5 zTcPdn(>d*bmgh+4+#Da>gr|(e+l+S;2r_xs4e|DppJ9&QSy~T z(`e++PKwJPl16p!Ch#^|5v*|65a7oTNuyVQe`rV=Io}ifRS4xXhNRJspPiKa@{lwt zJmjRf`9spE;=Kg^7REoMj~!P$%WB^fmD-~no<~0&(&tg|Y_nDhZ9ac9p4$IvOv=RwV;08S7kG8h@Xc&AV;90d75p#xRUUb%7{8I0 zFfLN!sIGJ-5U>1-!wmUl>U304?18K_nyHG{D+K#=*gEDK*gEN&G}`g2liH-9_~)wk zD>F}PqjBwb5jF1&%}@JHH0R(x1clKgg^9lzn|0S@z9gf-o zR8!r;94GMeomb`LmJIXe6kDn`{t&9NE@cPtF#ImVFbL`mM`1Kc;SChVXo3E~x)MLO zW@AcfIXbA2$Umep6fDmA!zsnGTPX__H~gVpuGfAIHeG)7kK>tacsa^+!2V;zj{FB5 zS?~us;vxz6`%oHfO6laHR-@dCy8$JfI_%r4qWmqn~M@Hm&}1nUSV?`$Mng`%dD@q9+c2wE}a?WqE=%J?mCpvea1b661vZ&w^177RxU@Pj4>Fg#;`uS zNk1d9_#n1hw2Kl)ca=gR3S+b|GulN7UYf*faZ0>}CiADQpeb`vC70SXgR$K7D3=DH zR7#I?VH^r0={YXcpfJWY#zl8Q>On5L$GEA2(Vd#RD6!l{W4V;aB{$v6rD-S?(0yFk z*xV&+f(bT$LScOn^uYT6R^<3(UnlYDRx=?IVq7FozSIu{RSFcIe3!+zh#!8p$GC_e ze!dUF9)9ycf`{LIEnM>OYy2Sa@JoJoNE#)_x+wXhA!(Eq3y&08&h;Y8Z)8mZ6&|#2 z#i}glhhegQ0|{h37N@f6J`9u9B3@-(5g(9cuM=5iM%G=Rf~*DcDyz0GOx8Y-K-Tjo zsjTde!eq5hP+3C~L>9t-)kh-hHpoJZzaL0hSSX5LbccCYf&tX{B|+8jeH^BSGtnh$ zi+?1k8ukrgYRpYiHNH&}HL!@u+#qUNbYSdITis@)dTK<@+Q| z)*`#g`q>_kRsD&`;urEEt4m9jmETfjRec&J>sgRM)`(UrE90{;S=(BvtoE%%7R+1m znaG-ee!;w1Kr*UYQ4s8`ga&}GJ3tzBlB!5r+Hg!vPO!(rwCxtWT>E8Hx% zTN}(8Ft1b;UcFAn8m6#~i+C9`vrT|M2BlUhp9g;!YAYz=0Bw@hP|nZ83^gEG9pIuA zHB|NIVTM|pqK0bGRtyDMjh{$ej1q)0B6&7+UPq8fUr%MUhR3jpF&GGz&cNL z5kH2cn18Byo=90AC|bbdbrm;z_EZ*peOqgZfGT!XjaVokU z9lm`Swkpcw9a8JLYPwRD5V1>Zxl31{hAt7UWz{C2G}@GEQ5s`PhfXuy6I$(Fpx`D` zNX+vT`g7<#=ILzjqQv~1qM{sH#}x&r$SL#{>x#wr~aELA;$mR)BJJS31b0MWDp33t`{W8r609-DAw>#?vvc;K9x< z;#K_8FJ?=Jf2ap%|3f`EdrO!HPX!4)c>Eda!L?h$Jh)A&dhpOx3?;D#(^ir7iSghE zKm`w8ooab7Q#zG$OK2$hEr<;9B3sGu{w?>b>zU{mP?d_ptE!9|VWDajg||r=HG@%@ zV~vX9_dhYmww$R^rgd6CL-0@CCVlx1eSt~)r$IEBWGd=spul8onlf1$#-u_i`K?Sa z`2kG+)bS-&B$iwsc2bCAmL!1&j^=x*jKMN0HB`c}WSjc&DL`yx* zmip#w7jKz7&9-QNj#*W4#sqM z!UH4v^szB#<>ZG9!)Vn2?|csW9zs|{uShb&Q`DoT)#DbbIvn)@P_f7Z z9neZ_P^b_CJ_UPxv4@7H(FCoXs}R`7!M{~j8a3P)!+85BjZ0PUotn}}I z{>10irFnUlkt*7XVkcm%*KBze4svwCTyhb;#@)OTMeM*x@op5c=_1AHC}P(|il28e z0Y=Iim$i`Sb5XUew8BAlr;8GOZko@f|3eAWvYKb*ole*P(05(kn{GSXopAS;+H&u4 z&>K$e{!;G#9u(1iDJHs12c@hX)Iy? zk8`U_m8Tq|YbGwPv0eOM2aR;O$a;}?4SR8|)dMM0LYXe##r=nR$9U*%_J5yS{eL~T ze9`Tau#u&FoCU?^nrF?%`!^P30#Re4h ze2G40vz^r4xQw(=m(fC^k2csI9_yeRx~t18Q2vGo7qF?Swn~rOh|a zL0h^9`OlZ!omM?ecfRBaqTSI#qL03^-8IfZ3wvmHzT)m|?(x5L=dzNbVcud7a+3U3 zC$djJ;m+)_{p(%_9qHksR+*!S_ORmJEZn@-ss} zCf-VWZT;_c(88XGY1GIC+lAWwz1;o&7yd8Z59G|4K3AV{jJ}(xf7o{6cn3|n&}C9+ z4s(ybyimGun0wD%(2t4u;(^EB1pboI9hWcU~t0I+p<$2H{P;Tb*d^E7=fFvaSnCPQNqDJ56pn<*Aa*wd(e7#&m&6;lI1XlkY z73tMPSM%-xvT8V??xu73p>BGSd8X-&tySO={b(=Uos#G50u%#}=+99MJfaWxGV@oc zb^dDMud5p}XN|tjw1D1$8F z3oFah{mhHi%2Moev9Y6+)s9;D>pBI#1R8ZR&k7iEl=(`R&sv$%{gzVt1@Euxkttui zjquul5-sn-@uGgo{mX71_UJNlveN^dHqTXg5WQmcRi8aA?<#eXDg0du@uI;fVRrWivc`0J`#0npO0I!M#J9OO~TL*O-N zGKx&($1Ku^z~87va2QrSGS3cJPV|wWnwTN8S|cg+(T^1EAMNvW?(Dg>vj#~kkCHcS zj9)6_dWDkkZ^O4e-t``l;Ue5N%7ynJt(0uC`4QEP=U8^-1gJo8eG{Ss%bQIo27>Ev zT(pAg*}Y{LG@@b{^y8l>rIFL9VGmOWc9MvAb#Jwk6#Wp$@k7dL2`xnO#h{TfSztz5 zRX}R15hO`pPgnwyFh~EaAAx9Vm{kXuvSqD^yM%jUBJMUzj)}MtmM=lNtJ@mxwV_hP zBpOnW%_uxxDx*4uW*(S8Br%gNGY%LrW*(134v0odeVDXBP(1Ilkf1mSMWc%Z#ak_1 zG!BLa#bfIdhz78k9Mm3H}2L)QPe773VGqngpu-Z7wUAfi=V9um=J zK%WzeXeT!8fe2;PsR~xh#G|)aD^uESDP^M5U$%_~FeBW4o@E>9y#}wpEGI0!89CJf zc~(4;*p_gGapZ`x?Qc?u!=F(iyOY)VpwM^A6(OPTK@>wnU$v!b#L)MbRSiT(qamFi z&{P7IM8>2mWftio5P?cR{*77$1y7?#RTF(Aa2BdQ8ZDuZe*7Qx>Dn{oi?orO(K%ob zOlb*s?_H@=T8jHn3oTE_; z1kPz(v;ya^(0de_1s+Un)_VV&;|1xgfzxPN9i%O+EX%v=`oWGa(&Fv?j2#87cGSXO z*C`M?9*QYxkgLOYW?^>>eF3+uuWH-Ms9tOd`xMH zebf8vl$PQe6a#^?0mVSzJZXR#M4{FRuZ6#^Zb;xX`qp*}*ewt^I}ZrifxH^UK;ZOq z(F&X&L+`&ca0Z!J1EeL6TWkTgh z*2CuNZ|YzilKosdyw&!zcFwIscMBROT&zw0Zk=P$%=D1H2FINXCy6x0;kcV zzKK2(INJ|CYT%3y-+1&Ed;KMHnUFpBR+J`$KD-r;YmsvJJ(q^XL6^{2+nCrD;_Hxv zXynp}M0i&=F50I=-$o|t?soC@NWy9KvUsv_E_&EaEoB8ccquuhTgAy#`%OCQR{!OR zT+pH%%&v(Pkv!+_-eXu{N$v=XZ{;rGuNzTBd99jUxlmS+)7|B!lxFvwY>f}qpP)YA z&|F5U^AJxyF7GPsn^RVRn-U6$o_;i*S`Q~W@@PC6Iu+bG$LI4D=UwA1_V?%p@?k_c z`)xgnX#KPpO3I;kZ7Vm$G-;PxQe0MEt{HK+T`FrF*Z}NZ6jhU6wB|( zH)&g~Sbi@)7#pr-hmLvPd{3GG+|ENhWgfq!W@E1qbz9{T-GJVX8SFX+551$Jx3@T_ zbhO2zKBEb*$u=;11~Zm-S|;=QRiAs4`J|l^htWe^y>YOMVsDw@pqc*?Ml}jy$!SPe znJ~ja&kb==a^(yMy*y+mV!!zbu<=O9Ae)wm4Nw@u^WkePJ?U#1 zqZbU%`G)7~*D249*D23foh){RAv}M%4m@L#qgkln;=1 zm^(}Ii01J8Y=6CrS`9-9!F2fbX5}$QCMdt9;q#Z$N?VslVu<3V&u~zN_H_yRx^jkt z4quN9Tc9cwwbY<4`agrJRaA{Zjj~X*U5vNPpcYuD3`H$BsDl=&LQyLW%6)?+OHs83 z<+D(h*gpPIXs? z^c#APXO6C$B<*=T=Pwn2e{nI{#tVB%gdfkDN|fT;kwA&X^dRHj|Bs6(rB13I=c=fi zk;;{Kb{f@d2X-ig@5SPbG;RY{A>YVczzmzzs}G{XCrC_tu(Pb3Rre%d6Cs~-&Mj;JsTFNVha>xyQr17n5c?PFfZGfSjv=G zfQ90VQ7@g^f}(O<#2swcSGcuT2=&s?!J{jai=SwQMn)6g0O1j&(R|kEoE)RVe3nXy zg`Q$s5QSCa%{eYg^cVSPVbsbM@$>|Wvd*G+nYacjVrkO8zpzhL2o>?;C~aPwh;?5a zXq-9{_)!p9&`eY6nF`VBDqL=i1|inAnR|)nhi5#^A%mA5M=lf1?F~+ zMOLfmwF*JTzgqyIS6O816unU)$OajqMHbm6Mb|3?*eVesSw(z^UP7}vcAN2oMYeX|!MgEpezpFR2+S_9sGgs-dGhCR+~YOJwMm>5fqtTW?urskc~ucF|_T9u{68Zku~O-JLAV;L?tr?_vs5vDyHX|LDDTW zgFl2zmre8DIb|M~yJx>*KiF7f)w-Cd;`ta#Dx?M6I>}3mzyy!i->I6W{^qV-7WXXG|ll$4hqqfrw38|{p` zWNHk?XBU6L4`)@BGoop@)H|zNd&maY4Mf`{FKs+3n~)H8EEew_l|^XiS00g69z5(8 zPp-dTo~PLF9qyHfXNfnD=-oLjBIq5?0`bC^m6LyIagcjp0|E0eNgs-D^A8Ip;raD; zbe{_l1dDR~1zm=D^RZW^b7GXt1d5scro&owG+JL0lRtdZLA$+XH=qNaUPLjQ-gH<* znVIsH$u=$dw>KTs;TA*OMTnzA*B2b*`yn=1Eoq41fG@SSRxhdz(HL`;Ct9n^y%uh^r##f zQ6E3_d0>R;p1NH3W}ali0`GPr8Ekt-i0noso0euuUnU+>a{|n zCpCzkSJih>>2T$QQDlDeCJ4RJC@qLC#qF`GYgw{+`1)2%0g zi^DtARf^&}A@FYH`96KOa*_`lH=xP7M*3E*5U%ksSb;wER;9oDR?y=<+jUB}S0U*6 zPK!&1rcp_$ORl$FUkd%gT)ucn_p~6qU)r`W;bpa(d#17Z)CjALqLgT1>WI)n#XcB z`(2cnLkk&|UhbllMj4UCtkCo25qcaRe>z`&Yk5wgr9ozxCM8~?uWX}N#?xozE^1Zc zFYuI_8t+J>+*k6#QrlE*-A7@fm%d?DUKx2js^~h>=#Y7Rs8yiLe%58XC3!!uswuII z4)CWdZo|Dqd)P0(W6{6g=Ay)rTJRxRDXw&uoqT)5M}H)uIQ2`$oGcQKPohoHfP;vrT1mA?^|l zb6Hj?Xmw+h@ZA(qnd&G+gfGUxbBn$H!TPnSn)xrj-9-{&rA#eV7psgoW~-Jxcnxy% zq7db_-j3Zg7@9rOlSgkb%U*Z5D5Vbd!)R#~)>EZ-VC*AyAllMZ8QHP+)1S*mU&9O zIk>1}`b;0Nd-% zyN$gL1l#L?Wv}nJ&s*-sGvM2V5Oe&@sH-cCIV#i~WuZNM4+If4w!ZS~oHm+f42!7o zW6|)^jC+j6k40lBb<#X0YnYT;C^?KC=Wmb;@4-lPS>T{{k8wjo#g&Ut$^k5dC7`7WB+mmzv$%`p=BsPV}Q>f@SsTOCjDOvI&ou%$-Y zUEK6rRM(^0PYpb1XWkDJr#Sbq*~c@xKB$ZJFK|$mSBy4aAq;*;6jAb{3mh~PWD(7O zh1XM!W^f0i9*(sh zB0{9@Hlw+?n>7#*#$X_xd%#7B<;7n7z(GzSM&iL3m~Iv7Lq=UnD~8_;H$8BMP+`whVeNPU&7+dqiI8`{wv^JY2Y|hk zU`s~OShmDXQ_-gFq6!)FKK~U6g14EV0t6{OG#W{t#eA_ko@St`ZQ&>(-J~#aByEmq z_EtPaKZ$P&)zV^HjQg#4%0*S%QMXBp8v`xsW6qt~f>txSV2q$=Doh+nyJD_?E1u4J z3OCeXcQy~-bsA#uJ!>o~J*A~CYKVacz3`NasO@}hyF+2(NZKFs!dvn54Wkc^77^D4 z(BH-EdMlnTe>z0O_c3_+dKM~K#P=*>?bGO({f7j?PKuUErXo7hIJ5 z(*g%gf5Am|TIe9>i)htmp@ZmWk@XH*bzkV9p)a~9`O<|B>OIFr$^92P=*cecfDI_}?Ks;pLm)tH42ItUKq7dmMBE6AQ(=%A}#b&>t4g$`Q#s*7T0E_6`A z{lfDOh2S|3%aIie9rW$1n1!)xp{Gyi5)^`N4FokTbWqZ3NJ?4gpd+ulsLk&nr?|L9 z4)Uo=t3i40A_w)F=c459iyU;`n=VSeWRZiOeA7ktev2GrUjUoH+SS@>P_#ZGx&jsZ z!B2KtS1xL7R0uWx4YJ0c>{J0V9*aih@E@Qs7G0O?SWH``V{!dz9gDYDV`+BMK0EEz z>32vWn2(MoitV`1PK{b=kjMq^htvc${vjF1)sP6|?_TX9HvW*cYW&aEs`1Z%SB*bl zg7hX^Ap}~+&wLlgXD9I~^LN1S`5R%LcjA(*}c4jBEHHt6WL+GLGBw;FYas8XpAtv)oZ zuHK}rmTV2Q`sV>V#oj5cW-COi`DiuhfSrEX>Y~_d57;R|v4sjT91SNCCEs$uPO00V zc-a9v`4w%Lfou=R?mu9sE4R7G{`3Jm72?Cp19p07n~UOJ*<+{rLvjuERD9oFy~j@T znC16->{OvF$0-C$+{>AK(zkZ{1Y|^UL*dZBh)diK<%<_N=+HJ7C68I;pq#H=lss;c zgT{RgpGVBeP~!jMUO%q!Y0VbY#O8l*r>wDJnd=n7GLM1z#P99YaXb1911=h;WcLaL z*|Q*n0S9ka1J)>2d!<4*ECY^YW-ws7q75^USq6M&yBcs6KEQzAY*zzT{Ss!t*d5Rh z26QURZVJKDGT?b2BZ__Gdpp&Rmkw-Fh>pC7j=cQ6od)f2QJXivw-eb{d~c@*(Jl_% zuT#5yiI{^fuiK$ruGeYSX`=9jV5`e%-#|ZfxtF5-3PEOddDJ)B%e!G&-?$6c3d(*A#2SdB(A$mWy*_wEIc$e9~dp{P> z>m~-X_+IPv7i5YZ47cpcP_Dy>HpOCjv1ONwT8+e(;-*-vV;#GLjJSyfmF#w5+o{Y? zHff_@5jMqQnMCHR(Y9Euc3$7j`*)wmVnjCXc8O0qf0a;heKR8V$v=QW9IH^LvHY;# z9^;42CX3F!6k;eWKYVnL`r#scfFEwz<05vp1f_4I5bZ2yYxynMBgC~+bgDv-S>di5 z$kbo5l;B2%80!B+N6y@5r)$4;$@B3##onk8?BF;=v3>X1X_Qt^RcJA}d7qvB`>l)Y zzI}Fj1!CiVJY=Ujwb%_1)Z!OAZU5FqaUH(5ll`{@zWnsb=E&a;_cC6O^A|_<0FU2O zT4s%Y)nj5&+cdPbwJP(M68#6x6uZ|&tx7$9vi%41X4_s_cl+sPU~T)bSp6*lTb;LI z0sP)RSx(YzaDk}(SWH$5{!Vy-W543>1pX%A<9_<771jTiKoC6=kCl^tZbcOq%6?c- zcNkQ^1DI@KlPKTgzsCCZi9H6>rN*hDUGoz?VZ%bZRileq7U6DqY$w>BkiGAg{+#?l z2(W+cYeqY^`#M&YZR;o?eH(ci}3$GhxXl102jx_*$%dO<6j?a$_Uzp2T6V zBk`#i`Wb4*EW`3t8&oK?O-ufAk%M}DXClpcqC!l=B8Nqk@sv?KIdQRr?)lC|$;pcy z)aH8^QB3M$heeSYpuB9cgD&~ru)RRp4p{84i0EmHZRuhM-Ss`z3X2`IpV{8K*kMuB z1}I-#?4SWZ7`B%&Tl;H^9rV=?@Yur%WM8t_K|>El7?_Zh47H?T-8juCBZE^!)E~JT zFC8?N><>$x^&@sSh7YF!kX-m9&JGXbOFj+6dG>ohLTt?H#SV*M^)rTX^7h3J`sYtZ z_iMm`?B6bSP~A`1bb{_bEp|}vpTQ(-8U!VTsOE;Ty~+p>&C7^xLZ-;npN-~xTHE%J zYCaNjvr#If;j5OmpqCF}UlG0V5}(s{`UP{D^3kKbUog`%jwE0o@-~=YC2Iauz0SkS zi*sF;aZ0U!OB~eaw+Qy@(9xfhpYO>N7 zem7w&{4I|5=}kCKWX_-eW=3ZspGMgaV=kS!#9=kbw3;Sgw!}f%hm9(gqKdu$5(kat zX4fonSmdcQjKt(IOB}TLu#1xayTn0T54*@dX^Dd_Is&IXl0f#ymN@99BX~MOu3zO< zDTHzPtvN`4^oUCYE&zSF6^e33nDcKVKKn(Z2Kd-o6%(!DBkjFMOh49e3W%P4uaSc{ z-jWOa0#8cykpxO89_TGDFLTj{%z$*W5-DKao#6d^!;hQB6 zx-!m9aR-(-h-}hm0TJ0xS?Zv>q>p+s@ueAQA1eH-VdX;I?MlW-vG0MoQ~ zu3;flgR_gKM}72eJWWV6!l#Sy#6p_EpH4|~Qwl{TVnH^OYkDQYB(SYBN^E-;Oww|x zgG!U!V&up00Y-k`BFMmlBn!}(f-{>~ApH>FfbFXnPD=C(vH;8v;8(u?z;7~JaTmTpRZe~E)uwNn2&gb!PnIOw$2 zZesuPv{wJB(AMxTw!t$XLAN&G18fl22Hj#=)k=N7k#$KMmDSirWu2X@zT6KV;LDFD ztE|*!qNye83y?ron-n$SRVk1aZbQV$%u>y@)}u>fz3l2xE0z&0=0n~`Q{2?jL$<|H zcpmFFvBgnXW>ZRbGxmrjY|D=!l#g8VbV#-;grnj0u4Ej!#4IzyRDn}V7)?{k5dRmN^C@Yo<2H~ zBCwH3J21j4Uk|m7pXdixVj7h2knM+H+x#H5NkrH?$ZmILyQY&9a+)05tDMYvP2~N~ z^4@PJWAS^iyx)W5{lW4wPiZPo;nRedCq~2Ecc1FUS8_ku z1gm~9QIEFS_V;sI;m%Xt6xX80L6z#Jli}nYY8(`Inwyf{H4d75nww;NCTUNnDa82P zZ^q|!CIhP*-w-tqDFj)iVY?Az;r=Au4L7jqZuSD<7xILf%H6)cy>xpjcl*=RO}7QB z-JTlU?I*e0|N4hpRu6a`@>#B;xPR6-s7}rBEcCsp#zEQta8q)Aje`#U!%g;*8V7Ye z!%g-(Y8*7^3}cv0Ixr0i(c>qLVQvLk zAYKS72h#)pau|MYSUH^E3c<5~JDW=wegOju|GwgE_3!u3#zUoXL=x31%}mfF7beku z(41MAL@mz&4V=4CXzigW*%9G;)UIL>zyvMi#pm*YEMosn5LgtKlC)+zOI z{21KB4C>BzBlk5v(X9Co^ISWHiUAE$wMJG&{R z9#uv3V6y}7#?u$5Nj-_hPiC5mE*JnbMQz|%b}FaF)OT@H;&2~5(+p-k!|A4!>;ztB zKgX^6I7Le>Qc5+jMKp`0Ee3r(YP|F!)8F6{X>mAGNlg^*T8|^rIP839YR#86qBtDt z)g>kdZB)kX#Nls}w7Lj8lyTz`GJ|T8U#fA?QkR>OU$1dcOShYn7uPr_-|Z&*>KX?v zbGzkSwRWAj)JBDfnAgBPS1feU4{oR#3vr`X2;De^pzFb+Kd5n#{bW%FHOYHx9F)@4 zP00sq98`!8hie?Ps;isqG0Pm(t{b8?cur7Wl?uVL7kI|nmpQE3DPh=T=Q0NkvY5@@OQ{>Sl<{ z^DhjF%&R$sR9+;Jd3Cd($hhAw1LTgSwHFE5D1;wB}a3ON_a&y*^lwLr| zPqUiS+IV^wg<&Omqw!weT+U>&{mV^>xyb9HSGi)qzuc7KYnjL~yct@}0ZHjd+TLu{ z>UjG4Ux?0CASk7=&HFwTLoF_rn8%TMY*21ip{JO}GFPIuJwFwrjQUJqqTf$TS*?y2 zV-yhXQr8QvlR}I_-zfE;bgeW<_>Y{|@N~{>CBqGR@xThL8Gy;lG}T%&3^jZzxKWwb zD}=;MV42?DT6kWK8lFn&ABu(<3PGO*Kfx>>#vQ?oGw7^HWLrQM$7IU?Cd0vX3A`5} z(Wj`f5Y5V@wh?7OEXu^zi86MDPzG35W)8DLpv%;TK4t~x)mn2eYFOcfkA+pLLa?ed zT2ThH0xL=u9ZIc+joP5u24R4Pxu#(`H$)P#QyY$pB5ISh0C(2q;y=Y+^nZ!e?Q?0I zr4UTULqzyo)0^Ug&P&Z)%h)O`tT~4h((TQ0Lb@j-Xx43Sj`Oi@mzt&ecFy?2HkylU z+ck&MLpz#dI+k7PmiLNwFyge{ZfvnNaFYqW#p|&g+0oor86(RN|7ahm*R_!1@WPyY z+R=Op-jwCT{%keG4%i5X{jSU0#0RUj$?|Bo4pwi!4D+JwfSsmlK&ev**S8K<*Iec% zP72wB4>(v&?BkY$)heZ*tq|?3gVoFWfISXY=PG)>LXcSptHVLobpO&@?Dbnluc$Z1 z$Dr9_S1of;fewgYAu#{NR_rIs97s69nJJ|tay@$*&P*rvaTA}JW~3wrotZMRPl+Ff z0gS(4hq8>W^2R8O~ZWCuu2=uR2bH< zQX4*D8cs3|?K-G!6b2env(WVV4jqHeIL|fvi^eJJUy0_nX*Ss(;WN$GFL(bLA3UW@ z~1791|*5i^nkeui=y(t`|_5)rghbhFn#+&-(67VPZ&WL z)4Jjti;L(Y$H#FvYPPov>M{C{bCD|C@|e`0MSK(uPCEZi|yx@JZfaUEI%2aX6N#4%Qmy zFs`d2D%(^L^flb815!j^J^G2oIZ=Tk3l(Bg;4i`e1mBThb;U5R-4oW8Dn5~W=_)tH z;Q+TWxGOliZPDK?N4FjOyXENCiw`)poz&k=d}!OCO0`kuSom0nwyQvnQ{r#>!zfM7 zAF3}bVwBAO)>2k1qKD2bbgv3)V~B{@B79PO+5oql6kj|5LYoYEAd$hckP&9zYYCOX zz6l=c2cKiIf#RlZV}OS!E@>8VNXc-X5;Vt=jPWsaMFPgT1Kq^A7xxW>(t%$N41G?8 zq!3u5s`puH!w{`}u*TYW+BVQFzZ{4{n?cyfwthLVNq>5qiyqF!o6d%1#eR!5QYPd* z=Kf&C`9f00kszOZ7Y}k%;wbt2Fg}kaehqp4ph)p1NMg_%&qg90uq2BteZRS>=7Ym7 zOgOi*zOk$v>J;Mf9rAkeXI4MHk`%2(ujt-=FusBEo6P)f?g%b>r7&l3q|P)|LXX#s z^vuSv{^*OzM;&W^uP7*^&M>GAFtSFw{{48`Jy=H@h1ATD(LRPh1@4J3jP2i@MK&U` zO|udGKi0lHF6wIi{~167VsuF{fGvmylSY~)L zMYF;(wX&r0mX-HLyP74Hx2!BF%`CNOx$O(r+qX+)^?SXa^PJDj0D9H?`vcDBoaZ^u zcAm2@BR@oG-JM9&a)bdQ*Bpz%mBy@SpXHc4K(>D=12jk|&#JSxzPKxq?$P8C*%wXz zbS9#o!AhU(EXIW!x6?~F!((X;9_tP9!&3mqv<925#|W{l5hfOe+_)W#=bu0$t~JVp zin20>wQCKVICdn1+P4N}dn?Krme?9LCHy=Tm?pKx(AOgwZfgr3Vo;~nAbIXd+!FLV zw?=BYISjNetaqbXIGm z@I78oIj04}h%#p|I7J`uWR#ZfHUcQa{Qfdeku&7+we56_G{WZ%xhq3?es_^)j;DyJ zwRAs5%n5krIYX)#V-usjyUI_Im$tP*0Y426mX zuC`Ez^R3{7SlbTu&>Z@;mU!k6g-^LA#MVEpXkr_rC9bbUn=4tGj+4dhttfW~oVZPk zQ?v=O4aY&os)L|49tSPtDOVRI6Jk@JIkvO`F_ciW9Uqko(Hja1HXR4M(1Vsn5bKU3 zDCQ>_8S30h0Oj?JDhI65w6ra7M~w>O)QUC`5@1Dpi(~Av1j9#BtffCJ>BvQW?iin4CR2 zJC`%YoD|2glV|5m&K)~pH0O;ynY1(rcGOr=x&6tI$eu7|JTp!_nOqS=6qHWV$>hz;o-`$U!ia3nnQ?MCCv&FElgX6R z;-DMk?Q${%!lN8y?RqjFiflIvW1v~uOftZJ1DUG ze#jzd%60a))^| zg?%WXo)wusZB=^|@eCBq$umcRsCkA`Mi&CnpqrILfo_L+bQ7;To;-uRQjb59wwIXV z2@V${+lpZ>7yL$^Ow{A3oPX=#8+M8;oePOZpe3HE zOqy({yC^w5tb8-E9PmZCfG^EWqxFE}E=q&I&ATXHOg7YA6yFrNi&Aj5+M1t*&01`* z<|f&x_H4y>3Pf6wWT&5}7}WK)B)e?9AN@tyuE(z`#LS{67RGp6ex;;tmJrb1fD-HL zKSvSI2XW||F%|kUUja=A2z;-d8pSv3{}jIh2|+o`cbBAoDIuW37sQ){I5cJAPec=M z`biPD{YQn!9wuHTskIUU8bQ3~T&2`(E%{ed4N8W^Ql}ZpEKfBny89#qg)sebKPzaN zgn&lS&q`JFr)m1h`9gnOzR<5fswgx{2nu2P`M)V>rG$Vg`lnv6%sP}~(LdT~*5S`B zs7wd*anc!0>*qWfyJ)&Wo#zmJZn^udM4CC>po9%cc4`#unxNgGBs)Dg-Js;plI#>W z!yqobn)B4&_(Y({X$7yFCn0!{fVouIuPjt^Co2K)ljXy zEhgFuL86~6Xpe84VNhr8B7e4=bz6JdG(%6lf0iY1)iC^GL09zA3|u2PrH(mb+@pnQ zjBh1WO$>yJy;2KR6NBR}mt3iZs!=yPQnJ#x6q3CI3$#-ja9Ign9szLkF#QqEOe@`H`)1i34aag?RsOhdhOQY8l5C*hey;bSe2 z&cwMB9BcVfz^SoHHK3WtS}vF+$69jmfnzPfS#qqUN%A#IhwYx zdGlDyZlIAmW!o5`2tS>ZB{@b)2nJ*IQNRnODLd9px!th+$VB!pO| zaRxXcJ&aQ+;5rF`W*X;drx@o0e84!rImI|tf?q8m@|nhQ6oNdAvr@pTB?OvjoT)&= zHI^T2R4c~e-#J5NSx~4IX|L2RlMp0KMScMZR-{V6TOOhuZDv?8koyk0_}nTnj{Lg7%tY0Wljh*ac)W*c4RGRQWd*+x!$jBB>h-(6D5 z)Jv7}K3&RhGa)YJ9;Yd_8ze+2pQ%gvN0%6RQG|pO}o$#`2i#Z)ydKpLS2EH*- z8O9=gaFA#_H}u=)=!SlK42G+R=jeuhyK3mA_jx`By-(L-gHkejS;^{k7t_mp?qUei zs*vWPoiP~H+DrII<4%4_cx(xZIsUsOJEbNlA;w9F(zy(!)7xsNGT`x3;!6a)TSB1m zPsQOW@iRQIUzfva)Lm2xNeHyjpa!%Yk3q?U52w*G#>a5EM)2w+1pZjyW9VFQwV`fu zZ@wDho^%I`sWi+!mS4)()}|z-aD>$x*y^8NZAhQr5QC+I_NChD4N+Eqo2`Cnsi6$m z<8(!DjD%2ue^d?zbe3YEJiuzF`d+H>XHbdNPS2JaWUIE?>3iUux_0v0)LJc@Rf!X! z-WRN1&oZsv7cp457+t2-`yxucFIl}sWuo3tF;|I%P|t%Bf_nFtLA~3oc4`v!7_`f3 zr;p1FvVCc_Q}^;yF1+E+p#JF*tyV^dR_d*d#o%Z{xmIs&?5L#EXl}VyZ*8o4qylf~ ztmErLtIKg|-p*qsbt&;MQv66MqzCv}m}u#t*I35{AI|&Z)f_K2 z>FC+m*B&{Iijk^@u640!Jcj!XJo))N=b7XGU&gU5*HyI=b)8x%v!9h&;n&LSkHw>= zfAec)_KPwhI>_%se+DV>g8HFYT&JEf7i}4@5x&P-TsPOC6kBiHT8nszoU`6H7cPp2 z#V#HmXh?mI!1B6pAL%j^GwXE&ZO51N(+wy?c_8Zo=CZM(bMzjsMgY+X`Fnu+E z`ybTA8jK1Wk?*h{;lyo7ghl?%7Wo8GWsz^$BHcpdKw- z{+H@u3RjifO2`*k$mdNVRlE^#o{GO1hh2u)`C8}~Md%Q{#E^^U8x%jHgPm+byN84* zq!BShT~~LopVH7pH&uFVR|{`TX{E$lti)CGwWU>jG2*PmTP*5EQ;D}sCH64nAe6Yj zgPm$c_{|bR30&3b`pf^I#6&-iq&Uma?wZoqwbtS&Yw-u9=J~&hr&TJgasuw4+Z!S} z8i!?pY$UUCM_GlEN?k%nMLEA@_>JQ?RT`8K-_cIBQroUWofz5CPJgd7D0y5*JH;(P zzjM-E3f6q1RMe_vbZb>m%iEz!^j@GBdX~3?cl~*RmVJ3U)nQh6D}rtp-P{h&U%tSg zc!=I0Hfxj+rL#h-v1);+@x`gB0e6d3L+=S`E$Ys0rOg`FCh;0oKtyZ!D$sDmxn$O` zb}u9Da?c6>vYjCQdW}|lji{}Q>@JQ^yVk&Y$Gh1G3$Japy37kC4N{yBzz&%6)m|%i zeNy|ViIF*#IeIPHNK9qo&Q!V#l@N0cb1IX+P^L21;REx$+J!QeNfP|75+a{DmD#@# zEZ);Ad+6;&l)UT8|U(5($B3YCU|BXgvoX(0chI(R#Ar&y*1POs#h;0(od%Am9=S zfo5v`3D9IID7CNB8jA2z&_>CzNkZf_mx9_|k6OuPog*2|vhH)ep%%k-O3vmJ8 z-%nMjL_CB1a7R0xcB4VIXFA%cA3k2_XeSRo-sotj4L8E4t#-;eN2%|Uusf03!ZJG8 z=}Vwvnsxe8m^)!#M?2LCm-E1-lg&<5OASgs!)B)kmKtRHlg&=AEH%`;E#psCCU_Gz zATV$1xlHD5qnCkT{6L$XYR**>d?sNm5%mP|a+{qFEHfy%!e*ymmkG@(p^2M~O!J&- zyywxuPQ$8&xT_k(PrM5^Pi7Q3%gS)5(&MdA=V!HZG@4F=T@c=Iy^A+%`YczQGk00A zIdcVK&Ok8<)Vus-#;eB^BVD}^sfDOXQwEbqo~?znfn`~>+#qX!?z3QPV%Mp$cDm%p z7;^&dIi5%}>gxr;?W}_M(WHbE2DRdJr|CQcsP)flC z;p+P(KOcDC%_q0A8nQ0y#hoL15nsE#KJ*5sn zkNo)Bbx7k~KuT98j>X~$O#I|6V&W@r6%%jjt(4p)A&eL{@sK_WnlB-s%EY{N-PBis zZT(aT@Yk5?oM-{?{bp_FoC_5dX^y#ztClj@C?Q%1e$)_M+^ibu;#LZDorDp+(@W3y zqHiUcgaL?LY$1|M(v)~&yN6K+sT+4h9_2n^0_xCw#*->D)|V~hKO=m6O`R_5?=Er$ zos=@}{f?$pYST~VJhUQk!snIDYM|T>r@+(^HEJgk$uGfAaL*@;rGtw;u$;C7N0tQ4 z{L*no3z_`^&pe_Z8xpBYQP3ao78A|A9TB3y(}~oj#2GA6C(OD8h~F#i5|j|jD(aQf zXwviC0neNTOuV9y=whbb7CAO54i&+;Er?tb;7JasxPtP#*Im5CH8#w-gNOdgOL7z& zrCpzXITeLvo}w$<3-t9Z?Xp?v+I3L{ES*`#YzVoy#-PrXMA;uUB+?r-dUTMDhLNn5 zl{5-im#i`<$yZ9FIJq@nbrXXbD;Z3V1uZ$V>8Hc?H?Gp$ri1zM$!5>3aF&_WQv0{i zhp85T>ZVmnp@Ow0(wZ1abLM7{~{B+^BjCH@@M33xM(hVuiHm?6(r>Ppb_|__txFdTCK_P_0}`|A;6js3pC(R;sCma)m_K zeYVN(OxF#$^BuI-n^2ln8BBHp!0{jq;UKP?*8;oev6%nnlpt^m$+BDn>3oMs< zhe4f6$+CiZ$ZLTsRIS5rMLElZbd%-%rxU604nEy=2P58zNFm+AC*!u?VNiT?UK(X& zDz-BvLc&@Lmg1vN1W0maf6*ZE_kNT7%v!J|nR+ zRSV)q2|@N&ki9&yGySm!n^TFMY1mqWx=u>$Oq4u5u`_+S76W4Jg;9Ui^Q}e}?0?Nz zC;MNwtpkr}o2u3G5Gt5y#*6_20<#%c~TW^7*il40)gO<{R zY`(|uG|0*o=}|`e6>)gmgN$h0)vBn`OiuRUr?|8*4FjWv0tV63Tq1MtG6+&W%~Be7 zYoVTI?)Y7{5N+r0xp(90Xu#zT498ENKf~?crf?!J?mx?^A0gFUS>z4|>3L3xS+AC1 zXs>D`*$K)9D7n^2h|+onriT;sS}#rz5@?NtQBE*sy*Rrp^liWyRh+d&GY_~Lpg z#b!o|F2y%6DPEQNwglr-8; zl=1J5L5-eqKdP3DWbS55uHq!3yV*3m5L1=$Znk9i2UO|Y&1VR>bo3{e&fPKSV#qpy z?qLk)11Jc(k0YBoGS)j!;y*oLP)bdID_Pz2EMt^xG$_TEflX8|Jrc9>okZHO5qk2G z(X0&B`0-h%jNCLz`YYN+oSyXyXecZS&@>ZNDtJO^4mXCb<|10ir#u!3~H7b!^*%y7ujn{qPC&DdYX?LH58;*vx$%GL(i5A}jy= zFx2?VLs~=1RLYy6tpLT>IqWn}r1eV(*D8g!uR841^bppU9Cqrx$)M!-9d=rbkIx)- zdL19%I_zY57&eafB{eYB-lPpue|Z~*`JN3kkrt*BYSP zSp)xL2F8>svI!B7*Xs_@YTg}gR0;ly5Ut^axH^NV{r@@arZ}~xSjpA_cIs1SP}gn) z>_lD9#s6;O1fDNp$G%8zsV`5iHL0rMQJV7f{itN`Au!a3Jv^|DiyCtF>32;)o#Qph zWQ@?{h$vCi z?B@#i0#kypOeR1o;BF32Pm`vb8`Lt<%97}Ob?Z;YA!gh8Du$-)upv_O9ykNrqrMPZrSKdB0r@tCdpYQfg@EOso-q@e{f_K+Ho z2Q!X6iJ0kF`w=r8>u2H3h|F7k9h0|sm1bKtCR$f^m>y4wt{l7kDWx7qn1%W}CX293 zY3dncBe;kc6*3cv+z1}WcB!!G#Gf?5`Y>UYy-j}#XIG_dI+M;`_2;mB+L<;%r2pwB9AO^1hfUt16l4(dP+!O95q2z1zGhN{n&L}Cw!niWawV873S>~* z{cD8v#H%#Lj9inl%HO6}MdWYcQaV57nRHOJ>{5#$)PHxWR>aw#G{MFQ!e)E;Fzc@U zX*XiJJ^VqKDldv?4-=zWEFV8Vlo9p(P!xhY5SZZ(_}E;O5L@?@+H=9Y+d?nKw%T(k zDR&l8%EqrcniAJ!p3IgD=ht&XMAG~8L(n%pucF+f>7Sy_jM28Ga|zLqVS5wl%&i7> z_IQbgV01BQtDakMl&rphrx+Xm7vVa=lx+s3)Ma8lAP}HSq0!21m?pK!eOka1a+`b` zTk{_S{-12a^UXwKz`oscY8XET++-9#25iDp3}_Zs&~uI3q?|Fem4@TMAp=C&!}(_+ zk3niUR-c%jrc>3L-gwZ#+`HU>%Ac zV4NrGaq%%rC8?(u_amv5xJo}$*wk4qgf1t#jYavn-k{EQVM{mjmCzn9!en))wW`Ft zhMH3NT}P9k-#D2{%=vXSLL|M=87eAqyG(j@rl9zdTMG_0oRhsTk@8-|wt(B|8t<$m zItTVz@uIdbV}xxGNm%Tl$<|$^?V!l>IoNaIIWL;j&V|=tL0>UT1FtV$!a;TF1yRm< z8S8~80?0$>0X_w3O-O@x_5y|EoiJjwwpcSr&oHG(ovo$8o2g-+V+9yD)5NJWak*uS zraRvm@N(65yG%qX(8Sxw(5D|{$D1iQmTKbWxT5l4p)BK!cN3{}r$N|H%YdcsN5o5( z3@H8$BGB2A0i|vKFsR!m;ry9|)({P(zn(?|{sHIBaahSZhc4T{{WO~P4|$vZGGx96 z@OYO!jj|-?NC}|PWzQ4pu^$xWLITVZHaYL`Fme6 zC>c9uhw*_OGyAKC+B6&cD%?O%2e@RTjV~UmOik%)WO3W==?Hb$f zR?_K}wvqtRq+9nTQuV8<3UO{<1eLDo{b0^e`oyO74ihW+-S|KN?pT-eRICwkYAS8eMC zSXqtBp#~OoKiPw7a#3y?H4111KvQ$m=z<1=x?Yu=h6A+NcCIc_nrx8}=Ew#zb{vZu zWXEx}KC?}ZUH{-X%2=cTr4o*q^+ZB@7N@}`WZ;X9Tn6lYmzv^$jR^tyZ) zc<+)SI(jAxO;2y#XXB{Tm(3kbxv~bHRF@ren#X(sL8p4tDyO0lr+j!lKmI^s_#hB4 z`a~}H@>tViX#+J_Q5Y(7t49=_-jMpyLO-8Dnn(PqPnSwL#k4?$9V*M6!BWb^;oJ@j z_}k!b4>?dnOgY;iojn&)R1)FGen1f6@iOGO%iKl$;8TP&;DXEukC%CzI~bf8FnI!9 zXX{YuFz6C+@36pO&`^Atq+mXOX;Cn9Ugp3t&S1${?;IcGRy$aCBQbg2vpnXJ38FZ$Pbo2Z%=ZX<|P|tM7f^uCS(WR>H z#aB)=6Rw}V58YP)=iO#*e>ahqAYSD0m$(CXV3KGin!ktk>28Ok((TMd_kmqCm%Eb6 zQ3mba#f?yBna8E#eGtbGupCsbKnz2fa%7yj-=LI&fzlPtLegvd(S9D9W~aJ=YM3#L zw{y$^ZEG#_+`*v7=f#eS*0aIaw!Z4{(7*PZ3a_w0cx}7P1#<4(vZnr?`L+@iorR{JNrx_n; zLu3q6hQK*=O89-6oeCrchm^Q0`BBO@)vNSI1CE}R4=x=QV0Qt=6NP(_xgSUm@+$Zd zCG^d=Q;pEyfIi@gd^>&pfkDZ6`F64%G${GXd^>GDXprsNd^?RfgkEGxzMWh`KO`Ys z?cP>}=W6MqQdBtsCAuD6p{e$j6Ftm_NfsS4i|k=8vV_AeitJ%FY~EpmIw|k7Jj^9Q zo!sU4hWAk?RU~0hAb<$U0AqkhILG6MF%R(sf}!CHLhiA_8Sa3Ob~5N!fP(HKpVy^e zljr;B9}GI@LmY+n`AYGdm%hMQF8enaGz=gXDkqQL-DW!3cm6D3+Idv4q zS}y0DmVJofeClAHp1#Rh-~P~`6hBhjb1R%>!3=tf)6e{fhXC-8+QG_W9??UMW-)S4 zzcRA+4<2e<`jHGZNT59=jE{7bf{(;eo?$-fS%;Z|xllqB`EwZWW8gr^gAb?C`#_Jc z?UhDj<|^hn5(4=xc-YQfX*9SIZuE4%o$>`-CLz$UrJMYIzMWp}455gO4WN&VFE<+06&ZLSAyMWP- zgOrzwyZy^W6;KL`Pi&Kt7FjQb^XLV8?ZVCo!%8X!R;bi&F470pXl~Z#ih+(EeC%} z>25y2|Mn*aC6&|Td<286y2HGKf#-b6hhLsx;37oO&(U2Bybp2dQtx1vmd|9edIvL^ z&(U&vn1NmXX;4Z7Jl{i)GJ#c}qmjIHI?h}vmrusfc;<9Fz4|$R{du~bzQ#vzx}DDZ z!l2~E)9v&NK5m(Ar=4FKWLr1gPMKdBl<>fGJNbpoH6ZisbURJ{3Lb!|QG+y4O%kHa z7Ftll09_bV=3g%%pjCjX7Q0U9o`oN|#NdCQ;895Bi>i_HzmghxNU)kEjH;1$eI+%r z2{IBT@El7RW#V!`xE6N#8jV9_C#sH;m~N!qCv~BcN4t?9$4Pd?U;w)68`EWWu*>Yy z32>PmTtwd>iBFiQ_=In@3+>}`(R|DAz0@i6-i z+Qbj}>j&WYO6e0u>is>Yx@uVV2Fq{*QqZ!$!7RJ|0GBGKj~F=h2WfZ}3rfkjh}+gL znb_w|@TVEQ(x~7fspeeQ_3?1%V(%O?L@TsHPcgV<%i z`%zqW#{Y@S=3J~KHC^_)|I;ozX1PQIPa{Yef~&lHN)5=J@qRAAviwM(E?5=J@qf}g~>_xuFURXs?-0wrmQ zgpjxp+|gDa`N^~|7luZvj6g2Z$jSfF1zjgv@L@X?^pO8ZLBIMRDd;PkrJz?eOF=hC z0Uweus-Qn;HU&|VGznI-gb;gSqkh+S_=&B4UxJp~^8GAxgy{XvEJ3b#|8z=M|+?4A~z+3T7aJ@iF3P#)(p~sGj+Y zuEb10x&dA}A}ddh&Ig$relf@zL|yKQ=!1y5%MtH|_+iBT3?G7czh4cq+NI`>e)vFp z8jlorISq!Geneb_bP*z}j~Zkxp^Nct`CaaP?OLRi{8B=k#U6mZk{jeCF~J2A0-6qJ zTjo=Zp=q{;C5mzj^Ob`A55KedNX4f9!7*jbQmC~7DXgW6??+r2vlPa>mmDx)23bng zu#*kwMb;*AkXS5$co&N!Y@rt|FwtBj6?#JBF-gCj@8GRQlCtaHc_8=^5?qCJGmm*= zVjM7?y7KT*tb?pv(pwq$dK`cm^a{sP+c_wu@e(TuIkg=!ubl%wvpy8FGL1N@=eJ!=ZAWfWB=no2LdzY&=PLKS39zLO{7@l4Y;VC!~(;<3j0` z=)fT9OBvr6(O3L6CXtJr-enHAaV!v^cbUZ0(@|RV9m5im9Q?EOB$pPF7UgEpcT8K& z0lVI)^v#kG_S*;hVL5SQl0!`fdkA!hgi(#|t4R*EoOresR*pwEP%Vg0NeHrEMi23` zfE|yCM}r{s5ZeR!I}|^LJO>0AC%~v)A+Cc6*eF;>C5#fVcLx#hx(*O9x-LhrsG!9g zRpBi%{eYG!`)Geqi!9YK7aT~W+77xTt9fJ-O&C`ma`N&_3K`3zDJjod#{=z`JD8re zE(Qbbb32-zwT@{|MS{NcwT=fRwMbI(tYdk;>Zs*W2;y1mVpNj>CzREqdwATEWP_)` z`~S`aJvIk*8(FQyERm4MM2|6v_)ZR@`1 z1`x)@>j2_nT`xIzNeBw5K!e}y=_JLvQK0n_MiuLkPExF6I-^*bW36yxQs7t$7;h8x z5rwpZ;MgA=vD$rqXNTG*`n|IwavS2FE+8G*b*e@m1*;3R?j~h1?IL~*exKvPZ(>)o z7@y-}oQworjL)&vHz0`zzbZaG*+EjQ&vCKdo2-lVIW7iD3esylrp4&?b^iJ)nOg+z zQPdcDKnkazBi+rVJxwK019QDUrHzI`Mz>rkCyTqTmJsF|1#@A{Hl~|H6=S|Ymq-{@ zJ8uIP#%u)wT_|BxF+SZ*it+UBu(fJG>ILBestG)7EL(t*ytWLu#MV5o#Z=HW4X zDcD_nsk=Z2NEju=n(iXRx1g%XjuFI=gdjT}7693fX9(FGftE=aMRvv+LbmP<=*D%Y zUJ!Rn2(mmFM%~%Vc6Nl(=A{gi*yX>`W1LyFd>} z7$vIfOc8b4nGiL~=cD!w)P-3sRh=mvcv_V6UmSlRkq)2f;0wSPf7p;nz0cB8U(Bbd zabNZlV68pN!54rp;pCQF%@dz}<>;x&uc0MhUWxXj?flr}Y)M)iNc0qY zO$oAYZA+3>Jm}bVwnJYBUd6+bcIPM|Q#ko^PCmD{gHkds$Bd!e-{Z{rkP zuC}A!gc%a>(o&72yn|6BURP32E4h0+h@VzU&9ZWXWnjgA$&~O{1DD zDnR~@zaLDwWHw3aE(rlWXhO$`$x9>z^lLz)%8hTxIYWG*!^7t{ zu;-+UtLh%bUl$ujg}!p4#XK%-?&F}&UN&hEX=w2;?(3k=>STv{C1q}3UAl{T>?n16 zaf}-FaVz#9LpJqw@J;M;caXNnJh(rR&hFQ$Y%xWMEb4|V6ckEzoTuCqqQA#n{A_zl z{u4-fsE%V3{)F+T@LcWj(FBg8oNn{QATt2F2HSPdhm%qC5NLZg! zm-lYDz(H0oea!hDzraB${^7jhwudwSjuhJnunPpJfi*3-5Z;s0h*S@$pImz8LP!bO z>3t^EJ>5YmIU}uPy_!B?QtoulR);i&`59wA!RhgzoM)o}Yg8Exkr3safq}sH=h^6M z;IXsR2)Ir{pbf!dE<<-q>bDXC+7D3n?$m7M?@o|~cc0(ip&Z=bUmUz3yM=>42Nb*= zR-GXZ-k2SBaDF@NmkdmRbJOUeOlT>*Mk!uc1B<9hb2Eie-KZ9f9?q1SlxYZ~)X`x^ zdZISuE@dT`giw%|pfFr|&X6%kmOy7p7$3P?6z`BR$W;!A%lFLd1aYT?AUhXUdiVKW zv>13i2CThXac__iXj8Cke%9nP+9ZiPC5&RaQ8WDo#G>nNdGVag{E4|{E%k3uTy$;4 z4mI7%HvrEbU=H{ku+wiqi)xA7Uf$<7 zwXoHy>{^>5q6cHw+?hyY20KWNl)q_Xv>x2zQB@pJq*ZaTA0*Oy7ePp_ zxm9CSZA#Iv{&l=qYVM4Sr9#z@X;GoJ0tGeqp-ZGfWsMD2D6Y8!hf2*24F#*{f|T8G zQ}LWfqYa=tkqvR!#oIg-rO9L24Q!MDAfbq818bLlse?L|lSRd3(6u2>bsnAoZDy=3 zm$o)t)mSTR`!pk*d6|Q(g`VPU+R5=;!~=fcd^i1r6DlrqP*Twd93*;$6DXzN&lu8` z(hiQ-Uj|K6YLHlN(A%8&>17xzT*2;tkjp6hatEcW{4jQ^SVah z_Y6%x$l0t6pewfaha>C{*5Rf<9ASSLh=d}dBW%gC;mRLWO#I=9_(Ku%`GpZ5817JA z+f(9x`y_o!Ya$QbG7cFN65X;nMa|7Sq%d;JibB>EgJIGpwWkX}M&*!2YoH~nBTO8|ng+X@!w%JFZ3pYX;YO;jnXVq{UHNxZnn-;|TUt<2*|%>wKyz^E>L z&jg2Bk?u87wF+30-XfTvNeFWHqc(^4yT<^XH*&K?m>sBm*Y`@J#2km($bCDJ)aRgpg-9tijMKNv)O;&^I8=&R%Ks zK$sRE4ADq65y)==83#jN0dn{Z%U8J=Jv^Onr`3YJNkXuAQ|C&`bEqRT{qce0B)NGy zqt38BBI6#Nu_DhAd1PiC=fYW-U4p$&La=)rxuDT=$R*p{k$pd|T9~aw)pN>Xa>{_m z64hH&+Ik5=wKt}SXue5}H+BoGQ9|JKiNL`e+_qKG$&e5@^-(O9*JQ35^qtdrAoCQ9z@N)N&!|8nkkqm&PxZKcvg}R$tA=d5EQh!;Um=wMLitZa4ZaWAfPU#kCzpVgxJ)lBQ88f z3TEPFSNiz}O7hB`Wo48QYdhf_MWWKyjzn?rIEvRVX$DK2nUu1jo6Yors)<%g zr_sLDqHsoGy)anf47gpX0e7*p&_kSG&LuOkbf@3%_PX%P zKMsS`OPT0wyHpZQ!*A0%X~yO2+K108gF-~6K?7Q3dTV`q>fofwFCJ)_smSLIR+PJ2 zvFcDsC14dTR|Iwxj}DdO1dnL!KK<163ReSgL(*dD;v(vPFyg2@3ts5MPa{w92Heh~ z5?qZWi^Z&UjDfZ(J;O9_>ULGnrFBXe{y;CPo2U-EU^Bbx^apwob#>x@xc)MwuuS9C zRm|ZYuQRZ~Bw6!96zR?`A_EeiJz0-x43vZnY7F=pF7-H&IC-*z;xAchrxKB`NB=eikI5y^QjJsPhQcD{DNO8A@W^`d?QzMqr_?GV440B zfv=Ykc<8Q~{)N+o{^V&wfBrO~zf$m5ONe|X{kxfd0_1NLTMh{-^z}s$Quqt_}aog8%it5=)UpS#Y!) zuhh<%#SX~pi2hK3#`V9gz4Vm3M5Zq#glxmnZYBJ6sh#RXOTN7K(o#DOnu*B}KurST zA3p|Yx(Ujdq{@&NegRr*g8Txy0_p?wt_i9W&^Qh1G7G%+F11sWfY8AwH!Zc(B!IZL z?ka{DAR*+>hWymtvdnJUsX@S&^~tHr>=Z(NJ*wdfKfyiUL@IbO%DAeFUVs@8SzUA; z?7ViCgW|!USqKl2Jm9|w8i36ZRr zUfx>DyAqU=nrp=}@=XleI2)TjPran*ek-BXORE`t5a9T}%j~pSRC!85Sa}%+lehp| zCy5$}?b~kb0>?CcMY*X>?M}r#!t(dBR-FqR>KTN4S*@`J+Gr|HR#yhyXQ?`vNOueDL=F7!V)IlVvTK=hUQzTTWPgxl|I`%r zL6(Sr?13J#pz}S`=^$&U+)oc%9zOFl%0<+r);G5?@_eU*63}kt@^95NI!Gv`^0g z%Przn2){Gn4EX}|9w$~HvCQqo?*qJP!9Z^>Qp5qiW)jUs4(e7Vj5kYY_0S%R@4oib z!-WNhD%4{S9blrloK&xpzTvuC?E-W9#)8q|qYQ6S@FSe%El$eH<7JCKI7^(Hv;4tX zdb`mrMp*~u&}OKAqlGz~At%uaK1lOtx32AZwBOj`LupNqzql z-){9?d$j{4$Om|@EOk&y9f*18EUd9@EJZWiuv_UB|E3D9bEr31eNc+_g8Jb5H(;hT zAun2x3y_vthNU>_kM9xq4p9ca=aj)uQYTwgYcl|8%K@K5gYdl>-ys@|?>&s0qj4`m z+7ZC#(53iJE@v4o!}pMK(5=$A!;y9+;B#msz8B#;MA`Vh54bJrIv1*0iZu;NTfH#r z@)Q$wL22$RSEbnnrTIlUY&O|SNhQ?n_m@%ft#44X&qz&bct_E#+N(mD?xUOJYTMcC zP;Wwl)mX2CBHlyO%K%J|yL6ON*Qn%hcMn*7be^J;3U6s!08EfF7_j)2)!W)fQ3NcL zVawlp=JyV*UYe{yzOP+W*4bAmLGOF-i=U#En0#IQgU}?@`Secq?DjKB#?0e1)iEr?%uU1`eVWdz#JkEt+zY zl7K?QLV_`HP{gXhv6d1-Ete9avqeqxu>ygyMh7Q((Z{sphVJbc%L#ws=KnYuq8N3k zq-((_(zK8Z&YYfMS}13qu7xppm5^5gGN!1}4W7k_S_xoifk2PDP5@5fK6`xBN`Yos z`(6}ljGBkPe=w1%Q0Eun{=jfFFtSoGoF{75LK=a@XT1)JU$VwdPl^1yC4?3{@w$JF zoz~5DQ1T;d?6hO9gKST%vC}7WWj4EA@OMgxd=+{e)INYNmgzSL{7VUe$Fn!k?;8;M zIRT*`3<&)Lg5M}1@|pD4GW`U|UnAD!X&-2A(=E2z!D4HLKX;ul%9QX(1jGHGkN6!}*79)OYq?IMYhCIGO8JOk z`!v+P3oF$+$uv~6n=18yaT-@YbDd;Pc%7tKr0RY^5rlNpG099gvc^tLqUUVL+i9(x zrY*qQ1wa|oRPh&R&>beoFCeD|?KMGl0xHy?PSI5`LgA%RbV8)hjO@{0uNJ z)g&EKtZfp)X)rH8jzuu*(-QkXQrRP1<~^1?W06e4-(%5>7irU|IAN{k1556qM0$1+ zW@1>YIcT|ge|tK#NDfG)eyC{oln|mFIKDrd>oHocoR1Za2>Cu?`7GCKfj(ibYCYyt zUXK}aJ?1v$e)=b`$M_MINyJZ#e8=^AJ!ZP9-ala3BVs*fVWVQZL_&z(j2erDmTlKN zWId)@z%>#A?Pra4*hE_`;Pny$?H7$kRhn9@fHz49v|lya`6k+C0Y4=n(2i=fQ6}0J z0oO|iH2xhIsNgZtb_#g6gh2Zp)(9^Gtu&Dj2vVbjK*k`SX+8$DmaR-)MLCAXx)?J) zQFb+plNTA(@6)_frAu^K4EzX-3^&EV!!BCvXhoRE`FbHilePU*lW&JXshWD`par~Y zv8sqU=$#fXhR0@5E+(|Ea3oVjj&j6M5#ujFbErrOM+T_Ky&M^+BKtTpNJSEFK%T)W zl7+~8nzZszBF($OK`B+J;!Y|A-@5@URNtTByGVWKE#dVB#(4?fZuOmcBQFYY`Zf42 zR^MOYyF`8GFLh8#J(zfCDrT{-E=4m^^{Fz;w-Q=CGy~AzmSR;(5)VmeotH^hLO{nd z)S^t9iO5t$<{2~#kp+l^47v)D^~*4hNTC_L?&Jd99m}w`f`m{exq%d44O#{jBl4$e zD@%_6KfixMjXQj{G~loP5Qyf)qeMLDqB1Kz}{x&n4o>j_PBrBcKoE&I%f*Mof$~039P>JzBuR9TK2X z>kPbOgeHz;aR88i$eZAw6 z#5SO6&Eb!YTdN}%4m96^tjo%`?>G>-lA)o482adww;qjL%h1rl488NN8$N1_a>i_J z#{jAf7f`^mO6Gfa%N+g`q*EewZ=vGs|qTROI-zlrhqnyTO1!Wd{` zta_yJrM60EkcsiohR+{r3uCZ}v2nv!|7lrD?G}NhGG&=PNFArx*LmoZjMeU!b_ZKi~`b3M=OH$GxS1*ICxz7zVlZX8|Nst&tMI6a;$Cr2UMTTzZfCtLm}3R9hB6%eHH)XB(!864d? zb!|p@++{AD%sF)u6TNQV97>4II&~7+l_9qm@5<#my~WU|>D0}V=MK#C6oE+2sS7mT z9V+p`E*V=3$wEXEPLC%G{l5SJ0RR7qpAZsSOi4lj00000Gl=4N0qng!a9zuq*WJtV zN83l|Sns?B%#3G70|pEj5MV%n009C72-sVeZQXk{Tv4brePuu!P1iQA#jQvS#ob+s zTW|^P?(P(VYmwqEp=hDFyF+n@Leb(D+~G^_=ly8|J-(Wf4|=9 z*#_`?d=Mpnx!ynO{2Vu%Xj5$~uN@q&O@{`udo2YT(VgJrQPU`rE?Q zZPMd03yGsppF=-3$wVel#I*izGvoUQqrrel53A8Tn#zRdMl_k%Qq;TECK5{)`uMq5 zvC^qQ#z1$rj?{d|nLfqDL3vYJaC6F$nhxHO_-ZN+^VkN#j>CJ{fXR?5h1+m)aih&Q z7}PR56fcbhK}!_57GOWVtD-;S%7~ijnY1|IrXpY!iMG;`!1p)#!A0u(UOw;T%kZ)X znFe;2Iu%wKHB&tc;|f$i#eK-i%r1R*VILd{mpUSObS42t7P~tTdrzJqER#qlLyK9U zSQZVW+`ulXqv2InIfRuIsHmd(p(53FjqVt6rtdl9B(31%+=@Sv`;NMYVFvlIB7n`` zEKv74iM)DJ5FMt|Oi;l%k~q;~e@b?T4Y1NuAEedyLv2~W_sGHeHM1VYubqM7{YgoX zi8@;8FXZnpeoVVU3e7BKtI7)E>GkT<+DUnggf2XEUnf##3nO}?4`_C>pJgZEz9jZ! zG02O_EcB*#en0KN!8WIe3M7*f`x;iQXuZ5Lxz1%Rgba;768-5HS0eT<5Bpa_05=zj z@-%gMvr`l`QYIrgG$|GJ{W8Mb&&rAK_|JMvUQP9{sVuZ`YQDxGvUqf1(7=9|%ucIWkUnlGnwEnYq{o&4 z;l%DRO8c8v{{wBSu}qX-g`X|DxY$DpIZPj%IlVrLqSqt}GygbPdnyUv`(!CUleC|H9Od0k~P1$+P$IuHj@q5hN_o8~pqT6pCA6|&?%33mrrqsJFF=0ijv z<0Ad2jyKF*Kyw^#V^hgaA}&MCu$sOY>P3KHT)3rHEX0I?<)IH`?1X&>a2fRA%hMWWq(zN*^0s;Y98M#5S*?%hb^$x3R3;^s}hEC?MKPg z8djqu=s+a!H(7S9p3b6F?B4dZp144G4nvDIF`m42arEv#nh2}THvcxHD%7ssSwP=bjXc*M|h zAsho7)@!+{%EqT10Ox!UwX^mEi+vx)brG(8B!i32yBOV86kV*455&L`EO3~Q7>Ed| z=DUXw?5}q7KmamH^2lRPA1#)JUXp^^HgnHcgg75;_GMDEa#Hgn?e=y2o1NZ=z-sb& zwoDg%uU(GZh-M@9Gg-syj9Kr)CsL5?g@VAd6sjb7SU%hq9pHHoejovSem|^k2hQkn zjoVB2^qhd(;j0gvIx6L*7tK&n5Z49#2<+7Xs8odqjq|o*h+c?Js5qo;YYf8Geb(MV z+}ZaA5@z!ipOgOPi4Wb7mwZ!KnsUr_U&gr^z6R|vGndMh70bkP^S2RYSz?oP3IUSn@l2BCC z<%43)Y5lS=L#=)OJ*8Q=?KhFLxM_ho+Xgl(c+U1p_*p~iVA>y)pw=PXg7OlSgI1|7 zV=&H01-14UH6xED-5Q=zzc|s0^YGk2Yw;y0E&zd74J-#)-xt(-7irp0s^tv4KT{Me zDd9|$Mpu07wYiKLUPfj(E#oAYLZ733lE|CNoa`sqHIDZCD(pG-{7M~E$Yvf5?T8`v z-$?ieY144qD*ASYEP-$FW#>N*p25mHJ;r!}x}x8oau9!a5GpZ(QND-W9bc+vxYp_9 zbLAe7Qk1;>__n_2+1uAJ!ukSIo8JLV4>$neXN?J26k{C*&%SePmHfr`gBF&uHnpbi zI@ofx-m(sV@?>|n+KFcrq4(?MtE#Ul3bDP=jLTRDU;z-&h4FKBa=?VrkqJzl3Y-d{1z{A8~Rv~-TX z&6s=(MB~y$H04FG8hXv>%fY#kCE8bEg%f+3_in0xm`?@MtQbV+l31AhNV>_Id|rB; z#w)J)U2%~9YT#tupPz9VA6$M7#A8*VMnr(Gm?m0ZHztHE28H4-=D=g^4)!$YRvQbC zjfm}E4)vh>azMEQX{vzeK8D*rXmeH*3cCZ2m_sI<&`_G%pdb&;IP~5D zKiEVE%~;Fqy*Htc%=UWBvhMV75^o1p#*&`@Z{diPS$&Ku#~Jj!F7m*dX5eV-$F6D=9d_@68#EhO?!-!pn*yrh> zZ1wHh!9?2(2+MaNRjB*z=Yr@GvBuF!lXiQ5FGzKrV;CdS1ko$d`X=QS5w{rBjMP7v z>1lmZ^$j;neP0c!4)?yQkfgz{4$+prc+{b?7jKAN!pjujCAjUVyg&m<`VdubTn7EF zE?B0)FHuTs6j+1B$rdVpbQ+Lda%<|Mx{yt92^FjR8m)w_&xm;sIVoj)qNm`MCs4c2 zoNc1ria$VfpPKSr#tLEcyAQm2M6SoI$P2N&oY8=Yu3A)*_w|Km`*fBC!l27G*CZyi z4{aUCh+ZQWG9?%?3%=^G;9$!JYkYTQ9@o#6xECDaDW6fjxU zkBZ5&R>xZ1wuly40}Pe&MsMF`0?Bv82sZn>EbHj~^&agBct@96XiRc1CAH(V)Pf4rL(z#b{?~|x$DCHpw zUWBh%E(BE(OmlT^Yt8x@u0=B6qtWI{5|7>X8trVAvqakjkFaXhUQ@a{PFA|`Rhtp)@9g~%C8jhLgspG?esX__M_-L3Cwi4xinRE z8Gt0srau7KuOb>E5#cRn zVPx}eN=1GJ2UR7UWnzM1*LSbcF6YIkCmlK=w-71!)>f)Ue7BZ;DVxj#q>rD#5Or}> zfrb-Y7@H&9L~l2>L)-$%=p>wxZ`76od>%PF_c?wze@nRAZYg2K7h-EF%daV)gC)K_ z*6NfgGxX?5_c9>*K@TLz>Yt#e^SplJew1BzzL1%xjEFRFG9du-vu+(WsD6jr1Nuch#E z#e_wya`;~|y&6&lac|(u7KE`O+*;jc7j~Irt?;c44u(^gAaH38SBjE`Va*GK+6M;U9_>k=k|(xejMv3toC zn?z#jHQ>luimRI|3a5ew@iv@UH+VBW{Hc)d?4&?~oRGi(mF7E8w<`MR9Un8W?SPGK z-To&>!%Z82K{58^@yiNEoH~cUVOHa));LLS{G^ucB4w;@!l47Va;=jB$oQY+G?hO< z@Bh53njsyW=_HyM+x1<7@c84LE{OMu`!N>}gF=yJ`9`LO^sqRlrA2GSpsvrW2ol3`vjXRKa1ag>D4b&S#|6 z3>SBzS^an8$Qe4?-G{zw&uX@x1r=;39cyaF_lR5S##*q|Qtk71k4v>&GEfGGQiu)8 z2k_?iR-#|GyI3|$a~aB3=czDSxX$mKx1uWP$V(vtb4{FoeNch{DYVRc51d7N*@oo1 z_F>t5SB$Z$05RiG(O=;o_?PEI8L@BO8t5=X_a!IyxMN`H2JXZfPHb#;F<^&mK1zxU zoLR9p&3;4#%&GB4h~!_LjJFB4Y~_C zm|Ka_EovZrqixHl3cEvmb`fn1GcB5V^l-bL;SlSQ``| z2gjYic4@_?9fn><5`oX5K(2M7MdC#@YmEIL`{z_-dMExE`u3AK;p7_ysL4?sIG8^C zD9V;j!!FA~kiZ^DHzmvHyvMSV}+xXVodm#p)&F@`oN5kcH_ESZf8+xw@ zR&2q@qQQkQ-Hwm)x_HG2DXO)rPZnOtXm6_jXj$Q{uyV$=sN)WIT@wRJKl;&EHKu%@ zUgXtI8BNI1FtZcKt!$+(In+d%&xFupTW|PyJiP+9nMdm0{mhtL&2ORCNG|=J*ZnC= zfVv27ftTR6jd^9EZv+3VefwBH7&60e5gF#%PR`{=emXYW($2 z4(a(w$#+SU+O?Dj8giToDHknm1-Dw-tV0ATQu%O)4G<&KT+3smgPvfw<#vGl&X#NG zJ#NO+PoK>gd20}Mo|()|q2i>s!ZUEOCZ+pSCKf_o{XZZ!@R?~r*331_3n?vK^o z53BfYM`bK>FA>pMub`HTbIkyagdwSyT2?4+1;3H#3$D50G-^m3h65%%%sLA_2)^$1 zgvMc=sPLmp^lF2tJ6dQ{$?$f&G#_>sJ_lK%Zhv6d0g4|)K4J>L8i4$DbyRcGSga=T$8Pt|3BFTp+uxJ>B_V2p~pqU}7j~dxuQw6ss z%u&YGH67?Fg1mq>qmn-PeHJM1ZPcOSX2^na`YcYRLg6-9)EO3=JxXcs`B@iHuCKm>q<#7?In0rbmRE|I3I zy4Zd|wi&d9bm?@4&O{!~Dx`K=j<|Q-tZUBb&+F}J>*XpNu~0VRHnojTcnYk@hSA!^>aIG8}ABl)PHxEn3%yf zIuZlM)L$1gevxljn!*FI`p?E_MBag@4Y({92m5Dp$~GTSx)?YbgdgD)0iVcfa?e>3 ziRA%!L6Nu!$q=%I5NsP;xEh9V6I=l7O4@gB*dU~2RkV>{#lG7eBZyY@?ON=zAQSkt zt*g%bjV0z8kM?hAm}T0mv6M=+W-5;wNKjJOE~VW-iG|#|nuSsIWiuR_aZ=Q0Yd`!+ zJmaCao%+Il1`0d3FL!l(B)L%znu6mf_Z(Y?x`c@j8_`C|-#?2%{v=^diuI_VG!J!? z_jf15f8Ty;Lr-cu|FmMJmVsLL{;5}+&!4)!8T=ZO`)@ndJhYs~3611RqFo}=Fx zE_!*%vG6i8-s26*Js)45v7IorcagO-dVhwi=Q-p&*)&GK>$Qsbu>GN&phUV!-OgO{ zLiy;{@@pmgjs?fn9U^xiBKgSK7u%&}j}Nca2bXf!A)x1e-DUIMH6reUrr-*D(@5$P z`z=|(v$)S9R$$w}>Q=57gsYEd#k7!-;PzVs13{ox%lX%)`kDm9$S!*U^f##%v?{Cy zBObH-vXG!tBC_)^dm(feg^;l=WM`i$u4y+7O}3jRO(ZEG<4Mit^$%DJDcnGw`@8HA zH7B4Jn~%cnDwy&8ZRe)KR^ytZHSFhkM3_C$z&9@r9e(=(VR#qi^PxEotN{ky%L8BN4ebJzJ z)W^1hyTfGS3W1odj5&47>n2HasMvs3s$GH;v9Pc6FjHYtDOE;X=c+1EQM?Rt2t7vK zA4m;B|6qny$9>=H-={6a75v1Gb$7ViYTP?p~u;>lN3e_wqac2 zKNPv;+>9M-0$lIqnp3tQs8|cXuoQaA`mY>R+k`%Zp?{Kxt1ATW=t5k+!kHauNr?$( z0T3X<@~RxLBw7kUDaN*MW!9!cqh`7O`^2b!xUxjjK6naRXL*OY#G+tHSw1GpRxXDg z-)iZ2U9YX9y~!0T7#d_AB~XVeFbl_N>I#i;YKDG%=Zwy#cr3S*>h;dg(iYI%xH)YZ z?kh%^4i(|rjq|y4U!3|^Z2EO~?0M$Yb#W&CP!>WvPpJKQ=VWV^*~}!*<%!YBTEX4r zV|R5XJZQupd9MnN$DTO#u=Vk4#G97+Zn7X%Et$b})j@tr;$~ABA<)&5L^FOg?L~L^ zDtT3%RYfzJZ7!3*7Z*kf9Jh)=n!@9pnCkSN}z<0J@_Ksh@G= zzF4a<(VXyFk_T2M2%*1ewXkfcqlc_g%Nv>Z-8FrI7%&S@6QQ+$pG^I|UObZDX5$F=Gms`VB_)*R+5myt<_1xa?c-HH$xNXjlz z`Aa>K<05LWBJk%Eyk(0LqKPEj+w#pH3fPrz)CSTClm&*-eZXrIggQETUFCOFH24L( z3>jv0vRA4-HVbV(i2%^&9qnJ!*R z7$dP`Jo;uhP=z6Sp&)giQ8H0HF=Q#+_?At}Yq5I+DQdDRDgt;CMZdl&8~*g3ix1&l z1$&uUSg}|~T^f5PTO^+QmSMG6vnB;Cq&b`^QM^_X9HMbN$X$A$7j<-p!F;iDUtZZh ziD|!^ja#+840}sW1z$u0Y<~{`nAd@r|Ira?$aCymSHu>^O*rwsy$?R#b<%!D)Ky`Q zv!1m6Z_embzO`MfO zNpJTKN|$%_r_|Nl=XEDCyP?uIo%dVk2bMB=eo*#5#x4-^0A3*!9D+4?If~kAYc}LT zVf`g(`A4I{gDY*9DD!(SwaI?HX*a?=6*M~*9~Pc2Pdfgz99(ktu!^o4bF^=J!TE$| z=JrBQ2F%q#N$Er(g*^AE1N@Q31gxG}s1@juH4Ps{4ey%>G>>Yysg59DstL&QocSNK z;)UARZ5B@)=_f951MN7!MCE3czDAWB8~@56IKA0Bb$P1j?ql>&zK-c=nEQNps$F#w{JwMG`Kcis3m4shwse{ddyC z`C_~f`WOA}9|W$;wN#t26d2)}V;NfWdhf6Ag=UNBi@E00SPzrC>zZJesHZVH3Y$z` zk^+dyx6t?$psVML#=kpT(n)%gozTkBIMi@tR@l~;p9(6j%OhXr9e6;wT=5Cthb%%t zY-`!pyjvOha&e^Lo1!Qxd}zTZ2Ynt%18GXO3dWzd?5Q&~6sgoR@h8euKQ@r5z)WA0 z5`|5TYX(Na{ZS3>+}cfl#q9v6;r!k`2ylPDLL-B*rR=OsP$*CDur z36Qr&Fg~;SvUJSva@58^^WR`G8>?mE`f2%Py6?5TX9en6cq8U=<=S5Q_i-vrMoE3y zVJMO?Rh__G7P{;?2_nb;X)7kK>KmM!$ZNDoj+&lMQ2Rwx9@1t~Hfh}BBtO1u;L}CE z)4Aq;t7<0;{y4ezHA>sYk{e#UpGuo#++>=q0r6de7VNA!SOws>Fo+$D$8RHy5R!uO`@fvgJ4Wn8Q~l? z!p;Xe{^O7cQNlB5H=9%@Je219Gq>WP-SmMM|IttS&d<&Ve%73veEph7sVYCNropz^ zRH*v#GzN^^O(*x-qR&Kkw_j3B!eMS! z7+bc5)s|y`kGUduQ6I9Z)4{FkTLg(^snp9KvA@pcTq1=1a);lp9}s{g4T$9(xGajt zV!B-}P=mJKUo8CQVRZox-BG8ge++ya#ao5UWp*E@_zZ$-6=zK+S|SkXwZvuO-nNzt z98%7qIcaJvN4gKO@7oQ>sv*mbu!V;b=k1S4{z$0IF-c4Vo#zip(0Qf{8yj=4jRl7o z$AsIZh8rel00{#PTkhPZRzB3WLua|N&L><;OP9jNGZis3PtOvTSdQG-k~oCBQA=0n zcgg}6=5C4(NDo9|mN^siORjvDcJ=MY4C5Uf)A$geen_df>}wihT=Q2)`T5f7sz(Ky zU+O*yqK&vaa)-4kd(toHQmIwTJl*Ajg_i}pQ-UxykGja5baU)T+r?%D!??v8S`;eO z3~ZFu=*#$)HetgSu(kwUO^4)<7*IQ~x#XutRYe4>g>#Q(Vrd*@JE+*$O|hmDJO24H zD~qH;9MxaL42kBsz~#L0^dv{;QQhU8a4}1{IPm?+&jEZS5WRts^K0*ctC*${Wd<(B zIK}hNVX6-TRhcp@o7Q2aotPuPs)x&xsV^C}o(jKcdWnlAP+!8|Ir&uZWe$hoaWnao zQBXcah$#QjFr_{I`1~YlUYqK1yhQ0P`%lW(a>QmO>%T@DXZB1%X0aB9;hqRg^lj9% zyoG0x8$fk@`;`Eh#YLF2f)oh2+c}z6y@su930ng(*DdHouJYmCRJz`r(;%MpN9K=D3i}E17 zy)uGgXP~xt9M$#+IJj+RdWx1pG%Wz~Q9Aw2rx7Ljw%bpGsAHSMg{l z?TMG+N(JpnMsak-rMWlGG-Td{y?OXug2kK6_pU?&_tAe#W07Ad%DX3oa>hu#3CEvh z$gnODMYilVYYHYdzJmQ!ag=Pe9u>euH^-=fnt|62J3~v8a1($qc{h@|0t3wG$5(Xg z3?K+E>qH2f`&s`%f+}kk@30%&lChT@eW^Vm$yAa1lcy3D62j4rbw|() zTq)8gid03`I|6ji$~J_eb)fD$p5nCU%2+Fz#W1O4Fo|vrdI+&DM4|5{%%72yHbh@_ zzh){7#A>j*y#%7qa*TSU;4Ce>5M;CexzNXkrlM^jzPQUTFSafh!gjB;^*Locn<;L9 z3jE4)`inI>VuxZJJviKU;>g{a2`r9f1vIhZ^EG50`e$-gV0d*bo-#3_?IiXsPANdH zXEohhk8ie9Eo(#fQZe%*3N&u%(%?LWs+7zCxQPVv5X3h?%Xwr|ef4XNOpJ{ig4wIw zyj;>qsnoq{X9NDN*bEot<_7BBHwzhrZOQUfSv{zi!?w0?{|xa#sFYyNz5c_?q9nb! zk~T>vcLx(j4sGR__q<0t*i)cIO&{>O<}CNpzTD$%A2h$a+0gQrp-b<#78xDblxf|K z@HNy$MC<5oKx_%$Od7#MfwH4_gYf4DY@^QjhiF;pmu;bsP2?2Q5R?4wWBO4_|)?BJkrG?G>Q>ZYIDkEGS~2Fttg>bd=XC5J5e4 z1Itx49lfy8%w{9bZQvI2X|L}q7JW-3IGmX7$v~AoTo*rM<#gOeP8fgT7BMZD&`T)u zLf4o((6odqSds_NB$GbhYP)6~>sW4#I+7e`G7H<7-F!Xj@i4Vy_FA)h4S+I7Y{LK^5-(p23(X8M!npx9XV_b}3JxD668zdL{ z3Z1*80lmK)c5~_U%fD0*Xffgm>-dUgz;;otg<&IoT7D>c#yr9#|0}bOZZo$`ujnh% z^L<0dSEMhS34;VOx5dI>h8YgkT$>m0Mk@Zmc?oS5rF|_(X8VKgp z{q<4i@rM+o1*s4yJdO+92W;`Oz6GvAv#KfMVt2}RUn6!yz2?IlwQqkFn#4qi;(_vhZsP$Xbg@& zsxqAdSqCs^P`Jrf`-AS@#8fQE6HbkAUt#A=jR&1Y)7aBq>LG6Lb$RTGw9+nviw~0q-_CAm-TEhqEMBcVc+2#I`xngN2D|A z8`70&xvNhwInLPxS7bU(bmXg4C3bOt^Q*-`yRlt=KeBIIg;g8rdX@i@E&|`HkH<}_ zI4*D~OeJP<7rl>2`uK9GuUWbq0(;-?{E`pse3Vu}H5X=3BVe40!-u2}wd_`Q|6o`d zx>g+=kA6(RXJ}{363Cvd9&wHyf}c0EzC-B1iwk+0Tu-YPpHZL26{AR>2(8ij<4G8$ zcRh61(Qui6B>hxNW;Ho7ZQuc66QAOe;lc{!9QRrvA|^mut*V{=pPw!#GM9gHsC|J^Fw3`O2 zn6N7`l_l)4n6DbW$58lU@H-PV;g?zY>=(QoDOta2)fQzOP`-6wjlq*f?ej4>lQaGA zL9vYiCvA=hwhO%;nlgfpKmYcjl;Tu$`ZO+otU5TT@Ur(@XyqY_qFPH61Nw+D@WOl0K3j zul&o<-9qE{x5FBIcLf+|?&|3%h#KW~@e9i=H>_nqk5-aDEzNUJp|JY6XL?3XdsoosKiX_6Imntm}IM@93 zLzJ|3jJ9jss&8eLGaskX2)_assPQOV7?`JSR3UyVHI<3UCc``zV<802+_}&Cr+IIc zy>&#rz#Qky?Y$t@{4Adzc>Z001~mFR3>A}QT%;~E>nc+^@NjB)tL>AX?%&{bP3hNl zSZi;D)9A-JR5iHSHoO;F`M(-|bgNWqxlbV?IA0jnwr9Nvp|#u;1&{9xMy(ZX#u<<> zNug}NTiGOS&*$>Y{wefyze{MD#DPfgAAl@os?hRImcX{ev> zlkr=oBh?;Dx$7l`pi=qIbYFN%*1Rzw)L!`XW_F$Oq>N&vz{ymN76oEBVoGdvig>7- z=Wj*rrZgbhbQVCDP?g6GRYZ+L4L63GL}0I1rw-=DxC?Ux6|?Gj9l&~51hyT_CY%+tfx39#l>DXiDmOSssx*#s)HGL=S>!< z;tL#Sm`Zl0^6nn4yi8s|G;I~XD3fM|R>))Am|DA?sn^1THp{Z%;B5NgL%O=jVlhO+ z>H2&X3s!M?9B|%wYKXCa3XgFwkdG#r#8HHv*32ux_Ksyq_{@Fp)<)=cgZkH1LtSx} zq5hUZ>#v+$V#6wyoUa>cZ(?~yHJ=0QGc2>k)a zlt@+^#f`L@NH|J6?6>+Pj}g{cWV&t zpR0(ry;1yml96RV`QXop?o<5qL>M&Hu6?{dS;g0WTyPazdbJk1|TUv4XMh(ZB8Gnc45i zA#qSny^SUpR?YA}VlWl7vOiaY6snoyFK>Nl%jM=_{a2W4#HNM##(y^h(c^i^yoFqd zweU&D3F>wAVE-Fe;DaG}XD$K>zmnnufP3+%{5F z%jD5>S}Q{^7p4f8@dkSXaiJWCXw2`)__Ap=wO(i;1Zl)l+NfxV({tR2wbyjnwL&qc zb@1c0>Gy;QT@QUXjSNEFard#ikohGkuG1)+B28Q2dSkY=W|^@SKNzBy>;dcSxq^>j zd{YMGB_Ad2;uX!ooXn{JbGWMKiDd$EdqofH-Jy-#pUiu$Ltj{O4QKk+=!6Q@-IGt^ zE&9QkehcuIEc0$nA2pkiej@KpoD1n=v1W)m++ultKKQta96i1fQ{@lbkiXS0sR@vr zUWHOt4L<8r{q_Yn&vcZOb_acn7ome9C#b(#N(?KTvLIER`{QSfWiLV-AXr8T8)}-u zrJs(FT5QL#o)ce}b7KHxIR;3gy@0!ZK-Y*6HNOKR^nC;Or#D^1lSxmR0}zRqP3XB- zL!N+Kh^H7n^XBz5sy3?c4)ty?(_LhVI>OF2qLYThXv-OjG0cKAgJn5#;mI@*@~|hZu^bbUX>EC0Y1@zYwp;7Ma|anya&cZkAbP0!Mr*?} z`c8`B!>d>e-&9KcgHXAe;B%pia~?y$=J`ON5q7c1z4X?4$0_rPLhqJd!5a@&jXDub zM;b+Cc)(uDVQ`2!gh4IWvV4XFQXN*R?=2oh2j!thk&GemAilI? z$p^VHb?!X~ehwN!;U+a~q0N`xd=7lUn+`dJ=j=$4R%G&v{RScqfDJ ze*a~`mS0z9g|kMu z&k~w0%p5dk?~_R|P(+zJ6yO6X-R+*QY=S>5Ky*^xtCJ3fb-a;FeXjpXVJDBM4N2~6 zzee2CP%mQJEDiU+8kc(gUlZNn%_b?1gt*k%+P_P0rUQ(0`N5ArDBnUybqlhAY8{LS z2sd{JQlpX#)lq)(9z?OqsH?EH{~VfB6T6F&pTlbU)@T%njaVMyY&DO}!EJ=Fv9T^J zl=VYfe)@ZV^qR_vyyKT|5(ZsnU)e7i3OQ&eoM?D%%;cA=#=89FZB7*G_2rd1b#T4< z-{@sFI;puo%0sVscDkUku4Ba8zKO<%2b}!G@Yo0DbdQ&ufdBd0r6WG5Nd^{&eA~d@ z6P2i7?)8~_uLU@s^<}AmMShZTX@-qFHeG1ePo4n0s$Z`jIsTd|q<`H^2rFH66DxU> zul$lE^||}=QlO7GUa1ar5?r_2R&9;G-PWdJlq zWj>ka=EXqq&gwrTgF2rJL+KFx233E9HF?#wSqHVy2h+nrG88_|$ckZV_D5 zeI%-L=I~q>0ixydlPmuiYJ5f>#6l)r@eCf52w|CvB9Cb;Uzbs_BB59%_S zD)tg7nk0e7QF3(|W|{!v`ZUgh3Ka>3nCK6B$I-_PHVlEHGmWp?R?Gr45r~p!R~Q3R z+S_4B3+OZMB}Mu03`+7%^jWPs52|3_e>l~yDiH^*3%Ys#jxpaYa6U4Z)pu=1EM(DS zh&0yKt}Wxe#j4&nJ9znn_=D;LB!ag->F&G-QHyN5{v2g!ULe4q)D1TvUIH7b_VgN< zc0zJy4O}uzx)J**t+b*x2zAyOj#CM$2H2`Jw3VUuGI+8mR4(lMtJ|#Xns9pF@9@ z=Fr`24KtR&B3AW&ZFh<#4Xrv4Bs(ZY#y{YZ&(7wc7QzAtXi#l47^YXRf-^14jVGbf zc99|gx$Z2P`U~o3ryoI(zHuz3x;HywxHWADsLJqzEx~ucR)L3yY{*smy~IQ(Q&x8D zSdwEbA#*Q76`+AZFXPFg86c;WH%m;GFTTqamw}2QSGGrW(lGF6j|#rZ_-SSC3g^1y z`@~Ab-%aG&mn;$-mBX|z7|~XHJ3%>0|K4gVpNiEpHN<>u$7K;(s+UXH%^wT)iu_t1 z?*G>=VB$rYn~!{ndX;Emd>A9zOA6gR|HKKEXK&~Kw@UoKRxAH&)p0Y@6(%n)p}?Ek zagvw%SYxKE9OohhY1dwnn~R(-5PxA`3jHeRq@%!v6>cxJr%#xood!x@U+G6+hA7pK zQU?=lET^!-UVwP<^{%41Lf<%8$fZv2o-b~+D5h)nL5Cordr*NU^Vvfu^|L=iGZR?* zM!!;1Ocj;;1Pu_b`6nZ77q$N*CVseXLjB%Plbr^V0H>LplJnJ6eBcPYE3qf+J0jx7zQ5hIs_VZrD+a}gz!GG z1qlHKo1zClM1AvLP!%Q_zv||{Fe@Z{e${{RRuxZQM4PMgRug1)E_|%k(|;yS3T(JP zULT4!pXZl4Z?MPbYtbgxOfi;me9G;=5K#R5_hJTGSmRTbErqxcbh%$?+QjIYCB_}y zbOw2SRu=es`9>HU~q);LBUh(dWQcf~u^c{q%8nbhELqB(S5 zO7oV#;yz54dwMme%ORv#*d++GtZ`NgD%UPYvj;l~-~?l{?kqO|x2G*Ph2f{HjK5BD zJd9bb^2@boc8YHME?+Q{v3$Se(Cd`_491q_DQH2GuY{n*{N5uA8+x%F+h|}HF3G<1)aT|=% z7~!+E5f|ua#_|dm6pY#x>*EbJR7)7e+Ko_l;d~KbX0b^XfRQ#pjbZ;FTbf3glHP>E z9cFWtJ%uQ9^Pq~RpXqSB&NR|36x!^a z^>tNIyl@iD36SOY|CRjsy0IN)^_?J#Q$?k(D@VdEQRbNi0Tu@L|qsWzhLz;PE3e?vS+T!>+l^<(zwlx7vvpml&+0 zkJyFYM>}_t>0r&c4*GQuF0qU4DIFnh;ezFK@hXo3ymAs>wdoKHcqXnAmT>u0p5ezE zXoAt)D7!Y96X3fA4-Bzq9&Kj}fBDd&5;)53EJhhyTcu!Zd;WGRvVTvVCKmFcPa!<% z{U1JVh=7H9^7F7LvuI#+^#bP7{P%MC*Eokqi{y;I2^LA(wBDxv&}B86|G#A=bt5S# z#ZQt^V&{&Gji+gDC)SIwz%JHXI1fE=1DQTVp;mk&Lc9{|@7W8=2$cIHvAb@2IimoI z8V@$Dbu^pfru{CdlwVqnD7FE}*4vA9dYsaSFL6-B!z=De+4vnRBqpoAV7vxfRMy5S z*c^6RENbm$rXKidA=>6N3I1R~h2^eX0TU!(;-c7DKeU1UkBolgXEFMY2CL~m`1tIy z+4pUm;cNVPrz%GJQFVMw@^l(jFA>_QK{Gyh{MZVMe)t$!&aza@>!Z>|vA7PTVeSh0 zvKe4i1ms5!xqLHag#y|DUC0Yk09K!tA_anucT-7JUi6};Np+xI@PcQ=0QYxwRDNbj zah;^uZYSC_9q3>tp#i>{#8V;p^Zz)>B?g3F`=9@hYy8K_ZJn zjK-}VwRW^~OcywaYB0{p${HifxfHyqB~w^#-eq$w+Xsy*I>#(J{R&e4zWsUKcsg=) z)@_KJwqIaoT&b589j$wo!U1hO$A}=RoGbq=?Q12U6xUKn04;qECAJZo;xqOe1{{qQ z;9^y&tUzQ&%JXp^*2BO~!qSHQ`;Yf;V$k%k!V)Bh~r01M1r< zn{E4V|A&e_<2D21F-J!*-$H|ag!=gC=xOs}!duE(lzEMHRiCI@%6_5pY(DwA%c2z6 z$RZNtb;Q^WO(zuWb+hKX6 z?chXGl)4>o@eXPg{TP$mYdQ($eF9xDhxgeZ%63k(kZ3jC$+k1*$6ZI7!oiZ`c?EC<^|pC$djHalo+V}tt@KCyS3Cp?S&X<3 z1{^Oik|iQ#7SJ7Rp09C@b&t=O+`1>Dtp@f8%|N(jq%M!A zjr*@V%=__H(TyIgV`t$XRBdkWx4K% z=388YDV-^iD7!1`KG-pUsMcF+prF9$smskFVp6A;X%kwNv3}@o8Tv=*v)hlrzuOV> zzudv)@_Qv7T;OQ=h|e9`nTkEi+N$PB0{>uxxgyAOhKn|{+SG4-=B3_j-y_ytvSF2a z&X(xRQ#w$h6>M zTJ9TbqfW?$l~#R*(^v^M@CT(b>e*t&0g+|84G?htq_1VShqm0>?Kq9t{F~phBXxL! zaTURVMZf4Xd2@pfN>*!7(^16&!y5$IM!y1Lz+@wKOG1(u zU@L)5NIq>}?&e*3UBQVgkhoX3bdLhF4p6&7Lcn1B!7>eXKv&g$CkF4Cx`2AnrdiuW zQG|gp;%I9}152Pj_&bEXtm60Y>92>XjU}Hm?fY*>?e~7y3~Y-kqp09S=U?yb=FB9u z@}5L!Lcg4?dVR)H*{9CYIICwIr_>t5r4>q*NB7z+%rtPBsE$o?Z2rZIsXw;pjA_<( z?fvzf03(6u=8uE;bV1g;e0M~WZ}O_TtOaW2Kii@?jdL+qdd?JxWM&)4rzm1)=gHt$ z_<&;5iDQ%qev9LX4OBo8iJGO^K@@SDan&^7iXJ;{8+dUPYu8zU+Z~ZP{sj^y8f7(8 zRUCHpQ5P%L>Ss`~A@mxQS={5KW#p>}UOa7x4OH|h-^X^J6(Ky`Lx0ISQSb69b_Xq) zo$mdZn{xdGAHB}b65Ht7BKyNWT_NnWB%&Q%lcF1frXKbnVMWf21-iN94!&L z(yA|xk9k(GVj?aDXB#~3q}f_hMFp8YKN@Yp7X#ZqWpk*VlYZXQcl?@@T{pa#j%++u zx`boaR`uly+|^Om=#lprn7xbl_RY-V`V%?&o%dSw*q`TfT^>JaJR++M{8ag!c+!O| zMHDz+Lmz`4r0v(PRB|5L;jnYd2b3}C^Av$gs;#b&=&7bJ{U-x_CH&>YmyTN;fr;yu zKP2Zf3>1F(Youg-+Q40}vQlrBzB%~ls$3Hw-woV@LH~a&eRE)3&-ZrFB#mt+jjg6p z^qT1X8@=Y^`eM_e{_*YTBIs#5gUo^Wa9tMD|sncdsQ&Fmv;3I_*tsiSQ}iT>%rf( z1a&95Qqe^7k|J1qSx{o~_Z={on`JbRqE@Jldv8`B+ekj2V!m@d!_&#HasfRZjJxvM z%5EY1dB{rlk^fhaWwe!@v$#0hhm}T4qi?GDjjC7`P-8MvHC&vHE!CaxXDsgO=a4rm zda#n6u7XRl)T!zp!K?U?YRUN4_*Y&eOx+avW;y>#}x;@+Z99xvODo#0!hJ`sAr|NE~BMUJlm`gu+8xt#Ym zPfg-mg913mrW@sIDul{VFZm?jyf3&fFSoT;5#B+V=h>2mJ?Fj5vvV9h|0b|?V;jap zw6#;Ce=ae@Qm9co33p~H$}p^xOb1u02})!oY2|&EOl>)V1^zNoAeDfgV?eJA9-&R4 zb=*#p2m{+1{co`P5zWIIa-Dvg;JtkZ&%Lb7r($wmd}@dr-Mi4q26j~V*|1MvhwwpvnAXFwzog2nLxEoqf~dz7FJ?LwQ*0dX;fpj=HvC!t-NA%F83 zp@Z_+>qB#~9TZ59F+je5h6DeCzf7fti4CA4tEM$;!T9$lUKjKQpa}GLFU(q(782BO zwW0d&RO5eFS$sp*o9|vh>Tf&r+INU|TIChZURE`J8Hf+m`OulKhiYw}KSd2e?r+a9 z-P>k_{-W4hq_ZnDunc>3ZSd%s2uE7FMf!qYki!qUb9TGw$rg*s9)h~)wsOpAONl|y z87U`-En3MdOq+kQA$|Wuk$6kW&83rqGaRsOfU(CZk$C9$VV}n7l*%(DlWJH)(J8bB zatXnSm7f6%Mdgo_OQs@l3$H9y;s3uDs_&>*VlV?Aa317x;Y%;1M=rW1@2JjXs%L)j z+%tf8KZ>ovKeg_n!V8~5qRLz^3QtVa@&Zr3xB@@qG#FM4BaX8{&W=SN5=7{0RiAX* zDZHl~emYnN@u@sprOEnBNO=p)PFLy7o>!X3e$MoM72`_dT*$vfkZ5rVdY#k5zK%ou zO+@mvF*7CIk;Hd3|8-ki0h2LNjbq-tSh>wd*!S;0?4^8!&_V9RHp$JbEdyaR={?{mEVGY3(vWanDkQda!cWaWMg+TQ|;N8vsk(5Wed! z(ka(2x63C4POs+A1E)NBz-sd;z4QQX0JC=-bvQVCHQlDTlHO4lG6C8{z7-)HU4vp_ zkzGayVBkoGc>xXf<)^ak_&@vjhiCrOi-5rT2L%@I4ke<4Vr*CPy!mR8Xvgc_Gb@01Ic z!O7Dsb3VsyW_##p2%2)44w_ZVe(p6Q#4#Wi-5JJLL2nU%hy1R25S~0BOG3CgQ~T=@ zbcFrMYR!%XdnZ<|Qd3Oot9d}%Y@#^kr7N04VzJjWWAs8!+9Xr{nekt=KO=^_e$t!D zJx}`x_I-t9U|5^MKnuoOCz_s05m6~hauCaywD?ydT0MzJB!)zmEWy(dxh*wyl4Krt z?HAU&^J)Hn$$)Il-b--hR4ymqwtNVtvOTY?W)?-DL3I6WBq^1e41=7dTcu`8H&_N* zqvK7#={T3j?-&9HHsBf@A?JZ#cPPtvqy~E!-{Vn3NgdDNc&Cw%gyi1~{b)0Nm%sU1 z2&PCWn6SgIY757l8~@K2-AsLcd&PhYBf7I9iOBL-cV?UQE|ZNM0ukHAbfLW|CsVP0 z@Rp3D26tn>!+6!Q5m&RFSz^uC$-dBI{;A9qZ2TK4M`pp$_-Ha;iWG^D?+h699=elc zn}+?EF#;=f?n0D?HTT=cro)-pU!$?DG%hWxMVQC=Cz=B?<)XA*st3bu_WD{C;}YLu zBN1YOjdKiKfDrNr899UD#o)2iya7T`U{!e9$7WsyF+`mvqfP1ggBT|FT3Tl^JmuGC zp#A%mFRjCopay)mIz~VCy+Hc(;_z(Wt`SfCdFUWQB>d*1$@2LFt^yn|dwq$56yZ@- za*ZMWy=t5m_F1xZD#u;y-z_QA4*B#rb}jVh2%wDPpso{~PQN5PzJFeS+n`x74oS<5 zir{w&FJhr&R5au)BVQuU;Rcs7j*D@cJ7laEeshx|rn4kH9l;LQV`kfMtKn4t8Y-vY z%A3&}_J&RTnKL2WWLx1zhuy}s7MD6;Px+cQj!{9%MrYiI0KG@I-5orD5#vz?9&=Ui zskUA*my8+qV$a2y4;RbA)QORVh>Y4r37!EBO2=8K$m@rjUZ60ht57;>A54jHQJ_00 zfp774B~93@Jsz3Vc*-!^703*-JTG;_Y!IY|14eoQM8`T4 z_s$u19%@Foz1~0Y%qin#Ok>q!2gT;#AfV-Qz4Mia;HNrKME_R>MO{k@lro4|zdeI( zc0r~5F8bkI7)vW@4WfB%bMF8nf8F~o( zWf|X^WAbPr`?hjBSs#kU$m!%}U?&A^>xj`QACdV_V*gTc$h)vDKO|QzpbOO$o|G~3 z_I=!mJc=t=3DdnaF7!oMsQ(<^_bMP(lk^wrFON)TKTCph1+6u!iAwjlDL(*KPdyO- zX}NzqdhN#qXo6zQr)riP8vzG{26T^sR^1hGw(?ymKRla@2tMYZ`1_6Zi<^95+RN6i ze?YZS#eCw^5&dpq))vkL0sFSn%7=flRk}7pH0^g5Lj}UlcU{42<{eJxI3a}QiBw0# zTj`gJPUo?Q;i${n%?telLoLdthAb8*9;Is$=K^Jyl^GOHf)|yt2fjqmb$9Y8VSvrK za|?3fi^;?1ZbzF)(+e6kV=(;$^Z!)ta722EV&-Jji@NoIygu6@n7Gp#v3_6HjK@$5 z=SG&Zu5h;skP6V*anHjtzi0Rf!TCmur?(2}!F0KuDyEHtc=xM(Dl3;ys~HA%%Rn05 zT{mA3nTLsTDbKkHDj>8FK`GP;|Et{jp*$k{_k1cX`0@_*0iEi$W$_Di=3B^!FQ+v> zFs7g^_>ZOxyi{DkTTK2rvOT;>9l{5p@`3F)jdJ4Yfvj7_0(((#40e`6CV1Gh*=iXk zWN7G4=VT6UJx>kB#RzEDp`tP?@Aw*VpzHAp zHMygA>Yc?+81n-XvlrKuPsOBWRDA_=e!ZRaxVBaDXRvpbH<7$0=YX5C+bPbSJX~Zw z@T&isZW0mL&!OEJSA>$i#SN_|=0g%95jA9ayf~`-JKyclindlluH5u^O#jYKp!R-V=}h}Lx7fTflWyWo15bP4Cj%X=&Y`A%1|w9kL8w_aGaXPCEVNVdM{BdfPX4w@WL|8__RL(;9| zYr0F|^p%or;sR}YDkm6gbcWV92m|TghV3K?QDE9GhTkLEZ+lbz?MUV50j-Q&0x@s$ zPbRoHDXBa?M{$)#)fp6>tB~JQ{sl}2-+TWKDpyg(gNV_lgCMEM|4Qf~*Xs8&O@B)n zF$B8r>-FSxJmsy`J9ez7{KJkhLqott_C5n(gVsr+Fonc7Hy5gwQQ?8cOAdq;>L%Ag zW@Sw1SE+R|kQF^SH&7B#5g}6g<9k9=$!8Mlt^K5m`_mm;j~TL{BJ8FXO6^9_B>{$F=fi%G@ewqf+-ETq5xK4u)Nq z#>wh3t(&-p27!7}13_3Wg~w5#bimH5CfP31g*N#9# zyNAEs{f^l+%GOy-`OP7*XHU*#ruBMg4~Zo%*-M=B`s_FYzz2d)a>BYZkgdMgEI|&Z zMrjZ!r#2q@gD-wpo+si_QA&#aFKx z_$tJyL@66fpY$t6PpXL}Bi!Ujy>g^j923T%UN4;!!BU2c>ctm^iS{w_=+)!+UA1C5 z-25Q2dC5ZQ^A6ira<$)UoP993!fQ0O4ab@(^B^uQ)WlbXQwf#d&!4OWfPgKX{GB0* zcsh6l4(SNG9Rw_ymr7^A`CA?S;v3|r(!aHdAcJgOmLd+ezEmxrClGH2oKZeDWlZzQ z<~wFY2(PZ?BGz@yF?evk6NXG;?^V%DJW87>S8!ba`(4dt<7yZ%boPV!m&s4+47^bH z4+!DOQY`wr^OWY&nG|u%648uk2{kM5aumD5?PQen3T()M{qV^v1 zG#lr0I8|KUVe(V;054|vX|c=UXsVd$yUp@P#&W27gf-#yNNv#&Al(Q&Me3vWU2b&7 zF#1?*I_?dnKQTMTQS_IY8hU{Mey*yx^~Uf+G`(RTs`p{dPDa+{aZ8Uewi3#_yj2)S zMfh}M^i(;;_uG1bg2=SW;k!3gB0%i%rpYu-Mfi>6|K5U$|JjaMqp_O!6gwRT#;`uL z@O-3HWY;d6g{DeDjLZ=qmi8w#q`cBYWU1RVfY9y7z7ss*P09}a>g5owKG$H-1yFO7 zjsvAtnxR7fq_#e&i*g$Bee|yEwTk`IA)OM;?l)g`@!UlAT0Pzyipg8+aeTF?RJp49 z$Jz>B&C&Vac93IA+HrTq)1RUI=|ajsLj>>RMhFFL__;2!22R?|W<)A!SnTJ%vIf&B zCW}T0L3H@8e8vAZlXO#!5bhhtXNIs=Uh8=m*~H<-X)%W&ZYr-{*kB%5^P#<%i9ag6 zz=P!*?|S`-Ls-P!WV-`w_qu;S1yEwByNZkD8ntE%uPaLwFEpovQ;Vhg$3h)1!>Kzt zu-2hLQ&LSc4+y#CPBSA_4mfotY?=WxF(-5&JFZ{lfbGlQRy*tGH-w=nUY9T7 z4Bs_k+0}b?$eNC9WDW`<+5Tsq1^9OA`0b}+`KjaB|Ij%6nj^J}c&uIALoTNw3(r)( z?fLQy=KJCT!=+Gs^!!R=lx4PWkf)5&taQ|8)#|R_dB{)^;`Do<=t9S3=F*5}<8PY( zr zQC2HH9!;;X64UOo$Jykfmzl6{0Duy~0kgpVW4rS4T$w?RR)TWr*Lps*_kqo1AkPkA zuMS){kZ65HKxbbef-+3_N|(r>@v)vD6)#>rc&KESOv3M9Ir{(b@UWZSa=JZLsI#m8tN23qn=jUL(;TG<3J6)WlcVN((m$uH zQ;SEa6GlY^^14`B4kr0@0vaTGfnM#2B29!bua5C+l*kxBKtw*JR~v7Hg0=xo26xlx zSZY2-f_X@>@(9xQxq%26oLD2)ARq@1c>qy0(cJ}ToZPA_nCH$x+UuVF5CSmDtK;hd zHe*t>U$z~-w2+YfBkQH?3)CWaa&s3nkW;)0uVrRsqeP=apARfZ-a^P%Gq$#s(RrMm z+)jXiV#;oF(9q&_V$xXQF%}Px`6-_qWeFN6@~A(}6fb^VrpLhCpGE|$ON;n_FY-s3CN!LAKjG3)z7^GenC{?(RWD6J~!>zSX!^yOjb6{psP zUxdBXs(x@F+Rgti)&zYWgW^!<$6h7WHrRy}@%xfWLRKp%?QQ_Mox}J}B5AlNCK~fzyA_LOre+ytTMs$Fg(~V&5b8cS}*lJVdE^ zx&H;1s!()qhG-tuK4>bQ6rtpl>L+GZ81h0vuli!Zz01)XoLEn_l-u8h33qHX(JnB| zr&?|A#|gH)U=zK^rF0N(&8C8iVlAzC!drVEjABiB^5&v*Bw9;D%=^iNUt1N761{s< zzNx9C?^S2PMjb0!`qM554^`pSCa3>aF^pV$isBEp?|e-v?RgPat&GFhF!jdwMa3RZ z@PINqz<}Hl%`mo;oZAz3-A@(PT!o(EmbZ2tB|8r3%tHijP&iZ}7qzl#S{D(w@LMsm0ni(adoTdklA1g?QP*yePM>HcF?~mM4odODsbEO}D)|#K;H@)hgF{y@mRgUKl@}pvOs`}Z5 z_g`tyf2AGF!eVPhE8J??*+W{W^09^c?tc z9j=WBhSGbjGa(|RT5cGy@1a0SCJTR8Ak0WfmMkr3R}Kx%IMDiifZz#qTLag8L%Af> z5&ZzhwE73ut2`%GK#$d2I)i)Hjlp~sSn1^{e(B2*(hpvuoCY5$&e#2|U9$KOP-zGh zLI0Ww^-fNcGD44K(4Zna5inzzXKksBxY|e7iF4!!9iTrKe8A@3yo->Ij%NcY7T%%K zq{kJu(Ev9_AlM{)RY~v#DRk?)D)!B28Vu6%oCK|h!omj)4k7=c)IHEb%7csv1efD; z_}ZC0c}<^HX;7o;L%c;elVb#H;R;wePlsk?9Zc#VrYtr=jP(~+)jmE6nze;Xu6?K6Nh9jRUn~ldw z`m?;@)tXC?i~iYVYDZ_B%2)QO-OQ?b52HG5WT`)>1K;>z@t?APdi{#SZt+HR96|i* z%od`Dl>0d3jUs^~84KcKSF($}Y<91iZC2}J@+~+Xck87`pX#*6z->1619au-_1uKk ze5Pajc6+Y2OrN`#ce$c^$z4Xia_etjBJxod6Glel_9cKPdkwa$9CY2x(UdbOpwXeR zD40Cx0QAuE({77jYW2t#A44M9;o6vxdEz}#`3@l3s?;hSB@dcT(+WF@j(*w66M^y_>9qtvG9De1px7I(Bm<|KrDQ_~i-wse|k7t}rf1G(1e|5?Zb$ecZ2_ zw432U{(7J?0B7G+5^La&r) zpR&naYP5Y84tBlPTIKtZZLUGk#THU#xk2)a zu?+It43;pK$8;5mZv@zW&J3q_K+AZ+@dXdvWIbUmmIC$^vH+zE6P7{2P_BUZKkfl> zue6+#zey)CkE_yZ`79Xj`2QsU1Z?N+2$r=Ee78wxJHF;F1jbsF{RNMlX%{RYz!(a| zZ9dKQDPhGFw(y?68a>#O{cDVNdJj}TARBO7wt91b5;AYoCcbjlgpm2XX%;XVA78SnpA*`r140mNq&>*?p301hYbvzzBW}J1!`vp zlA@)6AqvKkYtt*10{lvq%`h3CYqq(;$4E7R#m<-xAx=iyW+2tx0FYvpwE@!cfZ70_ z$w@GPsvgnSg`itu8Vo|#dRx&uB}FzQ;Ay{khRc?|5aT9nyaFhZ)2S0Z%-FJ{7&*AF zw_$Tq{;G-cI3@iE183wi&MJfCG_uAdC)cnT@BKc7V`%JOeWQW0jyn+%?t zg$!8}j>hd;oKjt|>V_xvl{ar^(RwnF-WttwS)joELXQaX8hL12f9El3S>k{aK#vGK zmnAK^L3)FEx1J2axJkTvs$lpkGX{bU-WPuo`8hKR>&Kn#9ule;%ZYB^8{Ju|=zJL~ zS(eM|7s^;cYiO~(tC>CVDqWXSV2(E@Y**T475I0dJZN^Njf zYw)VlfCu)>7sh;(i=kSv1MoXhE3yPbeUybUv)?})B=9Tr@om64GlSnfHUnBJ$fJkG z<$6T^L!8J?2a2X50MUEn>me~p-IsZTn4I7myq~-dw4Ega(!ir3*13R)Ua=kHV{TWB z<~*slK<$a`-ALQXa#c_IixBf26tpSDbs35qO=44FqMU-`PV+(tWZ2{c$I5a#Qt2U3Af z9q&TjxCJD1{fh)briEoVB2qcns*r%(n$O>{ohs>J9jqZrR6ARUjNm10lfPj2YG1s? zN|Io6YpfWE}xA2P!P``lvhts!=ctWU3fZwd|>@4v*~VTzW#K)w=6b>2g)1Cc!l zGgkz#ea&juFlgIizrmuosj4_;!6X|829NE+i7}8j&}?Nzp6(E{k<&;q2rQm+6jMpt!^gEdxX zY|8H;v1BXMSOJPwr3YHb1Sjoa0N>3$Pq>Pubso~a?;6h==^Q2Mj&3GXwLm-q1FiyN z)f+xknYnd-Gq?mRu6GDyb?z-it0%K}5%e#|fDIj{Ab;p`O5@yXu!k&ssz{d@VU-S& zW9g55MUV-}N9bD@>JNd>0+p8zlh{C|f5#A6=+pN8fjGy`5b`qF)g&>4AqHl)_P-QM zNU~rr=7vn0Ig9%PEWx7aGayE=(I?zv2QeWodq*_e^{1|}WGK7A_X&GQ5Mq4H@}Xq^ zl$W)yp@x-#lB^_LL&uEauGQXGwHvRNs(TS>9tM>n^<3wQ?9p83RmOk7hO{4-z9yX8 zC3+h>J+qKEk2udg-3YcbB(qao}7J@hv7zYOf^)w-R`r2#l#1oc|u%u4Bx zttO+{a+IyhJ0y+Dqzh!@M&$A9X>`F}ll*jqOo5xS?xH<^{}&bATXH>R`ReC*r|oX_ z!LhgE0q`u&I(+cDNYU;uKnqFE>k2WB(5pHlkrP#Ukzd`^oif%~NOD;GOsJKn#-$Xu zCdM&mB4e^8Vm`f9>}JBNGZyaJJJqFGL^Ay7z$D=+{{4p9KnWO@2!!T^xQNJFWe%_) z46)0v9Vdc0mT4}?oq&j{RA{e-#oO_(A#U();x1vM3_I;}?&1ed?Yf=HDy5wiHzHs3 z5_X3Q`&km}l$f}NL|Bc?w}@*}=%{&PQw3^8H~xWopSD;Jnu7OFD<*jk*I-(BA709x zK2y6M;me&?Z`&6U){?TFJUTo!xuNGulYfbei^mYGmO67=GAiYEE%SsqF{@k10hJ0s zzr^=*f+7ik7p5Ib|D6(Y(Oa%a)9L>87na6XG=aru{T(k1TNf!T%`x2bB5?ZZvCyxF zhys^*XLDK&dh%Jk{Cv5sJp62s8!ZUikb``d((#ffSixzEayn?!d-zsi z!iqv&>BdB+bl$6XB?c6}fo|y34s7#57lo|5aLTSSCNDXxK4R1HOnIq&%3z8rzsa*b zv;WcWdB!4rlKnd*zQ)kX-^$VMk3M7gpPQ}q@lzP}w@MQA`!duKDayCEBli|aGXMr- z>8-m(qkliktvEc9a&)3+tlBUp;-xJlTk|Y|N)>J*fl58Nn)w@Y(4=BaWPe;#N!XR~ z7gcgL@DLlH3jGoLITclQv%(X7cYheDv&UfyiZ7>`6Xq!j;@0pX!DO zFmGdy@qKk0V=Lu}F6NU+<;+~)93qQ|K)mvSzrX9|^qnbRzOTABQ>x3Q8f$LyivPOs z*Uc?Uw~Ac;4knA|f;iz7o1UzstJj?%!hTmR7{7fy9`BqXfgPfQ_MD1y7u&W)#B;Jz zHx;3srDZ0($M5sWBnh%r7t5o?&N<-^ZIgbVfuo3QU9VrBlq-KOKHKRlZZn0?q>Y+1 z)fg*p=kF#;?YDDs;Ko}VcU`s^uO}QjZB57&hpk*BceL3;e<$X^%kgNib3T41dI>xD z@RQ&gJ#>nn{>VaMf8i;?oQVsOXyi`z&V9G0#|})9r5C%tz==m;ye}QtkiEz_0~2v> z_#h0lPr0}z#j$10$CiyfIMdk%*5YjiP-f!k3|^FCG4HB7Ax7o@u*B;SOm3#$uu;1F zi5RG1-^c)rJA-8Nf>XN}m^Q*8*Ha+~XQ_CPV<{DS)rlEF4fb4wy*P4dRE`^UV&iCG z&!sCl1l@3Jf&psKs`6l&^^ zP4%A+zZHmsv-!Mth?_!XaJm)@0{_;Rt64{Rx*-nFcHrt9hV@Jpy7s#G;=OeaLf;xC z6vL6s+%BhM9yIIxYhH8M>2!7v_&eF()7a&}t9VCF$}j^g}9zQ(0heD`wli>}534-ZD+gCbbR?o(IS#DFX|o8l(-S<~pESnNkD@ z(N+j$EK@i+RC$1Apl-0!g|Jn7p|pn~J&_o!3{>%;rbi7nfh7idNwYTe<~au9UOYLh zGCJwPOnYO~@?`OaAmoaB<=N4jXa$dY79~2<(9^iLF`R~h(s8myLKJvxR8f7g)LU&R zEjggZ`$-_Gq2tIRc*KC9|N1VA!;tLFl1xi5FB6 z+4K<$3@|&?3Az+GR%Eb@J&Js#Q2I$ZZcJMOb+X8v6yPJWT*T{Yh{3ZYtAECyy+da~ zFj?xj(}J!JB(iY$sN?Zw%>lX1lZI-qxs&i8vl#=m7ty-d6P2)~(W>+#&5=i@MSa^k zs)}t&W#9B#2|Y`cr8@K2Rlp|)-*yfxip5LEWw;tTb|%T)zH;a(YVvI$x>-Lm01L%S z`KthlIK-09v>78X*d?zz={V#Bm4HMYMf_^;7R`Z>Ckc^$cgTzGTRRPSwTV%kqQt$v z?0@&*zCowg27)`jBSgJI+dcvpu%kOQFjiTqF3!Ou5<>Vpooyw_<&W)!F<21fMld_= z|FAoqd6x<)?Z*MM%Mk+PheP<(SBFZXMh(DCPE23J05rCf_J2ZdHjZ{RChq#i#2b<- z^7!0}pN09thq}g(fII; zbm)AjSOdI|w=!$^D+$$ZFtw(GxVJ{rsvqF&X@uYTR-4PY&Z>-#VC-E;EF7mI;3e^Q6d?695Y<=d7x{qB5+;i?^QL-z(wHc5g}yVm4&49SeZCXe28qU6oJXewP?^Nu<;>I*%&a%~C;4JYrg^q{hK0piPX};K|or88ER5&ks}9*!^B0HNiYS@f?Tm6b1;mwsF_r-iZ=^boR0u^J87heM1VpokHv9g>;CfGJDxt zf~jfVGnVRGiZY}z^dxbV@6|8N__`VWz zUL%El4*Qzf81lqR?@DVJb~5-o39{5$=aMKgcA1hcTM1Oz7A!Vz zKY`R6kxi5#bHhE=kv`VQJQ*#kz6heTaO_?;YI;cX8j6C3KpS%UDWXtI5MW=rQiiwz z@^yHkWc@>X{lm588lcQi4D9PF{^2QmW!mzGWBI(r%sL@jX17#eO=QMS%UY!0T3y6z zQPrcjlOezBX9Qz2Q?l8N2W3W^lVG8#9#|osMfW@pIVuUKh_i&KxxIEEYcOE=M3=7H zWbrHJm({H$!SS2Q+ivPcxnf5@+dC(3v*UL2nT$E#SBUQ-w_W_lreGy{mAV7nev7DGj@+|owXhG1}00x z5vjEE^I_P}3G03!2hrR=rm1}jR`rz~9+n60XxLlsqViW(R*@B!nw>hv)7+6uo866Gf{@Hun^ zV)qr52KRZLOl&kj=+ooQ-SkQTi;3`iNzR5%f%qd}shiyI{2KG6rph#H+E-;ix{MLH zTbMSmjroZ^_JZb3wgI1m!vLg4v+B@-jLk_5`r+8O)`5d&WySQvQ`*+BIH#CB#}uqS zU4rIR_;xLL?~|=93s;|D4C1Xz$bK+e3ZQf|<+#Dv>oTe!{xs};^>+rV(`)krh(T4; zQ)z)F_8jnNi6)FSq(e@JQG#dgs5_~Am%?`TMlJVqPg8itOla7xl_t9H!+)Pf70+n-BU&TXWWn{uyMv>X|OGZEHT}WAlu)^p=a9x*bOMN zAg428)yy@s{T(4nZ=#|&@n7G5DO}Z0Hp?VT?8XqF50UZw^n2=_cu8IVm=t|A6Abjf zs`sR>2)5Udme}nfPP)rXp``2URDg0@STGnhz3QKi`O^miec^Pfui)Uf4e@Y8%*}rwLQgO2UT_#~7EDJUm)POSF z`iLU8N)Ezxr~3)SY1tENXd3I(#rdmd^8=q=(?A&JOlemKkzop;s>raG3nz*WPK9ID zb1lPC*u~eBjRIoG)W46C5+=IBUhS;car1k$&7xnQQ*KDjFsHnCne zARY%l^$;3h_%foLQY!>>J!18%fuz z@sDXeC2Y>LW@kX>afO_E%F%C5Ij>rx3#EWWVrhc&fhs;&8Jzr7gzp+Kuix%O87)4! zyE9BImZV5!^R@-0lI)z3ivdH1cw9S`-jS8Vds zWqsn(bXY7zbO#Fw%Nu`*%(bmSb5<@ck4BIv4GP1MzbT z;#M4`Dg8l_flNz{17HRdn3m)`0?_NDbXn}br*=`Wm^`spgMcnWjXgu3E=)33&!{eT zuEM-!;KMZSUK8@V`(xvas2qzY3XDECFx?FX?Q#Dn+NT|MiLo-d&2AA(!^5dB=AoELC?(zMpvL^O~ z&Xvb!gVC;f=*1H5gtZ%~?@^5<$>4L^nT`Y|P&=Qzj?r922WMjZgen3gT|fIHWVE=G zDBKi07}r?}$mj{u$5d`^;>pucZrEGmR88-@wZG#>>ZaB+%~DaY;h%S$gVbkK-)Hk= z_UCHYHr>l`dC${&!c<;*R^*jaCwk1(d5`_w=@(^bO=? zOE5uOWGSmNnppQ2IQDOgFkF12D6}aIiTO#I?3W)edELw>>r7kK8m_^_$%e~GXHDjV zx2v0Ib8vIjva_%AS!19F$2c-#v#`Zp1x7PYK5@G&5fc#~Ud<+cO)11OevAp{NxGLy zEPA`-{_1w#hQ+hgQl^ZNeJp6M5;h%-iD;AZ#4Lo$;g@{#L7DPI_vMuPGdm=XJ~gyn zCZ*Mzo<%>hQhZc?<{Y1I67~-*znc6F$#-np9;@5vC9zfs10oFhuY&v1%C?G2%L1%4 zzwxzjMlDEZ{8glmBCk(VlDyPX_f;|9Oe@WH_Xl4d+iw>6iTz)50V?Up0>)0mZ9+~y zC&-;g3Pr{f@%O+BAng~HX5;(kj%8kh#A%Oy94`f94lsJ5)Y2A#y&tXsg}*0G*}0N8 z-mlssYv^*t;}5MMa`$gwq^Olj&BIW9zbq}Cm;`gD-|j0Z^G?nI7Un3}!)#N{sWLab ziy}ZBA7|IY%hA|qc=eIPIS@Df*_k{VTr6+uqc?-4fjdDIwUK&MXMO;+q}dX(Oqk!H zCeAU9%ekH^&f(-D1u9L<;qh)7Ee7a;owQEu&hok@6OvBF-H=}cffcFskJa#5uf2Ju zh)zOvg{H^&q5M0O9dy4ZoNg+0Ef*%!s7f$1Eq9ws!NCy@6HhQf{7ZN#Sc@+X)I&>O z$z8K!rgd)ird=VPeoKv5s1cL=-q7~%3>mqA=|unrC;^mqOm-ks`b33UjZOtnU9(f4 zHk%J3($9jUND~FnAgX#B#L&HmQRag%o{Z(fcp8;T!6KN-@EY(e5TWPfbL9Tx&GdIP z(Wp_;tMnW-AbvpPW7bllILK3#`Piks%oe&rQ`1kUOKH)jNBh}^TuT?{M_pb6lkRHx zmqT9(#W9zwT>uTwm*s@m*YjS5Hm4HDqRGN~3R6>Ta4uQ1xov7QnWh{KkJl=2vX&rK z;4ANuQvD&M2%%xV+rr*(>|dCnIqbIB)r86X|60H_Wn9)c$}u~g(FsEUXM)P-*)0?n zDQd;89HD&^Q>?9F67o3jR2Nf&L&o$eXp>mSHrzC^n`TPU=QHSJcN3f6d#?}ox{UNl zIPTXomCft#2P=oXvc2Z|9|zhLoW>&WzXh|IG{RTh1I-4;8Z9(HQc9;vSEezz88~Cu zBehdRw&T(!;+(f?@aTHrkZI0`e!Axpxz|P;YHHqHm|(2=?B6js_{+%pdR8c{9WfIQ z09<#caP?j7bJ=eLVXfC}x6io?&K_S64}8dLFG=?^8u% z+QM!+!Y^v3ez1Yvqm_6PuJKUltCBcA?#Bqs$TWuRCchP*9%mFZ3cQ@+ILDv8jsQD_ zYH+>H-v_!8_7&xbs>f~rv*%BpiTDTUM#5{dfSe@MB{`W!iVRKq$)(EA%n2OMEHGh_ zo~TKgvJ&c0J+0Cmh&%@7v~=bR$?(bp;WSw?N5;0JklPUZs_h>!22dMzEjhTKESB~G z5?;X?BvNK7oDFYwGGFEcAm?=>cv!=`MR}6nLUTSv;$B*xc=0rpTvRzfMCAWY7hTW> zaL~e&m+Ir_lZ)upA<@lYE2&ty5dvzWCKP@u>tpJl0HliFOcFubRNRH%>@j!4*qPio zKnD+MEyCE3q{|Z6wk{R++RAppn?9Kr-?#XIUl32eJt5yF`;Nq1pWx%({Pt$fa51aZ zM#h7uPv|vLA&RE!21Eim@b)y|e|!H`Oyp0BN*C%XQQ|Dl(AvM`)(pj#D8QkzPtys` z`@qJ>acreH(S;o><(q}F8j)Uhgjn`di%U{9b`6!H%F?_5+GZrn7m-4@0?ZoS49$w8;WLhAts+zO+s&F6QiivdIw~W`d&dzjK2jW#cRJ)@g|au z4`G~eXW7&{fB$pzee05xGVIUudAt@Al?ERMaRlORS#X!bHYo{Z*kO&i;F*hSF{CleVa~*fOcY}2_6Y_9l)SQTtO$7RcrJt zztWgKVRvV=Xfo~Lbs*r>{w$>`UoEs|FGqqmWcPUm|QWlZo0$Vu#L zlK5db8ugg`act1#h9FizE)+lM=8M-8F-v8Kj;UF-uvCQ;_sny1xf3i2X=HVO(HWe}r&UDhcr z-DqvJs)u7%zxr+bP zv#%^q05Y|j#%tcQ4`18#c72Y~SYh^%_jSaxFIaS>!xp{|JyNtIESJEgd5 zp}-CA``vG?`~R~RS(A{NNltS1-jAFUePF|y^70;;%jx=Ge_a=n`Y+GUg~$K&uuRcECLla#32 z`V08dS@hQKlC2F)esbr%(0y_@&`v)yQrGlYX6brQ0&&_4(48+B*CRaVso2En@z`V# z9Y8+rmLl(%id;u)QEi6*+Hga5zA8Ljyt;Mqs`eEc&EL4Q>95rf=&vRgE|o&Q%+fOs z44Z=850G~~vPIrgh5NSOytVn0zHPj_6zcZN47+|fGJ=`jt@geY0X9DG`Uc#dalWk| ziURBFeZBz^w^SMYr>YB5z6>Fcu$NBXA^&pdcWxDG>#GU0yob6E1e*4siQ@OM4MFej zT#w;v8bnDNt7BlOGu~A?M*A%a;dWM$Gq9b5)%E|C^tD)O=woxb``XG(SxetGqy6%2 zAg&8I`3k5++xs)3=&4i1!uVzJ@X{&EX|NY^Hx`Th_4^)5@JRv396k>Aup%sEon7(F z9+J#l>HmJIRVmsZ4E@Y=h8=E)I|?aY4Q^tRw}RPCfSZ9sM=Qhn)IB%Jy-`pPvg%4m zBJWh4*6Az0)>oq?Nbr2!+M z66qmH%r`$J^a8B5q|;|08`9U&3N%ak|c8Iw7apFf1`=pGJo)`PUSr%4Mu7&3PKc3nH(P z-c$}j|5Y89)0UkXvXKDs)-2H{U8s_wuZC0nxb~9fiK>2+%8XS}qZ^W{%%Uw1Q#&f) zC!c}o77db*(*V<~Pb5-0o-}k4gX!(DHaJ#qyov$YrrPPISa#GxUi*f|msxM|E>fKU z(xL8Ki+}4NKNVoQyzZt%k}CLqwvNo#k3B(1}4<$K%c-~f8y^Wq@KZxG*L*mv(j zi|bnEpgxP$PrwTLSJ|NS7Q&(hhQL?t0e>3k|OFyiU~!QRfjNV{j5y zH5&X2<9cPO6N_JwakW#kTM8>^I8V#8jNf!-#M?6*(|9mRS|=D**DCL10#lkT2GVhu z!wZSX;}G<9)2o{W8uT+=e4aAjMZM1*ig+lmG$*VO(^rQ#rj4(;qht#>a!Vif)k+~e zv6@q!D>PpU-Z#W}g>E#-xE5ktj-s{$iUCzvkxoq zWYD`|YNztQ@TtqwT?kh)$5?0d_{N;YS>M^_Vy9^S=`7%4dtGK9^g=LpxtK=CIHiJ# zEi)02d_&9tn?cM4t0B7x@Y78f(BBF|XGxd+b)hi+ggO5;(**I2PgIz-^=<(FKE4u$ z0)6`}$_b;3qpL}%%f_V32GSj?$%!Slt0S1rE7sFpiLu{2om~$O=TbvQh z&+0{X*_z~6^v$(UrndRAA{&A5G{l;)o8LH|n3bvc+lozOe>wY0`c^r7c9FYIU57`a z(&IXNI`vI+F1em{R$Uf_iPhdE%c!#z zU}QLg-BAow)3(L%*D~)^>!ExpyI7sRBSqEw4xi*rTz1gVTo|`dWBQ9IUc0u^iZG2k z1oDkpgVKI1fOhi7+uf2hzh7p2*rG#68(zg(p`xf{qgIGza`Zzx;;w$5b{OTB`|{M- zu4(nl;}`Qx4A%KZ7L-$ynw*@xjGlq~!)P9;g}sS3^jy%Ym35kMa%N_6HqLny8K00Q z?@3&@a^XKD-&j)GTGW5rDV0&Y4BKHPM6;?ireYE{_4dCYN8HvBJJ=FZJ{2_WHKNjjc~9g z_!oay#qax=I+|!a;9uZ!rkm>aZRv<-i&@dUPyqy#D^hr;ce2u)4hSG#5cmcZ4n(ak zrUIn1xD}}2k@u1=yYFyO>K=-ntks7D)SWr_OE}m7$IXXR0Nn-_?RXR4C9>V_k%`=T zUOIuA+tI3$hFWZpCdsIIDGHj+ni2%j^G!085tq41xI$d>47D^N+pS z4JV$I>>Hf2h2CX}zJKH(&)}covcN;=#erxjPdCOLQ=CaxuZIkMk|QtH5I^oHG2d|) zN%3bv!(~#t(LFnTJ;%13cf&+b&QZl_(qo5F>uk)=m}?iHru%w`1U{5-(9N_|kbXlX zi(LVpDug#3gdu&gVuCTHj20l-snjc6&u4fE5LnDYiVC;#DX zf!jIdyi2Cb`iO`({>6|v&Tlb@nNQ1Cp>AXP zO+!E2@QlGfi!vnyvs5xG47C#n=Gk>xN71Ae1kjUhKV3ik5US+5ii*~9l6r>Kg9@6ls1 z+rVUwQcfZv_vYne0V^pYW=_gj)%dK-K|j)GJ=>-X?I`VElOlouaWOI4Nc7Z?S&5P=&Epc47B}GOP1yU=A4C3B(7u^TRz>L>=BEje2{5?`2#3E95U_)+Jm zyXJ3|QQA{OckAqi&<~Ec5~Utg*;<21k`X@D4oW>*b5zSwsOF*}#ZnBEpI@XJ8~G zsB9L_`SqDy!7CY0jX6ttn#FXIxvl0!LcI?1-RKuqC$+u5&xO$?hp$NnqC22#)|~d$ zX1Ow0aOC1no($5_*vDC`5NsH6PAw(rrV}eqafRUzThq)v;Ide;BfN+ohyv!V{Lch> zEgkTicx;@eK14PDsi34_r?m@Gsi`NNwF;28NE=QX1TJEIvh&Uqnptx6*%!bg4`Dw) zp2uqU39BDNT^#wTagsfl{l?ppCAL;{-^ccx>Zks^exbqe#%1ctNRfuGz9`1UGN<#;So z`Sx&W>u-hmI2}>rDnsOleYS8SZA-o~b#^GKcBYI@$!;K@|J(i90J!^TL{}Nvy%&Dr z48wkk&E${m_?Hx_Yv^~+SpO$bU^h_UwxH89ta?%VjAd(76bVp4*XPSSXzbs2yjy-a z_0?`zx*Io9DeYf4U&p;jxao3mvb|mdw2OD8DP_DLkyx@RC-u4=_BB&b_qd)_nNFM3 zxe~WI$@o;#e{(r0Nk%K4iy&~6-qq^b4b40UXu?i1`18UV)}Fp&$%%2oL^3WEr5&fb;zY^x)&NrQuQy|b!y zCG>L<*qy3r&z35ugi2kGl3XGoFjdcc%%J9FQ$*;&^M2!*oCSjtl1`wrOAiSP9(!&lB)8=n>h zCbwHz>F)!URF+^knl2+dC*mG&Ja^<{c%(QrU1f?Zid9jD-C_;99Wdln8nz4Tdlz*M zG|yOcntSUVP5@><^+basin`&410$1_v@K@>|g%$tgnlbip+wz{( z=)$A-o}G0pUWKIEfv&=V@G7m=Mwi3yAZ^vGAwR{4CCxTcg$vHachO`P6hvMg4BeN1 ztD2^wt@bUp-dzIDj`KLcy+mcrT40zdFlNPCX7+4Yl`Z1_%E4u3d;-Grv{2+9# zO|B>P336P(ea9t}fg8ab>SANG?QV|uj z1apXc?UvqBoMUSlwgz0B+#|HHV>GKYfQy2IWz5}p!|m?|*irl@)ZlO5&s075SM6S> znF*a3$f*LYek=fhx7GE(#jSA1V+v##joks?;|Lf#QY~9>z%<$UfOZlUg}p3+!-?{4 z`S~*`Fac)o5A)>+DVNut%K1OQu;6zYl_8l!w)1f@G#|!)kwiUD zU0oA4E$*_HX?A?V?24+;IrnHQ%dHWE zL{(@V;*&EpM_g$$oFQWYoN~0MbHnHA4R7#1jjX`$a1mngE$~E)=e&0@1##Ai`O{0` z7!G$YD<59Y`{7-lHxU3CMCbt{#EMu#tihDWIQu_XP#$xlfT7C!E$#SXTS}-~OP$^d z^Z}!37|+Xr5@o}?*Js*DK#TSFd5^K?l&wsY>N2d2($)I??Bc{zPGk($M4smiSNS@l z%@(I`5M|Et<9pf_tlLAD`B7`Rqa$oOB+Xt*UzZ#-a1@O-oWq=${c>vPRcia zq`VSRi^-2)bH6tkgerFduBe6G8hXW5;$+-CtegP43I-KQw4`7w?6mGwni1pFhkL-L zxdQl<)%fk95y+zk-8;%g6flyq$8xGl^J~AT0ol7@F||vu*ht?WKq|l}l-U{b8yD*! z<|=K6;%pr!1*v0>4tbctZvJD;f?`gUBDae4sOlGmb`Py$;DLy{fRxJ5!@^~TAH<*SH(Ft zCZ-Zt4HHvs57^^vAFZ3B;$js>5a_6)q_}v;zoG&tAid5vKb_BYEpBCB=U+~C9?LI$ zTm1O+WAWw3-PzpN4*98rQ|MH_W*P;2K`h^Sr)hQl3Q<3j$md>)^frIw3{E*K^TzSf z^7lc`?}hxET}C~AXM@6-oj64z zu)Y|XK_&)Z7lsN6@78L#Ifl{{BFeH9WV4FymPDA8C7SbM6nM!~zH40X9D5hNEF4S7CEc4f(xeI#hc1T93# z+wYP-q>?M^DXs5oxiqMixLH?7--}@_F-e-r;l+84nBnGzX?cyfW)bu>5*rOf%*siO z_Hm?QmhZ%PjRXx&Tx$9G6S9`78@6Mr@>+^yVk@}&fY(#fvK)GU8>0`Q!qFenNazw3 znBlo_gtuu;b7U?ND)A0k7r-n+-s2ohTjYwKZn4{q7JB;UtiwX-Ql7TRcEabUSRO2a z`GT9BRd84vz5klOUEB4P2TvCik~1pJu?{Un{S{~b!PUM5c08MA950P! z!Z4T`anRTvp^|&DjD2|e-TsuB)s2k(r!OmE&4QGdupW1^?$DYEabEpa4{&!1Y{Sgj z%&Z{Oc(>FuOMMirBtdyaHBPF^|cpjJ_^Ov zu2`QHPHBI<>@&4BxrpSlQ)6kN-Rxp|mB*Jn6gSk_7co`}#UDW&!@d#61S zweLY#QEct6olMm<7uZVA$ui}LCX!Z#Lev|PQ=_<))Zd-!a$IVubBsp6HeP-W@=JQp z*>gmaFpoI)>&kt>#dFxI5F*Kk0eo4PX?{4D24!b3MC6@Zz`Ohuh5MLl2ZCAPP+XT& zrx*=g_0S@J?Tr!BinYwkg(Vj)eRIV&8CaLwg?1T?`bA+F3Mn9q{_%x#mO>~3q9Yan zoqy#Uutp*JZ#{ZQt_dNzmVK7SlKKP#5i<&&`<-?Zo=i?SZ4I6Q@KAsQ>u3Z`0rSKZ zj!swJ>jKW0IVy-Jm37+v$45a0%uXm!V{aP-Iw)32t3T-77BpuP$YVzhM^yn=+ zv-}6K;|%y)aHUtS>tsq#$q+mGFceN&9H*DOTwcv8qyzkfqy8*nJ50APACaQj_?kW{ z@D5j^&?uEc)Wxve|jClBncK2BYGz?W+PJ{g+01i5=R5bQW*Sa-hTC zKmj)pC&nd=BSb%vj%QBJihLs~`HoL+B9U8zP~upVCDECV@uZ2N1=X$)n?^-l+S|Gu zOBt~lVybsi>G;pSxk%&-Nm&;fJl@De&{nvuoYi!TbMgQ;Od*oo6M6)nHml#_l^*|s zLt8ZYZmQ<{X@*h`UIjgM>STyh4w;7-TPX({N2?38t1^CvP@DlXce5M%tXzI_S|ztT zhw@kbZ?;U_!z?~?5V)Lt5&#FrZL78V zZE?cc^~|7Uf$&N73I}X@AvTu4y?xSkTjj+@7Q zkSrkB6E*?A4_bJLJfS`6j?~im#cgk~n$Sr_^F6TVH=TZ~-%srur>^@jR&7>DpUp*E znAV1JUXSN5LkW?ctEmpDAG~gL!>!lu)0=rH9leO?A5KP+As03-{1S&hk|94#IP3F@ zZ>X7-=tCJRNp$#9KJ}J2A3&F<+Qi(I7-zv#;$@g+$xz^B;$$&^1t;Dm?tS{_2x%*x zYM5oC0Bg#?XXZ^#>&FwGpsseMh90=>0GE?d_+p48UFJyg^CEX*O3S}Ikl{7yzuG2y z_KstIxe?0K9x~`gY-+Ur+@5`f?=P^?Y-C@!F7E`9t9nJgqu?`!ZmTLQl|mmhA=AIvcnaC+vf()6b92@;LMTM_I^y--JkfkZ%Vsv*LBF45|kmSWd` zpM`cbVCp!~{8a@pv&aube7|`)gp>|(=1DTs57xrQP#!1u+Ri~{oylC>#VZu_MKzUH zkpQh4gnSp4WJ#L8BVkpNhMbDzNSwv{RUl>9$?b9Vpw59xcdm%aJ>`bVdZ(6US!9zH zoaou}B|xkZe~w!{Chkp|UEc$@kY? zjj?|+J0SKB{8l@rUdpO;Uf=7k+K~nFu8Oa8lhxiTZ;E(kaQre;RNC8%QYz3_7XV+W zw5^%NN&()#oib|=*V5C=8G(w3h+0VbyhT^k*fwWH9_6DdFdfN^QmtJAHL@p0yxCO4fa>G&XOAnXj z6g8R~aww&9Pf#jYMRN}J|6RStSij*+#UzukdWw7?5TH#+saym)mj22g`kl0`KlbSF zv(J7?Sj|VN`@zl1Sz)= zh~7Gpj#?X0|93deXm$ntV;3`v^b0>sU$#= z5$w`Ze7iBA@N^kt%mM_qew1&1;y$O^NM=do>F)=ErztoiHcSsj3OdAncC?ixWXwzZ z5cO(P;LRpwG1tuw!|X6M2rJaH=-z7lIkn~KpV9pO=|}};>|bYO(8HgD=(HT0u5{cH zSf7#=biK_oZp7?uY_t9VArzI>(BH6~?jAJNCUri8L=w1{zfJaWl)Iw2xz*b6OC$D< z#!g$f;y3RYvcU1J*{E5`WC$99&d+nB;@DQGY<99k;y-`?F^WoBp&)`a?6l$Wt)sMp z+}d~y^VpJpSHsra8^}F*Uk1m$&VTrRC$PnvEQ8&jcK_en1U>!kQ!@0}(#mVEg2GeM zm0HLmkwVbFl&;!GTXx2G*@cJhscxLd=(&oEh-du}PjYpfh z&yN(Re-!fUoo+Cr`_H2LJ!4ij#EG)0NW`6hDpeCKt!Pb*N_hs#_7l?dpd$~C;bsV= z$zqXARyZP%S*K1$R)l}Af4>euo?i>dkd2gx&r8LqR%Z z7roGCwL7a)eIT?D$o|`^s~M=!B$S`m#X+BHKbf{iXw@MLe1LIN`1^$P5kg<&Whb zwS;FBUMZPW#a;(Fe=n-;E;nZ&8MMlAC%DN#_Jb?UXGR%$@xVr=QEn>BlS)lk%mmvzL2>=l@A^WG3w*MUIN|wnP2rdP- zh(0B$lJ6(LHA&v=M&ck= zUiNiK5G%i6ad_WxgjUv*8BwT~A+oZ*qx`|IwYJXxgmjI%T=s1Nsn70UP*WjYoyHKY zN@N?3uM$|$VYAq&RO@Qvt4dd%HF=-wfnH1%j$1XBNi+!B(l`2Pjs@cK zD)LA!4O+`ZCdCf8b27Q7-Sl8?IUI~(n120Gt!U0x=3=f9_3Yg|f;@-vpLV)RBjm+| zKt}s)m1X3}xM=h8zws97f8(t`I?t1&0MOHht*~;3qce*%@fosN)z(DH;YVkAM6tg4 zlpo+2a*!6cavTAzDzP#xEY1fU9*{XcFOlj*ngL6Y0yUmQo0riSDK&{oU%4__c(a_~ zW|LL~00dV*@hegGGg#67C*DqNyFuH@!q)#L#=HF|Vu%jZ!um&)6^4c3)d=Mxa%Jj- zhJNZfyA=~QDyUOTs|-p|cRIt2I!g5JxVeZ%|Nns7DqW}s8px*1_%QK{R*o8JyXo_} z^%rH;!IGbhaVbjU1(iypvtDPIN&e-wDam#loYM4FyzKenMDmFGAbzCf!2@r%^sTrD5GS0?Gv~V{hyU$oK=lNuaSYM zi;&eWtSGUB0q*Kio>(qXx>DN60H$Uu-#f;+!VQ|kOlX#O z;`*;v=SamC&sd!82PCZ_of1&TpHwm zF%tjrm!>?@n4)R4mAS*fWbkNEDq&%%_!lE@$Ln@cbY4^;ZHLLe0lBu+tB!@=!egCu+;-6o?;UBb)*P!YLZ>rNsr}ZbAH$nBb6^Z3 zn*|v^SZIU%(eAf2R-U#9q3M@GdhN*U)u?R6N=NRuES6UpVhI#?C-a4^EENwa zP<~q+NR?|rWKoPETFw}Qtm?(Tt=YrS7UU#+puoaqQ2{4)t$O;5_)g`_JZSc`MY9ne ze|ED(8<#lYIFNwwmgS?}?D;$16(+t$oNzvGf~4y9^(1oS#o{JE4B#flVji}71ag1z zg)FM}UEp6;I+FZLXY=c|EA7S@t@s#J zM0$3Ffb{oQ6#M4DA^hyygVxqf>>U-3eN^S*_ zK^iL-oPMNmU-v9I2jHtJV7XFNPYKa%S`TjQ?5*ms0zozZti z9zxB^fiKuAB>dOE!_EOc|BcE9Z5v%s1q4GjRH%&Gy?+B#sH~bkuMO%V9>akH(9Y(n z-$kiT#QD)8LKXM2EfmFpr_18|K5>goqY+!MI^_s zZ{X%R>utHKw%kKPSrD%Bx55lDpB)CsOIOe)RWfq@^w_WDmQ&`go4>%_C|%oi`-r^p zMl7s&UE`3g#%Ps4ri{eB#Pflum8Chyo<%qhyw$rP@)ya2`T^Iq#cAl)^F8O_T z__K1^E|@rPOKgz;23Bjj8{+MD9T-p5$U6LVI#Lm4FBD3x^ssA@&HGL}MhEFb%q#oK!WzPy5Un?oNSNLw`QB#wA0xtX=fQ4n5`eIwwn~0|#;2%Wydp+7QtL zIg7vNm|gSB9@dL;Bl61|Fy^skg&8PhV)bipE%ak;@%Q2SSu(KyoK6GTTrt#tAmn(V z#ilNE+jyax)tGv|hbJa0Ys}qq6v0sEeIZG~tP}cBd;4~E9DXvc5@tIKYi0vn`EriW zI;XS=62+W9`z6WbqW8~Nv5!BR48+UpHVWI`mjKvCLZ>c&D{<=uXtIb4VJ$BUde)d@ z(!J#r)+|3tpmxwLYQ$*51UTAK@vK-*ft79<_D>WBuN8q&?{Om4e<8gw=E692Q?2n@ zWJt&PNzGSeE^E4almPMFjYhE%F(tPLcL4)rO8_2%_p`_V?on3L^+bDk>L6YVX_*u# zJ5Z+z`ePOY5ViXQfwH9$?QV6v{_aVvIzDi?x>&IE2LtzSBaoTe8aK2ia7iWj5WvDH z*zQ?ia9do%N|aXWKD1Ig@HHnaWxF4f8tV6#cp+(__onAE)d^fOP-D)UHJE8LN71@l z-v(bu+&`0O_`-finIkJr73FMYXZui_y++7t6RVN=g0@0)@LT7#gSi*oi6yXmOUjOM zT?=Iqb~LL${fxElJv^2*P9vW06F1x(b7?9(N9#n<4R&eD!7*%&=|+dtXZVrd{WSR> zOqzOHYjf5F9jBn&@GZ<0Y4`3Lu*{16Y2*v3wQof{HQ!nT6)bFmxhY}uS^K@q^Ls=2 z;{`&f<)T6 zN_cTW6{ZN>QDP1?eA*|Og7kx!R78=@J<)KjKoFD2GS4}%Y?pzm`Sr35OR(e!aB)Ui zC)rUCWCFBN_#++(3KCW`Xy2R2Th-emvBM|0er_RAP>&GW%X? zIsahVj8A#FzdRF}D?``;g{ z5mjP*-Xju!%rLQW@Dg}1xJMPpw-yt?u(LeEO$HNWQwjZD`L+6Zgkq8>S;^e5ulDY4 zm{6;<`Kw@aWO(f+`F>n4S?#998)OB$K)n%|G>(C{5o|F2H#H~kmcCIWaFIh1x*Qv@ z28cs4QrTcWdr;fsQ?g2eKGo}*tweDFGqPgl*9F~1P$v9!o6$9C`I+wY|D^m~mj9%D zB)W5s(nj??%Yt{i)D!M5+sN8e8C+%fpY~@z!j3!0Sp}X9cpz4`k_>pjSGN8>iB@Dc z76(oI7r;i8Gq=#(*r)Plz9-TxvQ&Va<_T2mfep(bvn4UrTCQdsmI4oCF+%0`$>2&> zhXoPw|0nIUQ0%ixfcWhQ%ejG~0uPA&v~4a19x{2OPP;D~{CpdMgT2ZW*LXi7PL0H7nf&&0#X ziH0%&9-JRE=>C)Oa!|>N5BnWg!hG)BMj7giKhad~_R63Uz2$fUOXlt1{bNYj~Ys=pc0ZvW%R5TA3G zq69 zfCR0CW(DqbtU58PF+gn8q=OI-xdJ=wKq?4R+!O((|@1p*e7lOq9%6FElY@*tV{?`xmExq^)dp7?Ypwwv|={Bid9WO@_TX=}FN z`k2@6FR`AMV|9?Y|ah7-$LI+ivsx zGA{Udrs-6qHWparbf%tdb^SQ`6W-a}oqS`Wb(6&})AkJS7tYD^-ArkQ#Vk)wK8^#b zY_Fo+-l#(6%DFp&Dz#Prz1lK0(DwRWC0gshr&`DCS{ZI_Xy`ahQpzvjS1mm9pgu_SQBPYp(3Z!alm@@%<)cly#S z%d`Wx2T!?2^N30>0}vNs{4=jh0_Q9D)*d=-&`O@MS9|&SZ?@aU4xc7Er1)DZW`5^5oy*&| zrLMY(?W1OFo@4JLl|Cn-_GSm!_)!s)GkYPMJXL$V(YeA<3tsRh0PzB(M>;NG@Ui)f zER+Y~H7mEof@$G?s3$X*Q(_i0gQ`gUn^_0|zY$-kENKCDTYm&+`QgJQpSc?PKi5F+ z1zDLVw$+N9@Vf!*ou63;k&6Pcr(&S<`cGy6J>5Oc4K+tmn))}L@-Q#Z@mIV}419*! znQ!JnUzbxB;D&HHH$A$_Cu^v05C$|OquwCG8`hb_0#eaOgteW9>5ou}ui{@Dk7InW z1+0i^<_Kbm8F5&}tde*J<9;&A5_2T@XTEucO3++QV-tBSKi-n63BNleEPYnW%c^Y_ z*va|i$~7NlDjd=*N{>A11Bik)k`bJPj-icVsfR@I!1t{j_ml+1nPZ%8L}_u5OLkwf&JbCn26h+Q z+I@%=KgVWai5y2)2cSU~|0jyoPXn4AC=SOwLZTi;SGdF9tStJ1B+Ne{s(T|D2(oX25E9J26KrAxCB7t}Quhje&Ju2mtQ&b>jRnANbJF1K6P?B7ZkvlDK%*Zu zhx`#B0oxCj6*H1_NHM*jMW4g3X*GzxM_PJ~%7>H(?GPTE5SNJ_O}Hm7Bs>I-F4rVJ zKnqwcnqnFibSaI-p4N#6V6Ew>{RNeJQdo6jlcO89EQT2pJ{HanU$1+^(b^mhiZ9+KZ1!ye4r0DOK^@M^LGTv~-Q(d_6C z&ft=Yfzcn~H4CFm5(?Ct*j|6X7-QY}|N0RQYkX@@bos%UnhkN$l;dg#{sOQ~IELge zO5wzFE#>^wM7x{MqWANKCTK0$bB#6=ifA@qszO>*cEbo!)9>w|K$J?zI-re_5mpZi zY}nJ*j0#Stt57lJ-~bnSy27y$^hMJ@V#!*KR2!2(x#=^O%qGR$kN_Ymd3ID4aiFsT zbLwy96;6N27b>CKs)Npk$Pl8J`tc8jDwGLIqEH;D)N|pe1EXBq4f_Rjs94fXb|`C6 z$uh=9P{!g!f04Fpb-Q*n93Q9t@fcfv+mXI=B6(zr4BCBQ=6? zoX)$JnDLUIva3%mU5E$Dr#F=b?iky3TObc9jmL?-;DI5VnZ814Ol9Uy{n2@P8Ldm@ z<;4Ko(r*1nDaCGgN+k+VWU-~u-ntsSV&u&Rzk`8nFb1jKNoQ%oKJJvhAe%wUVf>iQ<={F(2CNF4cJ2?`U02Xcsp#!OKgJu^qZ{tf!YI-+YHGShAS zB%3YJ9s-|#)7=Ln6|dnkxP&p8@@@ysbmw}sboXYx8|f1t)fwVGOUlP{_y5*s;5)Y& zm4>lNOOSnL>HDH6BlY{W{{D8m!O2dLDX2OyIPFzhmpU#hCt^=ga z?>VJ>4=0X^i!QO)MUNONQ~*Ni508ljg&~X8($Zk~HzyGdgf^B*OO+W|`V^a~ z*(nz=l%Gg)b}xj`vLN1CB!4LV^HH$oC4;Vv?aMPmbL~?;E>DrthI!e^q3#0*oo6~) zVA&Su@+sUo;WaYIFk{Je3CwxuIw4${K!^_KaPjcjF%qBVja@l**-+(F`|@ z{1iSF4S8mO(*Of@Sub@jO#&yKo$MS_6%kHeY6C$nf zRr$y57M%$6VmK&_U17JHeHp&nnTMk+VL~Pn#(db(^5|^9So|7>wRTm+SX!N&C}8fh zRLP!rSl#bo-RWaOof2u1?IAaP1n>FG%Jaj+P# zb-06yk)VrewHHY3d>5k30k(S$4Ax6&@*{G5ATcPzLegZc9aW43eAq*sXI$vZnE+l4 zOX(5{)X^k%nW{dA30bXQpngv9r7>$|(W2xjx+X@e#2aV>-ur8t(&~Mg5nl*3M$efw z77&Ol@S=b3Xz=9$8S3rv7N?#DxWRa`!6R>PMB~F+WmXlc6=tTnOG*Ey&MRA9|$_jBQD~S@0oI+h>(kn>@PA0XF zJ1&^goCLaf7kZn1!_K!EP^8}*hS0L6(BGAhTrSGsX5$N-_Kbb&yeFBT1AhW(#6?K_ zZ&2jwOj^YF09jwZ=}+dlSnC2P^P)GtlsHN#ZpR@(Fp+$(fqJ%BDEMR*(=1J%XRa|r|RIdjPfryjCB&%bBq1Z*j0 zk8$S@rktf$2} z=2OWcfhw=e&whIU5Ul1T#n70GRw)ydIJ8jfepsoAzehS0fjp>DLNP?HlFFL=q$`}5 zf{}g8MU+_wFyOS>J^05jUW4*1wUin!^C<|w0uMHGW247P1;5~k*L9obiGAY( zea;nK&=5QnCcJi=$f-2_==Q|=h{?uMdiH~sQq5OG@}mnllM{M9-a2;|h8}B##F2Uc zEkYZ#vVUX%C4phv)%6{jh4GC@=YGAfselI}XBBg#WACdLI&)5jX`=~>byowaUXD$_ z6ipnRC=~El-^i>aZ`l`L#6><*FBC~SjcBOfg%$81G_hx}Y_Tjg;f#i$9OofF^4qQw zs}NO;ojm-i`=xnT=`%%`ndw0Oh_LNW#Ok16*Q-G<(rY51rt0zImA8v$ABu4{t44Ps zhzlEz?QUH)6zh!rqAeUm>LJ37e?p<)E|*~;Tf6KJTprSw^gaLEjmL-LDpj~Y z%oGExOcVSM=K-zA6@VK@uFRvsGlv{++hG`|WlIoGnk9uPonI67Ua;^5UVaX>*b3EL z;9qzlXLZCmmYft}@WDHTctl(TQRnoC&-?8U;OHrxps%-+0X{=)9A3MPKQLG6@*QFq zCW2q&)vGR*U*_&J5rhFV6`GO%#P4|ai&R*uqH6Ec7qtSWQ^r+4x~IMV{)UXoB&@ZzW9klT+%U;4E2`yxY=-WzP7(GyN1XT#`U{#vOHoD z-h^|lz;-1UU-9(KL*pBH&V@T-Hmh8si$xs&&+yS1SKB12&W_9q7`pzrwmb%v=cULs z_dA(;KO}}6wNe!r7}~Z_2X#isWjj{_jVG@3j{Ij#lxYxl_%f>2b+*egCoE{y{XqUG z)vKu7iLGZZqOrzP)2e5-MHkC5YY7e-#MO5NyL)^fsJYY~{B86v(j$XKe(3t}cBc-H z|IhNb{yMmPAJ*7cCyH|s;5VUpqTHdgv#m~qov>dgRVBo~b5lsnkSBrdgEbVmZ_Ni} zFf}NL6%;B?B?}a)<(CHaHhwMs0Cyj#5V>0u<+@vkoR}+|0am%*f`gG*YTkQ5B9e*k zX7GJg`I6on&Uz_}HkB}`9LT&V2|TI9#K&}QF9ZzqLF+RK{Z5qnWMZa)T(uPj3OnM$@ySANnq7Dv-Tn0j;Z zQrb8OxygO#rRK;S$ovG4ao&J8%7*$t{C7xvQIG8{gQDTn&&sd=`KTq-mQ&%oDh@mj z{N8d|Bsl18@sm+5$N?W%Yy*+NV&kcoWSje?)X1JAYZw7slA){~y%|s7X9Gc6S9ut5 z8BHjyIAvy=2fX&rwU4CbWn&?O-Og6LTW;DM8x0(T#_rz{xO|K8kLz6)(hI%7kAHgT z?ukm>dfJc1{4vtyjK=nd6vWJt0KaoT{{4die0Z3>b#wV^y`<&uJYK0$7J?q^bK$#D z4m`rL_>mi8+LN_PAo-+M@4MsjQ_2j1IkIoguXBgq_i%~^8XnAUv~vOM0J%g0K~38Sv| zp*+%igV~HjncuE>_gg-MMJbsoExeF&UNY9UW)`kb{0tE6Cfjn5TFlk#vep+grBqd=-j+30E}cRAuLH)Tv7gonYwLDIB@+PO zE!NY>o^>(2@#7D8S!kmNv6oc_s`jAu>0u}tSviOtwzd4!n(`3OoK9BYA8HkvIQ@*L zRxecD4bpQ@bCvyotjA3;gmrgVG3|rCB!i{5-Su~2A==~dhaWYpe~}`JLzv*J=;(+- zKOr>%%N~cnUO~cF_cPvg6b{{5#FZtn9f1Q=#q29f@G80n|FFVs0!!%sUcI<0U%&o& z@mF101WOzT@GsbpPI5|NXoZVQ%rJvU;I4gT@NN;Aq4 zX_^U!BWfr1W9s9;d~NXR(X`jma4W=7IdD>cbCplCEl6S0?>w%XAK9KrW6O(xI#|F! zOlo$p(llW{k+y1Et{5jHD8w+PD6D5J=w;=B`a?u+CJe(gVHw?ow6V?DdP(6)8B)Uv zz8`RiSgw%X7?-EbdDvo7Nf8eKdBImCDybZ7u3xnM7lIdwyXYv{kcS-ROJZW;3dc{* zALJ&H1m|jMpis=%;Joido00q2v%VfI_2q<0DcGJK zn^-){ZE{qx#c@?w;kzSa8PUG#b>P1Bda?NmpN zL|+gGfY;Z{FPq?@$qrJ^YtX_0{7-t;Ok_pP;Y%%d)}O`=@x4#`pDJWXmU_$_fl^C3i?UD{LgB zpUw@3qdIDoE&oo!H#U_zAL&Q*MMZE!`XFUb%aH$X&KmHYs_3Nd3b_!?{_2KL4=omN zAp!qDIIPsLCm744Zfi#TyyYLhzg^l62}Hb+fSz#$j%c~IrD&Ku6yKm{dJ=h<_q^y2 zV);Xk(0VB!+!b%rlzJ?FyyT92vE?dAFr>O2d=h$4>M^~qKeN;Uo23yoCZY(m(xGzD z$}1X-gLd& z>7R{OM9;;F3cbBXJ9dvA%+?G+_~ZK3Y@>e`x$}H`5?7*gv+cWVNlZXFYu|VVcVgFP z{1jRES1I|ij8}cWZKLxcUP=)cglBHF#0P5@M4Rq!ixDMvBD2bQ{6E$5-D zGa3B0)7+)5s3stP#)Bst%;{cqy}6`kZ7GnkZZ9g$$2NnDKDNk~T|b--7Of(T$gvCl z7njgaco9>A4UjuxnCaIJf&=nx(>`D*Z;akRivz^3Rax2~`BHF07#Bm0hmXERg#?s8 zP7&sKIw-D~ph|ofGYjdL4Bmb8Bv0kTvtz-v-kCC{7vWNdHOTFd}Md*hJ z&NIMdpf1Lg|AwvXdR$MI11V+*Mi3Sd;C?uCi7KOPlB!7hHq%&J1D&=6rGd%?n5z!j z_m7XY3KS8O^x9%qDRQ3@fB%`AvFk8E0p`GzeBkfyT1Dl@~`6>7<2uBai9;-eS zx;R~i(}4^a)CQG;;-V}5fl6HzOqmijvs>^qKB-o9ag%o)vDX6~4Gts5% zNx(8;;@|l9xl%BBvH+SyHeoCm*U^u|u1v$AFDjo^?hn$%v5iAxXUCpMKM zCi7Wgm*JP1XyI;;o8fx&i zcl}tjKpJn}BTWa1SW{?Jf9rGM|2#V}V29X&=}Shq-;lx1>Y>B|%KnET>r^McTDRY7 zeo|If5F=8{PFQt?!aFiQFBq^PoUkcy6F#EY8YAL6@fPf>oczFq(7q-_?Ut|pgRhcC zrM?yw>S@F2xQ}~G>lktWLTf=}h;VH+k%Kg$TD>yCGvs`RINDV zi0U8uKcbR%8<{Wq&2WsffI}S!&iPfn$KSSr#36AmtcQi}rtuz$@}VXGg@DR$$6T&V z84^;3L6ufD&;KMYXDrYM3PSP~`7p7b^t^zyob7c5zQ(i#I=Zo36Y}7;D72`}a9;SS zOuDEZ>g!w=Wd-Ku^p8o27RCh3TT|#Ks2OV>?Ke9X>Q!RyG20SVI5w2f!K}k`{8%)` z#Lsqfwm(gjBIn-B;OM;^mt8B?RB3-wBo>hq|L@32U2_iM;GQ&|z5Ry>TFsoGn3CW@ z4WEW)RATo*58g_MqjJb)xO_o^${O;eIW!B4N)(sHn&d*(4|DmDPA_?gXF2wk65JJ^ zwIf%XqoqW+q*p|oGmf^lX6C4_XQUM5xDoHTPY%-)e|`>i!;Mfqa`GluS2zMhVx-(* z803x`);J(s*KE-wUMx>#O>x=#Ju^UB!fSNu)x$MpZ%NI5yh9)@4706 zD>U?@cJ4w^L6|?=R0uBt@MO;eld;a}SEZb}f{rg$sJBd-4-8VyRZFFO6fekO1)n3P zsuC#mOdtmWa{lDS>bwNOccOZ_keUi%^}}xiD9g=66+rTL(rI%I3N_P=xPZSoc`SwB z36nsD-r(FK9CwCXAL9l3u&Tuu#l4VfZ%S62LR@BS?}|f|05>-)bFOHd zgpFO17qimy0j=f4*Sq*~2fiKHE123U-_JL1hu|64B@BJWLcW}ME#WT-1+Oqk)uJg$ys zgFOh9F~!}sGb3@G|7>e(uv5N?Z=Y$({y>OJgETs^fJ)E^mt`+TBRkg;%)+2iKdi77 z`wl|#n&8d`_kH4oou)!z%^ii_hKW}poryL#8~=0Iy-?)Fyil5)2=4M6zRkjy@uCr8 z1x4s|MhH6tqeZOxWLtEFvm^5tD?aeD{@^FF&qWEoe@zA^{NjG&^V@OoFK*M_xKFKf zBkKzZ3d>KS8DGBn7U{&BQ;@!dE`+D|c86cjb)*Q)PUYDZG?6a%b!=vvAQMxS>3z+s zQ8$v~i!!pU&t?2Myg#XGm$S%(`HA00rg)`$!fkj|3p^Vu_7TjKW7IqparQ?n0f0@R zXhQbcvk#!ni{G9J-+2%oop7!Z!7qDc6~bL;Gr7Ux{^9BUNQK@`Vku4v{s4D~JKEs) zbU4fwGc`|}%CHRFFjlozdn6$Fn+5I|vYlE%^A$&wD-xV%IMN&u?w=Te`>BF*KHy_c zF3uihSQo^O{cWp|I~rHx^BWPt8EW{;pf3jP@#-+a!S;Ln`;3H+ORXn2#Xf5DD6#j` z%XFESzr8LUH2#PklK>pm$&$>srV`di4%^jze_1MsgHl*tMy3dZZs!uw{szk1!i~>M z$X>W+GK4?)g}jP?qYERqzCWB~b0j@pm0)|*6Co)NMN@BL&up{2SWGV=(Y<%C6{H0x z(rN0dI}Q-{t5(m*8$DM|1R=qyvp=O!Aal656W6aPm?kRniXrsY2|}mC#np?jA1Q4C zTQA1%DO96#QPvOBB?M=X2%Pc3<*#>3wma zLN$KA1scA^Pd5&dmcg&AdWVTn0x|vpD_L#-KP(mz>J(oD6uJ>Om9A1b_LRuo{QbLaBg9TXC41IAb$aPG< zf5=HS$-^i4QX=%IuWeu1IE7fig^-KU2_o_NdhNtG6F(Vqa2b3NKMcUAOP;_?VgAKe zT3xyd-swUUEe!1}L-%AM%ajX+nHJ&2U&SaM)h2QX8mvz7{|OJE+}xo66_T3|hZyWj zKZNh>{hoQAZ0{ppG2j)LsTGuUN;v)|cRavL#I2xDB(+EqWo2jd4>E!PZ9KDUHtCec zu^@IVOSXIk`|WJEOaP}a)IJsMtuqlVgq~Yb2-y<-b57n^7tzFHu#YI;86){$M2+`= zMB*Bm+}I9qX<;L^#@o{@g8eC2Gc91!^9| ztDvg;Pf}rzbd6jov;9-ix_m-&#MIi-Q?h8+TAe5=-%InCNa-1*uJ=)C2)TYLJeAMa zh!kuCyC8xLUGu`PZd?U(1$r6N{MtRi%S!SRKev%N-q7}P$*c)|&ORpBteq-YVxm$X zJ2R}`V;iw0-hQ9hJuHKl4d9tT>V@2)J*~GJJ^!Pbu1d1p>l{alkWN&$in^1wW5kME zfsLhjp7)(Ua_j!3yxxrA8sNHDge@Y?094*-Ian*^Nl%=(UF`M5SM@J&^22XJV=Z0o z6#0PjxP?lEf9|Grvt=tJDx$6*IUSQeaV;CkFXU{f0u8hLORZ8`2I?>3#eCkF)8dTS z0$VvQAZvemGuAbef=WCtgBW?TjT*Ad- z&Tno7vL2B&shBqVxSZ_^=FlL^&p@Vb7$(^E4;gy|k0XyeV=N8hD&Q)PzpA2nC_RJ* zLtK)oMRsU8#I?f6roq?4m*{T^9?1c+TA7T&TkC$JA)|*?0qOuKJR;EZ+PAEym;?Q2 z#sa}uQ`^P@YE#?2@hiu?!Drj)*kAm%CfU8;t~OBuFOw7NCcwz&jeQ2J4j%B$VmqEs z%%MbPU}Ifys)V`q=XE?Fq9hU~z3Pg4_sOWH-@HfG&KwC&_7qJC^z+?~NJ9ct1J)?z zlDvJ@^L=p{rJ{UDSG7*KJZsn=?th=ch;>O)Q3%na!YZKZ4aI{8u>eg4vv!8$RsuK|{?EwLb zNF}NL5@#z&PQ@N1djhDCPT;J7O*xsZWA|A`onDih1VI9o{%L3GOh*@uLcwn=WoZlc zh!<0X3IM~MNrkKD0`NnBnEb%use~L-(O;te`7J-cNG_MWY zE7BPMUTiHDlYxd3lZ2|JlTjsf}L5Chdsf-)Id7sP{8ajR5^xgb_Xx6=5yXpSFdp>q248M=s#0CT)QxCPS z$~~6muFnfoq6>hc2#3!iI*NSfc$FnWuWN3p|4qr?#a@eE9Jx1GazEwR_QVfTT(M9T z(9MUjLap7iBbsVJ7LlYvg%jEecV?_m^F5-3Z5_HXPSNxS%e{;>plW{nGjw2>>>Vkq zfAQCipH_WL2)#-jg~$tsA5(uTBfw7xFFSgOW|5gj^a0$pJsD508}vyzod(4nvbc@^c(M@;&D>I?s}XGMJhK!?tmRZJ%@JTjVmlQZ3qmfxwT~%WZFLJ#m%0y z1k>&cf^fbB|@tww2Ksc)aZ!zxb&^ z#}$#}9M|w;`fl<@fGhWJ^E|%08Kv57)}cdAn&D7!q~YW9FfobHjXZaOq)qLOro@Gg z54FlutHvVsi($dx^A9$3KoWSO2$0hn@*gleSbCA{TrPxyHh%oNd>a49kKc~EA*{Kb z?p&vUvQ@0a$(NXbB;Jm@c_01#--pnpi$4U9h_+KSv|^aCzG5GSCC1rGkaB^g~!px-c3H3tJW1+k0sWl^QVabt+j=!` zWxoCxn#r26KxJ>wsJk_hBOJswg_`@E^gS;L+_^inzXmU=iy251I>~b?4F2}qGy^Vb zLz`X8EtliU z%bsx<qm5Nz|6?oGnV{{4F*T z8Wtp&B+*Rlv}of1O5I@`G$)U{&1S5Pmd-5Ny%WQcCzmLv@3F*#`Hu#dc>ueWDtGno zv0QAac17*6+^e0i*zclWTcC3I)S>HBtl2r27l1_mri3ojC@yw=(#=&r-EaiRLa^<=G~P?X$vow`S|*pyOg!}YfBZiV=y z|Dd%)$X|5N-_fuzH*~_E99G~-uX!m_amrng&{EVNbBYE~xL<0@G3Eb`*yO*%>Ox$@ zhtHowZmEHUEC?sFuSq!!RJho#5Bn!c_*dxM1GIO+pmiHUHl{WoMO;#Ck_rV20JfIp zvqj0g_H6u)wCx`JmY`jKIf$j@f#2$IQ?R!voZ2w?98__Vo$~8g(Tcet1F8`}G?-6z znx}NvRR5JMR1fP4@--5AIxY+WmRh#2N&I6G1SoNRR1c@%%re>Ofp%>kJ`9J3cw4{1n&=0ChoF@+*>IRM1o zc}8-PS1H~ax)Hv3*nx0DM7$;e@!ot&o9Jgdi4ArzNJ246wd-F!SI_3cE3a~AL;@$5+5d%1 zNy*qv0_{Mnt3QfiX@97ZbDfp5C7Wi$F;?*5mG0!isb{N6p;B%m~SMbQiUFM7fhhus*=&CsMy z&z6SructvzgHN*GmItGnJzkpcn=@y$$kr-2L;Mf{o1J}07uD$nFTWZY4>cv}!0^SW zhObs^B0GO-mhHmPv$vvRnW=mTf70ykdxGZvJy0}`auVtCJ{G|Uf570q_U3BHFtk|* zKmNCM2o40}^}K-5Uf^VRati(rdn{%&7iD{;mp}LyiX1_{c*o|O8LXAb5_x2; zL#Vxb)dEm=avFo$E!r%AhydbQ+r@XglZo?>;>L#HOYokUcA+>(djNr>&%vQGg>jZz zdoq^DlCzlvs3qB;uDM`#ZA?_={QDWN^RV;R&_FYW-YKibm{`gy*GgulH+rvw)s04iD1G{w3A>$`TznV(KipPWuy!K;q-_(OWn2nkPp`byMtt5jUF5EkBY+ zdpV^!=^m=o{qyYX%=U0@+Q$Z+O<5Bh%lvowlf@ZEx=eNgb6k8k#^H<}zcBS8R1?Vn z$A~GEkZ_S&yDza|q)RUqJ5dP0Kt7T>_q-ft9}hD~3!xc-Ka&!H7v^!;FHBzym{f=S zz6(?*g1MTG4BCxGAo0T-GmB2n0Vr@SeQV#;#`t zjZ|;lV!@}n`IUDPmFUWv5ky3!j#*tuPxyT?f^11|vFbGRa+rCM`h|a0mTOm7eS?kU zjL=Y5P%zyzEplqiWt2%yYsTLpeGFVPdFx-5C_1}fi}5ALv=e%Y_h#((aWsGwJm}Vy za?rF3u~p?qk4=eSTv6-*Ry&9#lOTIdU^61#U#aIXu?20P(y8gOzt2QSP-BNmP84(S-f{C5wTbn>;gNtsGfiR5)* zu(c>adUS>K{TNOl^6aXGba~?|R_D@lWHh6_QJA_1<{bH~=8~XZN&J?N$J;QeiO6)% zgYXbwj};e%61GQdS8 z8bPlQMfb@v@9&>w+gWx%MW}#YU5XCQ{E$-Wa9*~nPj5#Bz>oDfK!dy5WxH1s_9yPu z0m|@#5#^*w!HG@LM)pxE3P34a58e`O8k|tA^R5eN#RnSfFMT}saDT9x_e|>wh{+!4+L6km5u)yV2ixH2A|wqGC)wyjpazifB7s|?TDL`%0~A2 zwQ}J}@Aw48RjAfWB;ysN3r{gW|I-5T1^wPHPS#GLf-R)n)N}#cy=Twu#5=icM)lV8 zg5OG7R-@Mew9PGIk8$B0dA}s$O;GJs%iIb~8KzVdz~&zXK_O)SD}4Pr*kb5c_+$$H zu)2dY^K4xlczqR<5<Y^xmyt3p}Ne05)(fW`v)b?6pK)NP##U zx`fs9zJ;RenK!nrO30Ta5}d5z-GlvWAkv71{1acvC*k-iA!$IL3MC&O$uB3Xba1Lx zeY60)dK0LL->aQ53mHN?UDX1_?smn4wqBfU28DMBxtT?;xd&v%$n@B0f$|h4tst?} zfh{$IYpRJH^Csx~L3|bL(KOz|3Lz@bA)b3&yuH=2TWR8oBy5t<-1)xEWvv~R6!o)~ zsB^S%n27g|A?}m`pb2lr?zH{nWDC>yCUP|zB4Gk?kya~u!TeWiMf9yJ?w(MECW-Y6 zE87SSKugN}#l<7E`_+#=l>GBGZ4GNUC)&&7QkmwgP=PahE5iFp($4>-897S zi$UdOAo@{{zV}im+VPk(l!)75LGj=3CBMt^wCRg4Vm%W;g*-ABH(w~fNl3!R-!{=Q z{b^n(bb$(Kjb|Ja0z`jxAHHAllN#Sh{C@<<78eq0Mg5X%&jc7&l`pG1=#r}us`)M9 z-4Eq-SFi$GzM&pQHat7=ZVNwNJ*tKa{Lt^DcC!v9xoW?GLOcN$n)63K;aD=r0acd7 z+6JO=4+=-HEy(2AGmdf`46s=@6gp+&jgQz)dnpD)#hz#k#~vCAsvU>z)y1s_r0#Tj zfDk$;&DUZQ-nCYi7d@FBdd>#=2r#pO@u0*pkFmF-IAC-2bY&t3hrr3!)E_4Rs#*>| z)>oGZ`aC+M514HwX}zlytKz4|4us+Y&=XFNfL4@R zf1wc;Z`Hd1UQjJxo$#(TmR=D^`Rvwc-V{hqL8>jX0}X_S=eI7Q#yb+rcF1~Vu}CxP zp?ygYgsMl-@t4h4!KXJu-vdNb&9d;#qnJk%*Fwv+xsBEkpNBjw6OA`WdeZOBh5G$n zF7-$Ip0b*#C~kpf79VYPDYU;4@azYS^_;Jijga5gK~g=+it+hk{E1@3=ADZp+v;GY zIqg54K`}rfb zm~~a%u@*~A+BzBPMeTd>aH*bF5R)|qA;AR+{@-I73tWwe1WNqBlf{aT*Pe-&vgR7FI~{KT=r z6kon;?nE~LitWsByMav+ut0O>ov zgj(4HVBe!NXxz%4C)+&Yzsugm!vrU4l|(oMY{bQzX;;1PFz;QT##L~DDnT>psIQAq zb5T(|f5xL^x(*U(0i(-_BIikts!5h#6^*%w(OwyhQ-%IyiaA5PYt~%D%9E6ol|(P| z(xK)Q{P_E15nWC|DiB2c-^|?8hd1k_r1|A;zwEP9aN*HOeLZ&Zs)|j>%t#u;Seq{U z{BhK^fGrYrery}8u5bm3Z!^b`Sx%y`k;b=O&{4)kn1&;;K=ao5Y-zMFPl1nAvc}*t zDcdXSZ)r~jML60}a`U0%-N2JS?_k^P1PM;Kz@zLV$gPdm+77tl*MgLmSb9l7|Kzgw zOeu1LSkA=XPw?<+nC_aD3Lv)s`O(*>ptxKTj@Yy|=9xiOpBWtuSWQvR%1rcw^$mH0 z5ojJ&X?Y!L-4QqzP7rh339go?(+dVu4S8-5*xx4lkLKF$N zWlPo!Ooas%p7+vWr_{g~*ipXKO8li5{?2)84OAztMG9c(U#3;@YZy6Sj!PDMa1`_JeL0^u%n_0@} z%)CHQNCxg0p?R+*9N9SlxO_2cB_51#pVDz(wX%#0+x9_~IGwhC^9`q(sw25aCOPaK z$q3gI(59f}!AM@G-J91u#LfhZT;T?6>tpycp2^Fh@k z=eV)*$osJ&t6&oz^g=&LbN>f>ocwhHL6gFbR)$Y_W5&j?OvEwf@*0*cZWA3DOSS*x zS~^~<5GhRPwbR?U+Woi86O@s~n8Mn?Y?jGgf9eijY|i)$4K%X49oxnDJwY@j!?3?m zd{BbFRP(;@lf7-(_|dmpF_>h2OQ{x6;QpD)caT6$LKAobq-SN=`m7ULb|5I*9b0nI zw{oWy@bSFAnBLcjL@9w{ksMh!K{@x9A>G3!eC%~Z=3TF9mhkGCf5 zw5=v7sL$FxPfERezj`kXhHh+V7izA671*pi;6k`q@=> z_BTcciM*p}2rgw^00t;_1omY1pA_0v7SaPM7tNyPu(Tgz@uAZ*hY3E-%j%MGa0-~0 zPB&nJdU>3C+gw}Ne4`Z21)}fxGK+q8gE%bE5Z_97_b_cVIv2caiTYqP%d0!|d&S;w z^!zM&+8hg~qS@=O4@T~LW5GilBuoBD^cgfNR>Bu7~K@5#J^a~_g9 zCmMf@wEVLz&in{pNHd2SEzbNKp-o7G2~WJ2AhvS|<0{@41en*|i2HU*yLSoi*V)Z_ z9>>pqJY6V@ng&zWWT%~jvp%3~+vJeR@e?k!QXhA!X3+PX==J|3-6iba^4h(XO_lXF z`TE&25Xl)kO!K3Y;6j0%8a_=lrJI9M;M?iaW6|YBA~UZ>_-eC)>g)fAxMfq@wr4SQ z!T80G>!84Q?%ZCiG0G+w&CD?cB*~? z`su)c=CF}=XHfyjuLLzC^6||gDTi0_ZRr3zkVDI8X-E>dK|eJU3FhWASM_z0LBffo zEES5UK9o(3{1S642IJdYZ>cIkQfh)_DUb*u3)63)=I*E=nMZ8t-M{v;3o6xPiic$C#R9X8$LZO;*fBG19bZmi_B5jj9C# zx+;sVB1J3cKK7@ycbKQ47Pu4?13M8@#4xW;*MD&n+u-msVZeiM17GZ+YXqeW3X!$f zOI^cFonYU`)(~pW>cJt}NJq5gf;s;s5@w{(!B0JQf@xb!fl;@Do_ zNRBwn+(zd5{(&|P@u~Z78wFB&ffV}nF^n=oEY*^_!Z) zpSC~%SYbcB%pC&SC`{TQD2v7{c5q#Sn;CTxq`b=O>W<8H>EBT9tyzC1;YD65g7sv; z*%nRD3LVd#h3EdwLp>RlRDq;MdGcQ><;HkkImGl>HW~g~+kRwq6n^G*U(jE-J7Rbt zmGRAM?M5B~5!A_T_NKXTq1H{?rc5RZhIk4W{pL3go>& zy*wTHhdP*uE`uq8+Qn|7$nZ1e)tIk^y%UjexB)D&qghnJ@h$aieTdvqu4iPm981tKF-ajsnjQj6}dsaioVma6RC&2W`&I;l=J`kE0SDpVvuFlf1SIq zGCore@kMYh(Iq>Ky1SakSpIp9R4JwXm@2+Y0h4@3yBR&t5@kQU!o5o!C4h11oF3*r zVMDI>)-&<7k0eTBIif8;_Nmzq>Ys#q_YR5A0*0rz+Lg{Xj#QhDu9ojj_(}9D@_*{c zQl#*tmdTB&QlyJ$vXhWFVsHRK2I`U!q|L>MugLYGVk9kO)X`WWf)tiHEv`Tv5I2SU zbjb|kbIl)OPO0|O9#y*x(WXEFJODMCnnBaq= zbqyPkwH?p_bSoxs$GimP=gi%Y_Q3gZ0m`jO4WN{K%;et%!(aq05l3dBpo~OHPR}pd zd@MmG9)hO*BZM&2QL(-sbGim_3ox9<+ZF;BL zZXgIGeKX4>?6dY&g}n&XQ>J=vf*JJ+Q#eu;KaxQowoXOx)Bi-RrFqbsqs{k?kMLmb zNon)_P+EG1r1BJ_5hT9pr((55U37TY+WBdo9gO#P1b?;flx>&)IJE1DhVCZfwxQr? zAxEG3C;OrnkbR=n^10PzeD(p7v6y&ExPJo~oya$9(&hgyjMO(M)Nmw92A*PnHYn3J zR~20L1U-tPY zYbw9ghlk!1P%|!R`6l&2>aJ>A3zF&t`5OI35k6DGK+s%gRk^xB!ru&~AHv4=pkj>Q zrkf(h1?LDqTUK5%olKYVcm!uz0XvMTm92P4z$h+sJLkwDM#CdVoi^DNp;Jg9gZ7uV z^$(h?pI3r@Yz7eI;?sr@{+nZKffm8eChSC#~?)C(mo!Q)bG~ zFys!iPh-VOLg&7WsCG0E@vE#COkJM$CD;7wCPH7eP*OB976`6ttvXV)dKo4Dcc_p(8 z2<{Z)eP|5P3C62~KfhTXjb#XsP|oqOP$|laJ@<1)zw{|Tna=JTGW0&3UPm?6x~sHH zPz$${S5r5ROYOeO4lz7j>&yE5YIb_$$NsXVrx;FvhN)UJJQ+AMZB^N*|`sSn#z z^LxSbKYHn)^YWa@Xa;OuMxbv=U*%ss9K+)A-9Nm2g6QQ=2d8Rr4c`k$Tr4x0F zquyOq8AcdY(wSLx+*|&x>jUgyQ`cUZ_qjFZGx@`IXki9>@PnP)+&kaCC{UF$=!At+ta4bluYkQND%R63*tq`Mo2z-T2zV1R;jjg}Tf z7~LWHyL^BAai6>AVRv_T?|I)(yyu+XKitX6hM$HVZmE|18rotBpBxa&Ui2Go_9O1+ zG&E!u902a)sg2j|2>1}=U;j*hWIdZkF9}w?*s*onF}O`>RE~2zoX8u}qtnz=W?}8U zn^Wg+L7B}+J#GbuoX@E#(5hEo5gPZtu*S{~^I;*cm)jy9aq`^3h6`oZsOCKp5A?s# z3HKDJ@|cM^eAJD%j4sv@f$F;SL(l1;j>ENh_o^!O6#cYLAwI&Blv)N;tV8*C&Qv_C ze29S5z2y9+MgSsna6+$WITHKnnQiqD_QvH`T{X9bd#bB4e8;#XiX~qO-hqTnl`;TZt#YRpXYXC3n56e7k3JtE8L@B^L2wxnKmtcP!!sX?0|+ z+He|N^#4dCN|P~tpnt;05qGJ7%`}sk1P|^-{TdG%RePvVxV<1Rb4uQCb>z#$)lFKmV>V`S2F^?7XbQSDy=U% z^G$1RB-2O^@~rj&Y1%~Er;b;v0cTbv$ZGPDDNMyNHYqFs8=-<+ockUhVICr?e2TN% zi`*aSB9eey0RH2j?N?95RplO?mz{S*PPV>Tk45nc#BGN4Q?J;^N8<}0Be9#$%lCXf zE7Hl=JiSOKeH-r04B7d_;%8X?J_Xsx@;rXg>okrNlJY60)>byvbm8h$w|tP-dZCLg!Ys+K;}V~Z^_J*V~;VSWP} zoJ6U%_a!a)Mlg$;3KH%BI%^nsn9T{yvD0uk&Re+w@lzI)ROl7dU(dn&45&rzKcze6 z;<#5MMCdOB4}$y&j<^Ly_9!^PxZ9C>9PXXsv$j#bG&@ zuMF0t0A8nsUre{8zMoQ4*?sK*7b0F^(*XGYp%Jb@0PMngIbl= zO52eEJK6Ong(N^V@=DrcJHxoJL1zfY5 zVu@|cv#Mm%ip^@m7j^gx+pWH_ww`@{`aBGsQr}6h)}hzX=S4`v7&XnatJD2l5$j9y z$LUf{9*^MpFSbuvwKNcyp>T$&XOSXZmJqO2h{0dhO88ybpe6(?Z)Elnel5{3y8ZE` zPQ_z^2K_k^UlXGBY?ilUctde>0wi>w?*L>!?vm4gqFHrtQlxtle*Vez ze9(`cXSKq7r@&Fqaf-ia^}47Rp09>JqfnD;9rdfP!`!FtHbd~ksABxTLq-@0Tu8-? z3{c?N^_Bj*x@W7iJySwlCne>x1)GLGWANVAsG^Z!`rvQO@###~xH499^<2;@p2EOR zz7kHsujGm4NR+m}LeuI&GKHs-{tphr&{3X37js>jVVlPmbC(PUl>Uq;W_Vnvzi}>x z^9TAbT8%}tGsOBF?R{h}A@nOy;S=K(=1N|-UW~a5LACp^9_qlpzbJ}q`1 z`pp&75At#Oc(iJv^zBX>L+c~a5svRN7k5Z`5lroU`X6$uu-Dp0<#=+0+e?>hzj@$3 z#9eaFQj9Ce56qjxQt-KPu={DKqq{B&Jds8&+PV##Epnim`3s!g5G8)ke=& z0bs2L?J7Zs#l-{sy`6vUq4a-(@Og)dfFHr4(IBA-8fKI`4$eQ6sizM&PKI(ZMy+m# zb1V#-S=?U>stMGia49sMGfwTY^sR` zhIjWopq)saX1GC}9bd0bm(4zUl@F+TuHgc@*%a;lUp~_YfJaD4C=*<4xJqbsDR#sO zv-QI0Eq~obywGnNf{D^}x`p#GCR>eA$W++xB0dF)gYaQA@OSP3B;)jOAIg9blai@nyLgFW$GB^dN<$Ig2chdJ#(R1?Hw~G< zM2Fx1x$xkHhpMEHz+pHPP=1@%%3S8}tr!oIf^9D^38xFRe7eK|Y6VnjF;JZMR8h&W zX1vXRA3j_SF$_pn!*I-dRL(XJBpF+L0WL_^h8Iy9S;9>y@^AeQ{pz*{ZDm_$_CE6vYzu+FXI2 zqxu;{GQ7T#8!x*|2B|PCckcS(^N0FqdZD%#zCS&L^t@cA!gvMi!EG9FQN?)TFBFyq zz~qH>znuY3!yLw|V3Zu*jkg_rbOU-e_)As~^snqwb93Bp_K>wo=&4}bi?}y3yk}Ir z#QFyvkkeyt^=axD6!J*T7_o#knuJCb$I~k*>TUJ+`JwqV$ExHz802jai$^qWxsPxZTa%fdKb zfcup{THBYW$6z3A0g6aY)1VpA*HD@-g2(ib&%fwfba_Tw%yPa6+I&&KU&Vjnex~uB zpx|94OGMO$S~=K`q7o3pNPnc1k&D1rD;(_CPZ*iEMzZR;AiZ}l=$_%jg+lDvOmWjY zA*8-UykR+)STZHhL^gW#bVHdV)db_+YwCWw82}`JOKW{>d$m9MD8E^s&I`#6micVk zPgOF$i|_fD?{$czh*!5TM!uJRNx2W}c8I@(;j=6Ivz)L4I zEfr2(dV0ZIoDCedkQNzk*IuHjHzSHuq>eEzuF6aa@GR;mq(C2lF5 zL$8;`67zq<0@GG?dFNF$al+jtD2#AO=WP;rX?IKVhX=r94`1|q>!wk8bmDiBm@x+t zFc;gWCT+8|Zta>E+jdcaD*bYaObEW{MZTF+Wf{~H_e<@7LJ4Hghu17>16l|^?sYAB z$SL_Ngy0QT7wYpT)X*s)K)w%Qz`tb6;(`gMzHv|UZp;4e`^@|+){8Cg+A!3PFHJPy z{|a1_{)F?>oC+PoN+Pv%DeKXOE3-_JZG8A_@NP0p4WeO>mZ=y&fWQE*qhIXs#E^|~ z&=IcdqMbdGV!TnomD1(+Ot?!xX$pg{6!uZPM$h$JDP0%RGOkqylghGO_GjHd-j;Vi z6W>lzXvE+Rrek_b2vL(iLKQ|A;0XYB`P!Ps!O&YSs}{_Ol04j~=HG*DysLztRpOt~ zf=B9G|g@@x~+JT z5f~t!fZl~0EdJRRSg$_xHBsvu-=dbqmmgG}T1Ytd;|r#o+uHI>@!ZiIJue7U0*cgz zq{w8iJc?OMA&@Fmsk}ef2@iS&)69QMULBxY$eBg!6?gM^K9m8_!CJzQyjyu|kn%ZK zKna@|z7eYaT1CCLFL_&%CmSw_lg=VYCQ@)1^Jf3l94``mBPiU27s{tKP^*>z=5-m`C$Lb-gnb%-=z!`W*3v6v!q_$MI zDr^Y$^7%Xpfh@^4D;W0M(Lic9q6OR$YpkWtD1nF=y7Z#Kw-9i85ik>NGvzD7ETT^| zoyFVutl_tguO()wWa8|P$bW1kV+ubu*tTdnqrGjd6mv)Y-V@6qs0e>9E?Pe(>$HEo zO{^q`3G@W`5@qDoy9(!iOz?S7iCfQ$c7<~)peeiy!IGS=i#nFw^Q!4M)*^kp?;D}< zMxWeqv2mI7|8N?!cQe0842}7-h6@AhAJ9*Rm^gcFzF-%xVY#8E5qzi(+u#T75|U_8 z&Qcp6?W;9bSocUvpt18x5RG%fZ=fXKsr4V3_uRlm zNSWroV7@2e%?jc@g9yf+vgl3ouQSKF(m^3e{278}2D3=5 zmC9wYS{QE}fLRA>tb-8xaKPJyQUS%p=1vzT=A7^2rDSl>i$AAe<2%+p&JG6`V8NEN z5?ZZoq|EfiFw*tsLd7P<-Fb@Lu>=GZ0<^lyoeTv`z6^Rmq3ytTJ<$s_TaUuZ} z`0gPO;DTZhEv)T3>EfHoBDL5uR#UX}Spzh01v>{S>4OY=+P9KdKFY7ulpt@^(s@@& zUesTkYCE7kcu*XG2j#6lbARzlDID|VfHqeF&RD;6C>-6fnlZBfh;B;X4{e7Zh_G0| zF$QXn%#mV(arJWn+eC%UX0LSPpNy2(ezAv_nq%@jv0Qiab79D~=H0Vcs zGtkaJ`sNC#_LM>6c|EWWa2AKJ{X{Ppjw-Fb7()NAa3#Fs(;yTAE(fNV&|Mv%O+71R zQSu~ke4lR4P6m}TYsKuhW|-wrnm5!Kle1R$a_Lr&?)l!8$ae(@*eROi6R^s)lv8r+ zAz$$^mL*`D|1(o6Rf*Mvf9ATDxFCnp032WlLj|}`dadz0c{`Sh6AGyR{Ua!ZwenPz zT8xfAsapZ^h#T-g$_N3!T5T|uY$S}{nA6E&1Oz_{h}e-H+O#I zn5^atSjuET6M23t2?vwc2!9DPvI?co6z77Rzs&aoZ^eKeXU)v8=inI>|PVs4p*-5SvyJ8ox+m z>ZW5Oif5f(Fo?*8Msn%nY#a$+;vpisnUD+^lRE@cao?Gu{701x>9YFTe{&p?k*F)U z;c3?e>Wg5EDK?Vuc6OsN-psPmI=zwqpo=>N)JyCa?ojaV2iblS#dxjX{3=|4RMsC} z{a4?lf_RAH3+-<^hNU|{zI*N#9^?54Z1_Xv$apiYC`EPTiJl- zmBQ>?c~TRg#Uhi;`+JJn&@1I~)}gKUTHwg~nqXQb-^^Wf*A9}WPVP?)a3PjHIKDW% zq&~qBxTopDv66Y+u;T+|g@3U_A(Cx@cC&=iAhynLV9h6{Tbev)?2BkQPvx}@G%+C< z>4l7e5x5L50XD~YMOrLb!Awf>{j^r|S0=XX6#*%8=$qk6aCi>7*uD*K)CBhS67Eun z_RmY=6Lv=C&}E-0CTN7^U-jE>w;48-;hT!o<~5<1nt!{6K7Un+H~UJ#JNbDTM=U6! zBU(2Ao7YVXhw&!STJS|`1!lg7zD@SGk8oU9B5E}UTi)=Rdryx;4LGnC)XHnD_dpIv z7u?iX8rD;4gWK#}W*p}I$e(2)(TvuB6=Em<9EtPpPe|$A~ zm9;;FdY>Rm z>|XYh|5!~W!yjY)P8_kEcX;5@_?VyyuPJJoz1PVJ4>lm;{Sieb5!Sp_A4SwTj{0rZ0wf^+ms#2&AsB ze#Rf)!#o#yVqDZ)x1Pbq-ZO(vx)sVmCLM4omhx#;iYP<){~;Q1 z0kEhRo_ejDE5k@aiAg%(ro+JEn6t;R^xsL~)8aWJihcjJOsJMr9|tQb+j675C7%Lr z!4>8EU(1I>8qf$E{`p>78N*04XHVt7rdZVyXR2De4s_-a({YCk1@#Svm!sOMCA*BR z!YgRG_ZJU0i}C+&_W!#*Ax5@bZy7i=#oP0t2H#@>b=-l8#oTBgo3{k(EeY^}b2Ogo ze8M4^7h&8&9L!i_-`>6meKgXZ%k`xeC@q8`KW}j$slBbRS_S27*%m7g} z(5?UY(Ot`6d7&)4Fw|dS{60v3EW5%|I$UbRR*ufQQoeR|0jfmQ(vQuEp594-^9%_0 zK+3nIkbToA+=lat9aDd+5BZ2#jHHd@K(TkD&{SW%{rG?i^|$F-qBV~Dz(mzFAwSZh zE*O2-X~vRgoO{Er+TpCj5*K_JytZFQ*v^SCPo2=apbc{-hIBNd$zZ3;v6nru@oQ6B zuN|(I#6n;>P6aW+bo9GV1dq7`t zksrpjinV@_;@SV~`zt)_LP@3o$12Cn#hB!+FCKw+PSE}d#VZ4>KdbmZiF*Ht9J(D! zMb6ZO4K{a$j2tkVzUGTe+f(j)Oadh-(G;7_IaN+Kf>e;(8*NKA+c_9cw@F#sm(FB{ z9*~=g5Ifo~k^(JHLfKcWg9x}nVp@#<*$zA8T;VUa)Dl~}jy{jn(ZB_f@G5yH#+U<6 z`$bp!c$^LvkgL6g#919x1e$1APf{o`gia`!k4%QaXV%6)(tU`#4Pmks?TyU7+n7M# z9`LbMfy_oFIdt-3m=swAopavHk zzQ%I{jps@rZKVk@kzt~2Yf#)Pf0tigBwHYSUT;B|qN<@wsv!_>8H3&>Fc{2;0s`Sz zHRQEaOVs#zHI1d{4MBNX+uZjCGdX+Tr`}N;44S1|vYjW&v znAKWjf1aIaj3Y*4rUB9g`6f7g%0Li5{t-$UII1JLRWpdk$zLr*#XL#p6txG}g=#oN z@jf}BT6vS3Zm)KJ5yDtYE2&a4lei5+#hJ43mKKIfsHWdGA#aL&+qm7N-UJKkO8c{k zlZjn^oP0?y@&6-T`=q>H*ps4@@$>+AT2#XyW;IYnb$aDq?M__gv9O7_X{o%<7YiJu zNh2kEzTxmIN}Tt)gOff0M@q}gvWpYJ)@q0qql-oinf$GV;q>lVev;)`xsgqVyjc5w7;eI$xXvOk}e2uph&lNJ7E z-22dzv?wq4^97p7M2@>Vsb)p!1? z;cwPi+)HEYh#!`;gQts_PX2987)zc#mgoyG71Qv(KE9dHdD=9wg4RL%l7dFX>6uT& zMthqSN)3gWcOhGwpk2aY@nd47WTOQMD*;d1s8fP-slC{Sw!jVjHuu zR9xgW6P}25#n@b-DXQEgK%EI#&5>Y)B~S~u1TQsdRB23c;iO2+V25BN_%wrLhFog% zOy`FGJ12sta@jj#W6sQ@uy9uKb|l>gFG3U5Ui5$T{hW^=2Rk2Fo zd-}2*?aXoK?bPI8sXuni?z+C?H3=6OY%BliX|8H~vr6R}|I7zVBYu zKkJ)#lw$$Od`SUn>wI?5OOLWp-Fq2CAmw4Yj~o7uenrU(XC8O5M>)74VxZp7=!!u_ zf(T@7;7Oj`F30C*8ytwT%?*b%uG6$rARe_$Gc}`>JZPH@kz4oZl{;1`7tX=ceSEERZDcJvQm*6r0;;Zt z31*^GVW$C9ja#fihjywu?DAVUZX4p>dQ|>L)GhsOcri=c!2hVeYS!rEqYph27!xtU z&W~+DhwQwh02Y4NkZ)BwiG+>ZuxWbDWH<7#QIBOe2BvA}59}LAn2Ir#qvl%F%)~Ux z#`{Y|hZ;Jq={vDO#YgWTHpPcAmgU~aqaEKWG~K>7p*OSknh@$ef{{q@TB1*2&W@hewDVNNg!T#w|M z$482`y4dR(6a)N-ogw)bq3$SIVn3Yrd_O#_-r+@sGzMG8e$9YgbhBH;F?QHrnhs4F4wur;$ZjJ^D{tq~I@gqJsM?S*8km#2qb^_6AB?fHp9X4gLTJ+H zNSPUY>VrjSR8=(RA`M>?jn18Pc!~?K6!q4j3<~k$pmd$rnZh-;vihrimBr5cx0MBy z;4n8MhKB(YcVl#DhPy{>jv_(1`qa7V`FbU*b%Lx+iIMx5v6&yANj(Z)6L~%-JgcxA ztqU@XR#|{AXSRQQ!!;sd7Hun?pj*$O&OIm8YT!X(QN%03JtqRZ?3vxL(Lb*mg`OGl zfY_*^_Ftd2^p(>iSuI6Jv=LmRB%!f_mQNc!1ZNJ>_{LXB zGT)>pc1*oQb&*&aMcuHL&L`-LAy%~AIXmc?9$rY{)ULoOBv zy+CdFh4)qq^^Q!}Uy@xY492D5yE$Z1%ADL4d=z+DmV_e*wc_Goy1snXw<~LoUAEB9 ztr#ncZK%X+Dc9dk#Pg(EimzjXRD4K`g_0{gNKCr}NUI~7#*JL|a)Dgne+Nwe7YL%Y zq#=F^q^A8Q)oGzwm@T3-=dL?9E4bOHnG|d#xO;GuB}Ld& zn@Hws$WS84BU5EA!-Wbm;>5?LSI<1jJu&#!xG0;O4VHu7K{?)_N@%eRV%3qkJunbv^HR(7qtDIHp+MO(3HC zEI<%PN;IeWW$Gs>7n|nRKQw`!eBQa9i!gzpJh<%?b&fov&V_26kwTjyZ%5cue6R7z z`zqAZw@XRk*FEt?^q8rFT)b`vf9EkBFNqrUVxl6yu!o_Dd(PZOy#ns_5@wZ7%&Kez zWB9RM>Z8XpY}d5<^Onz$i;q!x0n&n7eb*qAcC*~oBB>Op?cQzqZ_~X%UuM=YEoi)~ z?s0d7#%X_qwi-by%KL-%3}Grt6^Xy~RR>1P{5o0V^!TqNNFwGVtlW&nW@6v-^ieYj z{WhzG7;+yxg~WbC@_vZ0?>R_0LPJ#T34A|v^tnKZW3CFA+1i~1RLpk8m|P=u6#uSt z@x?X1ZjgtRZ2L-^OXB9yL3fVB8NxseR%Psr|hcO_;3KGHLFgCNPJ$(8k$i9 zBi3o-*SLblz5|IkL3cf{LC-;{PccA*?24?>n0E~m^4)g&5gb)@Imhu{zh%L!c&${w zVJ$4&$NNrBDV?GQ1Q=hHStpNAsQZ2=^;cGiq?0_q#q!*EemR5Ky)Cktxc{+ei_=JZ zjJy>!o(rc64&P;p_f+I)Ka)XklZkW<%`o&5?L~?yyw?7EhY-|IRp&nGMfCS&MSdND z`3?w}k|!Rup}A1RX5PS}13$LUe>QmW4_(ghj z#rw~%6#`T|>Y7zypTV zqa!Wbb5BVKes1=+6z_~5%&svGCp(PUN)K6CMWo8RMUC4vWR$6tn%(Wg=u->zCUmLt z{c?C(8s%TAR1swKgko#r*1#i&SfiWY@$Z+js!gMp7g}7=8hyr!xSFFY7x2W1k#i<} z`Z{5wQKQMf*il(|lZAvxHNzVd4G=TEUvOTyKX?g?DOCu%8r}Q}7df5(id7Qe-!%kivQtE9Dc(PYt&DZmd*Jol~D7Il-%_z$s zUcf7v3}C;B$uk{Dso?m;uP%EA&n`F>uURBDq-s_^%~%q@ z0`()(BiZ=!7oYzTRj#&FviysDy<1LUBB@QYY*B(#>~R+r?*YD!*x^Ti&EV?=;R~?i zuTcIwJdf8_aRCcpCMydJpMISdsrL3)36+KZZUN1{ZxU2e&n;Z}hu0^YaOSDVXfy2E zf6W!3w`1p+cv`Vn$@S4q2$lTfz-7)hd111Dt%J->%ieIL%E zrGg-x=OioqmjJsT=e(S9*biZr!FIuj%2d06>cmuumqRAz5Wh!Tj6e+$8WyK`$+8;I z{AXVlKK-E?X~tI?4HG7ls$#azqm&s$q!Z*~8Yn(QlG#{(8~ zwqILPr7(OKHcp()=kA9#A0K?wouX~dmY(l$3ov8j`(sZ z1BhVOdR>ma(u=zu;*?c+BW0<+%wNx`o?K?yn_O5hYfYow^#RqdR9nA;cZ6@No1wmv zpDT~OXEt7Z>@6?!<)4Uqr~1qDnqP0K%Kj*?HzD&}rgtg5Qu5U3H3~|=PnmEhg7x}? zoM4&V=!Z?n{*EEtzGhx`rYiXZq3cVAZQY8$>`Qt8gj|T)U1z@|%l3GE8}~f3=;S%d z1981o-+&Kna3X<1i07y_Vb1f(pipCjeSK|MFZ%3h8{Jku0;szwAWr8p+t1}<~o`H@g$#+;voqJd~JkF!+7R43IS-xmk%s776om$)Lh0V=fH=HbnpKs8@ zaEnsc;tO*Fh(p93*BZD?Ae^4pF9F2xmYejAYGtd7O%U3Dfh}(7wa{b!RXlBttJC3e zdFC;MMq!hCa7N!HM0_5(BQJ3AH6RShhV&*oqRKX0@`7xQ8GrhSB4Q6HW$TC!Q(6LiNV^q--XbeEPDQ%6RK(AF3D8yI3vK| z3Ro+hDG|A%C_V_&-SN?vMa!S_(SF5UbfW1SD9I8|3E(sA&`d}1fP4N5IWQw0bfoABqBMT`+8_Scb+Ojo9ru9x;Swm# zWfn8RY2Mmb9fUw(;A>IctUGD*>(@dK{EJDh`;|yS(fVrrQDrk8$Xe6$oOT2HIkcAM zoP0z5<$r0prE&p(1AsW6nX=4W>n80ZF zuexEyX2pd+KYfxUB@2-K@m-wr6JG_vC8MM8v}xJvGc$zcjG-!I-}s=HX~H-$zhQ_U z#9d?qGdF&e&-n=#seEYaF!OUvOBkq!x)t2|dtu9Wl98^=o+;YF8gd(BKRC6c6YeI= z?QE>_Cpfa?vGT!)SGKA$fq#?hCRxsg2L4HcRx_L0mI+y~Y8d~ENp?@0qJPnenE*~T zL#-bW%?pD7L`NgARXnHcq!V17W!d>>Q=YI)uth_qx^a_U6%7lD>1Ge%L*e2NwXf&f)ZhU=sXuwIN-Vjo-P3iQ zL&Oi)w&4RtTQ7Lti$0<{2YuPar$Z4qWDZZSK2nq*k-F}aimpl>UH6T=E<04(+`f(p zOPO#<@84RWY^}ps7{I8Tpc`4Sj>}LqBU~$e7Ykao*~O%smi#Lptqs%bVpIo>b6eNG zC}v|H`*08xQJZxcNU@BY|5J=VQ+03h?D}8O_-&PY<4Nshf8Cp*pM6P^I~!Ydqa%6` zPw@P=U2Iz``^wy>jje4d)YDQ`$X=yN;YcfGwu;Dc{$8&%!)*xp3p@#8 zL_^x^nPbT>7$9rK#_QP)-i2pBuahJ_d?N8kfh#gA>nU89+P+g2HSy}@34`9`wICw4 z(NWsD%k~AqEGU&^M=Z+RyR}lR60UcY0dw=z)c~-P`rEOvM=WGcSY-GC9}-(6Qa=fw z2c^Oo;MH%}7W(tpOq804IyhOx{F@%riXt8UdVJqXhnz%c@Lu61pH)gpbo(>EqXP0| z>+z0zy34qLI|I++fAC{sAGG1vB}^gkPu0Y7%_lZ3kGF$9m5-imUX!fza!*wjmi{?% z1wAYLl7Ui;miT6xlTPhu8L4g7#AB%G z$pZB$b97yDnKKsBs;pjFnGtV3=uLErBe%nNFN?5_Z*-&()klnVtbBt8Og5%ee9;^8 z8fj{)nfH7$xGJK#z40;iC!@>Lkh(}x6A?hI(t5m1o73iF)q`9bI)2)A3PvxZ$*Fh|&68#-3MgD-L~fgBzdYv;nLEgV z#2cCHGZgV@9Q{eD-j+CII2m2R$S)Y+O6Sev)gHmV61|7eB;#kGw0SWCYr)8{3Ig1EyeZ=ycz0f%&iAbkK$M zh03sTMP*})$Hq)?I`uP+p1e!<(#JfWl%Bm#q|=nhGNq;yrtnAIfwZ3dA3^#}Ixy8= zQQEM~tW}>4i%Qx4@t{(?E5=5p_rbO8*g%fWR{+S~f{)kR@CR)Y#El6|(u8{S}vt@Ptjwa`5Nw?nq+oo2^RTIEU|`Z+1ZgslS;QqODTMF$X^y5E-13%mH25*1(Jfzz%<*Rm|q93eAdx4)m zxAmJ`>Gg*~$~B6{KBcXCM4Qsdb&2dT&-w9*>!;D=RE&8$)-O=Y06T%&s~nRvQi+iX z7N;)WPq&vefyOlr(H6vYm$!|7s5C*C5gMMAOp0PSQX(dxKfnuJ<43vxeLPAIimCHj zl{pdpI6&a=$Mj!Ym?M+tHh*eO*Sc~#t96*-GS*($JrGAEK4hIV9kOkjQ%C5>7g;hL z;t0LXSq0ekAv(Zxd~Cs9h{zjRP-01KiBWXwVgB^KgLKPL*uOiYD{;~2{o=|wfvneh z-tvmaRPSYNNxhpLWf%O?7+x0pf*aaZeCq=BluDp&OO+Z^uHL)>tK>d)q_0h+UT33g z+bg`@$SZ2a+AHRDkXSlApC@5=qud}z4G&mATvAb{f2?gOMg~ld&9Sw@9)s@>2Gz@C zqf&@U{8nG^T(z_N%ds|_iA5Vlft9Hf(?3*`bK<*25j>FEqr4a(XgeA;7|M%8P-Eb; zq;EE`xOA=abf)-kubCRlR9vZQRA){64rs>Wbif&JZA@~bC5CEA+ zVqa98*&thHo|Tw6{t)u}IPh5G8L@@>G%#`uq#d5CwtPt?P50n$PpEXE$OqJlIn4ar z&(c7O9QV4w2F0(Kt+Put=EfozYB{p>Ld1uD3IqkO(vH+qT|Yu@#9TUSfP%_7DOXfB zh^(h;o`^Q@4<2Z&&XPeZvn{+-ovnkh=Ig?4IuK4vrTj5<>9%X6Npp2DrRh)5>iIQg zQz^9kcJ*QT`5W_+H?@$?Zyhah8|j#S??!(+Hyhb+u*LSXt+^Hd%i2cn`{4 zbU}Q>Oit?gR2NG`8z<%LCr_MvI}Za&4tzsc4vjc=kCkwfH~iQTDQU3;Gt*rEGyDaz zq%LiCn<s7irjzd#e;UD-?9x%zzQ4S=>=Y zzm3H(H-DkU&f60BX?w%=kU;w6Pq7lp^LL$T72k&OW!OKJW;=o1QP9qcU1lfxPA%BC!2f#Uyi>vIxk%pcIhfVj%Xv&R2n@KV6J)<3rpdR*Duzd z^ykGca;r#TGEs7Qf>okN&tl>8#M7$NP75DEa3_KsZN$_PD*Tcp(s;7%lU*wOm^-z- zi?dZlUUB+5@_4|ea5OyOZq?lOwg!s?JvRth76R1Q91M?NE9m)&eVSh2EEPqRc-)o12&J0BmT;rV9tYYf%~+rc>V!*+XS$s?vTmN`T^p*Rrf8`u(^g#R!KEdzCglHc~UnCabubIZ2%1%Q)b!lBG#DuUdy5OLtJipnS))L|OZnSeDu6i2qkju+ao#H^dKf3xdWQi7^MBib^LeD5 z#|JBl2}2Z@1L>+lw-wKJT1+BqL!Hlu+Qy;mm=)!XxFwxM902sj3@!wy-Nm@JovON5yp^dZRXev=RwGXSSW+SvWYgGLKgX(ng6f=O!aFm#f8k2uml5sDpz>B2;G!_g zIian8JAPs3XhJ|O!RB4Qm+%ltg?{Z3Ot=O7AcprJw&bigw~0o|2gPa0 zB9b`xl2{$gt_zVbOvUg&f~T~{1()zBxE5!g!}h&T&~pP=#5x_l;~(pu=c=dHuqUi} zMHQIw#nHCKRwXc_}eZjI<_zBbDgi|~97U%>yyABJ)b}Jja)98rqSmQqu-)?T^s~|Y? zc4>-SNHduM^m}rhpT^(JAs5n5d9JUxP*M(6+Bam`B4^ZZS_CU%2Nyby?-|cV%KvG4 z)CQFanV{!4w-mrAK*jv65Uko*IduSZ1&j~v2P#!K?R$vhQgcWT7)920W4wR0B=z_{ zI2iOKu5%;Q!W0^5&HXi6E?45T`B*ad13>pT$>v^>AKXi~v{+i|H+wL&y~D`I z-TT{k$z(ga1+5(E`gDZnj{~yaW~|K16FW;NgY0#tdQJb_Ql0)3W*IMt$CCxv5d`c9 zUK5~JCPDmEn0l0q#MVrLSoOG0_2xH1pcYvOAhv-JmLOeswb%^jeIy%q-W(f~-0bBw zc}RzH9=uo1aR!r8|5|v)+$TQXn=BkdSfs;rw3JdU)oDCF(A(n4e3ktE!{W1n@gOpS zdBXWSjyt^UrKjP`mjNy1+0j-vw_mGs(oAK_>|X1o4ER}7wAW`wr#xUr_ja0`+cjy< z+;E<8gM?dw!6Uz91!V|%UBpJnr9OE(n^a=|@J}s15{Owf$j$0nHHsYR>a0Yocx?wp z$s&U?&;ZgSWS2yv5Ri!5O88*2_c41MQZ{uO^IG9b zfc@Xo=P5YQxg52v9lEUWg+EADq#xdIxk_RH2;}NR zrz)nTKrVF)UyM)3F?I6NgOdcF1U$y@ch8A+K7&5tZ?<#ZGiC;8G%Ds8UtCY|n$D~p zI%zGy*I~b+1a_PD%wzAnq2}^XqqtS^;g_i`na9ZgVc<%v-4BlRh??eN8si8~^b)&6 zBB^((=H;&={~_l%8j)`^ViDtvz4r8;_Q#TyJMyOC+0-jf1}beP6;VDTwh?kNX!))k zPN3K8MXgfhyzzO1&U%l)TLwKPnS{okJ8YgT4xK10z@W7du^g{Soco3jB&Aa!_BIOg zPKAxQUyQugK(6zGjM_^^0VVaen?yTpW>Y+TWbocD^NPgTkML6!Qu7gWEtTe$vc_U=u>sHMc=m^-jNl_hRW;oXq=>-uew z;H`lB(oK<>ChSe3@F2u8!UZtsIEv*iAMDzh;JH#sJ zWLR`gJ~~ssQ(kn_tc7<{E9e*_u!+Ei${VLqbY~8?gp1t%&3q=8-94x5PXWCKeXSe1 zvxR)FJ^8W7-+S|k@~S-n0gM{cnp{1OA_Cca#K*(-Z6p~BU1x1lztppU{uno50idtq zww45k9JD$jh7!*TzdDp3+e!JL@l6&pA3IgQFl;{*I3MJcMN55qP1fp>+^5~Or{xf~ z<;3prMre7*)(Jw;I><<_yGt508etz%%LaPn(* zxpLR=EWh%^=&?5FJyC}4)gsN?s=_SNz5;qfg%8Cx2lAaD{+T)wP}t50)k-4So+~LY zWTNk!#^&A8*CGdT>E$l>bj3Iyt%+@LI)kG-&h%Vd6jq9 z%G%H`KBm#&HO+bSP({tFI0gj;~)e;M0nQn zRr(LC>n^CATC!D=PTXK+g%7BrC?0Z$J6lYSnF7~jim};gnS->xXre%tXS-?&ORaYe zW@={MzLmEl%U`M2G>uQ5qG%i@TXT{;^}f9OT44cMx;M@BIz8R?&<^*Orvfij@wY0l z9`M`a{$r&4hvjLo3^WlwAlmj!KY`tCts9W==FFlT`MRrQtlOG>y`u#wGC%a(mO=DZ z!Xmo~*q;X#4m3@T-YqPS_}z-cIO2QqKWBjN-?qubSP0phq}`E}^m0&gad@W8m6T#4 z9~Fo|v^f7{$@JN_03yJ%XKG#qQgzx=C@?OuSJM7?1EP9NF@O=>|Mb8kU1E{;SN{yN zyb8oUc9gX}oDm%efC&DOStSo$1QqX`+~FPGXa&35g7G<|hg zl>PHH-Q9w8cT0D7E*%mAF5TT-0*l1br7R1Q(xr5VG!hTpEukR1x4-Z8{Kg!?;rJ6fLjzAY}*Y7xKQ^ zjODTaJ=L-afJQyk$te`hc0BP~*NLj*%trAqRV|9FNPdBaG0mu3pOIib%L)ldJ|tw48cBDb6=A=yP$!_vLK=aYE--fSnx$@KrB}hSDmD|lR)tnJPj)2yGmsqk5+6=*cuT1xRsKW+oPxaGtFraQ?kq`=o}xF zK!=NuNp6a~=4cJ?BknK>fF%UM45q~z;rVrY{H@a=;j!O z=ch!il^CSmX>Dnv1~aC=&|xHl8;U@6*cbzGc1QMKsSi@qlG9Bi21l=n=`r1bCEZ^C z3XdwnSMCq(xpSTuVbkJ(3*r~*{1BfJ%Q=2=8)Ex%tgE@#+Z($s;jn;JP)X7CZ( z#}pKLm0pl#VC+=X`^m_iH0%h&hsK9UJVC*A9ptwYySa<77f>_kKHCs}Djsj_2ts~E)?tpDAz1D%B@T4f#etoR$(Vx~T<%I&c33SU0k&M4{-uJ|?vOgoY| zEEL_@NMityiNl@h*?9MjGUpB*zT%+=ZUari%oW--xgR zHpzl#sin?rcTv}Xk>6FQ{ghcE;{rKm2hOUUpf2jyDvmH+lr&Z;w=r%^W33w_686KA{a!Tw)g$9{Ivl3#{h*g(w~={d7+24ICP zN`Q7cJ9Q1ArezrJTD?R$7Mp?kH^JV>9T=-->rn$|ymv)Gd_8M}KdARd+)Cj?pm3;g zfHH8a3=H!Xy*BDXK8yk?MNqm@^wPcQpdwLs^oXDBRS{LJsqj0c3OtECo4{W(&ThtIe65Ap_(M*fiF8ME2C`KaMj1pO3=t$8Y5*|9WbW$4;}dmNXOS~)V0T>IvLPN@$CoPGC!FAN~LS~`Eh5_Sj#J7SAWJd zK>?;L>u5V}-^Lecu&Ca5MLFEz`h&ny`5k%4c3Os*vwNxy!D{p;pmE3n^=DE;0biaY zYs)0c>y4g}q2(M5K#_1K8vTM#b)YWCB7&9aG=~TK^RGTsBUMGmeAJ=ABl&Jg&+uN( z(Ss6}E$7I>me|0{mBc81&D=hc#3&s%Ar>t~*QYSkBaayb6l69&CSR9eInmlY_8k9! z{aKN?O+7{TuRdSNTrziW22bK1sMyoa)vn%a%eB_OLO+xG)ao71^dxBBp@`U;fd4H1e{4fq;f`}frU5j$fyyKB+hb5G<066w#1OFg2ryuoq= zsdFfIfH1;or28f6qM?ra{en;1hlkslf+;sD)e^tWeD*xfsl$z7>2i;)UHR4IeY4ic(>%GIixU&GCtvfZOiY3sB;@rJHGEW|q7>GmHI5o?B-gz13Di#(g`O^CQC{(yb@R_2Zg8i#u1A_NiIdTHn`ZIrm zKu?NhSxPH^APP`z6tqkRYJry(AE(SE;;Cmqe$zY2SRrb;?-w@C6+P_d90&w&;N{`% zmQCPD7ub`}Mqk9GzN6iHoI0DeKpo{jXY{V z7hjsb*K>_jdpi0M51abV6mm$ks$p7~zu=e)p#9wJoQ@ozQdN#(S#Z3`FzqpZsx+MkyGT={k%B5YWQmSYVi_lkh-q+EGx3bn7X zLW<{XKJC_=Q;vSsD*HKsoC{N!`Yc2URdkF!h6gYCIdI?jcYQzMDgdwp)K^&zIWOkb zY)*m8KbkmaeKZ?2R~>RoQfb{-E8c_oWPHh7`7+bkyW8rUpfz+LpG|pi09fpV2|w(^%cWiV2~fyuQy}*; z1ww&kK0c-|g81Bj>pJSAl5VWbaJN;ns=Gam8=%1N<)zVfXRXBSlZE_a1ZJ7S%n-ur zP4ggyVk$2Feg{9GGV>(V0XYS(oQ|v@v2lRohc6l5@eVB@lCsUX;@yRxX5Y;~5j0@u z5!wp*);ae=I0sIaFuZ9a7h;f$L`&jE!CIm|kvBXtLsg>w+z38q4gQ`-FrASheigeGCLv9Tv&B(VURN z3zkXG&tXs#S~b#|3-gt(g>0iawZ1ADuW%9>DoOhel+t!rBkvW){J|3Qo$~-Fb()wd ziWd{%Fm?4$lo}OLWkCV0dkf1Q?i_pYys#%>Bc_G6G^^PjTwrY4$KF-X&sF=`aof$O zelFFY?Qpd`UyPzi(NyuoH{c__H9;hiOuCUD36QJRRNT*k!Aw8+atw*y?BfF^ z^Yy#Syd!Wj2#15_N`rDzw+*XX(x46wlScmDCvMd&i5;wIdu`V5IsHBVFoT4(_DbR6 zf=>}~+OosD1}#mq%A0ah(n{jhHWEB>+{ZPVRsxNA`!|DD87-$Zf-7*fuMx+grKZjc zc~X8V@{RuroPQbhJm&m`&lyZ|S^++kbZEnmtXIVwD4~^-w|Cff{FimCY6&>7Y#2Zi zIo~%`vpjk_c&<&!|9Urj&u`2MNiSmT&@P)A9AIZTplzd($Dqf&y}^GnzT4pKX#6sH zP}~I9F0^#7+?=|oBp{JLDC0S1AaBQrqQjs*4X;u!%naM4U?i6#h?$~u2k9mlsh-j$ zoYS$9P|wq0M9G&DpxAt*$G`%{V_Z2-G)r%`FRt9Ei5D99b_A!Gkp~w2mfSp;4%xTx zo@~Bbl?YttoaJb5)uYKIgiI7N8(PXR+&c_};Z;b;L!|aZ;p|Qi%%Ejt*e&5HQ3o!} zU$~);z!cd>N$_3c1EZbsptK4}(NU{TytGdrW$_RXqG>dx#t94DShswtP=;gL86l`z zRE0TD1th)1WX|UUp{DA%3*&gATmFIUmAG5`WMSE;pYV{-D>Xn+8(+GSnv_L#p*&a{ ziDe+$RYnm#gTez|v)4k>L%BFl21O9mNS)nbQQ7%pCg@*Kj>NYMbrETmbKuw63&v?T zA}cIyV8-?$w*a4xS~5R=WT|<9u*sIb_pjp_VR*77&M1;qct1E^s#E-ggOJning7#@ z*iM!QQ4g;*+(()&F2~JKYUa{;vOZe3A5NSFG+r7^3R)tNKw0hVSmr3x<-Z~xNl9WS zg;KFwA_*u*Fz9+Uw4neUf23qs$Uvtz#Tm(c44fMvZ)k?sag{^Bv8EJrj$Gg>gGhNy z6q`H+ZBPlq*3#6V`w!BcCcnVrfwkP8D7Gm7a$C~>^32akt>@VS(F%k9oY%F$Yj|Q; zbhzisJq(^zQ_F%!75?j7##QL=H(Xw)txlXH34WOK(tEI6QUS9i@#AP&q$+d=vl-2I z>I|F@N8k@~C_j{S5nkFnQnvHuvbN#fx^+Ab@0EQhhRj_Ot?uws8tCp+jt_bAW8R+6 zZI!MKrWWTK0N0p1F#IlnppJ1S{qIgz#+noE@mz6hrvl6r=3i_$8V2+L);gWi8KI8* z9?+$xjt+FmX}mM={u}mw20}|^g7EVCc-?r_8P21Ph*?)Hr4LLs!MCm9`Mi$yu%ui3 ze7uE;dQ9hj0k-WVh!vrtt(r}pSti;j0sEIOtzY-q2^*?h&?InY`D`^%@>Vrn)t=#^ z!71t+TooT@F5RJT@k_V7w^hKe>2YKTHL}NsI^#_CAW+KK^(5r$k9yZ`r|iPgKu0Q; z79mT2+A7cZqvQ2lhuW#k%VNYIM_+GMy)_Q1u2#Rhikr+IZjn%10<9Mh8PC+5?ig{v zPL1#6g%@RmjLFUO25i@L#ts}E;Bi=)m7CP4y-3tPR3P6N_guI=KXN%r(UlA&fOhe%KqPan~7G$iQ8|`b#~>`h4PDU zLtZ~{uC0TZp=SS)cx8ojJsMK$IbBGTnvZS&gmC%1TKsge<8eTCH%)YilzaC3hITJo zl^n)4H@sO(=KN0@JkHjBTZuYkVvmf!tEZ2P z*`-E(xd)_=nU~s^YI8!4Di10V{>n@h25s9DX}LT|^R{4bV^i;u%HnVVdyY*S4{ z*-(q)hpHVTg$gg0d#wOa6r4F z??G5d(YXeU@Q}#r&+-7bEG}<{nPvT_&_O=G`szzJ`BMYMEo)sVeLK`r|547@yq>~j z^wzG{#ylCin>tg;g6OxvZ`jK&wXRjbZEb0)M8~KvM8|V6DUZZ<#4Qx8>ONoS_ljD$HRYdj4z8(TJ-B0_FXIKKhu#y=9&IA zr{`l#JN7QkFS{iS^9m!SC@Yezl9A`zMyA+%Wlkq$^Thl2DUK!l{+JGWB<&j4D3hq| z(}>Xcp*3a`S-o8zwXMHvYfJnau|dY9!3k`Vg3i27U?af^huv)qbk7e=*EeNWk+UVR3WeBPR{E$x1=N{E5ccAOjpx+MrQ_9y2CxOhO?QI0W z1-XoZuG_y8UJAml5UiNn1}H2LOiN`{bnWUvRbwX7G#eo6a7a_4CL#Zfof9ur$E~NiS;BW%@F)dH>Q;k;v)6oRb4G+pjxe$ifl)D&MuA=q5uuOT1Pa> z;S&_=BUfQmijpei9L0)^kx9+}^$5|t2|24?cN}HT4=tqEa{bjB_2@F37jmM+7C*1P zpDL(buUy$=@A^J?Y=@YTNONHo;LwuA;wK{w#~1d+7s`hT03TnAhb*)I|F6lpv3{gJ zod#?tNXgo-=a0D{q+C5HrGsPU2eTzvbu1+!{S{IV46s&H(({%f2fHU2>Z*USUj$#{ zGdJz3Uk~P4mOWa#$Zv9%h1TT~Cc9=%2E;rJk_Ahtu>~soEyP@g+#d{pV!wbTQC_8_ z3yE4`sb0U@<0l~RW}3d--6Lubksi6Pu$Vu>R%abKIQiN|5;;XZgpD*B#EfSrV7;iD z7-vnU=!0=v%i(u;uushUkhvVOX$f4kPqA5=Q)y=UsH2zyf}9_AH_@(A^b zIZrNs`@RmvQ_4?r7!4t_XOV{xt9(cO`?Mb5Ut}12nWlI2T?tjs7?|SWw*bL;ehSgn zk?*cf`ZBc(=WB%~T(y-!EvB|sMU{H^Mv%m6H`}N~;maO^F(sxza-`0&DI}b$>l*KOE zWo9vy>6~bFKOR};ABq+!;DIp2z&J2ISkqdoFu0eE779MF+h?qxZ;5{0 zZ`?DeL*B@L#mNi}xD{MZ+C)A8+8pHUg`P*piChd+)5x*(7{>3dGO>%&gw)6VvzJu+yTL<|o4~v1iD6CE+<;%KQ{cF!g<-EUZHhqd zZFMyZ@9_nyf%6D7Xh1toV=n%%bUUqlQg+x|?|yRcQ=NP& zn4Nuc^72I^w>?kzpdkJu8x6H4R2yj0q%l!OtX!SzG^)c`h&Y>gVF_|^=jYL(t!{{z zX)E(BJC3AGzM@2aKm&J`K3hg~C0IcgZiuY>Xb*P$F>up_-!74RflRJ;2s~8%k%l_q z%k9=yxrx>)4)dJ1hJup5pNoL0fUUa>lwqDY8Ik}j;*4Lk%ks~e!=sjo0Ah~B180)B z-a>$?2;#s0rdC{psrns3X!K)JdQ|Wl z_+qqfOo=}4LCJn-KBF@0u!`jlM{gNDnKr2iSP~Qjrz+~$eJ>iMuHCMUG`gS{66qaUpQQT>)2>6^?lbSQr&6=dff4snarDqV*r) zzyvyEnl#i)W=${bdQ=ArnW3bW$YYxMHt` zZJ{+)rdmfg?mhm zC=i6+LPh!9N>>vFv@!Q115v!b(n){y?o<&p;LK4Z8MH)FjTdu4Ho)PHA(%LPnSgH; z7^6|)wIX|92|6V!Lm+;^G7VrrHCJb7XQ|lJ=#hGaU{xOssoYXdVY3WkT9M2=bgVLC z%m3ca_;B`VZ1XSGwO9|9@O}rK29WOg${8^*K~Dr>izUi`^;HG1BusiEDXVMfItd|b zH#j96UTU>rIft`CRv%mVv#-76jyl5Zq!Bzne{`K>zT(`4ZD}h`$ z6=`rjN5H*o4F_3~R^lf2TjY=LD2^=+PW9=DI?0so2i=tQ6i%&3gg3t>#qn0ri^ovD zqp8T=(cL-i)kri{x;Uq$>mbzdeGxt-obPO)fwy4ao=3v{DV0W715%=wP!){|8*+Uc z;DE@+)B_7_454Z|jtRipwp6G=TkMQmM%2ehYa2Aqc$GXtjRl%_^TF5C>zsAf5BRqo z@DgqH%vw|^aQ&bx;$SB6Y?eI9_Kz#w%QgI3a5gKHtswde;2#@hfM3*1Vn(| z6VS}<;k*Gug`xB+?QbsT>TwMv8wwoloTv0UQdQAW1Vz}Hy=Rc5!G)1YY^^L zbSbB~sK3b>@l2$-du|CqidDI)SD4}J9l&Q49Anc7{a;88(0wvPwCfnyi75C3xPCuc zJ<;z2y-E%RZ^zUu|2%a+7VTC&wjS8M!TaZgaP%l7uFm~;J?u_*-xCP}PW&D9koHsR zA^WRNF-ghjIA6IZPWz38fib&?!K;H@RGu4;q2%zyDZs5ks&@nP8}oQ4Fo@DLWP^_G zu;$q+=$wJW2=?dZ4QH!(u(BWeBM^@c4Hn@rTHJc3-=A(s&s_(C@`k%@3+`<#&;L0= zapPn3QzbR+h(ILVmmvZ_Qc9NEhwq!OICItnu$%OjLqShG0>F{!5LkMTTa#`k1_OU+ z5N6W;mKcf!M%`?Fiw0hk&y-17>Kwjn$KuowXfYYH$z4gQTGlhJu8mPO2Yz$Tv$+vxpX&-%7L zQKv1KC^%WjZCI|LVG1DOTI)rDXjX#Ju`!Be`{%HiU19$BgXfB~(V-?;3v34{>1F+D zVwLPWNJ3A+PA&Hv`4u(L&J=RlnHhJ3B1cNy{~(656CbaOr0Fq> z;kD9icZR!5Tgj1)k2fSIYoB&Mj)~Sx^ouk1>~gUGkeE>St^lS;l3GG1=EN@Gwi4mi zr|wEmt^jztxA6}TM=YnjO22PE>}D~d>8DP6u(Aj;CN{q=3NhIE8)W>7Y~(Lv&fkH? zJgNj4zwziVm&oHprzLG!?2Rw2oEd*i^_z_wDw06ECIby!F_^I&G#czI&}s$4KwuIW z$c5GpdbTt_LqMTnN=)vpyR&sG3Ri0_&k#L@zhVxbFwW&Xkj{9xH{UQ$iH0jzyT7iXia1+Z}4%3Tay~KZ%4n>K*bk~7F zOhFO~WblzF9kr`QA(i%~cRw(BXrQe%uPJ;(I%I76AgkJ<{v?Ib|aGXZ0KsI%KgW2mSB)f72yE`ujv1Yi` z_(mZ1mf;uJ%BVgJ5%`R{2EWAk#w*5Gr2uCXT%pECM!!&5e-h3|o9{eyaXI3GSpy`p z%uT=K@hwa)j%_s@MqBqj^XCH;6A7pHMIQ351O{&1;kOS8shmJ+ECEbdwGAeS{b>bo zie1%--0zAc8}k|LKAiyZ0tPUG$x}iDZvWARkT5)p3GA%IFn066JTrCWK(dgz7aD@B zX#j2NT~OMB(18tAdJ_08Z-ZFuIGl&7=7#v*?}wZR2328JV$l{_zh^ew4Pl>_2#}1R zq(yUXgy$*?1Dt2O^;78+*B#&=H)uzdwg$*H<0mj!bj)WBv}$VlH>^X#e|>bx{QxBs zxIga!Vi5JurEQ+v9k?IwXxnaxjHeZ%5W2APKxqfA@Ec+d2sq@{>*8rE#K%g$yOZ~> zf*?^UwG7=>VjF=e4SV|VTk1g|&V}+`XTACc+A3=tQrFV?CS&t^SVI(USzZL?J=%qv zXf{S8vM|}YtD$?z5Z3+qwHWir>u6gPa~q_T(0JuQv(vuf2_=9$+h!EbCZJ4nmGGc{ zyeu{YXv7x=adXvY!Cj&3YTb)G+Y2(kC!I{g8d7EPSCSmzh%b2aLGumk_ z^paN}n3-sb`+Mcj2nE()VOpslWU|qx0R%30XxW`#!J~Oj%4iHfb<*A z+C?;FdazFb0oWouSdTP)w{JB^7Lxib+T?%+M#+-}?!Rm%CKIMmp)5q?`b}h4EM+@} z7X`f-Pd)NO2?rZOi%49Op zarnrh0@eu8jxGO^{sTfC%aF=lD>w4CdLYbL*}sW^It8q9hLIKeFOV+h%pfEe{+BB& z0>GLcj82qEng@789N*fvq)ndD0nX3-QpHF)?f$q8jd&Ysd^8**B#b-2?r)|Czrzz~ z709d($QMo$y((gzA=eGVfK6qMCPWSCry^>;f+@yoQ2MC%04%xf#i-p{@S(*e; zu|NUk@mrP(yDJmMW$}3+hA+jcp04^?RRiAtFoSZ8m6%d44N@WzK+|97Uz}8^Kynuj zL_fvD^~(Hk>FJXBs@UC*$JZ}oGo9$Ry(gm^ENzf0Hw!f(|7-icA=M`eft|U2V#(X5 zm9>dZok2Xtu_=y)`uH9PdEs*gp`t*U{!tpCrybs9MyET%PRdG*elzx-cr{Y{?F)KA zn)Kej*zEvgVoqmoN5fJQj#`};tt-sv04!lF4iNeVjws1MR-^Ylr5^FqEVE$D~iqd!U9DK%%b+ z0MsIT#pm$GUEQkQ;)(rTLCgX$J!*y-o=^Z_P6Fp zc#=xFS73KdtlD+N@a#rUA4jV0fh}E8DL%Aq&a`h|FN~B9Zc$nWO)wN zKbXj8&E2>jH$v2!u`2ADGd`~_b?!A7y$d|?tR~u^g**snyMhxpOQwiiW78o8CG4>u zRY^HgY~P6rdE^xh#hln^UdW{;FH*2;%FB3t88fLa``i&Q7YZ3&Fxu>^YJNKP{1bP@ zk$Fxk6e6y=eYGsxirQ?XEg%z1$yrIKBHQSgeQTt2X181Fcq^m_Ek>B*gn~J}_}oA5 zM~5?8hZ>bCM@31ZmZ2Tq9C+$Mvh- zBML*x@$WX!HK~n&&9=|lK(YO-;tkgJ#6#w!TtL!lj(sdgGzzIux)HUQ`GLEq=B|P* zJKHPdkrdZl$wFlv-v*KTj{WS;0e=R;yQ;dYdXxb(Pm(Y5&4LqH)1%KY{4@}Z&_eE> zf$552BrJw0xOtd+bC4Ruf3{`^%RWm@v4Fob(=XIs}?LNaDbKWKz#(p?m za?fTp%i60ddt*)!X2f}fw+b;&G@P$7G5uzugGV3tqAU$eA|2%Eo>JOs!koEEU%_yo z3~#O;NxsTaw8GZ%8Jms%^3Nc(3^#-awHdMS>jvHFuw`_SIFHvu8$=F^0Ze^Ihcz`| zoDt}6UGwMdsjnf$yC=_FsjXTCB+z}f`IJfpC_~lqkN#(@;4UL20pBk*nJ$IW*+5fk z^^b-`iAIf1^h#=q-sNVd&1x{oRI|HiT}ZcVPX0TNM8#wih>Oif2^WV>n^A4-bFO-Q{v6i4Zs_!Uay(kE2ws?%H6w2)p+4!)$JT9V=2K6>L<>LX z`kwmN_+yO~B50jD4e`-$4AYYtLEHONiAICN^HQHE$}ol}(^-?YL|YU`)?u8lCI@IT#n z_no9p4Ph06@YB9+3uh1$g@WEF$yS&q(IB@_Owuq}G~F(cr%19lDxV_MHypZT^gF|@ z20-+mbMqF3sTYLiJM)$U6>UVA!$|*03RHR@yUGIY; zIS?yA#QL(_T$%M{`aYLrXi=ywmgxzbr{#S~Qam0)B{xh7er}oi1YdroxQNAmk za_E<&CXEWJp|2kj*)mdxf;`(Tj@Nh9kRW-7$_x?_~q}dN1=YjIFiy=s5keDZjtqLI-wCr73uH% zY_c`YZ8j8};LCQ3Ha>&K9`BfbpG#KdPhFKY zdK8+dk^)lpMM6t7)*iyehH`+UmouFsF?U%4g#H` zey}32!s~WU;I4uAS6JDCelZ3;7y{Jvqfwr+$CbK_>2!{S5R}zQWokl*ra0~jaLd{; z8mZ~kO5B3V8Ug*idWv$VBBS;xIz*nL@Ki+@1Gl>3;XRPm4D!%p@x^h`D1Qz9M#^0C zuuaN5GQg?1OlE7Al7w-b zIi51w-a|r{G~IqrlOFKrC!Srgw1&}No--x=+O&tawkh2DE&RtHM>!335YH64s}rUE z47XnZU_vyI^Y4GOdt-LM2R;hW+)5golNSiQV;oic2J>e1fX{tq zZhhkFItu**+(UtP=8I~J8u+_9XY{)y$rcb11D`(0 zy@4x0*0?O*Z*H9WwDirtbo0M#{JxYR(&tlYFsLHHn?^Rt4q-*=o$yb7Ri7vhPo7u- zO@tIB$^A>FXb&vbIXB32Peh!1#CN}!8*shX};I>NotNi5B z=+_%D|A=Ad6QpLW5MUk#Ak1;Kj|r&(@+*^2Bp4fP!O?;dgdt34%+(xMdSSf_`gdsC z)(2&Lrh|3#g0-M%oI^lKB~+u|-$uV#q6hPPcx3OF&nvJC+cgqF}O6lLcO3v)g)f9v-1 zr72Q3Riv^Gk>O8LA|btz%vFxmU9fYlep;KCC(NbL9#3Ycqqwi?%eE3S z=EpRg`Dg9x%yu?%En#7X4ktJ_Wru;Y(iO#e`>T!Hs%8$bb8a6Eb62hR9~f!8w)fYX z@_?&c+aJ==R{rDeK&?Uo-&5^tmsq(85AZJrq3jfq0wMDk0c)(jY)P~OlkohLyAog) z`-npf6V>}Fzv+0FQp#tMKv^II6d{bIBKnauOz&X%HsxY}EQD7cZcF}bNyF8(Ph;uj z^Y^EP2+#?-XZd>{7ke(B!Yo&$#VpYOw^$CyXQ=7uZvwEg{G&|GJP>i2(K*< zX}+vwY3U^3|GiDmsrQeWb9Hf`#^cnr%XyOkAlj7g_e=>t3dCgASz&KV0pZDww9Ld5 z&ouG>%x)*DEverZ2F#DQCU`_R`T1gHz|f9_@dNNJB!s(2yf-GivZ*wdedFZ7E<0>H z0B%rE3sBdR3po{2JSFX!k1Z{0YEpls{8x`D+;di+2&RSqEm?I>Z=y}X^z?a-4?&tx zNX=|W0waP8Zgup0{|>L^^Rq8SbVX2huPZhq3!nR1m97E`Jh^#dL*}-B8OIL|61$bWsgfS1!p96cu(=sjM%6yB2|;{H^z54@ zGKg(s97vOL4LE4vdwiI{p;Xt#`TGslk<=4=$wZ^&2JBJVZ!f70h*we6JN()psQ$KP zJ)N}4{+2X~Q#B%y7m20V^b=yf^0&_S-}adh*TbiV5Aw`=IISY1HA6BKuQOEg24ESA z?s)@F_}|e>m)5-M0#NY;u9S#I<2lsj4^sSv3wc3fuce1b>g=O5yFPdMH`Bn&O<%v= z&eBXzTq+P=WJ;|8s3uZQ=NqbrIeRH=+)ePPl`P~x%%sb)A5Nb$6sgC0#^+Ii+Xmn?{AvSbSQK(W)qT?Bz#>^)OEdAquOauLM!huh=-s=2W2Hk%*^ilNMOAp) zS*CJsf~TE$124iy9fN@4mL7STH8{zqjINj0-Mc#nhs@S8D!jkn{4uYc#d3!(n3E=I z>o(_DT{p?UK!2!(MKf2gTX|^>_=Q?niVfv@<-J|0;}?w@SL1P!7%~_yR}s-4|D{6T zG14u1pZT~S3@~@aJ~6*HV<_`Ka~qmH;*KCAM%Pf%4JH@!5WX)HeZ;wma5xAb*N{*B zIrlM$AUCQ?D(dwOi z7)QC^Mfi)R&4JUD0=r4@yWLxqI^}mLdI*fISipaIk^7588phHnyd$l{|A&Iy2_`V+ zRXxx_!|$z_NOjJbcYpVyTNeSEj;RtOcJoqtv9U3dQA8jR6Q)Z$x0kR@1mpuc2_P118!&7Dkshd-+~$%Tcl%+-LhV;R`i^7zEV4Cj>%a} z$O%iH)yCwb`bSnnG1NFJ+42eXUGbSf!!J)RoAc+2R%Ctj*EkJ&uHZqxVs&6{8@WJf=~fxq?-O z_&!C5tB_4WQ=PiA{5tbe$w+M$(VBwZ0|c0*kf&Or2Fg{vF4S()n13cxkdd7d)V1@& zU^re!Zioe4C(y?-8I-F{*xoT&yU(N)aN!O)J#2KK7_iAB-q03h*rRE|0v#A47gMmX zc8>@x<)dl5OndQ z=0`SSUjnA(v8)~P3;I@jX4|YEN($ixY%p6pa$mUd&L6fYFeeCSGrr9(+0y3XbOt6R z6~)8lQ+3y2C=K#j5vEaQ$UTu$>mv$r=m?)Q8||V=RS-4n~{`mc)IOr zH&Sd#5`0V&_@;J2DK zvULu^$33{^JMgL48Oik$+|eRIdQ4`yEly3NII zFid+E=*ah@du=-c?d;-5QY0@*Ab|m2C^Bjkinfc(1+PPti>Udh?F&PCE%p8@(^W$X z-EF}Vo=Uox;3jFy^-=p^`O$>Y?&F`oi=IU&Nv4^*4`c}r?HRy4z8#DM4No){G4%z{*d`r`C=Arn1d=!dCbGitV_!M>|-zN=iLJ-4eYz(j@MsKq5!Oh{ebncISsD za>udrEv;l|Aq4A$Rkz$R+9XX5ccfDzFh_Ez*ZMST`I$C1S^i)UpFvQZS10p-V#O|z z42cvoG1IM~h@|i6oX4+^lCLzRgmHA%t15R9%{nXdYoVdi3+Erm?Sjl3?A3M1R>Z8t zSEYjed)JSITi1&Bb3^vM?jQG&?_PsLuD1SrJV^gkTVRDH!1L9sZ9luWYCigug7MH9 z;F|GmhPP7!9&qmP0t4>(w2n#%c}d=xL*MPjZscnJ!5_7bBJ{*6^`8y^ zn648ZnjxA`cmg{D^8?OXQcyJo!@XDY%On)dT(@)*_Ld(dx)}&d((NafddU{MQ><^39Z2acOvv=Cw$KqAo60@47D zCZTrx?y?oq=}+1n@RSrp3-m_(X1bdGN!pLap};lPe)`XXgok>$$c!}cjb2u`yqQ2O+X<7wa$_xtn8e~0Hx;15Y(A&w-VR_sP2qFf zZo6h!_sSnn@PCM0bN_zw{mm}){~tNKIFPzdI99F3m`{dph9 z1|?8ZiXQXv?vx?L1y^r6mX?)4P)KtQ<&~7?I5>DrlaesibY}+@WG-j$C4VW%)R#Fg z{r(G2TBYKN20FR$-!|T_Jhr|RglZT5d0aTy#;Ed*9GjH6&P;z*B-(Ip7ZpgJdG-V< z62U|^vyZ6t|3WgW9 zjR)4`ibnqL-(*5TBV-eXz`J~Cl}7R#*k>S5gm4EK^)DhnAOTMR@a_DH8~T5iCB>dc z8Uijq27ey$UJhj@ApJ?vkA313E0l~)wR|V+ZnDfw68dVsGndP5EJ`2aqg$&``S^h~ zZQN>SuFDsZgqm4eG)Xj9uhavbmF4J}PRvGwO@fe5qHpl%e!1E1QAPLM<|Ao&y6|Nf z=K8hNX9;G=uq`G^vavGo?ek~uU6s7ne;fPu$mqlJE~Sjkuh6d70)t1nJA1k8JgJ7u z9lCQgGp&2%S=V4P)KJ|ut(VXAp?YZyEKk~Sh;`HlCc@YnkcKWE(^0XCZUM24X^-Rxkp1z}R2LiPamH3icN07m zeB4?Owug3cExoH`&^W{XiS|dX=5|t#^lUY;D@SM7tN0y*AVDxkqrCJ{OMGD%?R=+R zW1Sb_N{c&QXSKhbeXzhR+X@B4iO_!-+CaW)?!{YTi?Ty8gdwcR(M7B=yVV+F*#B}V zWcF@TE!bjt%&m)xJAYgS2aD{eB@Si|81v}4Jd-8s3l5aRavfPR9;Q)FEZZT#dz@w9 zw-D-l=v7KdQh1NL;Jd)qnK6eQP|*&;bv5Fjm`{{rwYUcc%ri?MWRPS$v53DV@g%r> zU6y2mT7d`PtwvYq4!V7?;B2tH_a^+$_+=o*F>tOr-g@GmSU-gfr)9hI-zuM(K43O# z_IKVF%XQ*`*ZkKarjd0oHXM~%+hOUN9fO->pGRK9Jdf+>k2~}f=6_qg)L}-#O9Uo% zE3q1ds{2|{*MTu?-xXj}a(i_J-;H{u6t&7D>wsZ`Va3Win*N*`5-buwi*L{4v6(eQ z{_nu?%-(49;!#VV=)Q6Hye_s%oniv}P`v~v`k1Ge^Si|;zN(OK!Da}&PYS`eA8MO5 z@J7?SNo!u6qB~}YOz+3hr$6bDsQ#K)DkL#BQHxWgpgc+@S*`Hl&O&%%{%8KG%LLzv zTBVxJoWo8WG-x5if$H$t^0(M`VBvO-BFXHeMD1*`VyY!;{5veu2#qm$v!fxs@(js) z*)DJ3%o#Ou7Tu#o5T~WObz0tj-d7&?kHMTl18W{Qz&d32@P)qBMp7F6)m;ac7uXV< zD(GIYjPN)x-2MV1!B;N+A5~u&)>g2sjk`;6m*OtP-7UC7TY_70EACp{S|Cs)NO9K| zio3hJQ?&TqJ?DPk^V}bhFgpn|nYGt?*SlmevV8A?9588HVC7$gz-wYrova4+L1=NG z^`+!*_^;|Q4T;1 zY{ElVCLfoQgs0mq=T=eX(2rIXDGVi$`6-ugU~-J(r;h0Bw7z&cXMLm+9Sb7;zVziY zlH~5QIM4!Ip3^By!)Nh^LtJuYjxAHTdj!6_VY1D|$Yqpwk9L0R!#9XGQOXY)dav7o zD(O8_)y5b59%+{9YXjpIm=cw97Vx3wni7qMejka^qV{Hc?a7}@9|r$B>d_Dyxo426 zKw&D-So)0!vvFK5&o?i+V}f5Da_MCsug5pf6y70KGb^$|vnfi?3__izjyyw}1-HE^duPhXOwTvuj3C zJq1$~ivq?mDHPWRwTvGG?~0;(US-X}y$BlxW~Y|G$P&##ZUdNARZl^pB*(}2UtMuH z_gDj!O68naIy7WG%5<vn#CEj6)+cgJ!Hc?r&oyWD&ogDnS&ib=KEL{h4DqCaQyLwd ziUOwmmdS535X-u}Ha zn$G*()=581tML6h0(L3g&+;0JyfO+TyevzajmT}%?_x4NCgXT+3!$ucP^@{3UDK5~ zY4@NZR@|L)BJd6}^%aL1yz#g_af-D-A87i7cyF!O@nQm=#hPrV9FgQcGLd9W$flzH zGyX@}F$AXf>vZ=`MV^zOZWe1sg6iKbs0_#lGL`vZ9c{<*_)o7Aa-3+6C2m>BgO_#pEvSM^IwxtJM#)-)`Lx!YYGEA)tSlXqwfi8{j(HJ%T1`gQ>A92 zh255rudO;*(={8(ycgxLCP7RkxCi8kV;DU0jYvr|(r|B@&@Ba=GE42_@hyuvk|a96 zJx);F4ts|NQX~>V`pV7%RG_=mP%rL9r6@2`N?ybWlRuFTK4dLEsi+|}_sIy0H6hF) z2Q>NJMZFeT@!DAC0l4HCtQeAX9zJqWkFIfTBl*!_Ua}*0u<@l4$J~y-lt?g}-O9>t z>Ri$T!7jCd2)9@&{^=o~6p26KTrda&JF;>li1exyYZeQ-;tUI{J)AlaBWse?*Ed&+ z1#HW{t?C^3v#QRt>O zQQ3i?3{20k5Ood-I1W&^%o#J^n@ySOTzXVF?T3J$p!WO!E<7`0)P+e$1gcq0CTaD- z6#0gOaoHFZwj!GnHUQ49qVy4jYqwIc3cDi&-3%`aEvFGq^bPYsITj`Ih_ZIpSCFpS zHN;rppJ1F{@E_^BM~2NnTlB`v=YDhD^`*>L-v{;Et}f`VeD5r=h<(KYf_MZE7@3 zrJ6J@R@&2c%je{MG@m=e%D6NgTKhJu&@jYD>*!hO)UNwe!=;XOQNVGjX@_;QFkh|K zxsHQH>(pA?-5?L{y~G{1sjVNX$e7DHrK{8QT3aL-z4CU}yyv)7ps!TVkGNPX#eRmW z1~`}UAK2l3%r>z&%FG{g3D)#HMTKuAS4!QMqC7D>_j&3iXR_U4pRc`byAKC>{Xz0X*LeY&my)f-YSEBY zls#dGHmJCqXG@i8latl`d*5!N_uUIMS{r<}XMFrTlM4&@JH_-OfROi*^WB&e;;sL^ z$TWhfw?>n=9pXv(FM@h zE&a}&iN&@H9)Ba{TU^WiiOC4Z1l7q1o&+>U0}sz;8*Q^s?v>{ZlaJA9$7d<@b|<1W zu9yPym04lk;bbTb%Xd-x-hLS z1g6TSs#!?Hhn%4+$)X~^=GxEftZN>98AVMx9Kxr)8(^*l>NY*2(qsw1+c*T~igAY5 z_p&>EY(uR&xpFOn38Qb`Bz>e|+QyS!JyuYXHAJ6FEJ)ztVD{ltZmyg-deX$x>|0dH z!9cbAHrb+}+`IrrEDTB!7t9Bvv8r21|AHmx#b9C`>8)tpZ8_jVj&^kIqndVr-T4G| zc8$O4x70{^x4h+^_Uib#8);lf`@^Cuwv&)<$5;B{#ea^&GY#3ds5P~*4;-%2K7vZ= zS5QDGZUND%;qxgmBR%dt*=Y6?)KzzPrDcoYlsa!7qA-0}i$bpkCVGJDOzpDLMfxnro++ z6J}Xpe<{CF7fK6w-)^iTbAGzs3D#y*_9QqRNhqL7+zsaKt*QAdrMT9HJy3hXTxoKy z0j<+6Ibaj9P;DTYVdb2}KAS@8aBz*EH)ruWZ1hwu5@Bud?f!$o{O8+z8*{B_M@sl+ z&)(Dr9>UAN1FTUx2I>K%=pw5=cTyPE9-x{>JTlQuwQ#EPx)v=fV7gVs_>b>`Oyb)l z+kjIM0Qa(yiq$8@{u^|t0=5e)Ca@LkhQ2kxf24uu1DlrYXmf_BW^wv&gQDb2TVh12 z1F>R$I`G^N@C!)4S4JC?n_loQ42*yCI#%69`OjPR#7qJ1xddH)Gx+tVwvY~&^=hI- zanR1_9?b6~d$#a)W|FWyvk5*uN(Nj@)iNk6kps$Y4+Ld|@sX&d&j>|T=~s&lsfhfq zIc`iJc?&l3@*^&RZaUI&qa9bJS$E9Ha}NN3cb)oYFf>C{sse9+ZgYRJ^y&;LS@(PA zdj&mR#ZE>3lcMU3H_WE*dL97%W`?0iI3seC&8DlZFXK*qg8?R;^Wk8bcxzY|xj^B) za?y(16Z9Lh<_{@Dou!AuP6q2x6u-~eFM#{AQcNe(mypa(K7BJv%(DM!L(u8__!gGm zy1N1HdGm#{>ux9BJUoCn!Gbi&fm}4}4}Kvc7Qsbt<@u6@<+M63*zyQrhG8yAFfK(V zeDoQH|H83)6`@~<26NY5GksB>nKwZ(itKPnr3|ve0i1Z6YIpY4=X?-3qpg{6&0D|f zyEE9u`79o}kS`*UlZM@-F@WwQ==dTU&g!*#~1^gxt)?SSZCA2NUAuF^5cB~hpbgU|bxaU#>~ zT;r+6hXgPzS-=)=q__D)P@%3-z8l^_rQ@bQz3-2OsM{d&)MZ#z5eJe-N+Y-xKrX!G zDU|q*d0X%|E;T#EOk%2_Y}+mhtB}&#qg!}fPE2I`VBC6GTlJQl)(8H(D5s48Y@F)Y zlsw9+4+Tqflbf(>Fiyj^8MWj$sTqqI{UCQR&W-2`KQ%jv>?wE^gc(e#z`R$TF7>fiyGzhr z%L?tDWMF5NvHC|BXJi_q%AP;P+WAJBL!%(|`0LGAJfso+R4&8^mi;7SlQc|=0h+S< z8gijR<@7(hwj%eoGe0xO=Dm+X(!6QczYa4F@B+?e$Y+`@-b?}{Np{E6pYDLQkZ$B8 zO0rCBGTHW14tJ3W!nYu(LQK>H!FQXy<+5#$9c*1J-^U%Lw6Y?sMdZDq6UkNsa1bXg zm?bnW*&i#Z9V!)o&C^o!H#5F+oeD_BhBdTG+ZrkYkJ!FTaaIf|%2AE4H55WVXBmNr z4MU`FNo3V3{|Hjm)u83q)MKXeBx=i~-8-Oyb37^Gd$ha-C%;tRN$tvBaFeCTeP|hX zpF&Qo*{B7tW=gE}g6FA|2`f%o@LMTCfLn!bb;S721IXL)Kv>QR6ZrM(WKJhAG?0n8}R$lOC^r{Q-yr`2h|Zs}y^OazCVNwHSD~uWdyE)g8z} z3CQqDvPxul1N^D(GCkSVtMEQfQcC$o_(~5_ub1=(p^g$vQ`RXA-XhOD&J58^@6`%) zK2VGcO!m-$&ie*xW#&3vRCrs(2MbC&oG@ABxy03OFcO8KE>$6AH~-*jt9}jaKe$@8 zm45Yin`~nFjOJU|>X&XxtBQ)SYj~}{AW5I@+>h4uGk=5OY52WUWP+BQoAO2B_-lkfDo@hQb&TX@yqe?sh@x2 zZJzuP!+eZb`Ht9Tj85C~hV`5dc>#AX_y&;BJ?9qrw9miNjL-x&Ka$O~4Ph<#gM9Lk z0VUSz?2}Mv78)S`@`X8ip*`r`vs>>ZeauEJa;j_NBX#80M;ojlY0+TDHf2r+-VZ0d zDZY~(yEqdr>r|LMJAnU zkoN|>n{yNHTIJb|FF7U^AG*k_Got#EN-l-2G=?dqr)X38ZK8i=J#YQYu=($o$ibhX z0?T!=Qj|h1)v2-Du0H>j?_t!D3_&u0S6hW*?I=}v>DH?1QrbZ6gzkKuzRqP~lPPBfOwQB7oELyweCvN@@GDyM-;I z5Q7gV@D{QMe(wkC`g7Qfq~=*8V&F2AxjGV38P}q}W6S6x0-N0UUO-2{56e4@ZHL>9 z#0_Bt6)58Ybf}$tjg0jtNB0w$GQfK_TX`ty217$h%}@^E3qQ$(7g&Sjyzi)^nG7TL z947}D{<@(6Jm}JAS%Tf#5x8nJJCh@J$p%{qkz%PFf zuICnJCrCop4Ua%SVYhOPr(e(8GB9q_lBfxWKVtql3zVr2x_^2L@Hgd>zcJvh_C(it z@{O}+6JPP5nzHGe??RzH#5AGf(%c>8iDIvHQecX{gFp0lEAZIx5LZ~qmk(#kmRy)m zK){^t-+D~HB78IOc|g|ub>cT0C)ZsFsDH=s7MB&f&@%X$Ox`L;%w^?RG8N0ffIbbc zNzDaCAP2@z{=|ELb~P?XX0=~9sNv;}z57WSI+VhG$@%(uPnm-HAt(>##wqMXnuE3t zJ!$0^Lm*t1=D99ZKr$YUOT5%11a4Fm12{Hr2J6T)+#$d2s5e3Gr@rK_q{>S(HQg&5 z58b&O{U8S^PQnI~{3WTP3SC^H7h$b2&fwpa_23Z$I$|&{wkMWANZQHZ&Y>oFrzx2C zawW8!7jz$oWw2)-hd0g8(Z>z%EhwE1i_!l);En=#<%XW}5smFOC-4DqEOnWm`^{14 zsCh0|6G?pfLF^%$-a8m*NU_=}s#VpYuHjUdtAb*IW{BcIr zUpV$h`tt|q)^5393+9L$=z9j%-YQU?CWkpU?`;SZ_RrjU<@2CvM%q!$yqgpWD%(H0 zMxps9R&)SwnxUR*!H-gL@^McNvztbzA0mIF4zYWU{qU`w>?@)OvfaveiAY^RYG)yT zFB`m8Tabmj{^nlxlO7C>&K{R65LL)u4vXpFZIzr=k;GKQ=IJU%4oe*R8djZ+%sFsOoN0v1|B-tb(+brA~bFFCCqHjT%Y(Lqe3+Tg6NLCE*o27raKi-W@t zun!x1^&fI+;C|=nooN=$#1-`lT1$(hw1^hnfIzX!P|D~F!o-s8=dLxjhSy3y45b1* zz;M`fg;VMgtNZA4+Jy7=zQ`y@4zkuUk9rG~dz>eoK9&DU`dp&gfhY>|L=C;>?%*hS zj}r4lnwK0oLEwY|;zQSUl2yXY_S)%_e2~hVq%ZhHGStR_+DczwLsZ7rbxAz((aM#S zSVXLU2c~BiAefQm0N1gn-+@iWM)j7(t`+8Jm1$9lerktwT&JZZ_^m$Ihw`CVk7IQVy$yoW_|I za%zswa*q<#+SY|J!3g#G<5ukl;UUSb#-$0@F<66N5YtN(EM2gQrkzhD5;jhW!n+lp zPxa5s2jkZABmfbF++;A8Ue48jIXvmPD<5;4rAmX+S{Gs$2VK{rTWJnV?yqlDn~Dv{HR@ zUkyEFeJW4%uu4XORc_TxOuv9_ z=<`{kQuc$4o(?Tmc3%lY!_@neLok`n27f)Ds2r+#%sDf22xB5J0L-hG4|I1&cw|C3oK%Xe=}bO#svjnO)Y_ zf(=j<_nKxJ{Sb&zho#f0{uCB39On8NzAaVXeixN&oSM&<7qQI}fLMc5Mq_ES`K}ay zDM0sH@CzZUS;8#0v}v&a`2T5~LF7-m?NUq@pzo~ai^2D=G^84e;#;Vz3Ziyn8>tSk zI(@IGWPblE>E6 zBY#kW==QOII8^*_fiYGuX2|rF0^0(Ht0@A1D?joq5a2yhxuG)uWESP|d|C~6ksW?& zHXyM*#R?@JwFPxAR%YxtI7?#*BHNe+O<^vJ1@5~FIABX+32NJ@hi-M-QH~-`Tu0KS z(SK~yOC27it|yYp!dx~^q_ews_`*OxV&Dh$h1Kx7qLR{@X~%74E1BEmY+ybd;H&u- z`-L8t;VwUkcU_i%KvfDiTFF;kb&%I)?M-~MapVR9pLToL2AobvVI@=4i<6LrG7kU+535QE4GYeX?eY$rfs7khWC?6`PO~_zF5&D5s7?LaSVyAc zvqC=c96W}jC;WKX$#qYZlO|3FLJViSd?6JerT4J+$|VkbL|L#QUB({zMV zjcSJ=9Cm~<6ZGw01TpBF%nj*GP`y*+R3oq~GiZdAGlHhaq?wMX9ZEG&<2r>ys3@ZY zkwN(MO7FggBCE(t9jt%{%w!uXzg1ji=q~fKIjexY5ov=3s)>uKStJqWF)Y#1S{YPtnTWQi9<}Bg zulLWKd(9n`@`oO{$XDND@F=Il?xf~@*1%$&w|-Nm4f-w)7{zX1ikX91A)S=hlOa5< zo1Z1(!&({D~-uA3)nqo9xAQ;o(WMm4@oi-;6JNRIe+UkK&HBZt55)m3#tNx` z2egEGOK9^TnHL`&NXR3YK4iIJd%lWbXjD`+iTQlI5z?U)zPoCvE#x=;>DEnSuf8r% z`-_1&wQWepqv)bE-mAi*(7U$_?~Kf!zD{I~1(HFZaPS>&))6%y>i@!E_VLbr*IV!i z25^fXT9RmwUQxDO>ARIn>uMbC?DmSwzLR&;@3K1DCfhr|NNt#Ky(}xpbT-43qXS(n z4RToogV?$sP-gyGTrS_DX@hZR9{8`=P0fGqt~g~XT)zLlaz}GO8A6Kw%B3SDD~8u$ z86t9VQjI;3VK>XxR&-AKxf3BR&njIc5N4GbI(aVxP-aI@j$UnUCn+nV@x7Z!iN@*H z%It5C>d%pIIIuh3kpme&IZxP&h1w-NDX-!O>Oj{Tn&p(Qr7f-4?`qcKli4#%iJIFI zO{k!sTTmTnlsuwcRqBk>!LTGb!KA}&5zv%-euI5800YA zw~SU0@X7FXJRf`v^lw-QIf6^A`+9o%if3Z-$7up~1}LxVRd|p5VqeV{GIb~pnU~D9 z#^En~{ZiVMMV~$~%nu6CYf6?SxOo9H{oXgRPzZ=mc{$rUi8iyf*}w{wx-G*)w5=L`nAkh0u4%aHv*nclF?pi0g*Zs(wmTw~&g`CS2+r z&oF&KT#83dWJ+3tPQV=o|5n`9nSU)?=;xNu zCu(6UlSp+71Jm(Jp)4qdVI3%to#O5A*5z}vOYp#H!7f>*a#-h90@|tiAP8T z5vHb@)rV({8Nh@L4RchOhXBYU=jkx9*yD@GF4MsrAa<)TegNi0Sxi`&Cch6DXeVPZ zMuCc7wqR7XLHcC#@3r;}DGr+;!btpfdjX8s74X;cIJ$bkk+*44xbLxMPznL#LsOSU zL}-IvMhBGmJuXfhii7SSI2ZUq_HQuAk?WNHVWSe9!Ib&SOQ{hIuK%)+_#ZBh0q1Hu zj-X1b&M=fgBXGeijQll`KS?%~%c^n__EzYCutXI@>4C&2hh>n*Fob_y`NJd0&X$Kx zo=9~JQ4k5k1P;FfpX_K-=PRXrEt1`d*)(Vu$K$e$=4dBvuI<9=Ix6uyM#2ADOOACf zoS)BMCho6q{d{V*gkTbrxM*fE3h?G|(yAk%VUM^FBs)gcT^dRG?y&X&YL*X}nyB_s z$_6qs-zIUytP`zrD_bpVuoaJAMoIsit}M8*FHBsNi@ zbCRPS$wRzBabc(}|7RvE(>VNhLjcKa>K}GTV0!puzG%>?*Jg>aiviWl7S{O+LE6D# zx$BaFl1b?VJ8xLt+MgBnNAZJ>e-HeG_75Nxi+PwV5N}^(8_eXGhvrw-iR?J-I=t5z zLy`v`X7txE;~uIE_ejlC>Vh?e#=ASQ>~3;ef7o+%n3LHNg&GAw%l-M{hFY*5O+l>b z!7b5LVrEg3Hy-(ceF@)b?D{8h8hC7@jI#J-f2fic=rLkyD)bWP{h?s|D z9r;jPu!HEVr3HARhJ1+1a-9cU8AZ^O(s)OGgOgqz5CO+Zs0y|Y=uo5Txj`lar^oj% ze@ut3^;@LbK>9o zSsvb)g(LAEEph~d~yIT-F}@C&f^-H#U5)x3S`e_3oN8U=siH^ zuvrKDAlmJy4h&-yxSqWvB-&#$IZ@U6P;Fh`=HCdwU*DW#IPD1Hy*KV+jjG_VuZ#Im z-1-?UvYa) zt?4y_6aJ8FENTt~NIkyMeKYNMN*8}JT0hh&fReq)la!(8H8?I;AP z=TlEZ*2FSl0pjNAc83mO14}kW2K8$jO81QbhFqtnxjk0xupeJh?1Wj90w;VO+|t%g zR@IZA6P-G(^1K>*k;24Un(1dY|DvdZt55wcI|B4M&d!x0&STU5?sl*9-2P@&vKwCU=s+}Zk zc00y2ryA2TW71%ywN6r*7GuAsh^M)P=y=FhCKe6-<%R<Cb8R zLMvTx;X+?0GgK%a{@)8Gj|ZGcbVmA9qSVH!MJ_2GT>O*Am>Xgj(>r;|#O;(ODRtO4 z;fna9!6o^8okWadmh43-6K__u_%L-JSezajl$G}&gJ!*}LGOul#8pDcXp;#^|)p;0-E#@aEpKh5*1UEQNm-uH8H~R*h z_zoMt5dc}|Fm_t+!pQ;gI-WQxipw4)=gyHm3@>fJmdKTzX@}XWbK-;PhJf0a@LXS5 z-dcYvh4(pZues!lh8j;3qb7fZ8jo}L%4%VFl+3?}`uQMQ9oyn*dIexcwCevG@CTke zk6Yce%y14ywuX}9N0RRI7oJ^^Vt6P3*F}(uC&j{k^af{wgbizBfW@sL)VVWkP z<8h}^xq}2ySM^(lS5s{zS7-Q%kM=5mfto%6pP7+|-ePnQ^2)W)Su8#N?XP3+8;No+ z5G7WGc65_#y5_hWs&}|bdRCKCoi@v<P3t(X!Z3yK|-gKWDXTha@1IxSks+4BS61dcO3!3B>chx1m!W6UX_()vm zVcyCprDki3I+QafxHYWA7W4O}fSL+D6lZ||*kNjEQ9b(Ou%)qbWd5_mMLUfIC#fQB z4AqidObO-<2v1YgzMMI?ZkE99khvHLWw7Gu#|}RiTw`=jmlB^5gRb#_yziJ6W7As| zX0OIez5%bA>YNY79dQ2=x1j8++Ym$ij!f8HO)Wd*VX}k z9GBL8pKeIoXWyp7%Tfg7qt#C=NjdVMvCveu?86p%6+kGGH`9_qlkF=&Q%#Uvtg~;;TSv@#h zJ^xb2r&gLr#bB>7pe}ae7b?=N(~!f5H+wdqon;Q{QFB6YU#vzx{8b4QPcC% z@PC`Axlq_ubY}_e9#3S9Ft0^CxH>3%sX2-}eGq{=LWHhZlPJ*&AP3q8ttL@<0yNcf zPvW}UCb`DT#g|$o8HGi1_iLi|{bdK^4KJzqZOoEiq{Z+&R#*JLpRy&Ei4w2O`LXlp zaV;G)g@C1)PE4*7EKNgDsHVmQ$C|`XM(5co!Z6_M)HI=rHQRMU2p+z?Kayn~uw}5k zb4?e@KpH`CeO8!TP1A1o%6RPC{#S$(pGeZoGC=MRtf9vtEGUY>AVcv?BoXph8l_EK75BG;8DKPK z_0UdsK~NDr!H8tiYY__r`a~g-(kAPn&vQv?{YZrBTUOnfPF>#77wO_AR zMpF>ghic+urjG)op!b;Poo&7F5}e+~s=O>WiafmdV3*VfT?aFFmRVj8X!EBp8}Yh< z6u&(3KAwL16v9Jo_fa4yWaa}xS~B^!t-i;4_VNB?ijZJeMmt(!CPlU~sP7MJbvGhHNstjz(^|iJuDJ(L8QB>Rzwf2>w zi)3=^Ci6lKHQgqgjYZvwD-xVE&2%+p>8*G%M?5?iNc~m~v>ECra8q+TL3rh?;krUZr#guHZY`Z41~cJN|V% zvYF9mwW2*Bq?SzZ=q7~{QE4LK5WQa()4%JK`!TMgmM^9)>O75CU@o{*QPmVJ#mZ~m ziD}?X;t?;eRHM$R?LlT+z6Ik!rnubBvl4T-SN1{X&~ZF^%-^IPg=b_vN7%tV74%D{9 zWpCUFECIiQEr+uySa%(c=TSuCnXKRv@LWgqd*r;NjvwzXJ}+UkXA8i0CAaWjHg*Q? ztFNTo(J6^EcCxw7*mi8a)Z7Of4`KOBdEe(EFC;spwv>U^J-)rPkE@?AaZt6cgd{YK z)1SUP{ygh~A>(O&o?n9@=XB*NTt=@L{qY6`*yaFa466eT<^xwzX~{I$s%YQCogj{m6%5T-9#G2WC1~f z7frYw`9bXOROn`ZK9XIllkx`UY+9C5ZINBz6GBlbunk#JJN;>jtqt*F$(wt)l2sT@ zaUx!yyuSQgh#PNrv^zqx>g!9xLSTGR3Va0kk$jNB}O|yyr zjS2C&UrZet!EQ z(dcE{7en5mKq;qiicjt&0MBQ6p|QT8@I$f~oR4&EyLnqJuD4^aMHaZxBrJUCtEwXe z!HYJ3XFgERVEZ<+QC4iVtZHURQjBM@B;#q6IZ@p3#HIVR*l`R#pZVjl^AJQ)ze#L` zfN+|9ne%K;ul{tX)Hq;nu`ibVLbA_Qs#<$d`6hnlPd=665!I{oR7&uuQ-a#+`@j6Ux8Gz-NJoteC_j)>aR!u5gTwV4N5nvP{1XF79FueqM1 z6;ILQy?pFr3E4D%$ezkr`qj2Le&#C+%Bel!1h6Q3L3GSwAR&&u#-t(^a#*c&_6OC! zF@M9mU@;h*cf*M(8A-Lh#yK;1_0LOaA=Yzhmm6zvGPJzC@LK;?esyiY-I1=^5q6`~ zsGl4y1U4)tO3rH0xU~#oK~7M4*NL!8HrdpL62e#R|3RIH_l_vlpCv0(yA$`cDgSSx z@Xq(z47Vq%SfvF&_x{F9KkNuIT=AwlufI~zfnSecuX&y|C+okzx_0cB(oY0#HD@nM zh@?f|77t1sU)3dN*(RGlyREseR)|)8>lu&kV#<2ga-eyyIXJ>Mm~QfVm?9FmHqXlr z=#QsE{8SU;ZOQT2QUwMihN`b=L>iz(_6=y}Z8Wdt`3vIt#2-*D>d45>n)&r@Q*uJ2 zw0Cr-`lF82=DA&4mEC)T`FEUYh)apgxip~; zLwI9}ux5iBAKgomsf}yHX#GhCd6UynxJTx2xkhGjxwzI?b$`#@MI*@t>;#G^6lor> z&1LHoO*NL5Tx65>o^am6*@~Wt*YUL7zx#u8lzcKy@AzksR>7a9nWNi(@e4gZ{zi+c zA_W&{edq*^oYmF+yCYGDik-|C&C3EM?iQs4v4H^DNvuuRNo{y0WP-!Eu$P4~=Fx-LkskEL99QBloPV zcF@-ER17s3Nl^`wcJ%$Yh|c|aUp_rsa7E?5m(g4SsnIH368}lG+eSOPlm1dzvUDRVne~+*$J@flikV!FK za)!+4Pni?K*gz-KA`M_~XTu&$D50nn%)&=jWE9V7pF}w6t&VxKkY8$@Y3yVK16Q|i zB#1XQ8%0wod0@K@?`iO>H3?ale`ceS5eKIY--9fSbnfv7f7hd1-dFwom_#DG^W=+PM_*9e+_Ru-C4Orm>8%s9c3ng8E~2+Ps{S$OnI0Y;hPJi*uM(x;}5* zvcA25zs8LvH@E)Q6YMSS`b(1-?d){{DHy%Ku))r(Sf6R#>{lT~O7<%bd27zop3l1G zDpiF!BY+;fsd;~w`qMkahv}ByM z(X?OLY9HlpA=Mh28iYcHxJg}(M=finsyecZ9DY1EmPxNa{p)bu|2W^{VOkK)dvU~;P~0l~=*^gw#kff3x<$Dz^UJLOb8e?VfmP3{SgDcu0Kh!7T`X+8YPH89Z1GRS zc=7@Ina{G%>(|DuEVi-95(Mc{4XckuOcr&n&D2?d;Ll{edpA;M`iB10eeVndRy3JL z@Qm$K#eh^UQmlwYBj*Teeo6(e{*a)Issb&gN&vX{lptoQit%ZoTcRQ%7N1Zgt^S7K z{!7f02@IAvw?u6~IVCakBdI)v7pmg-z-4Et5>vRb!sd0mWq)Nq(o|+mKh>l(&mlbg zzWU6rv&@qY2HG$Z+(0$iri={l1?%3&*`IYZVJ$FM-)vUd`K&N1u0B31la*Ib4`s(4 zCpVfZlNsj*LmZ-xmcxIr^L}W@N%3^~YRtIyDAKtfK`%0cWoa<;u=F7=%FtLOOcU3l zs$RWg;p^7yHQJuigpyj5q8;DG8Kp9=I2o8*R z>K{F>H}}b0t=GJZCp24MV#%8`ezNxCur>AC#G|{*>uo&*=P<(TTh`xwUj0=*5d6ln zY>tf0PFb{#Jz;cDyQ%RqsnGx2XmLOJjGi<+-j#Z&{^Ou(%21yCfIa~}yBFgtU^~P} zZ~5-pafiZx{{DrmU-C=WlHt%JZ7o^#^TlnA>SJXF9p+_pS3e?mrL zjU;M%3~=f^Ki;*esX8zsIxh_l=RLu(fAMbZAhZ^N_}am_nK!)6#vdA%EIkRDaVvZf zZhTj`*mWFwys))3qU34kqPfQ)Qr}FBp4`BWwV5B~5vg_Z<#)MI>c;>!qX$rohi1i2 zzPoWB#UR!xoTdKEgJ*EfTPw#l$pxaCO4DkpDE(=UOl&!oCiFSFn&i`|zkUI#9x9$T zL`-4@b4}=RX59A6h|+mc9;YE4=Iz;@zdjq+ySKgXpwp{0jj&uvKbhd@gthp%EJ9$4+r}vi zXht6|sJt~O-eN0y$-Q`Py|4(XY^>nl87B>!qC-IuvZu`2t2ywQToJubH+ojMQ8@Cl z^&-(-xDMx!vXr-)f1cENIJ7=RwlEv{zWu{ajPIyYIt4+>zK_f`3rxqj$}dyDrcrO) zsj#4uULtInhJ_jHZ1#-2{Xy(hGR+IZk^{Prh95a4{(6Tut?r&n(jQJI{q9Xo1NQmy znv3X3$=0Iy@BCv$jh-iYzV*nWO3$(C+~~A#2YRnb=M51~;tQUoE&cn^+>`o$Ipa|w zG(KM};J}9ITzRlKii5@#Q*Ya`hZH`NZ(3@7)qSX;I&k57uJKy|mkk6bwx~|l;-cM; zODuX3A(|?tr;9nh5jrq7l(>p5Y%Z$#Du*@FyRpwuXDUW2I^SE6F6!F*gQ8v20-36^ zCREVUtBNtMrN}?{O*tdPn#bR1W!`3Gsfo;-Q0T9GJjLgdKCDj8N41+Cog{b)gz2!y z!|edznZBAN5l;g$M(%Ol_z!<#kfBN_DpY|{Wa61OpW44R)#weh%i&>)Uw9%!^+)jE zO)71V)JNUklQsrYX9fi$%=NWjQ5>H`Mt^#F5o!`|WM$E+#J;0MGyayvTsw2--C36T z$x|jLIg8Qop@)4u{8Hf3cUF`yV>^E(otvAT>r>v)?Au!!Pq+^wt^4t( zyoIy&xwjwkyhp>47PaFjzBnh|%AL7?4*e(0KIB9B(A&RO*c_XZ!~rTHF7(A>ora7G zO_E`s*b2lteF{YOQAJPQZY^$;wNGi7W@^Y?^*2e*RIM4TN2Q5&_HORsQvijFMLif3 zS*m|d$iw;-dZdOQ*%-vkmr_p_IuaS>&SpA375_e+=m1&C{x~-yuKPIW$r&bud)(SI zgCicT(K5I0At`u$F|p6yg|6#W`g2R0a6GbF?A$pPsCeb_R z-cv3U$jZcU%1sZVJcrfkr{D>OEz3ysQK^=>O}M3*JM40a{d;aAdduWaqi< z{ORRSCOSCY=@so;$*Dh}DC)`YnF0jhe#-D`t(_r$8(ZbDD`k`A?=M3?HI^AzQYke3 zzeFHMDytIvef0c|yKV-1hWfdEga`GXFFYmXk;e?#y-_Ev(NH>KQtfpKDMwC(D zF=`(qv!N-MdWCTEOf_Jt<}ta$e)Ie901eSVBmGvYP20>!S(UuGUcH;>#v+}=I82)> zgF|A(h*jE=Y)dJMCx`_FNsKoHH*o~spP3{M2s52fJqxvb}IBIcLgc8sO9{vBO<6`TAM(nZ z(^j&orx=GzW_6+L5*6lH)<*hC>#uLc2@kLH?@LBqY3F?Z$Q@$WZG!uJsB4M0xx2GO zS1=Y(ujf-|*o@*v!0Of=!s?k#1wa36I`nl>8cp2b-ql*4%yCrvnHrut5)#*!ikCnl zPj>-s90`XTn3}!T$OJ!lyRtW4F?PK0r>S)>+6^zuAlkh%>W@-BD@>l`p{8pA`D-hE z0SI$jOR!t1ov)f)OmCphP8|kpYm(|@3|Mb)O>63oWy3rg{JAZK_a)b5f%!wPUx5b_ zA_u0zpFfW=iXA{|TjkFg{XEyLQ|HmF35vA_jUUYMH<({vTQB0C%YR9r|1yVt%Mm~v zCe{^Cj)EYO8`KlUv4EEX%P@~_4nBuP?3;!qz+Bs)wJdswY})8c0RnT>Jjv3ssM^Vf z^GbdgV`u0jSt{l6P+?w?JdARYy*L`NsLmuZ@TCL#UEvWN0!tHE5`Hb83yY0>buMAb zNYcp)ttHBjBqijBPhX9i8APF*i{Z#WXPNbOePVh~Sp?AokFgExql=bRTcD#B=)iGs z{Q20u>xS+>1=XJ_P3ay;rn3N!UWC8PJju=)!{<)%8kFBCauhN;APtAHI>S2BOBUb$ z1zk4-bZ%5Pvgg|5X>>EVz!{Z zex`2yk{cO6{`3aiaWE^;bTRy?@LbJgQVg9*QjRJzkfo6(Djf{Ek>Z#WRQLQ+7EIG4 zbw^D!x1<^AN>Hg2Tu%jX5$d}XpmFaN-_3JyS9>D(4 z=a^JT1p_mUvsn@ZIW(GpI7;fn0J!JMb1c6&7k?jBTTK+cok`6@iiTI_BrnaUv1e%3 zCfKi-H{Cy4@C4%15}H*Kd9log>p!rwd$UNYmK9*cy|HbL$|ggi{ZOKouB27akdFcB zmlEfRi~;F~3WWw_d78zqAgZ}YbJNN^?e1E6n#63vuMKU!dy!6n;-Ai>&YJ!TBEG~g znTX;iAJd|D&IJqHSCz*a^HZoy)3M!Ui`+D3Y`cD6|5;NV%dM)#W}KX8c>SP5_Cu)q zwO($?EVVLfkNRs1GrhDI@mb#q5Hk63!#(w}T>YN>A%_)kEX{b?{PWsQqic+1acAo2 z0@yw+lY;!!`EI$>1!a|g&@V2eDP28Q#{III(PX7Ly4(L5xI4mr5gn%St&n8Ier=BqE<8nOj_(fXV74#_~aC_2;8YOPhKqmiZ0>62g;*^Tk3gtg*DKYeyiGaS8 znAUp?BNj2B8Z>80jE=BBW#BVGHbLiD$|KTz($&vWbNv)RPFX#zFiP5+IWD9IKW%IH zo`OnXEb)zOLw%ChU!u^^clh7Z_RRS|U5>bJR*VPJHa>^dQ=*hzwo8o`)NekLIRo_odlgATQ#@?9LWvNB5zZ6C*Bt@#uf{Hwnbnev~N93Vzqm^G_US*-CJ5PB2?|QC*mX`0r`^o5Z~s0RH;cx|WdA2OEuG1^ogm4AsBX zlnLsAlrHhTaHw^D+BF>z?tG_aO`=kOwJ9(I%5SL?(7R5j{=&Y0Wc7Qhu@JMeVAe#q z*PvOlyKJHRL9Ht+d30WNki9xQ4oE5Sxo|-2PGFxYbCV(=TRsNr5PlNt^u+b(%_#B2DTK;0y6l$4x=4lzCuS5ZQRQNRMqnU&xOp z8Fenun9SudUrh&ihcsf+VY3Eo1ln0qUHpz8&8L(_s^+;@T$OcvpJerqT^aXgN0am!FuC& z4L#eH{@h($A>lNMk=X|DW7*QF_zlc+r`1d9!0o*z{J&rNU7>$w|8a6;oquE*UV=zOY@sK{oOK&n(?BANEDVYkyV&2CI1B{JL9`-I-{x&A)t4%#=tefh3=<2N>hENG2FpTb@)= z46&)n{F|=9Dfhni7~;BJ6aM-y^g5LmKzRTlF?S!N%z1xlgH;o zjS2fC0i2}byrW*Z1Jeu)YWq)C5>$Ry;o#geUm;C7!(*4Zu$dYL+-a=TZavhPk{*%= zY4i@~BPbX+?0uvg1S-${5|P|wJ!g(}hU~4=7c$%zVd6lruiEx<5c3M$38F+*AP-OK ze0IHl(!BiEWpINTD|WS5dQbS)H?GX^Abma%xTTWGc+ko|BYjl{yIiClyD+I5gL$AZ zOEQLN7_<>M$?h1dtSq&f2FRgh8oL+gXy61Lxlc{!KGD@i2l5yW+lANn`9qFjQ%c+* z3M7DfQ%<1!x3s1|ubwOQ$3m6H^eVBewP?KJ`Yuq&#u~$=di;^uYvO|E*OS^9Io*Po z%6}~iq<{dK^O-B3SO?kLppeJv@$9D$%4l0gVT(PmdV9&lmKJ6M%?RM3+~D zx|gTn9beCFA|`K7nSp4ejq99rk@D9bbgxc!qXF{a3MQXu+){Fy9GT1$60l#U4opzU zT;T+&lfn@*xE2@z=|Y9+47mI00(>iO9^_|<1yu3OP$W-g4y`OhnUF8M=~yYJw6QS{ zE}`TPi~x0jfD{B$583*))&7Z$sFA0?Ss(x!eV2%%qM;as7B69yfh^xYesbE;ha!Jum)XuDhDS2 zYnrpearOLi+vQG1R4A!j?1f!ojFuDwj0Qm_-n7jILERYvn5>Uf05zx4OiTFKS)vBa z?`_DQsFct>o|pcg(x8%&JnRLWf9yI~%GG{#6bYx`*BvKCjGd`hjHT=Zd=KWvzZbp+ zB!{6HH$6`zR1}iPFi6gm0O8R)wf~BrX9|$vi$nco41)lIf=DnjP5s;crdxk+qKsHK zcy+`R#orP~4`vEk9G6KycF0a3kr6KM@ zNdyhZd~=srtiSKmNxnK`pMxA}R8*4it+{mq1*QkXz6^Z}9@;up#B>?M=*}Q8^jaVH0)%=zQkj}p7hD;Zjszn=#2?yZ-bnw#N`-i8IAyx zB)Z1o!9O=zfePMKNHS}By?7dkrt%gwPid5I9u2nr2Z?vX>5T=Vpq=AHx6zCgoX+gd zO?z5*!@|8>kA6x01bGAvTr>$(ia$6G?D!ABaI(qum=Y|2s;W!bvF4INA3Lg_^Hp$% zlmcw~Avk;RQ+AI6Y*mFARIc%g5=N5igK2R;JTYO3I@4`y*Jc!q^2^WIA1dBvFAsmd675B1yWmO859-v%|c>HlV->x zp%R?X6w(aDHm>$2Q1-5T_q;b4F#6AJWJ)h3$t(d@P=JD^3IhxZMblfvk^Kt~vrF;G zAAeA79|ot2olCP+6gdT28zNFE>mK(@$NpqVT*NrI8L0J|UIqV}1nb}pl# zGJ4X(q-6(tZ1N!HG12}XVQa)h+Ir8jCDy_HTBfJSMhv-Z%<56h!J*^hcq_OJxp@9} z95eVa*Kl!@-n^q-45u@39x*0OWOI@G?W&U+ZThUID@j=l?Q}LlBnV*=6*4@(E`dcT z!{b8g?wfH~0eVgNavSoR#N?f3@yI?Fei$DkG{V^2Gm&E)9^T{u5^0Jf;kW?52P}ZJ z(`xNx7a7lT~=Tyg+2t*Yu= zCp|}=MtbXqcrFN1;iR1lHMbnhOxs8W0H%~JLbHJIjcXj#C<5Uj^GdPuaOZPxxBX)^ zMcwEie7A)AjqA{624n5>P6mHra8iM$%~7n>Vg%}-1mKqfKiUPb0=>2ZZip90AxtEE zo$i{=LGgNfSown=CZ64!c1IdO!<`$;$c=cGuskMK7|%kKeLWrItFw+8 zLCKet6<%lA?AAm5uN@0zlUqx3(>Nt5{!{?b9~SgWYKGki1EUc@e`B?mgcmg^XUtEZ zb#zsVc?1MYiEjm#TgxX{vT%;`QS5VE|K~^5;nHSMVn(Jl$XN>5JJu;0>0i&BEvtf(#OW*lbL;%;B5fjwA)n)xuR3z=M!tONtrPh>S)G=9Siyu zD3Yx+XMKuIg8H&PPp1$FjnMw(ryzNBZc^=j!UOGiU5auLOHKJ z*N$OWY>0=g**m<)GDo)c42Ldk)1ou${VHO-Cf^plueJabLQsN0Vl)smJ-+#R%-^Ws zCC0o6X2wPCd;E62fdXOEpxH&v{$B@u4NTG?rBZ+{jWVG`sMIjp{M30Gnn@sKrIev} zo|N7Y=I=}YYA4qopU~)+;;GwIr{Zg>Lzq6~Z@pZ`@So|ShLqmopDAga0pg2&#d16< zU+Fgl=!!AHc`;xsgJd_O!M&eavcq-sxVIQ7cCC!h`W)N$B+Nf}f0Uh*D{(y3Sjuq% z=8Mn=9TyDd>MA|6ozK6Cn690Z`xF z*T<^da<>%fmvjO2beSH;=6JXL=B1ILhL7ZCHW`F zUVg1gfx15f@C{eG0+n01ZWTL4OxT?gVhEBn6)gvc)#5s5X}|OqKqF;8;&&k5eHtLR z(^+;JKy(FLIlakGZd|F#Yimj{>shTpgJK0GHTGG}dz-xZH;D4Y(Y%1@xMq1A@FM`U zz2sMaW(BRO*{eIbe64owMmpta(?8H(hPeCQbbb(+xZ5I5A2)Y@gw|G}y{I;1N>!I> ziM`3B>u3u9!-ocXS|70y?4+p@Q7bL0e_x0Rk3znE-=R!%&W*+3b`U)tfHf{ld!4RDk_3 zHJv^~CnfN?dM~&Z^-`XO!4%fFW^AQjcQ0OR+=qGOBIbqyb~R&!8Tt}u26iQRpzeUf zXdf2BF?@hz{Q~Jt5)5v3bH;g6w9OoT@)GWQ0KoO?z(08bWo^b3BRc&aQl!+nUTYWHDMzq`oW|6zIKm2G!$NC(F zK#bDHkC=2Z7O9H$QNh$qF=o`1Yls8K0*#IzFzIsMJCx<^zVsa)!6BC;t1f62Dd;Xf z5h%G=Wvfx4G_m!K65U#!)4jIk{<95^Ce4|Z5ha4_xH|7C1fqnu)g?%!vHlk2uhZD) z68!V5P9Wz)#N`Zm*(n%t+po5jb2-96w47IOo`ZZwgX?O^>AvpDMtW^vmARtRO(}(t0in@_IfG3k|GKfnN`nIMnKl@bn_rKc}LVz{a1qY70|@Itqmf&)$6sB*hvqwUv2x`zi*EXUK~4J92(>fNagj;6K)M-$4pa4 zMbes<%?_5RnI8>&vc^pPdaWtrY$PO1$MCvA@Q;O=dKpXV>Cp4cv`gcdUcq6T?#ovC zL9$~xy)Otp2xdCtp~@ic%IYj*y@ZsAcyn!E;|^JgTaAQcYaASxF?#{pgM>+`<`r&f zlXGo=4jSY)n~30$jVAGb|5|Dlnjss=G}rv0$A#A{VJ_80KxxEpRhHk@z_%Q^Iq@NW zAGL7Pvq`j0AdQ#Tav{JBI_bZ#-KW=DIxiq4dF6xlq{_xa|56fHIpQAn)`J6yRG|`i ze}j-e(xZ&0@d9Xd$G>}>@LQf!^kb3YKf3J^^$R8K8sgFhnbAOrjehL)2OxjfGZ8^d zEF3D?uoMd!tzBU)5N!N%))K~Y_zzG5OnxhkZ`G=Q{W<+3Zq(emF1p)E`-lG0uP^ag zg7;ky2qQTG<4FitvN6R4Q;}ZQW56u7>qB{o_$&U3Pmpx)`)ip9lS0_Me`s4NC($A1 ze`(^~KSmLFxKo$(kx?g!pe%;>87Xf#PMoY#MF- z730)&0eURvdK@lt!c24V|HV;i;Tx?S_Fo3Qc1_Roj{W)ds+J0FcbseIXDTKh0lQ}c z8rDtIG8IGr5?^r8wb+JTz%Gn{fO@re4HV+cA{WH`~Ia9@ZrJw#JmJ%df;;L^@ zM~~Trm!`14j5G8%ce|{?q?;}DqjgX6MkzJf8SF;tX$zAAPsi30<%q7z%>QFCNXI>N znVR0D;WIxJ?v^8ly1lJN*&+XkYFxj?d0OVy>3(grkJEgeSMmA9AbpVz{5$g&zSJ~W zKMr!eiIef`gwuXzSjbfJoo0<=$po=<(3DF6lW${vnLu9oRQQs&#jrzVgMuH`G$T;2 z8-UQ3-W1v>Ep4~5tRalvZ}(#AB{`(upc59gL~|dhRW6&x6<9?P>TTwPTx7rTU zu(lf#Vyqy8bv{MaP>$WcImy{7dZ2n`{ZkIP)`#KJ0#CrU zUp-uHQd|Q)8Wq>1Zsm&RbMR55br4}7VI=GR$O!d`fs+3?6cD$)WP^zyFc2@LEpaT3a^Tk6erqPo=MXS*Y^droP_FPBk|w1zKKRNVSqS z(CmqNe`Kg>^_gj+U=yl1R;0v5u@op#6p#?V8EJ(y%0C#`S8FA6A)EvRtCjgGOo->c zb{q?Z?!xW-9bIRlqckJlxE@S^@8 z%WFnks^RdDSD2MQnJ8Hj&Muof;<#UbRr!0XCG>}W(7!DFP;rRKX@8t-S-219V4cL} zE(>^c07_6U)3CNxk2T(hxB?zxmdBw_?TVg$A{N`y+c*q&UrXL2_plng9e|F<7k>FO zUdUa9(jl;@GaT`o=G*6wuMC7p4qn*U33-;RiZR%dd>8rEB9;PqOT4c><0qjsJGE<4 z@HefTK>fpMgfQ*)xP#mxC&|pqR#6h-f}-MA@g7dmdE?kkvtSYihY?J%J)WE*1t$f` zBm5`HMxu633ltm0>d7mYf)tUiRK$mLcS1|@PIQGcJWh*1s?mmmKWI8kRjAPg5Du5v zLWLi_6Pj1Y&!}+)2fH4&;zI1L2-H}wXBBjipNK`ien+hwQSx`NXUfq8qzFAe4yO_& zPN$jJr%suVC1P*tYtGhk4CI)F?n7sDlhH8^3bg^aM16TQ4Jy(L0iueom6)cSBNeGL z-9uEyX#s5$zQ2^+k=#6bpI9A7s3CKf{FIn7Mt;a7u1EATLW?%XGAQ5MV0--GSE(YQ zPZEr9@;dd?Kaor6%cZ_qO ztpxBUdNF880)Ke(Tj?G89}xg!REGQxg?Z3WvaIP_alY3@Lk{eVtYVHD@pLV0+nbt! z>Sirbs;Y2``2;H4r3qgKkv~pCt0Uk_KHv0oWwcn+pWs8ZRvZNa8AW|?PW)hUXq%;{ zzMsT0&2aKQoI7c#+?l8?(2FH=GfVWG0tKoCfK8)0udT;M8_P_X9;^2^6MM{2*7Pqr zPP)unXyfZh$8O2*rTb3dPKdq)&qiT5ucFX*$iV%oC(VaL1u?T6G?O@rJu2|C>K1It zoV*Hy@6@qWzfo}r$?sC|@kHkh= zLLIC_eS^B`%DXALz|{4jv5rP#5NS&=3BCsmy=T^T9$x8JWiJ(PrST)>DbPT$3Eww@ z^_}q9dq?%ZC@zhB_Dc75q~qp2iETebP?6xJ`rZknPfzz3{WC_;YHwL+KanVc2dIgN ztkHJUORPDsPDji~7wduc53z$`zYN(NUIy=Ol_|b4V-uNQqR@3Q@arZ}Hv}!!cVp(5 zaJhMj5k7hq8OoamZPs^NE$8!|yCsl}>6m`ynS9lK30~y;MSgUD-dVS@?8SV%fj+aH zZ}FagNtp&wG<>C-e6b?G8RI{GaWsekmyOxZK|clc)PHHmd{p#*P9eVyMSkQHJ|EgfI`mNZ60 z5SiWaU8iIVM^I(o-T&}V)Fw*gz+d4&@)np)sL^7CJHEcISm@q(6ZfE2_Qfo=M^QT6 zR|p#_%)Q2|p(O>HLUgF@4EzjNMLBI$X-9&0=;HVI$k?8`<tWkU~cm{kB91a|o-GSQ8yyux|u%Z*^@ zvkmJllGi_Gb3`?)S(t3p?fZh`MX7$DxC;e~m(KJ+z%yK=|L(3^24?t3;|Y3;-=Lf3 zw`Y63yr(?q!+-XB;4|>Nm~$!zME`8Xp+nbjZI)+R`Ya!Gg5ybKlT9_O21zb1>O~Mm zyGbjYUq{=ZmRy+sw5fv)mP1{C(?0w$*gxvgE1M}IJp55W#eS;^l;~9!Y%B!(Xwb<` zAlq*7Y1q`V)-a^1v_9(*I6gmLpX3kh6rTE z!}V11MGN|S>S&K;sO>y*z#E1Yqkx=$LAP$}%$w1Qzo+KN*}8x?M=_N0{V))Glw>s1 z@NJvdtW8M=t2#P??W}0{ukV-vViWqgFI)y3=Msd&dP_BJ&n3e!WKY#4ZpjyQaUk8R zRbC!RP`C_i;Az);*9GZu!YXFZ_(W*qOhNY_g~)@N{koG2O|ysH8YKu(A>D$u3dl5C z#ChZB%O%o;Ct6k5&!07$YU+znAGz`z;428Wn&QBAW94@poPIs@@pTBgx-9d{Dmvp# zVWcPW-V==S&(gM9PV!>e58$zoG`h!j(#mOhRxggyq3!11@MYIgyaDPR$zXP7Re$m8GuOA5jNLX1M=8 z^iIT>2j2o7S{;8~13n@^E3X*kon1dyO+63p)lKHMce&|j5_EztFY99C_d^^}Z3udx zM*!ZXM0mD-!E5$umLoL2)cXVcN;JnB8t|vHj^9nwK@9y|CwEt! zeuh5&kGyjVD2*WXjoA+YP_H`wzgJCJw;J{GsQAjM9yT#AlGDRZO>~QtJ>whD0YtJR zG|&IFX|9hl3C+oiDo{QExmCU8z7?n4-xkpjZ|!hc`u*^5C|n7FK(|4s3*2_N0s{t< zzO4$;^&hEL?nKh$g7DWrHX!6T)4`1&DKe{X7(R?YTfY_9FPo3&{KxCrAw5mA+;X>s zK^@vtEVjiM0cg+%zx1Q0ox$`8<*jxn_xa!AIzk;9t|ScvsfBJ*NrmQy6CxHDI-b=@ z%Q}H7RzYKj6IX9EN_Tu_r@btqqPce!wI^a=BKY&Xl2T9A|G)JR<@8YXaa0 zSqy82J6W&aRxWpZmCsQ_GY$P%T|NR>U(YKyqCywCY+L3AYPv08XSW)igQoXBVLkp7 zjF*cN3ux4x0imN%9>{0>hy?z}bgy|xCB<9RkJLVYW$~lX!GNtoohvBL7BF8N*^v!D z(#SWo9dI0#4@K@JOj_yW*Wmx>xYwzkXN$ z4VU0M-Mx6u151Psro7Y|@C5Dj*Wa+(+)SSbE%J=W<7h!g4#}h#?$#9 zFlX*w&r)_cqC%5~W3QJAMdWb9xQ6m$tD!YASc>AI_snJ;}^(+-v*l+KUgbf5jFqMhKfQ1^q?; z+!4&P=_p$u4y<6t4{?L%hqpL!9m8&jgi5%d4A41|FxNqmhDy-+saVHNPdF7oP8_F6 z9a1d}7v{RUuW>?N*nvrFp7u`G+bmLh6cf*8)==#(2U0{O7W8i&ysCvPT;a>{ zLlM!__2U!g!z+0OH}Zl?Tf;uZQDhe}*o4p)BF+dwM6byGQa-dgA|d(AZg6I!FNE!c z@(MWx5IgC3s?eh`d}7eOe(a{hDlqA?d<0>QG)iob2H{JgGk9qi{|Y~3igMtka|yo+ zNJh|mhIP>_RM}kfVj9Wu_?v5V@T3V$#!)5lIuL34ys!#uLO<|Xs5US_>dV?*@>XvL z=(~GNy6A8vh%O<7)AGsJxanE@EYmElP(M<|->_{V=P4kv6W&JQ=uq(q<>uP-r;+YC zBAfNjC&)RCzsceTroUbLHAqFf-@#T~9~X6E^@vlI7b-hzI@o$qxUh?j>u5n4F?2#} z(IGzKv*@dPOZ6qN)81NxcHZ%9ZCG)H2#%mzu&#d@Wws7)|%fQ0DTKW*0Q#+U>dcWJWCc;#1!4iqPa}W!WChGH7 z=}XOHxDveHrV3#O0A!^R+Q#sXDm`1)f(4YKl63N3BhSQtvx?0S?9IM*qpl*~S=)Q2 z5j3Vub^W6KB=-5jR6tl#EIEACc0FXg#X`2a!@->;Y-aX)XtB3IiLeYX+IZi5OeEjo zW7vr)Dnva@NaB4K#|Ros8VenlO5V>5{}xS`LR4ga6-_bH^Cy{4ezOK~L}1=zP#lT0 zT?(B5ZM3kS?$%93;3>tf<)3n2+G{J81V479FGvr?{@G%{c<0l3jlhz4Awzl?|G>by zP^bmn0*A)*p%z<+ROzHLwN62|`pE(5&#Oa0Ek?(Sq0r62B=m1K`}>J@PdLI07N|s> z*i6^{YTR~RXo>NdDBUkjQ6V=}(f@u!+|KTq4f`%0k>sNK)VeqSz3HRuBn2fR>@*|s z4H1Q*OJ{1GScS=o1yC3Boz4ds4s6E|u4zLgK;8f+Mvn9)DM$(hT|3ys>4keQ&6d`b z*Z1?nj>8Kz4Y2Ru;9sSo$+^8LrWkQSX*5(PCuEvvZoa~W0>majDHX{QLlYcK_yBlLtgFmOF~4B ze?VYeTzQ+WYN!C;sIB{Ez4+O0dO$izj4-2XEas#pacTSmp-JUurokJyci*cQzwW{7 zPja_znB2rg+#bTk?lJgt%lc0+cP2e!uq~VEe}p96V=*Y)dwOpA#6Aj}97_-fI**7E z=hXik;iW_EYvmp3jJ*#Lril#;p2xVaA!p*pxS5bgFi2S@)A@gyG{6`Xx#1!&M15| zoqO3Xx7xx`t9CXNhjW8g4_MP028j?E3S~4B-P=U4?~@!a)A=<84IX&EKh4Sr+|RX1 zw>DHF+vt#PY9RJ3oC>F9zH(f}G1!YFj1jFe-W1_raUi|{wSZxwjwT{=r&bUu&#_Zg zKT#2_VUjHzQPS=oGY$Oka>#^`iAV>zRc$*XJepWrAK|>4=4Z(wW*sVC_y2CX6tC@) z@}ZgTB5wX=Z|C$uu}Ddz53%&AfEuf zzr+1j7-*8LTv93Tu*ImziTT;8JI%YAQlM7a$Xv8@U!!9cDtyrEQ~{tZ>=gxB?mSVm-*LI|@6?62GC{ z&$-P^^+}*7LJ1X*2WcKUNj;N2V?HUcZoMr9^RM~LOIQpB#B##6s|Ze`z5cv<+a?pl z>ieRbZ)GYF#Gow~)xj-(J*kKn^PyLoGM?-H9rcMCgmdxu{P9T@^u_s5k+^ph`YC>< zJeG5+kX+YhoSCQep>aPYC?vEC;{mb5l-eq?Fd~2xvkxLLKUq8T%c}IEELSqfs@*~P zs1>tk${=0IN?e2?q9DKbw}nzVX?K;;s_dJuI;OMy^xrFsmSnmVCLFh$9;=6hZz!_o zW;4TK0iEN8jY(3pxToqu;V1jz7H;8@>av7t_aa;m8$-!-L!rqMM(?PvS#5Lp^Jk+7 zTO$zyRF0Hsuiq0RYEAcoPy2wc^oUdhJZPR34_?SBHtG`W9wOSKmhJ|bj!(e$xr@gX zyCkn~W9zv#4~UZ;czhQ;d5gbLt~|e0JKm}%c@4D*YPnX7nY-|N@H_oo=QNnS1OK#Z zeI(ThN2q0_NMF7;cMwR}Gx8z|6ccfH>1=VG0_}_4=6mG2#*@57Lrjv$x&}cFF6Y{_ z%lMFSd0JCHbzsa*b*4$b{a&c~hP55seX#y&2-FTLNMYSYeMdCIE_;OpItOZ9(c#X^ zsjw9)og7Ng-a7``iy96`HI!S1Bg(*`_CI&5igoBs21~|^)aV3~?yhjqHbbUblCgbc zw5q_@rRqmvjd^gVxT7vay=ky%qF1o7#`6xPA2BdpSk-<{57I!a3cTR-twXdu=M_D) zKBY>V>SLhAs+LxAV8=;WyY*&wbGvFL$46j9jhi=6j!Pou<6~Sm$$!37+fn-q&Mx3E=Rxh3q zg-xV2KXVaq{R`)G>t$LPo2e@rJao6edn=C#)4{Iu#emHX`nVBirm9cLQQYM0*utWn zqb)tROzt4P#HmGi=JyD0=zj`W(<3WqMV=JbhM9JwU1ce zXqL_tbOJXeNy^OKV&PI0e&hIWi)I&tT-(1>Pzgs=PTb-$E_`zxY*$q75}npLt}y*= zG}e-L@KLEYXvQ3J((jnQZ_CAHN%#*9rCwYHZ=r*7F((6i)#KO&`T}A)v?Ur2gDQKt zG-*CS0~{`hUPi=o5M8=(%@E=V3tp2c^FE>2Qzz(oTrhd-qhAPxp0xq0ek1+kJ;a; zS8m9$*fa4?#pQt!W)uFxcr8u$gYA$6$(49$L)?vRLb!7`<>;6Un{h7PuG% zR`r;&)!ey~T5gVvOCIm-@7jr0+l3BNhN626XKA@qRxPr{X-HGwt4#B;;+jq%5*!^U z^W^}->37X$Gg6IRzw&00!@fzC!ETu z(x^$D;QbX_`afYM>F^yo@&3-OW|u`2X#O$J(-g^fFsABwrs^Gm%|C}7B@P6sX^99m zA%V1PmEqxG*A&l#ve<<6=A@>nwrZ1yxGZ%c0E(98;oR`tIaswtwZigq2#p2Zi&Vmi zME<7A)@x>2crBvdh7c1;qp(xA?75X~f7n3C4>b<{?D`X$x9ym8rPKu zU;kubbBQd0RT~4LTB{)SjpolC+lk{#{j2m0p9bfRw~Ks_6e?ko#$!8dTg1kIA;sUc zo#n!WntjXwT!10vO72=}CO&y!Hi3)-GWHMXtCcF?=tTtvv{}XNcY(FB>xJC4J_c{C zkM`Hs>TyN^x@U{*(E~~>WRMOaL3L(u00Zh*7ByWS?VPvCd%K`y2TaI9Vir>1#c8DsOq+)4T5M_g=8X^m9>Z|>EW-D$DiOA2EaY| zasZD;3w6K(_JZZ|yqDyYmgT6wwq`-KN(sJBVIUQ^=`W?I!w1axgZm8_Dx8IfK(6ph zI(i^CLB(o(VX0lZ4gyemF(?&s(>e3qx~c7+!)r}NLE6*UmeMw+A^1_0A_?ll3H7dr#xAyVL% zT0X1Wse4+#oqhvAzJ~hPxCSPODr+i`^1h+~7t$Dag3n)WPexd{SfuP%fWq_;zxrX4 zCUoWR^4)gZnueHvGLyAdr}{7}cm_I1+2oCkjP3!4m(wNvSITvOHv<|N0&7J zUb0Lst@uCeqxCF5;oSRTszHJ_SA#&}tSJJ(f^UY?l_`ZQnZnH@85t_;YB3)rOWJ_e z*St*^6R}tel?-t&ITcWo__x&l?Jo2)80B%zF%e< zfHrObE|2t?a$K@&&E>$6mv=hrFxtJKqLKagdot{9Ao!5T?bBDGVP;hR>z2*b^%prt zEYEyC6XPXf1)9Me6BmTz?WwcbNpZIDMm;m*F}Il6a-Q{3wV{}q&<>y)mi%q|VmYrZ z{!Xs}S&%G8w%NRyf1sVXd`bW+2;?AIQ<>tw5n2D%*%RD|2*@u0X2w3a@RVWLK5-+-0bOKv^U62kG-h zhy-(8Q;Um_rYmXMx8?*HA{>?iPS;mUn@D4jrc%lL)8q~QOJQ4B6RbZGbJ6Zix5tX` zH@0dlbNbQ2PcNewlzcZn3^LtJc~ES2{m4~|&GKR%r2jL+9g_XydO(5)1beFJ$*^iY zfl~OvJI6x+1y?rPxGUm^x%UYqQc&e2CB77jzG<%&$Dj6g>z1`~irwZQxE}q=)ZWAJ z@t3q;0wZ@>?HF{zjV|sPU>ePbQ432>IDzx-;B7g$}}p$r@FVOQVuEVoIh^+cp`)g6@Yq{wB5+-xkuq6o<=9 zt8T4L@$*hD>R-~p9hdVuexK|&xJ7G*>Z|2MarlJ{XymaoQ)Id!Es#DzPktwYFvgmw zm&~Z`Axl9TBIK8t|4ATXEeMO?AzHELzZao|_&PWgql!BZL!H`+KOL#pXxqVX<+-B9q;O&=+^f~PsoO$zR6P`~ zf|p+S-zk|^5TW}pXP?&>PBisE(MtL1_1~3FwFOQ6H>_XUNN`F0cyKExA5{@5F_o!= z;%elLJ}aZ^4k}0nt`5ZR4b}4Rtp)6wsv_!F?voPbR|ASiH{W~r*v*ucPQ^+ZS9GP~~eIMg%mFf#}F z?G|j~+Ad`WG2t$QVs3`4<1J7iY^V#Z!ng3Q4Fy4Zi0wgX(>p5YpXS)$XGDLL1hU_0w#Y$*=gv0mc6+n zjJp~s+@|Ea6P>?^P%5x=(%2?g%XaL zq5n-+rB0(!F!4cFoUj5lLZ1?QP?N#`OVC2BjU^*LtQiBVYx24G1uo7uP`sVGW|FK> zDchjjjt2MClGdx?lBj$?JJr~wkVLNK6W?y35>0vFz38>D(r0=zj`nv~=bZ&gI=Pdl zB++GClO!mbInFO!!4Gm`N$RHJ=^*<~uzDk_Q&K^YFS!t|-M?n1^i~m%w=b0wpc0El z%KbpjluDw-LVi%?{G`9XGmSJ-mtzpqJ@p2K+q}UPEu<4ueH*QS98-KFGb#6~9OPAuaK^GrGqB1+pNJud?C_e*hDWcz9bV;mswiDPJmM+>sPqZ2{q$ zpkp~fZo;%`fcEzU4qHF9Gj8mWcUKmE%21nD8+ZbB7u{-Pv9F2*m9mz@8nXXm=_{b( zdVaQxb#Zss#i3ZSV#VEEi#x^LDX>^!(Z$`pNO36c4#jDUdnvB({r$gh&*3iT%1rJ| zCdnk(Jb8+Hsrh1DXint~h`3{EmLcs~h3$;*b=4MbrEkj&{=nmZr9%|}G*Y{q4w-Wd zKTQVkwgqWTpEQ1pH-{c|{%i_;2s;p24H;&KkQ6~i93Z@yuQPotHn=3nR3Q2umcVEw zg~!l*96VYqhB=2u=a?Qk+l-Hvy0k>R(}#b)&`9(fP|<#A(nZ8zjs5_YtJ`Bg-n}LY z8&MBtZl?l%*E)D8a;e@YGfxu_DRC$Pf{EN52|b-GB9iXZDat71$hhR!lC%DZ{FSY> z>Hn=@QM^&1b~VHQ@5B}IA9ADqOXl}!ff!$^7L;UZ>}UL+*O(x`)7fq?yK<7)UVZ|9 zsUtq)`bB>v2imrVW-w)mfb@rfTBO(g&*kUQX8kzKF9cc>fa%0Q(T0Onf^*3;yNO0> zkS#Ux!=?5^(j}5VEDKHqt#lp-&%tm;>>0bgIN{QzNQ|(X!4?tn4Wr^%5>$EeK}|#; z12Fr1+6=k~wDx>x>(DP3Aa8tq(Y}c2)SsJTfrit|enn}YO-zRVW^s4V_qopOOGU*P z{zj@ourKEN&C1goGt~AxvUq4I1}{OW z>|N-y{-?v-f(Eag)mRfEpjQk4v-meWVc6*Qp^S$w9_e)Hq1x#m2O!WSb@s4Fwwt>Z zG;S|ftPx1+m0Rhz2thP_=|RBWhQTEW$dOPw79Fa>$?#*-%gWjxyan8N;!iJ@Bl%vL%d%l7~j9^yT}}nU4NKMe@j~>3jBKG#ok& zI;P|7AB`_D39tzU2)4ez4G0{Z>b+byFK(9182rhnb+r{A)i+Ai`&O}mnqu^mR+t-G z!mXyh#d(f9mzzt?Z}EbnAPx7qTC))S>dqsgP#Yi(rSNU%Eee1j+#e=-<`=8S)O$3K zkhd7rhW_DX*;F`sMPwM;0C!lxJNf;Ayh{?R0h?vptU%W{Hq-?Oj0MG{a{kc~rfCDW zqT0H`9n2)F7}hwqQMp{0=rpqb?e&{;fjf$EI(yOKLC*pE?hwiy!h+|=q)Tr0gS@p+FPY#`~dB?A0yaS7OT_=g%d~9mpSSg~s zN_g0|pa%LI$4wrP88Ezmi-)7}#QQ*`L30|jTX#QB zjyt~pQdzVoE|{#b!*ro`q4YVvJ8I#Rot2S{(R#vlPCZ|M=NE6pf5+`tZrll!nG(YTu ze{KI^4wGc?RcB03ePlpd8vUX$RG`AKKydh85*NbYzlG;nZ*RlIkI%bdugp|^;h4Y7 z8-j(N1A-$igG*^e{cayVq@?&TAJ&b*2SSZ~6_IsU)hV<5(T;6Ea9%Nz%Xn3Z3Kebyv?IP1Yq2o|;rdPN5#*kvBo$Rirc%q$JB(G#jGm?T{2@;EL{Rz4MdR zvWenZ?+lqPW!aHzc~A(Z-N))Fn_IQNbAUg&a9B0RsQk}w`@_AbV{Vta7k!xI{x6+o z&tb>rG(@|SC>9UW4X5_A7(H7tII_IHb*)D(-<9UC-3f$8+)E6WInEce(CXk*Z6@Zb zCmj+~O%e^VXHBaDi?CGkR2egWc{9b!dKN$-UMbP%js10CQK5{3#cYONaqF(9@NS%$ zI^1O{(ACbHfm#CV_ok2FdCjlLRc*MMZNa1XWfLazPcvypf_T;9@2pi^AxCr^ zC@EJ*2H3$1^`qW<#Q7_duOB&CiL<%A>a}`ZsL(rjC}oaTv?mKfhlKl%MxlS-j+D=> zTzuvS1a+y#ke&l=dD0k!kN>EcZmeqg!*hw)f8Jyf-Uez{wpW>=M{L2Q8<0eQj3zfM zE9@nJ+QWF}_3hAz)&Ln!@#%uB^sU(T5Gz{!FoQK>q?}T8vXUnJdV-F4)b+@E3`H}) z2A$WDaN%t<#ZB%&+)tbpEL!;!#5=W6QXTN%DlYFb_THc)a)|@-yU}_J0YzzOBJg(A z^>wz9ssHw%4t2IaBHR+k=;zU%8CJO9&j{^|t`K!uHVTKP`%=g;SmnR2ETdJ-L|M8b zqm4IOe&HabCHk_-U>}h%0+r(NCIhDCxZ}IwZyJjhA1(p~8zMrmq-fq1zpNK_TmIli zp-e0e3>niUJU801`L5k(1W0CL9CgEnMUj3yhjK*<7V-)Y5qrlP&HUDC+9W+!dAQ3r zT+kbn*pZ2LqWo`v{i{NfE)9;0?Bih!!^DT382QL{!=13mvO*EEO?G=;@}!J^wv;JS zg4X?86~8bFJPdj}32|@eG0q9w@_$v>PDgsjl46K0n~^iU|0fqINa{Wr!V%*!+DsM3 z8EZY^$hMIpSCo?|hq>T8j7&fU@UxF|MtpJ;hg3-4P$d(6wPz4BD&NDw#`%#_nU2o% z`Llb_Vjc2BETZZeOF5n@5JSa{=;4K9r2c~=YLDi2kUWiQjLUnoB#t&aF&QF?ZZHal z+L+g{1SWDlM1M$M+;Xanj#V5}YE;yVv94Y89OZ1GKMFQ?LqaC?jV&q3~;Z7@N z(kBRSDMGPp!*7p+GpRUgJEKFIMlwIf(PVGspu$wkYX$=OsenKMgVZ94F5Mi!FKa*_ zj2PZ3#gkyh)|EOab1u;iKAkGUKJxrukk+$cO0g9P(n9sRqT)uP=wU#j+s$()XgHs% zQO~bNbY%TBut4u>`C?n|s_D!Zk<(8RY7C@^(%(nGotArxB0orVeOyjW8JkWy^UB|& zpC_h~EBD4c-Lf3^^AFwdzp@BtiF^UJ~De>)qS9!J@PX67>3()V&+j z(AbRVi3=!`k5pmsAe+(yNy6KjA5Gs72Wh4`5bMHkXE?xeyWp9P^Qpi35Pjw0 z6^e{GA7%SGqJ}MRa!yXfYW+@;{F>(Xi+mt%4nD6R zQ4)k2n$V*6Cu}G*Y(x%Qo-}^M7C4G9ECB)Wa;zkYz#C7+8CzajO$mBCURpc}dXf;k z21;boUpGK2#gs*^62RLJg~{P^(DH}N;hsh4u}jdci%Lxui#(|w*T;XxAwi{;|IR;< ziOp+%D7hoP%KxH2t%og`Zu_SYX|BHMj}=1-j_XtWr|W@QFFdp*7lj$qQ4a#CS|Ged z2$ys$LEk1$zf?dC^9c5B30AaW=`8HJ1W}P*LLT__WWN5FugiN3|U}z_>#3c+nE2$ z79dn2cpX^;uR4M3SO3_Ke`tvXgp}sb2|NxteiudafB`P=|2W8LgTE+DCKj6ng?1EX zr&MhxL6;^frBW<%cYc%+r-w~~Oe@b8y(2+?Z`=u9QvM%PU>2Xg1Wtd(xu;hDqjMG0 z6a^%8Jz%duZww`hjytAdYFTLjJ5-FQ6ope z<->a=)cbpxq>8OZd)DfL_g|YcOhu|1^fa0UC6!%h2OFzw6OiI5h488vfb#QZ1&U!W z@81L{H=(gjf|7Q84xDA`ObVUEpWkR~XiSuAis5X$f+th%(U2}R)OLP~c=oZViG^r+ zTc%KnA6?b7+CROSt0TI4ixBirY%!ELFh-6eX@~-=_}F|U3Bt{8g&l3n}sX;UE5@X1&$KOjo8Gny~OgVC|D6$rTyW#K#hJ5R9b=h;$Gf ze?g3QKD{ybU|p>XPlfj|rQfRA?tg9Dr~ffWRzb3{3NRhzl~=?FJA}8L0ATJ0!vePG z`EQ0D%EW;;YVU9U%cbfj7`-LAI|x2pvC$Js%$&6ejNab<qE{P7Y#~&!cezmQ%QKwWNf_6rCHk6ci*FeFDs= z1SYLNAfI(ba2$?;BlJ<)si9(3A?MN7SMSoCk&=p|9gaUs;E1 zSAP)-^S*~9#CXoO|M+z@PHG2`$vn78-T(=QWr83HDGDOARo#UZnegfVZUp#o+i7}VQbNU>rq@q`a zl(1NUPu&-j1s!#DbwlZ07W=C5|2_k$(wutrW_@8uKm+f%|2>XY-`22U+MG>@+>$be zZ;$Rj240T#q^4@SXj^%Fid#`X;*ozu5|9RIw=P&Qj80jNS4kca{W#@Q`Q6M2wMc_~ zDl9Q#{R-Ajj;Dtn$}bVO^L+zq^2pq4s=F|pMr9Ceq&AsS(gm@dpsHr|Nh#wXEao=^ zO$-%{$r=AC3{nd+`crsYCElW#Dg7eBLZ|nctpv+Q`iPXMS<&SCkaXE-&GG;r$7G;1 z9T#RPAFAT8&r!XK}ew9vg)=;SU6bAE={7H~ImHNT87`j3L zwyamn!vVYZNzKcm#}+QpYg*xWei_XNS2F{3Gbe_lR5~WmlPvYW=9UKW!qV6HMy0Zx zV^))u7K(WOwSUy0ElyxuNFNK`IXM1titR#ppK-*)!ThsT5*;AX=VMN?W&)#!!GNDK zx$3el#;U*KZjn%ft*FPUm31`zaAu;Wu@`mgJ`}?7M}7X$E%~5vYT_7G9+G&(z2MD) zI6BK2v8DsmLyAPb)X}JSi6Xv;(Mm5k8)r6-REgEAgK%`nIAlx*&`>J6welOx}%ei#gR3b5Qf0rwx)3KC>Ju^Zrn;IPh!j; zflb`DC@5M%&j)&<#%~Va2OfIB6&~vVgBSEUx|en$u)n{D8>zT$Lo~^epW%ev?GcA% zh9Xe(`*@1}y4PC`t35$=^7VH$FDmZvEihk+6wA?ceq>_C&9Uv36QmXEQV9-3z>&Bpo)W(yi?D{Ujq;1*cc~;Ria3IhMcY-Jbd`nxrRynP$7o?^`-=q zjxGX;@=J>8pA>f?wv)IF{4~|9L%PeSsKxazK5*2h-l3;N=G`3dp7~AAnyjv70so%; zOZl97oR%6<;KZ1I-9ATZrh5&OjE8$47Omxc@bLzI`)OUdHLrRof&-_-ksQ@-y-kcKAF83fY%ugkM<)#y9>G&Z?A;SSe{wB#&277VBbWMQ__J zhKy`h`EL+sWfJ_(y2H>TCY&nYM+Ta26fOmS#E!Op>~`JKFnnnrF|0Brs@QAtFGR}S z3#iy*YkOO$?)2wQNn$DG;BhDjeKOE>_0$@*+oV6-W#M9bMCElmO5vPzHW(hmR*FZ# zM&n`*+0F&4#6qSq^@ffXo%9QueEWEi!I1<0&BLTpG86mhi5gfte1N^%kd(P?=k{sS z*1>e`4{_qt>IhHCHr|sLH%W8F8@Jsf(Pc-91Oh?5RsrEzf!dMK2dRzby5|^#qK{5U z`dVQOqwjGODIMtG4r||QU{L+&T<2js0cDsJZ8P(5M*m(|LE=PxCVfK;xI}0!T%DI< z5B@x~)TgDFkHdK}Ch%)4Gg!s9lbG2&s~pu9SF7K`pHyR&bf>5Au}}%MI80b4<&7SF z)L1G{hx6)o@w|WVmLDT+7Ve#T2wjMRHp-l0)qe}3y@mmgu4t+5Ql>Aa0RNUDoCHiO z>Z5wHHtKX|N+mCJrhMz74DGl~+ z2v}N2Mqlne4t&Ws@jy1*p~u{G=M&}TnTAYNn&@8-9i@~Lj7Iz!E*xUO<6NL}C=^O= zQs&m!DL+Y?WccKWLG|-zM3)@y7rnWYL9gvGI8Q|nV@yZZyP90Q82+{9JoFWC# zCRa0n$f5~STvUD*;>3!A!boToxSTVNru*sXmZ{W3y7fYaW4e=+Qc&1J+_UmjZ zg0UAtSAU`+02;|ea*2+nj_w85;lni|r9XDYZMhP3CaOPU|+ z-Cb)*3#=qK2Oj3`ni=%+ym&53TuFu!{)L`pVMUctibLR%vHC0{m^RF&;RjX{=()1J zc7KU;^At&SXva^);g-DISlkb^7Llj}_)%(<nmQS?M;`83$HORweR3A0s+l zGM0!M`U1>A`0G~IDF-SSM*ae`KUVmi9qn&eZ>8AF`ah!4*t>lL93HQ>68vOD249=>DU0-tWhX9DUx#7B1M^#3 zajSLDs#qVwOsa>~=LF~=# zvDM@B8GQ-8Dm|c#d;`t9lXX!(>ZRr(j1FLVeJeDPkFU8Urin=hXDt`=*z^l`E-x5am-%w<)z~3RXZ>4%T5` ztAo!)4k=|oYb0o^>Q|rYz~hn&VYjEm^gz(`b-bK-OPn1YoLI32d}F_|e<|EzEt69a z92LY-6?H64;3$4(b=&dX{Af7Vh(9BiD7ah1d&afF2?>;~loaBkNx$7Pa-$@XGqY(3$M-HFppN_L^5O0%nZX?2kmGV1xef9{YXC#okun`W)$V zMPPU8ZiUMfu@|4`4rw8bgi`&gq_~SjIY7J1itBgQ4_xoy;bytqB&82k0r9aBAOl<# zd2lUV?We{X!VYu)ZxQLB_9Z(x@TH0Xn4l}M{Pqh=vO`VEcP`QV?nB*CO&5?`+i-Ab&cjgHWrP} z%_D<9&9Cgx>=s+jlk;5AQ?Hs0B|SXfYA;I*{aj5plz1h>7S1T~FF*y@=^ z11MhNk+EJO!+q&J44OOC&*mSYKLte{D+YfKarlCqOiXU*6^${QN~h<4&YG)6W!;#X z&u3RweQGs5vBfd+v_osTAyN>hitVzHiGBL_!vqE4I(AH&KoEKE{o($N?As6$hBk{J zy&XL17yTrJE}W9GMO~*aOWiDP7yVvAB$Q9pksz_Jogx+ySKF;kd6`qT38qh#BYjkW z#fI?PSn}Q#j+aRx>uhSR&~yqwL`eo#m;@Q4XDP_ket&vDX8j&yTKlU{7g&7p08{A& zq&M8+op#|G3eP0JU#jh9L-S*~@#m;P#f(;hcCG4Hi0IA?n=e|IHKF(f0~`pjrx>tW z(+3{s)E#Dafk#lCvO;LrDlsySVY=rTLvOp5hoI~SfelUxaAdTL=ATl+z5=va0209t zU`9nl5Oc8in^hgSX@G=UQp*3L<$(IIhKGhh{D*`Fw{tpov~_gl7~~3_DUo9Z#?<^w8&JFqy&0h&i4 z3YPjBwl)7)kn`d085q7cKnM_>KMr)eTYcr9VQ&}{xnjCA5e^nV?7IctAsiUSLzgSX z_q$Y2;i?c9PLYEwdbD=1PWLU7@SPt9){D65!I=`)CS!M(V}5{^QHA7q*jJ|JI|>Dm zs7`}yXyycVRf^02cCr0g7s%S|LYjDTfIO0_Q0?Y82`Mcf1eyf#Q^d7 zU+mFgP7I;rqJN-XfKHND116le1R~fx4=HofAT3O>-}rc`-Fmj zQ}O;~JJQ!JlN9quoR>=p%s)i39@`gPbz5nHzTMuP4WtOZa~}L|j4B%wpc7;wf5bt3 z)V;lK!=tf74Kg2tg}BnPyPIXpGrtkqANU&A;rr!5q3nAjYyBW1NQNk7elYU(m-y}G zcdRrRP2pE9;m0;8r~1XA_&IH4f6TW}+1D~QWbRB1z+pBXE2k?Jw(miHYTGk=$$%Q4 z0oy;ePl3MXD14$Sm)dckZ`#{e8)4?LkQyCcDHu>1wyuIr>9Qc!^U*1c|-|{wc^GKyg z_{}#ZbgwTMoa7WEsE>?TLKZx~|JDOS!GiQ$J z=l!Jt&!0ec485ZO$I^{D;)CSh=c`+tF`dnSt&+kUo~YwFRnX%EIN(Iz_iP6gZOuXN zYwg$#wj4|e1&PPq=A`OG$qz(vZ@=KWAXGbe7a5O6jLu1(J4ti%nDPdNM-2f*sRU=g zya|-xU9Ne_Ds6sd7()n!-51KvMp{~nGLDHH0VkhQr+FeBvMYIb8cK1*Z*8m#Rr!2@ z;%yK`X=Zn8Fn}#H28E#%mYCN}vLCwinzV;5%xY05 zmfSCO{a-HBWQAn|k7&|%V%q(z{rVOLM%-DC9N6<*4h#P^SpK%l%9Eo>(8|>WD8)Wq z#6yQj{_fyBYP(@No{i7Vlk;al{i~xnEd1Z)XY7J^claEmY_47gTiJUr=P<)43y zM`l85HgE$|KX(>t6}PzH>E_!}8_=j1x?Jm-X#8;mO2O`Ws)L}ABe&yE+RMQZ4aQET zrAF)E(oqGfqS{+nT1GeL=gQ4e)dO18SkWU^dtY4q}fEY zPpWoXimS3g>#+)N%wKu@w4?jM5M~%Hj*VZ6eo8^622s%j9}Nw5R@kH~V_W z1nBxK=rhsKw$_v=)I6H)jFIz4ERI!Ot{l^gQ9w8=8wvpGcq{s;sq1q+Yk;BiMJpie zya3bGSySv!_x+J`wZUyKR?IW2J6Zr++?3sUgD3TMszS>Rl1I%l=H(6m_ z0znnxJWb*O9u1p9S`y{wuf+syI9iZk<{O$X=G>e`IH+FS0%H8!`$L+QS$K0jIESS+EUIK-WHEji4&rGXduAWctO(1YhcJ2?ovxv!imF+JEqKz2bZ z4Q~?Tc#Af6`yJ3uhM5~e$B037ksuqd6Qy%u{ zH8nD}B0Vk2Hg*oIJd+Re5xpwDfW`I8Aq6Q3Q|c3oywQDdqUp`jxKi=~UEA0M+FP+2 z2Tm3i>A;do*X*|8aP^Bs7*`=Wl}*$~Oo(dotV-R2C(I68Wcfv}LUpWPWD!#}n`Sl- zWtsh(T?HotQcu#Djz*X_(zkCZW?SA|YLSfGs@Wr41$tr-b5eryG|S(|cs+zM_u_-c zNfVV+7nVKsny{J70~@O+-=rcsv6i~q^oyFU-@==|n+9VP z3;?fNo@q1jQ5#)^&}HG*fumw1)s=i||K?Xpj!Tk?Z_u#);weQ`lazLr`y_Uyq@p1q z%(l9m;nn*YeIkZeZRX3bEQb5<)Na*VGSZMwzK{)oHl4UtmcFu zhK}om9iX+=TULPa*24D`x25^{zlZJnD?1)a27+GTs`>juCwnfeILZ(V54Ige`hHrL zu2Y$@av7JC{j?85@GnXKIwsoZMZ16Gd<<&I+U|V_sx=U+9|ro}hj*lQ^NK|n4#fZq z)aM|AfQ$w;P<=8Y=*FbOKIIYl#3`H-4m6DPcS#-5I`P(E6s2Li{P z+X#;rWrI2Td}2u1?5DC0*Q?CO)t~rsNX`L1;vvYq(6HBx|Wrj_E~xU zVK?I2H11ST+wT+Y#TDNlEB_+C{fpsIh;X$IO0%tykxe!2(y98Q7ijEx6CUwxaSRjW zQaQze$M-=0>!eYmsHF1Sz0_z>#^?8@%=*nTe;^)Zse2WrkAid8_Gt~v_@)I{vY-F) zp}MC%+wJn9CZ{SU{7~8v$1g3I2#`t9A6O}P7ihWn?NKOzO0GRyUEqZxT7#6nDpg0X z+-q=3cd-;!Y^N~g#WGcSSc-dy$znWGT3g)e&%^L`xeUc-IJIw45LPdBl&yYruBRh% zha~f(|CzQm%kiF>{w>SLP_g%UMEBD~pCFf?m)17leoV{)%R*2JI;0+) zPUib0S1Lk_tiFD)JGrB3!o)_CWIr(TR=S4Gb=T?FiTXf?PZye7gf8?*=kkH&d2UFm ziW{l;0UXz`Ze}(gqoao6ZMajb?<~wdrbmI#Z%f^7<&2ZG*jtPD#IAPJ`HmDqjM1Fs z0^dQJtDbl&(0T}bMp{M-7u@9uE|R8r+0tCHmWCW0uzDe2>^IqtJIL31nA%>16BY(f zV}1rKjEsHd9b#KLUZrWu?6M7MW221te~tF5Hn*b4mbqg!+$jRx{;9EmYy_GDeiI9f zCAGhmJ)OsymIvwwU33hca_(;?fas>VK}%(BNWpVdimQBn-$p>i+^Q8?4L?OaY6Zu2 zXBXa7L`v-b&OYbLcmHJKg(Sl;Mo!Eyn8#^`&XYN5!*HIt)Q~fI8h&e*jWV_#P3osG z_kQLdt*jO5t_q1zRRLg&Vi>0Pkks-1!Zk;CIllt=g z)W1Op^=F&EBJ119eKzu;CSL3h`6a!@#b!FlM5pgq5mybDg763Gi>obg)_JF1mbo}V zRLoy9(!*C;{Zufj+c5YD`}B+EHd>z%Y8Ur>3)jtQ*55{+BMpBP_@0>+j@Opcp6ud? zK$TJXzKKaG;5TwIW1rNp9lD|cdqc+9#LO3JLJdF@owKG0)>M)cZ`@rdG0r260x#WF z$1|rqFH~3DQAUyqHb~YI7?JQi5&q@EJ zX~74a4B`(y!6Zi7Z>QU)d|Y-1gVNTBnBNkj8$CXua)cA|-6ZNxe9q2T@GQ?x?SB5Z zuxHafW(b9RvT8z=0eAnH4kNE{c(Z_4Gv6i|8w6fYC@G*_7uc8aajwJYUNroJpZ^ct zZ+XDKuUo|Yd)d)ex{_8N61fGqV~=9&Woz%7V7e0d&DO$oYw8p`;c!fSkad^;^1_xx z#&XgyPWB@CME50EHPc3@r8TLP;Mr+T)L0SL7O(OCbLGi!N1%#Ja5A{kYx>%GPUOkB zyA2G~Ql}n^b8rdK$vhy_xz4g44*mKRY$tkGigsySa|&Q-+rZUgleT}{R*Dy8HnNGD zGA%_En`POnD9$m?TGZa^%%rY>7!bEM(Kzp4^;X-!C0aqkD4Gk5T!@}4?9rZ zRGivn=INIjeT=kI#&eP4$&*IU$z5k8lZow|NfswU-dqL8W5G%H&hm^%wyy-O;- z=GFQS{=}FFoj_0sDfvFS@;wK$fX+-5oNrd@#Kc8*p$o7@Fk-(>om9w$UgQ_pWDS zoc{=Bt3OQHR&pX;4oQqgqUU+bizo}=E`efYCs zq=x_!Dt5Q4FCmYz2D3y6XV3XAX@3VGu?g}hcU2Cx)sQ~sn%lFNpKy`BZ zYQ*=e*7Enrt{r1SSj*RIfF|F|4F7arg(vo zF8?2zv0vC!7H|bVNsy9%zhK;w;3;aJN&(rl=Xk(+*!b0JOo27>UwGmxH;+OJrJKCE zxp(}Wv7Aj*Bhf>>n~?DG#6Owcsfl;98g{y-nwSZC{^`H?P4xo+9DzT<9M7 zr;+-UN-3uw7C-M-L<-mOW_zya3&g6o53}S9n)e0#RR0?XJ|94Gwz0!ocGPO5ae>`i zN&)m+%S^d>&!7nI~h6oq05>_^WMzLeunJF#x(-oO_e!|pgui3DXaHKx=^sLzbF zg&4WW$7*|tX^RV36L)#d;%MgXGKUhYXsG1DCMd!)#G+|R838lAmLCy1Ol{RV5VySQ zir>eQ=Nk@C$bQe;4;iY`Vr#}yI;~bNrxS9(6PEZ&c%P64#|A?5H|6To9x?<1Z`M!m zuoji&dB))Eda}XMN;Uk=bndBHMQR5Qpu(BI`q|$F_~^m476ea9b4%{kBkC1#4mAz5 zvORS;ZxTeQjhxLT@9PVUS{OVXPZdN`@Rh8^e#-?^=oDRZ{|jU4${_v%2nrflhB@(> z)|AeXG|thO`u6I!bdsvQGYp#2R_BXOZaEPSyN|H7`vDfBwgJ!}h4Avnnl=yDrfLNC zPplgBNU3s18MN!AUnQz>zLiuRVpa0fj=;kP-Debir{Z$&Vhg_2!|vfQFB271Uj{!H zCmVXdtC-lnm7X<&$iGymuuao@#zTa_cP)0x?W~L;t~lQ0zjD98ua;{xEQpei?sOHq zNsAC$waon}|pLXi+ydk1J6Zp|3_LjFC zQXw_?6p)cJngTqYgA=fJnz+H{7NQTdJ}cy7ydy5GJ+@EK|BOTxOkH85?vFIQRVYCT z`PEiFxh#!&!_s%}Xs(w$*ovw>e-R|rg7rX?!VNK`0@bFs*PPKdt&@FRm*i-W4a zlw2Ov<2K|!O(3-Wf{FZ4{W)IZyc1vQkEkn=xiVN73aQjp&eT(VkCgm`@Jt~uQl)jPn zg5h_RHF=-JA_VQgoyOX$BKsv;N`Mx0PVFQ>gK6AIezYvDyRK+-iIEv=xy){F9!f;& ze)5aXNb=hKURsE*#8+nV4$n{Yb4Iu>`EWr@@DTS|xG*XvK!t^Z=_e6yq$JE(4jjn} zmP-X)>oGH9`L(V#g8wiu7^XS8=+9JvmKND8s(IlzffKzl!Ylb)P;S zxh@_gOr=OlWAZYO1&*!;qG9f+O*mzZbYJcmGQ90n9lb~hlnE%V_qGqwk=hO73;{wl z`a~9D68zB1Zl-X$Q7O7#beRW`JL0L-_Ty=v>IHc5jY4y@5Vq(FC%De7~FYfOIwg0tm>Iywr~Mb$qH!I%-6!B8fb4$|GRqmd4=E532i%2mqUU5jRyxy%bRGF z&Dbkq;*`EZ%iq!Kc%ER`J9(c&hkHL|MX&|~c`_;tMkHkuUId=qeRH@NL!6HpF28%w zeQVR@+hbW6fx_wDxCvD%RsaHH+(3TI8KSIm;V@j~0@{%gxTN823Q@O-b9LJ-uLNaG z1%*Q(w-2-aB_=Q3SVD7Y)?|P)ml+r9IKaG{27j#~Ru_i)c>tsPR@f>n22g{Np^$F~ zOU8Xt=S2hJNBrE(+IY6gT7i5Gdg)dG`}@CUPqV5|-ZmzHCv6&YfrK(U&4mKXieAw& z;`Z0huVQJPKk$=DVBkpZg&3vUi^$PXCA`Iu_QX+w&3A{7(xy35njiTr-M;WEy|>CN zKP)V_7#+|cAFF=gHcp}eqj4)+3NWx_YUyyPIdCgy=Z@HNWN7WR1*y|PD>5P6!M|je zmB8UpNTx*1VwO^D3^;X-6pIy{dP8%apj3B|*xhsBu$0*O<4PR757o`Ud|~iSWrM-T zL)^YKWN}J>2Y)U?=sN3&-{~cO8ujPBgiEG?fn`t^*2(hdXI=jkS_4=!3qXS6b+x6n z%nd0H{Ag#QC2JE#T}=nEaSvKtjhpoIP&flWzEzJ0KzdZ zL`N2&USuUU1#Z`HMq$8o!d_x$cnK>F!v=vYmNU`D3Ky)$jg_%OWmr9-|tQ-S4L! zc>>x-MOn2;vt-Szr8o1(1P6He&oi}>Qg)Ysi69cM(~V)?JDYSlGVu>j+Fz2TE03%{ zQ%Nodre1g}SvhNajv%?GQGq8LQ0V@iFX$^hUIngf=QLNOgU=^%vrHIHVMzsj`xP9J zjRIuUphm4=594=b>5(~>2Nh2N4!D4f7MA{89j?A&ZVzF@vOS4CdEbn*CZ5p3H7KNX z*pDMK(Oyiv;y(TU)QT9LPRbOiTq9lb-m-EjP-u&QE89E6YHzSm$U>9*Z$4aE#D@%Y zfbpfH|A_;eCqXPr>kRo9{c^=*rsSYPzS|VQ5o~-dwS_gsI!p?ddkl%uNL7)SdJHd8 zi1nVbr@C*wurPe={WZ;%3;X3eiAV;8JiM10|Xeu0dJpJLpFKr9{(utLW66C$m*s2 zyi-c1H~~z+sTSC$I9M#JCCQzHQ&A*8h_>Kyq2a(ypv1zn8&{4oDg`oYBvoQD*^|yu z1cNX63tQ;%Qbn;nSzzz<@tf&k0)E{&zfJmM@5zF)|HHL5&MUVYo%=y`pqJ87{h8la zTxH-VUlv_}7uWW)c;tVUap&2jb4J=te%vRWJs@Xi$^h4s3HE*NiTbF*O@Xb4d7wZ^ zp&2BEyK8@5n|Ezhf$){j0p41=b#=^%u(^k&$8olh1v}S5;ArX*~ zz6dRL;<+V0CWFg@p0(~p9>e9ctDhm@B*3i@T678iupvbFa(ur=$(l-KtGuwdd!D=) zQam}E`U-@~Mm6q3!P0}5;YyH(P3Ugf=W{DPmYzB_bO0@g7uW^y^LOeW9ng~qT3Scg zGV9lQWB<>Kr@w1B@Y5*rZQ-404C<5-^ooQpp z;u;-r4ITA)SCL)x4u%R&9q%?Js`)FvD{Bp8=oFU^7%4qcj_t&RuG!hU>@sOjZ~e8{ zjGe#_On@!CPDc!djg36n2L-%IKLW5)f_Lqxn^BzSuNuO2r*pbhPglerJw);X}j zdXSivxiD_C&PW>7dsks}mj@Y>+)VZ7L&2-AP|{JBHoO51r}Aw=%OwF?RR~0qm97vg zyu#&67~csZgH!*M?AN%g0~4PQ@5elrtNL80M9pJvzrX5B;wT3o$Wz3+je}Zc;019k zx`cnE^G0fuI4W2J*+;%1EPRni&ySm$6-wfoh2}6IrW?UMiK3Sn7mwJ;Gz6B4=0CIJdfg@4|6v$MkTyi{D<{Ho#oAp zg?hsqAVtAG%T4Aj8I<8%{IM|Go4;CoGqz!q;+GDznfE2=kaAT%Ckee=@u z9N#Xm92K4kDLbNw)y`@!B;8ib7~B(=1oSc zdJaI1U8!hYVY*S5EK%rIRfVJTO8Lqbdqj#B2Gsn9{k~uXPPS! z9RS=?huW0NH)(+bRfQrkQjyjs;;`8ns;a#jU>cs1n#yS6I??(h->tpBF(J=gFWQnx zt1D<#hhcdbIIfSO)Vix#T1WSVOiUop2F8aC7%96>X{Ar_4h4@AS;)_c3aSQN=lM>V zyAW(am8wlIf;i64Sf<5rM855cP{^$&SK5eA4g73dJ>9%^Tw{c#$H{-7>@T>K1Utul zfZhg;E|?oFWRlVXdOU5lfcx51-Hw|qabLs#%`684sx3#c-x*~LC5KynYba?re4*fZ zhH8F@?Jr!UtG)C9hdl-D9ctb_r}3Y|{MbYSrUac`YkoItEJQpZYR z?urg#S_kk4X<^RgYX3*nSBJIr1Z$(kiY3Jh6o=qe3KVy@1TF4f++Bkd_aBxP2@XYy zLkorC6o=wa+$mnTr}w+h^PPVZ&J)h=*`1x8dFS1k5)%x676?tsD^ZI>Uv-)a^6Zc! zBNjI~UT)g#Pb>dLQxUpQy1o#*Z}F|Eic$0esX~0>c=r~1hbQ>uR->Unm1}M42P$oR zQ`S30BtL(`$D_6K29d9m>Do&NI&w*XA__n0Tq}3id9HxvkTH^QHPj1~`;k8jqIn4m z=IfcXe}DN>!H90g1EKIVCe(vJm{HmKk(2{B%J;1 z1?3q@{rM)qzq*kUHpPBE5NXNXe#i4xYuwn4ye8@{iHASkhI&Q><9y)K{{m-L@6Go} zy1X|E6IVOMeMlUk7ckU;k;1t=<$A8st#dLo=DF@pk#DjI{3KwGh9#B zZ+%JcHOqQGHMs0A{h`rgRGC3DBq15bK9^Tz-NZuuE#X_si!;ax{9Y&_46XVH%qALc zg4>Y9K}?(8EqkQYTxkVAbHh(_t$q8#OJ0skP!J$twn+Nu-M>0`niSGHVj@|&w#v3k zCh;@PYOK{_Z3FlOlRj~|fIv7EYYy~&x;>Y;Js(wMrlcC!8G3cr-p?-lE>rbCsiN12 zA3@u~OgZm6SPumME%(F^(eA=M<^az)h#mp}@P*HIg(u}h0WuvAe98x*2|o;M|DL?N zi#M}xG8jy*kVYKG6}U?pWp5*`@?Ba_S0hjPkJLZaU>vYg-?_`Y!ocAcCBf?Oj?cV- z!$Ifg%A(e#EFXWO!qdXe5{o@;5K|ZQYiup{u&Sleq)+N=wzI6K{`OAY*4*^U`|dj^ zvQ}x`Pp{P)FxBKDV@;mzrd>mD$G{9PS4HV&$h80)mPNLGi-+G5wwh5{jn!}r6t;6d zDi?K$I%L-<7b5{C^+PN}PI|?$5r4E!PGGWX;0q7+{&(rB4=&L^tD$o+UR0_P?ir3C!%=ZH@ z)>Y57UBynzXn%?k1-y14LI2I}`?ke*Kol?HX>W!`srRoo79;1|cTjov9nBvjMBmI6 z*p5b-yJD%O1()C3inOObzrsz($MkXqoVC5%k&ai3Wu$dRXDAUw?IFr0!CN;b^)3i!~Ml(l$S-W#>HQ$!n}GVb|PQixL6`zFYuM2EfF&ZRIwF zr*EP`%scRliF&}-{=7ezR6GbVm*$+6L8X#a+7|gm#uDwCdyIrM(&y-3yC7M!nN`V` z74s=HSp?m)9VW{n5AseOYvW(qwJ4(=$qfakPL`sHIF=m>g@%n)z95R}qkbY$$ipqy zz~Wku?Go3_TBkDI#;K>t{VFw)AVB z(IzDLUUIEdo{fLEml^%`nP6^8>CBO@J- zlA<)IpAHU6i|jMtzxX@iG)Ck3=eYfPTllIf;7{J_HNaj9zOWr%3AmyY3R%6LuPM*u zxWDcT{lL^_o2SX`elyIs!r^{%{k19n;0CKJ(q!^io4s=f1VG`GSW$u-5|*;#Oo^K` zuK!~QEqj_EBf&t)0(}8F!TNm)e9^BRI(4^BjlViKI?AoEcuPXLcWwK`ZxvSJ*}aco zKmeE%&nX^oozoHcjrt^hC%nA6MZlz}oGi7Qc%c&j;mktaOtHHgeqm@KJS)e9$q^q4+35 zyL*Xg&mF%=DHQ+G8^&{ilf;3#cDj0<+5;URe#`7 zd}B)NE(USG?Ii%(z1u$;om>5G5C{u;DZQo4z7tETWoJ{6((eWoORZ77udzSs2wxz} z2I>a8qF*K)8icwSPqb==bmCo?;C>-(TDJ%Kkj0Glk(mImFjkH0LN-emeaen7;V(z( zmyXtDFoa5~gzwFluZ1!G_hL+ek4ZtDw>lK3%g%2eir!z7PCTYyhT7x2$Bhp6_%Muk)reK!? zOWK*ZAO^^d>S3#06|>^CL`iN`{L2R=DuO4IFZZCqXv(64LO%s5l!;|7l-;z@u`pU9 znzyKLGkbyxw;t1p2X&OfaeAEEQOp>yaZhl~?h2;}a8PQP-cyTcZJo;4uJovN{cD@J zrajKOUgzm+WqZaiaT>I2HoU`Cd$jC~&^Nu~P3xyrUr&~38(NGp>Snl5c%Fvl;Gnl; zQw{RB&2}~p3FC5!9QR-dB_$9HvT^8hk*ojgDwh#dvqo<);%zgK0@QsiX>^0Imj@YWsZAUKmy&@!^PvB=ImX}nmKT$PmO7a zUX+kv#U8lwal-U^QlX6i9)8I*Qr-hdTo7f^_>VD+au8NUf40xulD}3CdK-gDa+$Rj zRSYl~H8@?i4=kBo-+8qbvE*F@(Gq1bNKJ{uSRj0r>S)lr2<2_T_l0*kcty_Rvcxqp z-$1LM$$r7GfWczc%lc}uFM#_A0`zJ;M)icom zcD=Wvb(?Jo&lH-7 zHR^A|ZBgCH@B^Gt%qDTdo1aB}fN%~SL1rd|K*im-#bq-FUXedVKjK0+)TRq#I#-e3 zh30g8n=Rd_o_+P^P?nreUdJn7qU`9@^AYeV&dGT-{Cj4M+TJ*BG5&WJPv@EY1+iXH zZX=7FppRJ@CV%7EU@%2TC-rW|6%Ejew;cZ{$ujRAvp z<*>AtIsZ?TKwMt>-gUunp_$wTTA+fQ$f#?&pQ|6#`eQ2 z$+en-}I+vDN>Yu@cYKn1mwI2Wb{;r!D+>BINa#W zA_6#{PN5z?scf}wfc6>fE|L@ZUp#YgnWLm&C7e0fKKVESl4vq>X(+&t-!T1FYm>&_ zGCxOT0S^w+rJWq3&BZldzHkk)wJMeO7MHdf?Y=O)!tWaIpFW0f#(eqqnlPkMaPe;X zxOb(#oPfM+Y!Y9|R!M;0(n^%O!}gvuAuy}1Z&X>0hG%?)zd^sOOK>G)0d8kQX*G_y zV7yl8$a~{nRBNXCCSv~?=n5)+yjOu4!u)Q3vQQ();WFLMX5VTKV#Xa0Rw(M-Q>vhpbNHgBE(AUX+TzC3hlvVkQfPotvrJR-jIcIX0>YN|yaP7hM^p$J$RF491-C zoU5Xt3qlmOv1DC6{BlY`7f-F5I{mhwiz||v9{xc&*J$AQ#4~&Z%J_<#(T{wH-JK`g zFtdN{MwYRthHRKldae2KPs1luxh(N0G|J>biq-?Z!6L@um!^r?tb}(Ai?;P&#qp8G zm(~^vP#7|BLWrH49f8ALF8PP~nYUKvJGQl~sHL2rtmj_!REY2(Ba1ta&)Wa76HJT< z3^sgcbjcME2{(P=@-gpbGKm^)`}8r%7tvD2Xb9@GeHg#&Il=DUP9hAF#fhot ztKSVW3eW$ILI&D0;W62I^}@x~beRmJi-NcK{U^i4Zr9SoLD~Sp`_`QC{>U+;C%+DZ z5no>XGjVE_zp4WKUJXp2yALufrFTTKVaN4aycM1sxav50Pd@@|SbJRY<}eSd=Vi2d zcPv)nxW{dm>R7UyUSO*_dQ^&s)s@$azT(UkT}894-4e$qA45r*ey-92WS_xk#`W

G@6Oq3%c$NsXs0Xj(|6M!QVM7?X==gB#o__R^q7ku$2gG}%#rYr}Ua@2M;VLa7V z-a#&dJPGkHnYIc%kyAnB+=d@kyt==9VjB6-GZN@laadA56+sdAN2FZf7QUei_R2%| zVZh^~gXc%9*Kw~&3SbBRvGl($4C*p!YO^h9?`9>?K&M&EGL>5~3^v#@Q*eHLDp2Z# z{<<<+`vbRFsh}78cKhnVOYTF4*RSH9Mj8p6GDuBH{Tv0gYEzv9W+2VeuF`+l7rqbO z3f!5Bm55)D(0;KcJ)J%&wm(|BGv@3|K8i~Aqw?LqhWE!Sdkxo=@5MSOpLJ>TIzuaN zW8@w?>0zT{Mx(>pg2*wkg&v(N8L+bjT%7n>IVsP486DaqD}JEb7q0X)iyY(Y5v!CZ zt(0&4y)?PACDngtfWrhI(d#HCM0gktn^D=DIBqVE;CuSSV#I&@W|4#D_H_N~xK+Gn^yWI(SyOz=4=`(&VQ`g_SyZZ zkz1K0iX2qP_1IpPg)p}ze9zfi_MI9|<#B;occIbo$JS(iv7WQ>=@t1GHPl`N=|dbA z#xPq{XO`RtGeO9I^XpdeKDgLlN&{^cUl6^wMzX%zoeZpof}~EIamC;Ac1~bs9a!zR z_B4AMnuEl&E`HJD8yN2o3$Le=#A))Yjq8Itu|55d}2H$5`g2u z#ZyoCz2>44_UtK-))JmSiw6fRbO{nquH2lVmYd%i9Wt2&0Vw-S&xhpzofRW+0z9|8 zM|LSZf9Qwm5xjv60dIb;61lH{gtoD2HM=^g!ZPBrD2y?ZWWfykDOcTTh#Wuf;=`Gz z^QdLPY6+9mh3q=2Om{?xCcK7f;3rq>O082^eO~f8mV+226k_^p4YQ&eha+R-yR%Bc zm>g~HY)2dchhViVO1h^8w!3bbEXE=9XY>Iun+@A z$p_8je|RE6PYzb1*)6c?7z|_O$toX|dS>mps_Z1pt1mvPyxwGo7%Lx9Vw$EfGYQwX zCF;oBf8I!%P_X2mNG3e^fwB4J^^0er?d|ibtI^s&fr_^RXKDv29klUx+JK?9rj6$F zYhk$}?46SPY9TxO`PIfR=ULh}dD{8!D76wx<-nCV5RFe3j;~!T(RmI1 zp=79|7$3*0YvJ@*esoGs>PCy{U!&|SUUz4eD+m$OYPP0UIL~HR*c+CCboJjAp@A z_VXX~SiJ}6%hBqj!V~X!?qm)e8wRCx8SA&-xT5?b+L`T}De4ql9mA&)CAYJ9rQxU$ zF(h`cAm<=Q(9H~F-k6IER1vK-p46!F_d-2Rg|+Mk)#`4c`~?*AX~&>cG$RhP28QO; zE4w7RJb~STqa}i^NBwk^9-o*@($^?QQCx#gS_0DqX2xhuo`^xIW~Q@m)`&sWa_!R@ zlienc#Qoo5fwhARH{O_G0rtRyJ3)P`C0KrpKY~;j@s6fQX>xNY4QR|6y|WJC1rAxo zKA3fGn^PQztl86Ct~%4rRZV9NgQ)Wh7*YX(3))g47~Y1^sP8tbJG1w(+SUDET-?sQEhJOuJqsJejO^$&@#;*S=_nsV*j zOW&^cXS-E#5o=(404HY&2(s<6s_TUk&zktJ;XZza{7LDG@wBrG-oA)_+nZ#^_A; zd2Q@!9Dj{1&^ubbF9~o>vcua(dQt+@mhlHXM@}NmhNwSYya~+ zNsc{B&l&%rT^jJHWUo`)I8;BY0KvZ>5%`h$&KX1Rpcl4nkFJAtKk}Br$i0d5-DE$U zYA8y%`a8Hrw>z+Eablvqw2AV8TPb@!#O24+1hs@N|HXrG%(!>phCSfrUO85+3Rd?I z<;ueXwucA?+}ejwE|ts%uD-M{qfn$XW}{5Z{t6slULiH#ew9pks8DycSwrudB&8&) zUjPA3(qi-C!cH&fm}etkQ7pVN(J$)FCnIt7_-cZ#51nerRtK7hhUZ!|Y@kIV%oy#= zDj#rqYw=q2vgA`-9lBiMxF3km_8i}Nc9^T4z)myDuc+&&4b$B3KVu!A#9+#%#+dvR zxoa5gB?UL=f6}0KFyyKTH*d$>DQ()ud$yOdRh;!@Zqn?X)i9swJ5`SV-YG5f*uBVL zue4YRmLndKi@*zA(@#kK?OSHIv6LwVkCp?oPkxf+N5K273=ne&__wWg&`~@yL0X~G zrMkdb)Jp4YJf7Acs>6WZR<~|j9Y8IzE7ADF1Jnp#SLVwal%hm?mj4K$&z)}=AI7J8 z(Y`47Ynv8he`SBMGvOX9JqR9BN!8cGA#=1u{C>9I+s`gsyUcI`V9t!OfM#UD5VdMg zFk&Bj-oCdrWbz&Gc#40IzfX~_`y8p-M6mZmEX0kH1lC)p26R9|?q3IR{{2F96h;1U zs6i9)Gu=g(KyG=YnoJn5W<|-4dcXmk5dAUfuLtny-eazMgRRr$uSex}q_+(9nn%yfu$XLwP$a)I&^5;XtUA0s6Ct@*d{_2GxA9JN!|$fdRqB)9eYMxTuy{C7nY*-}qGI0bHEyFubS3)8SJ8}mUO(Bs3?-qgv z?(q^j{7YSW+pTDU!7#?+|7t6eqXnXle-zN+KgoYd)c!n3*e^YUS;qpJvOI0INc6c; zUqA0+@-~|O3a_EiV$)32n$PWfZhuqy{-DXk_#2UiGQP(R1yJ_XnCP&rFMl7+ph{7a z+{nAciy0-4PmAIx=uOd==W!M5b>G5I+6e;y_=|@=tm~$!n;5H6o1`gg=zR5o;9{7T zAyVRgWV6L|gxT5;lAE(w(h#)z=lj);>m&BFBm$>e0%ebe5!J*)BdIHz2fS=>7(C!B z8_dFRI=a(ftL`G4qUp5#t6Tpf@pysOBe0*eZ!ZO{Y;*sR6axkQ#y5&L z9VGo{s9`g^=t$Phm)6M>V`JlcVdG-Qj`{>L4M64A==yhUHlBE1f5&1Y^Lu9P35{L6{46tebF1t?|Izz zN;Xz{kJ-)gi=eZw|4DK~X0i`jUI8Vz)9R$25nad3h$_-PlNNXez%dhakU89U8x)WG z8aG5c`*S}I>Eda~uR+HI5tNyQ^@GVtJS0i6y&V&7<2y@gaeJ%ROYZNy4panX>S zL7JVZz&hq+{}H58;sEark(z+N1_J1#z!Nriki-sNE}0sX>|Y=4FF(jC0N&p}qwrDO zG^^BZ1GyJ1>naDvWa{vI=_>dx&$Jtcu|hF>@9B-Ny>kk{XE?f~gabV!rwX$8EX zPldl68m#7Kiuho9X+kr9!T;!qqREva>bWT{iMp4*H7g_ZS$m$0^B<=`>mOm@ho1jx z8sfg^+92gyH?d1C=~ayV;?F^b)h(t;?d{M^rnn4rgOsh=A?K&m>n@gDat~O>&{|Ce zG}zs4Eh|Xs8v^cD$2w^=sjU)5z!=AgDGW4{N$?m~+w&jmlH!fudNUPh9JMWYCa)G= z8r>$lT8O)t*D$6UaR`u&h(qWn3wEieDjw8sZ&6LR=YWJ53;{$%$_i>Kk;+3Co2C~9 z#W~0{>I_!m!UNN5-Ta6GX6OgT{f9&&7-`5<{7PJ=0=x(vI1f$i&gy^9ddqq8H_8t2 z;e^SbZwsb_x_IZzJxm*ro2_fB4IC5806${~Rl}J(JRd)B7wHL{RXE)GbPmN)OU7w`wBoKyuP zA}bpi`Iw&on){CqE-weZ*n!L5@oyu^4jwe4x?+_&^;c8Lf&wxjv1n~Gmwi+Za`4x3 zU`Q5-^Vb=Zy9aJJ>o1d?eYxOQSDMh%fOSqnENBkADuR)E&knyAV~=(5NwwdDFja><#J82veb4;j!=9J9ZTA%cIh?<`&r z&Ls=R)RK&$EMT?M1vXTi41V~XXke8x9_d7=teZ&0a}|r7(!4Pg29PW`ndu+a9EU-8 z6cK!{fJP}t(9D%n`CkT!@II2_8xuF*0qB z#p<@CZ#$^hwb^S5k(KXUUxKTPXLFDM3#>6;z2GN@d;tiAZmyW<%i-{p-O!*mIg-E$ zxtITkdnI8ksI&ZQeif+;kfmSiR{k8;*baxj4 zuhy*u28$WZol$+crG6QQUanjN=_FEuXvG=VqU?w`u=Re{Be>2!ho+K&v6>wK^m(U#LCrFo%-@Hc1-j2#6zfD1_~T)&5IZN`Ecj7I&r( zVL`wfM4^&gxteqi1B5{mbkAun?BX z(24@hy>vTZG&Zq@XyDA@tLfOe*pI2uOgXUiiE<-Lu4eIH23)==q{)_~2BZ7bk4|wk z`%ESm@vx5F%OFx`$+oUdCU0C3+k!-U6Lm6Ketz{UWCwF|J^RlU5;YF4dr&_7pDI|y z#T1JtxnRq}&fU$CLOzExu+<gbNIP9iJe0>b~GW~KBTTc`Ea@;^C#@|mOgf1}Sxp0}TjytNEis>Kx%%hq;oG3kA$ z%CnoH`4NetM6~^kI-pN<@|7 zdC%XlBd&H@48sgo%CL?aMafwv9Kkn4J%7YR(1oW3`IIH^JPmNiq|?*wgs8Gd1U_ux zFZD6u9~s2#ugDGV~)TGae&CWFfK^G9MpFJ?{k2I2@;! z!bX{_%r0;!=C!4tHIrHi`kb!FKXWo}&{)<;WM2uTVxwF85cwE07{uOl#n`@1lI(W; zwG<@SAS03)@uq-1Yez*8Gjljou8 z{S1F}PnjH?P>wgowwvR^1Lli zW4DnycK;+KRdRj-7X|f)Lud!b^`MZ#&5LiLzQZFs_av1=xScE{;Hys=1EbS#b!&g3 zX|wf6eiFAX_d&4uefuuH@CYM;IVw+!vuAuvPUci%;TLQOY70`L_ULmmuqgrKNwR|$ zsFNjTF@TM3wTQ_^1Xpv^ZoZ|V+g5KBi0jbec3XSxU|J%L`}jYxICuoM=!(fOXNXP8 znihQxsMhujt^2SeEKQwW`bWf3MnH=IaZoOusc_qTF{rT@eS%)FGMskbZu?lB@`OPi zHrbi^_nVcA$5Fp%xR2aY9|I&uwEp#3V;>d5*#eW1F;^`=_!D~oGFICl|1gTF;MmHw zbC8Tga)nG;tTCTau-pdwu&8f@=!WI1pp5V2pABYJ3PzKhQ58oQkSO>5 zW;^u$`oGh+8+DtdCXq`HD>`e>3aFUh`yNxiG^QT-pV#HpNHXF89)iA%bd~S;1jC!LTw0M*GO?{a{AHEyCXRPiv=X#Wn47*fG z!-XX|hh6&#jo_`|3p+LX>t7SbX;QOHY!s+&tDrVX zaLREY8^P5l!zV>qF1$@4U1<(@T}sja-Zbt9&ZGKqz^C+V0xIn=n^JXPv-8!yd+eTgmevim7=3IlM<{w`Jp96F))@VIknL z^df-Or%M-CUBSV_(!eYaKXtA=Sczp8L7kM+M84#d^dx~oDhG;Xsm;k@9sel_AY6YQ zXYbEiDmO4pikANI34~foH(zhku#ZX<$-p-tDDI3(*#aL!egxRZeP_etV}s|1x=f;H zr@qP!9Z>|SqS!FKC-E4QBn|I#wgN1h21cd#&+0g&IB2b4sb*+(%>TaeE3(pB8Ktg0 zH&Y1L7Y8i9UJNr+;9Kn8)nB4~Kk?G;T_4OOlMlsc#d$KnPyqEMtd_N0|B8Q>MH5_w{1*-dG-b^;tw2p`E9(bF`JYzdU2CJ zd`uQRrpLHQto9H`wJkoA>#1^^b&fJR@@Aow1H4TI2lnWpvR`22FYU+1zKM~9w0=IV z$N#EkWx?B@4ZBm6$px{{^czo>3hx?Rg-{FZn74G-UVGHH2a06j*#Q8O#eeh6-C3}t z2Nten9m6tjS+LMRM99LNxw1ep-@RT3E|dy1F9=^q?y1F_i?-4@q|)kL@lsU)nZ|FB ztUN@{B}(AqH<)HLve;k37YpC%k#0_ZTT}QM7Hm;C`$G7zyzgyaSRs)M)gr6={0s`q zz*oZ0f6YxNX`+5L+8hzpJpMt2Cd_!FZD2x zf{{CwRk1zqQu)%s1ve%oc^QAUC%X|=cphj04tb?@qOn@x4#_Ae(q1T*$lQh7?H5(b z#sJir_!dVxvEx4rrFP1;8Vx#=>FO7@9fkJ)f|Xo2%GI2|Z95GL%Z*dhsfpEcj0dfi zVzR>Nj)ot#1?n4Il_HfZ%)t^nV#jf%G}B$lRiAWP6<$s+wJA;ZkyImE4MS?(y^kB!*t~3;nXx*%*QiStn`TNq<{G`(qdM(%l$Rk~mC5{*&|&$INj)oh zffAWq-R~dxtP@Q-7W9lHKS^2p${70_j7AQsMsS!`uJBe9pAVcT=R5=6Y=j?(2!HgS zvE%%45zJdpRGu{itL^arG{h~9xo?GB0$jHgiFk*hs7PE|Q|7DnK=Gj;Gb7VKe!jfV zjCqL8&C~bSTyJu<@Q{!3s@Mcwd{&|FQdTX0t{hbh0z(+I0iXjw*89pn0ztjbbXLKd zWMdVU^@UwI({4NIC|Bj;Ht}A9AE^i62k?5!yVx7|xbe??It;^pE6_9^(Vy*QKwFt3 zmwhayew{{!L~76B>~N7w2tzR+_hf^ew6%0v9)B(lN!N~z8Sxum`HYQ`wS7I770|dN z{uKeTl~#y?-Q8Ebrs+5Q8=eB61Zf84p=hsf)J~-d(o`vN2>Zj|HLwDGDRgdHyNyc^ z%HbxqF?@-RWY&GIZ1#-E(Kou=V!4`kcy6Zo5e|+xfx32$GDA)SiJeBl^($GoMq0?; z^ILwC^;<)OeX@p9zVM((%MGZ4nwm<#zg$hZKK-ny_Bw_l{cQTFIuo&@@7N30*(1}% z#XA;@Ac*S@LKd@t0cZ9tv16C=YDVj{86oB-$)n&F#;sd1TRaVQa~Nxm_+QTz4L#y+}l9fg2~ zsTq6|8$gmSBi%>C>?SCUSt0sPKX@jrJ;?X3pwOHL{4>Rol*$X$X*+xAsH?hG_44;r zJt@tRxQM;Fs+r#z+Z?%_e5pHAp!k#|+9l1BwNY}-9W}3E7 zUG0M!vW`qum7r=9bzo?jP4AW64Fx@l`nDT37q5+GR4^y4p>F$EXl*^%vbgTAa)Ie@ z#e`gEKMSKwz+fJ5cR7Ln5Q?%cmCF1Wpqu#M0M+>=v!Oge0flJUByQ^K+c;R=H->z! z#^cK1v7AvmEUtmFcDE%19EMce<80}Q+(f1kh>$Ssv(488B=ygF$d3{TKYmSAwr#0Y zGt`yYK+#y_eYDGlchvaM8-c8xv*I||_6zPPlX6iII$p+Pk#?(BUdnF19pYOBgd>#> z27{o-rDd0xN~~quakTSk--dHlKutopk-z`j9syv3Nr(RqOB#<<=~hdYV)_o^b7ced zva$KP+j{0=;lnH~T$3tHZ-d&nDM&^ENDomo9VpYxln*F}0vzQWy3H(9(5Q4DH@a2n zY~|hxi~m4l>EK0FZvWRhP3bbWcEWUd1>RAke9_@pKsh_W&Oa6oaV&lR6mec}^@GSxDY1d-O-P?`qdJ_(R52BR z!GiL6RsIOtWc605UnwX5H6}TiuL0qqB9MS;Llk{&{X*z_8;UzB+}ZgG$`!6`ZC_a- zFkv!%+ag*zBlFl)2QU)Oo6=!AERm7y!QQ=(?>@g>o2=mtw9$2kwaNxY)O0Ps4ryP( z(W)JTF=gWXV@H+DRYLF^Z>@&BS^T=Tm8%xB#qgtM1}&TeZVWfr@@X6O$(fW_iz;1f zf>!@y$?f_?#OPmR97V$8w%X0jy@SAUJ%Z4l&X!HN{r5xF*HP~_v_;O3Uu4IolWn-Q zd73hT!uEv<6N=Yh;=Op8d95ZY4#?+TT$fQJrOniF_B|fleRHpu*`VSeSc#6DwRpM` zanx^W5X|xIu`Rb~Y`nu@!*8$#x)RscZSVvHlz2P0YcD+b(uY=fXQ;)UKhcUesNBIm z%1!ol1!^MvCi@TZryw$(&(IO-X%{7!-X+7V5pj|riF$Q<`! zT}RLGEe5T`G3)jT!~fYMFCEqQm^v=^Jk?y^80%0$Gx>$R2~u_2kq!J=ttc{@@}zp73o z3~EN!D0>Rnj?Dt_XARLoJ|N0R#hZKd?f2E~X=R>70{@kx>O;v+AEtwcnPb7JlX-=2 zd1pMG90dwSbD>vJ<k}y9W`>V`8&5r?)M!xm%ppwSe;@S4e=C3hFQ zN_aKvRC}s=GP67gqxdkaJYRV$DT-+$y37yxzJ;)x?HwUjU`SsiKsX1DN@2|0bLj66 z9@OqGv5Yy3Jt~dc0vslVWakR9?*g0)3FXRB#xDX_#rW!mvr)#PZuujw4A8JkrQ$G`nHnc$UQNoO_Kw ze%1dxxE>P~VsWsga`s@PfGs+M( z+=rbeDRUT7%l&($cG3{SBP`qFBiED&HKkemaq;_|m_+)r%n5BjNrAOeI@SU5VYzVU z%0X?lus5&#rr36)p3_#;G-sHdFb1r-dRJq!>b)Db36AXRGqXJm-g+tglW3FNVPkYF z^gH?{Gca&@pjLFJ3W;Sq-t*@^@%@l{0Y=&z)hc>w_hq(!(dV~7z_D{^G%!FTBxDoh zxT`=&w_20^n4njPRIz0i*<~O_fs!9Pxvfzgc+V(xw21$FF+X)XHZuJoy_2XZ3+0^K zGkDfwYbTOP9(84Id&sNliHZ7Ed4TdZjc`~8k`nbu#Y$*qg&M%s9-W4O6kD1`#uN^Z z6=-cmuhSvejjUQ6>>nfx?U>}OOO;5Uu9!&uUNUE5NQac_&X?(&q@U=B9U?uf&+KLb zVHP5p3-I01IfbGZo;v<)dDn>RqXq{u^-zV19+{TjOEN4Th}V>LRklXFdnd<`* zM|zR+VQ+kV_s%}~%5La>K zPFWUdyYH)tj=2k$m_84Nk#3hv(JFe z)|GZyT%A~{ni65GY|}CVLiJ+Du;yQN?)uY)vJxblvn^t+_>Vi0d&fM*D!sCaJ{8 zFedc9heru&|E(I5n}<2B7s9XB@J4ajm$O2*67kkJG=$+HvkWh`*l@;7!)kO2^G0X= z^-nnL=#2Z`yE@jU)Vso|g+5<@rY^iq@*ak7XJF#8k{wZ_Y{(bLiEU`u8tVN?+vK#z zn~6OKm0HR3Go(l_wJk5`dZm4^w}$BguOL8=VEW^3`e-1lWd%XHp+ymNgn8O}3IV4I zcZTo&1vd7stij-Jg<6ngd;Yzitd7i zT5R{*!-7{gfd3qOtccMb#^&OW_u+&wvB(v-8Kp7n# z9u>xKW3~VBUWur&Q60ruv81CT)LB`V4}CFf*9IoZ&B$2`1{OU#C%0rPLg)2GaRO3A zQ`~_(sbV-60pGSZruUZsmirE9p(N6TDU_7Kl(HgY+geBbG)EsunEs0i+GTSgVewEb zEm7amGo@5`qcBjf5GbO(ivL$|d}*~(*ZZ_KfVHW^>@};gkni7fw8*?XJZ#o6SLL8E zUajZ4gsPwGuu8tir+<8;cf}|5J8<(#n>}XbA3sx4OAUEpYjU(i(rGKseOR~_3%kS- zhO&bW?RlcR3nX z_ReU(hxw@_Rc@|TNHuRc2(MSTzeCm2ytZ|J*ue2D)fPDlsB-fm6f@Z>n)s=WHH{>- zi}Jkw&&)XWwtoapgXa(@E-)S__dWillQiE5@Db~qF&aqNFPm26-;S%&-})5FQoemJ z&lA_rO!`~L>(|`kK#+s~oB$V#9JpJfiH%t1Eij6$Z6nM0d}j8E=;q2Eu4V44UyRv` z`GU!PZd9r|O!?6~ac7=TOIIutDdkg^4jJV$j4?nOvARvqyUG3;l4GtnChA^vHd%b^ z)f19mT3eq*Y&?`slaYh_&0vPbVagxG>!e#mhej^Ev3^|p!rI~9?b8I8XSMgQN8l@0 zfds-(Jkdi#o@+c&0RLPngGY7h74C4wE*5rcdMiwig0o$`JT1%zW)Oz}Z6&_xzS4n5 ztQTet+zEU?^D4fnUGb}|UIrY_Zg;DN=-`I01U6#fa&jI@8u4*(ADS(t)=SUDKj=@C zlo#B!+J>8*Fny~s*pd`zaQYpit~$eeqovcR67dNL&3U>Q(tkGsCT&&GN~qyEjkFc- zxvIp!edJR5pJ+)?png#)4;=l?PgMRu$b++ZpFM0I@U*y>?Hf7wCr|t(kgs59h~N>Q zTN%hzH>%vy*!OSc(BuC9m17Ubgb3gDfR_FV(-Jjf)_ldXY`d`od|5|-C4Qy3k3Pl$ z9(8ofNsD{@dp#g(NnDMi{s2HMYyczT{a}En3de|J7@Ubz@8Na2SP+ME)iMb0Gjs8b zqso^y+$M+Q{zcAuo=KQByq}~IXx^)wUMNdn(++5NKg-+?j!BiA(9~eEr6%@Rq1PJUqF{ zF3Hp%`2eU*i!eZK5@Y^9wOM-6y>~IXdL;mep;7p+#>j>EwH5a4N z+Y&)n|JoIzEsAjY6G`Vz5V@y!aWpJwZ5qo=Ia+Q`G=ITNDH%BwoV0Z>QtAw|)tknD z{X`Th9-TR>S_C!_o30KO#1PG>vXUPr2MZMrhW~WAwwvjkVsl4B;e>%>Q9S|Uq>5h8 z8~1zi=i$boc+_(w<+34t8_DPEebkTjDZc5V5aMtDY&j#)0#jy+^cJUl*K~JA$rt8- z8u&B%KC4ZLO@R<5@4~N|UclX_W5bV+{uqFw!Q^ZA3w>mEu@WHGMgo-lfgru3R#f(9 zrE35yUm-B!ZRYV*i&&*Nj~KbnL=sJE*Kgjxau0$+;L1fphR5_?Pi55<2IH`?kU5{c zWgS-0`v95-J@<2}Z^R7UOdOMn9j1dNR7#KiXcMCF4Rc+9V)XS8eHYsAa*QUqld3&& z`{_kG^YZ2MwvW-7hNz9~T24_(I;xT3^7F=_l(A2M=cPdt1NS1~r*t}*9ptX?17bwp z2C&Z#TWm~jZ9u4gkz|{k<88^R`}0igaT&Ra7;(X^-JKDEa`8V6a~|ispp3lIcTr|F zy8uwdXc->sDyt$mXKW}F;Z$-}STihV&%doS{Cx;g! zkDR9cLWnEIga+I06FKj_%hqh3r8F*v_f>=cWRU_5kVSir9+v;x!t2<>^|(s9k1mW6 zzs!3G@w&GO(0QRgphn??x*hZ zH+*r1kj)|laPjevJm=@T+bpTbP7(cg1CeRyV9;-KLo}tOm?2S5_AO4J^$1duV$SGaxp(c+hd2y zA8O!>0TmU;j}_zEPDf_Vkma9?s9)8*yh1lRAb;?qrTO)lT%sWa7LGfLTKRDe-fN;E z{X&yAN3WtCj(V-Y`xHo&GQ|^sH234AG!UHwrFaDJ8i`SZo4lkQb}P)MRlu@i(tF8- zf%2r^MUiVMqkghy0a(f|9zlZ-; ztuuMO{e|7!b;#N?hu~lUtTX3KVvF)j;=`sY1Nl>RT6LGt3BQ@5GnwB`)IckSu`ioG zWmq?|{F`7;W)jYi531rTOMS6{l=L`5H;@Y%tk_uSEDiJBxo{Yr88t>vA zlBAnAS&+q*(OR|*6r|Eu+h5kZ&W6`Aa(j)fD2yR8)vKo_;5meU1+(Qa_Gg@&j7(yn zzj&Dc`kO=t^ta+No2YziH+mq_OX1d|eW7Z78?UAQq``A@LU6SupcpvYbDqZ&d4T6$ zo=J0PZGLQ88ydphG5XW!PVFSfRKSh1!Z!R6MYU5Vf~=J~jKxme+uK%1C2VET@{bAo zZrCTLZ!%I7KS9q#GL-#rB8a_yJZFU|oKv-vT5koN-|YskF`8(9r;V2nwm4SlTU(&b z$Jy5oadPGZUC!|At7?9GAc}TpHN8pT&`kXR$jYv(Uy>05?x=N?cZ!&&{O+V0ck?Hij8FTSJhQ+c-7MH*x-r2<*8VjSovA!vY%tS3$~n?qwvMa)Z(IAU|O^( zf7`0FF8`Bv1moV9`0^?{w}RNk)nKH^Q&OO1y;uA~z30XHpqi>F%;@X>@wAb5fR@y2fkE*2 z8iukMY`PfKx{Y)t-0k#?g{afx2mL^fh3h+cMM4jj+yW7>*Ejh31x+%W|1^vK%IUS> zsli$O5G%xaHQ~J>`ZV-ut(caZ1pn!0gcK&L=f7LPp!Bwk_9vlWmjt<-4o+;gi$9)V zRT7th9mf|ViOIX>UX`PcUy+AimBUq3WUoVU`idm68S@Hb?e9dKH-R4U+!>b54X2@Y z3+aSXV+}3-6YN%t_z5_^9Z&NDo31Qqrtq6(=kq|!YgSen7TD!;fzL%AH)qtdUyWwl zUZ+CUb$w3v*oQXic%pXsZ?r(+)SJwjQ!?b#kGo|!C+V%kWk~#Fnua}3tdV%gF6_Mk zm~8ZAes-VyI3NjSp-q)jZ6%%|{?e%QnNRPj)KhIL-C~`#`)vV61hnu$I74}QPwX7S z8dP_@hj`dj;1WCO8(>8TIwEYqMn)&B_JHY(TX5hvoKoiY<4xjS6C5&lM-eyw)iyQ6{pQh215$yr`ya)P4thJd^)C4N1FQL-sgKWESez z^Q=-bSzC*H%bodBu4|Q^bK>cE5Bak!%Oj%)wSD#g^zlx@C?4X{hcxA03S#CQvynMn zWia1pHl^@eQRB6;{)5B~sJ4_LxEr&Iejwc$W7YM~oj&KAG>5~{4+Svg^w1OTNs?$G zYXCA{c;ih}_7uJI)HeMA#E$Y1n(sQSg(!HlGP|p4<7TMV!t@c1^7w5~Kk37@E)DUf zm3S3^#|#hEbh-samZlvZU9^)v-TVy?aSkKA8lUfJo|j08AhXqfpBT0ID#~P|4r&L@ zQVBWp<4byL0cl|L%zMrTiC+B%2zJdRU4N<`%C4lq@faP{(+L))(6#!ss`%tXKjIfz zf@SDA7~uDubQ?NIpyk70?HYI6t2Q2ng8m5#4Vb0h3bPAA66P{%r?5Dxk=(ZsM5Eq5 zox9aVe(Dr;Rc^!dr0rmlI%dFRke&$A4TB9=5TnrpN~8g861as@iasFZ{j478W{fQ8 zBoP~`FLdeM38?i3u-@2to5*D^=rvh&driM;9x;eUL>h7o z`{lHwLZ~sL^rseLH_0mMVZ6}PO3Fu|6k`w*h$V@;5mcLoS^F3oPbN-*riV~kj5y_* z&kz!G2fwQ|B>jV{@ei){{|A?Ew-Lm_R&7oR zUirr%6NmPvYL9RGS&j=?t;WjT0jO-2>oPE|7)j*v+1b83)Jg!M#3u7&XK184M$EzazE(sTvEtxA4y5bW!C!ff91QM}oXI zI&O4mxP7it=-Em%ra8Uvdnc7pK2TtKps@|d62$Q?{2AGi0`9dXRP=5l7TO^R@{4tVyw|d~;%P!NqM?5L+vks|=?lD684q3=SKYvb-e?vh&8Wl+; zD8h7^`Wx^^NbUpgyq`vnfnPS@xiXa(zFEOpr&bJ=N@4|8eh zSX?Oq)L&9RgL31IXr?E4`H2VUWpB6F)29^Vj{OuK6~-jtLzf51IL=N|WbCZ&CrNe4 zosRuT`YXNx<&7_AkA7O3Td|c%6<^9(_4ixngNv9Ld9duxrdt(kTVY?Ui(5zY)AUz# zZYQ&^j2*bqe}xU=4wEc)xsc~yfY-Rja@&M~4zG71L53)ETlg+tqkpvAx1yOzUz<(y z*@{(r2D3d9d%enX;FgFlfa6zoN}?=pUWXoYM%#4ger-k!Hmq%q{0;eXP;jly!PSD< zi5ZPjCH?}&U=D1IBj+JV7^$;hxV!y0ayVl8wPEcL^-U@|(}Ds~wF)U|e_KzdC?4(ZO`48FokN_UlKqNkg)+P1~4CLMS~A`wgoBW}IH!lx?8LznalN;z>~VfST*+jTsSZ_dj{I z6Pz0a$KxvU08ASyRCdzjf|2cqeA4e8!ZQB{F!E>q^%dmLjH^>g816o#_%cta;@`pX z{{0^9ik1~4Oq2n@M@m2g+oAs3&hdS%*h83O1`?c>E9!jd>vpn8l1UisfHip3tRjr9fFo!ip2 z;vs|HN##p!o88T+YVXWtStk13m%5AVYg*dHa>Inoh~F=Mw~xM0Uv{*mH$dg9f1Zlh z9TZ*Jj|E`5i+iJ*{hWlgotZbIZ1m1e;LTJ_`ry}{2~re{o|6&=8cXyM+fKMpbNZsn z+gn+YTZcqaL6*xK>$BJKo)ie7vdXr|VjGU=MF!zR0ORpS4VidOC>zZJ=d^}$ZPj7t zf&yldh)gYG<4C7TmM}#}d`usf>SukOFCQ({8RAvLk%~yh9BYiNCd2D?ZX&bJ?KGY-iNcD|-6iJ4>vsAsF_bL!Z)|G)C zkmls|_nW3$dX7glQ;@0_Q?kYD@5Wo-cVRUynZT)e#TSpcxP#4^?a2Z$wh zomv*~m@YPdf@aNjUHhFh^I5h!PH z7c&ufw7>Zdoyq>C+iSDbTraSO62G<6g9;<9IaUfuTUGt0n46FHYX=b3`?wE64f*@z zKS9*s3ev-UQn zrMWE^O($OTzY}qOaMt3_DBOJ3VSXTQH@@|?d|+vF$3e}@S)|e+MgF_%8~EfoKG#@@ zN(@}z8CA;yQ&kxQ^k_HBGL8;Il*WOt2YlB$Rw8-Hn#@_Wk;JsnAZyaDoWf1|goAKK zdJ;FL;A)1O{UsqjNd4Hzq%JTzrD{K9WQt3_Lz(*Xxm#@0L08$Rfd`F?cl46L5tVJi zaUO{$XU20CyZj0d9G+1iOY_vfWAf|I z!q%AsdI+q;)To#xth(t=G=8JCq7b^d)O9gSp(2+MheSp+_H?ZcXM78;8h(vN<)oD! zXT`cozbKyfQoN4W5+8@WMkIztv={|BH$}>QaZH&YMk5{zzQ6!#nZaF6e;s3X4}FL2 z^sE81oEa^=N-TYNXYqI--g@4%78(J5)&w(AH4e0VL5N+2U?f-DE5{96&bDF|C)ytc z{`<67#s)%a2y+T)`6)Jpp$>}R;ZB9lSf6Q8mWMRFu}Iti=U+FX4d|b}wit6!dTX&o zHP=ZJrH+@H02R_C$MY(vq_V!4MejN_kcAwQycj~1JRxi(z9KLD&xTtNTbXWj`0@28 z7m>?vwk90D)sTit0h5lszwhfAVDQzGLEx!u=AF81^w)tsUn7KeiZ6FMg9?E4QAc47 zVL==Um%mmwc67N;s-5ibEMY1*rbtw(5G#>HwJ6^!kq*&Bp~$43ZALpq&Z&$UeDCE> zc7mf+h~T30LmCUHdUjd>=Jraqn=RESvycHh*gMdSdZp&^&nE;)GIjeNhrAWrqJJ!* zN1+n(-l`5Rw(YkqayFwKdRy?J2^_e|+k6of#N?L1*;$+$u9`K7T$bo%|G04UN_|eM z=C$Xck1xBXb%Z45oI;6Fby3>5UEK|lOi8l@A&@ZSQZZ!rQ*cPRMs4_dh0z6x6Xf57 zq*SZMJe4MHz}t>i#h2`tg6Xo~_en;inxZll64iU}W>@}V6x&IBCW3Y|Ge}Kkic*HY z$ZrMHL&dfyAR9=2SSRF*-31zzRa4&ozQt`2Q>mkak*BN_hgk$lT<$@d_%=DMipMt$ z_J8i4%r0~-zx>GThDH>l56{q73j7XkB|^Sg`#U$1_ZN*$K0E^~OF#W^SQB_01>;H9 z{Q2`HbI{6J{xHLtVz~e~;5#es74zE==n}D;LU;eb_~6c3w6>QC`-jhPEfbKZklBI# zBCC4YwFsru`(Itz%MYv)!h#I`MzcYl$?*d$a1X7N(afT4<4ys;ln@ z`Q6mA$6E)%%|b_5kuhP&B*CS9v{A65JbH4OL38A z4Z-{Xfd|1DNz|AkbDoO_n0TF-@1hOk{L3jVFKADXH!tLGcBilJ7`M{Bwl!|y@9!m- ztkZ2?GLLl@dZ=AY?sx18xqJyedi)8E#F|=&K2+{=__w;so<|zYpS~UWG+(ebT%VPZ zBecKOXp}XdOe;$7q-#IV`cTV#qvd~{sz2_kIQ+y2EpvH1+U2DmL1i0qOc3loXfvi# zEEEsY2Aj%tKlI)cA_n`V>c%&d+Q~??lG|?xhDM#*#Bey~Y1A`0V1G=sQ2S?0Ncj#> z&!dXWZXmSx{z>QGV^)2+P#_#V7FYFU7s@Im@%Ei5sn4qzJwck@X4d(DO7YmY z#7Fpc@zRS*c`{~3Fsk*2me{3Mm}hB_yt`9Nqj0i$k~A^;VxwDU*76DrW+f$4b;!UH`ifX$&Ppfk&WFs~*d z$3kKyX1xscXup$Cu>=jNez3O8Has2wZrb3I@#FsYys7PobXr0;$z3be*}nTw3ZPat z0t&4M4E^??@wQ{b4-yG)q=Q*YwxPw$tryyds>TP%SDOvGEsn;imzH|B=y--3OI82` z*aYQ4Hr$3ez34x-%}X%Ns^G+QUECFsXcmw#9@(muv~lNY(OL?Y`3t-IB)CzOurpvGsmCT)r>y0-*g_e=h&{vwm4^S*L)J(?C z?|aM@5>F~7&*~VDX}}_X*tnPNznDxJvB@+WqPh(gDjPeDQsgUxn1sEm>J;P5*&76k zhte0Bu=ne+A1Rn%&Bqr5E`9n&dQ~EUwHp zwe!*l$aoSWCxp&z$a}#vlsEyw7r5EHo;5YoKMP4lQNrygusK2tED3Enb5wj&NRi7e z1ENhKa7wbr`;BFcMIXFG-qacYdBxuGIwSPfl!VZ65ug>Mu2p#rp|*bQ7e`B|KMEvn zBw$SGgpUmwPzE@?A`lzeCmk*+THvL7HlL(az?aUQ%$57fBg^*a`2^bO)e+pO=XEGo zZ-iZoVFP}izvz_iyKgIK{b%lExBQ+y(0)U)(c=$1xq~APrudln9I?;spKewNI0Axw zc5*!%q|>o*WbCFs-gRTx;I9Z#ysDw_v0L_$yU(dZ4cktAtZoX}b=Evq| z?3#ci*V(1A*4*qccy&lD)qUgW}s2Oq>b9jYWCn=mF2Ec z(ZXJ0eAjW3`39pEA4mR7L;cMPc_@{_1%3j?5prMRY-lsfpFzf$>ggp1q8w9|d0FI0 zUk&kDvZ-*>Kl53i6Z$N!!4y7G7Q1bVKFDcacV1SY_CJcudf)aVHC$QKS|c6NMGI-c zFNLGjU#*m=6azWsc(^E7T%my0)HqMO>L`@C8CKU&O^E?`hFv-H1xic$4h zfpU@6Y#)QA(%`Ih{fHg`${=l}oIm-;{IV;Dr^?TNKAeszP>N7(*b+&$2vVb99){Wq@o z-)4btg@jp!n1EC9V)D@>TMtX|0uPrbn_GbMEi)fb!d6+M4MN?#u=8>u=VCR0Vv^lK z`oDZz_mN(7AfrD*X9D@C8?^k4L>vK5v~VJjGmHpbo1Q`CmK%mN84*!L4ec+}avNvS zbAukwj~s$l6d!l()#_3UNhSjaaQlpt19Z75HXIc9In9|ROxX3oj7lMdK2j}I79W2Y zWP`lutn94ZWN3zXZwGZd`k;iEJ6&*F86 z-qmqi=Tx|}LUx_b*$yp?G%NJ^;S=FTcMMBXEfk1~ZnnQw#Flv%oe*Jit8vG40`uN7 zVp5MBzvNldPo#k3pTZGUZ_w|hljU?CUHfdJ$RDg^2K+EFEn7-w_;H3jBsjJUtCZU| zkt{FG4D`QBkgp%pal4(oIIf?RSPbas?ZMj7UpvrP<>hPjEY#@>O?aK@|v1~EFSY#_C3t8}t95lZA=3GjeuoML&0U|z*jZpB> z7x$O1DsC0n(|bd%?O_KY{=$1Jp>m(6?AWL>@T-nf{cP0=J%W*)sHL5IZJHlM3?vJ4 zz42!zwtrdI!J%fJXrt^1TMKd%M$?iOy zW>=tzKiT}V!9CZ>LU4Cbr&u@n)MRnvR5r?XP?t$9mlPEd?|j=amlT6yelFYP?Acv} zM+tY!l|1`|9+g;s{)_p+s6f!_QX7BWM(O3&uk4%e z@FbNE+3aMnL^6D~iz$&7Svh7W`kpRytYwBHhOq@}3B<*2b0R`6IgCD`>Xd6jG71b~ zr1ttwii%TahxZG%kEenu^s~G&X9>M+CZdA{D+dIhgW@sTR8x92D#~F@ zfti>Hvjn5(m6n%hc#FXQVC~KB066lMDUWYMqRh-Nz@A0OifH63D~62x?wvG7mpsmg zy-1dRvzY-n+BQ2`30w1&!O1u>$3s~u86*jM?im3l>(tZtaiVZ&1 zJKfos_*v#)3EtI*1#hO`5;jtzYRwWRIa_5J_T`qJ8g>09VWuuLB;6N7YZY8OCKZa2Y9j`1qKn zn(!+r+??$L0=bi^)aM`6_}82X-kYzEn$q3A>xKQS2(*J%pv!598KwB%ee7N0O=k{WvpjOhm7nN~ZNdEB}JQmh{D&crA_ zZH{spNhyP_l3@+^MVli>tCAsj0}D`LK3Y^y1x}gAJ-UgyS4!voLPPPxqD`!t@UNnz z)4OCgxAezVdP1SA!w$0bQCeM?RAy<@PxiMNF`>mKQC1Bi_9$W7K58k^^DXtDvkKfz zl9i}Km>!T<&cZX5!aN2@;@pHwKwg5Maoe)1KO98KQlzw<-IFbP@10@v8#4SwC>1&iHVJyxU6zj#xzdBU{5l_l8N`46wIGwKzrhTq(BlRQiIp2b|#Elv@Pt zIWh`KGM3ADrG=X)dhz}?{WuY);MBtu!y!El8gL6Xz+iF~G7# zC&UExCBE-~>XMiQjyGv&Vn*MAbl^1tt3&z3;|A}Cx4m#~ z^56#{v_h3m?`=Hh1omVn-L0F8wVr16!8 z>OamDO2Sjwv#aKXw<|bnE#Fs`YP(ZTCs~+Qp2;S@6*Wh9WQV5s1L4EL%NeZ_j;1+& zB{4j}gN_RDJuy>Tg-;Dwv1N8XqYpjmn0Mqx@lW@X<`?2;^QmQ;gXd@2(r{%aSf_;p z3>X0Ysl0P5Mrt8m>ypAE47E`_25ewg6?s>K_L{vr4X_;_KWrH_1~9xs*?pqOMuQnQ zdXm;nYZ1$8G_UUsb*p3mLJQhA+}Lj4l_=*iIWaZ`5GL;a#&z;-WG%TcDi@k zVdg3^7Tv>JIU#*X`0otf3?`I;2BI~7zVxdTKjSlKQ-Ewh$(ZY}?S-!4KAEzi6)Mw1 z?hOiHPjGw)EG0f>bV-!#EU=D&8W`}EKF!^)Du|y6c9eO7T@r2sKO&mb&&aG&%q66C z2@sDI&QhE6Cj+S!-XgX0EZ=3Qfj|_}d78ieHQpu~ zi%3e}qo0)!R2r3Rdz17-&foZC8Nb~liLJ!8F~a1xJKks^if)RK&4DXQ zLnL+|n7^J|jt&g+KbA-9|J68T6uZ+?~%%7Y%{!S(ou3per zl@QOWogy2GiT*_R_!UZ6Gd^SjpH6!quVJ>wWO_y#N+5+M%E{kiqutmI7rG)67t&?O zQw9Fo+n^5Hup51s0D?;hK_>TAIVy_72nHvML{ubLfDMaVrm_8pSI%)KWO@O<*9LK- zlQhRQy{9JN`iYMxN&%u%rUl%b5J5PWhsyK)IgeeE^Bi>f0MEzsEf&`U=PXsJ-_yY6 z>HzL~>jxQ96R>rYDYqQ-c*OFjYagFnsI;F0^RM3D2jPfi*Ca3$*TmrAa};*lu@x^* zM!Qrc8+HsSEK6#%jCaYd!~sK~66kgE$&Vf3+MB`=LAo3NZI!F*_N5yNMLLmSZ-p|j zrhWaJx#`)Mtg}8xs$Y#wesJ>3^(z_-o}+`(?k5NZ(n%6}wpP-~1KFNjRU5n(ZJwkO zopyZ55Xhu#QM0=J0!5iZ$5{eZroa?^%h(9X3Ur&dUb;~cGtiv(beM^Fr@`atQU-ci7j`2O==ehR;~fE) z9bp3Re!Phg9Y|RoxGH;)Z3@nXepHicXEQ!g@k_i+I2Gh{;=jK(#A7Qpli34hD5{oWSQD;JZDo!0t+FrXqDYR~K&7UPZ!h+l=`CqE} zpCg#UTRFZ03`_{m+Pd`N7);C73Dw3OX zkns0smGBE2UB}$RQ`7Wtb=c8@z+E{uhhn$5OWxk3EvY-5Rm_057wW+ruEylQ*i-RUbF*?XlLV_x6X27pt0=W|T%z><{<|Z2SZRYGfs-jnn3j4$iVCJp)+L=l8Tu@TsKhkd% z5xFB}PsByWDu8lOamB##WA<}A^ZJF9)BgWbK{gQTjKDrr3^O0ITLu^jfB3tY5>8-} zgeG7Q-l6K56oH#Guh~U%{M@HS6*D-4AvG%F5Y)zT5ztK*` zi$5J7)>5K6Fv?&!H&@YmiX(}%pMM?^+g*0m5o}3}zI_y@TL5Cf`E3yTn9*)LNfzP@ zHTSToWszVm%aZC8mgDLmiH`c0N98>5%UfQi>};h#D!IN341k>aM5dDe_O;&_ z?OC}7?WWWuF=lE=JF~;G~*^1 z?mZtNTeD&P1f^)=Yw*1WcRba~UxA6D^kt03?kaGMZ-2=S51_mprIZGDJqAqhwZ@Ja zjNv5`&A`6vwycW@MtM0 zQAcJT5bt5Jju((yJ49ZE^vgas1j{vtE_&UbfPL1I#o=4E1`&(Gs#uxkibF9GKPM6C zJvYDn&XF!zM#XFvEX_>2eW^kim2EN|5f(QHC)9K&re|%| zvkZpWPA}x27%>QX#B3A4WK@Ph2p!CyOOxxQ{)OEolz6SGRAM4#*UIkaGgnj&yc8Q8 zmw}(ZPt4Jy(g3Pp(%s$FVDg|t7g>5snu(ev#eXWIr|?~81G&%vZzIJQAIfvmIrPUt zqLE8z`BkVghSeeEQ_CQZXq>^{K*1#CIU=!4QtLb=G)L;c9F0K zZ&6r?(-p(6rcJJ+2w$S*c->Kw)RgXH>r7NKX>=adm}F=b(+U#F*Ovnqa@5;J(7MdYwoQDu#klW`d~ zP(=bft8I)l8|R22U6L`1v4!1K_^pr6;lz<9@*(Wg?M-X#lXf(N$0W0;Hvu1yr9CDJ z`jW5WZ;>tFr6kDN{qy*LB1V4j*~Ih8GL@fsm$kX*_+wlohxi7@zHLvQt54@dvWI=W|M&Rr0^KhXglySvI-l z*j(`K(b+$g-Xqo-h|D7V_L)>f^IxN8F%K(M+CVtpFHH%s`I~HzAb9V(`umHs#U~TH zOCTC%ww#84H<)f!RCN4ZNhM!DLe6&=cO)tKb9kMOp~};DNRp|)xT!8z5ac#*xT!%- zVdl<1K{Hbg%nS|eg)|NsP*Nt^qJ<0E{=X>^s~ZF4q!TuZYl;c~xw|U|f4awtxKPv% z61GBYY6dW$MvR@i1M%R+G}El7){UShb>T_C%SeCrOS2JX&pBPW*?;kr{q{qF%EczO z_vI23j)W6wx-Wt&6==&+z}Y3MW;zGwY7;*)VX^~xbf?5(n}}Zt=OF&%oU^n6+wIiK zP>Yuy9PTNNlis3LmLWnPTdumedW`1heM4JUPo0L~EWB=7|YjUI2Irn)?hc?O8!GYAu)l`*{N9X%u z9!Hf8&zX*6S@NlR4vGaVas-g6Qa)*TXoi{`FaiRd16|v=-OG+M?`!1%^+P%TWU`6_ zk}z-j?iBUxhw0$gu=oweuxt<~;9=GIm-==vX{e7BrJLntecV3xLOMOfa|NaP zY$`yiorw;COEIJXzcP7^ve%pYB(h{mz?@?i?4*+X7Ni*FZy-~FB}xkCOYc6;pMzbf zEaY=|#2t#J9*&BcF^$yQMboeLs?7j0Z5F$b-x7+MB|hmr>TP+jxY0D#A#6x$s9Q%Z7QSBg{r#Y2 zAuT*Xk!SPhxYdg{)X|iHgt-x^xQ~4pV6k0PDhi0PV1tlf#hwEufpAMSN@)$-?e;|>MnShy;iZ7@TRqikyH2>?6n2)+ z)W77GB0xaC;&q>9I!5O9kR1tLc!`ol>&fZ}U{U~;mU!xac~9Ffmpp+dM4d7yu&X~ms$8TJtK z`F#*0U@`2Of-TH|khF;-aF6qcBXZmPxBPoDMMt=;y8C;-yzc3Jbo{f-u?+Rw@OAt8 zf%`(YYh~lZ+kH+WSWTL!KcXbnDw9U%BUQ**n=&buX+#i2a)~X z;W6;nj!0%-4Z#U~Bc0V8?&68F!>!ILN3ay5tuQ|f#La9!kd~W#vX&fXl1K01iBCDe zJyfYpNq}UEtVl)(sc@*h5&NR(k@?g6s}QTKg6w=Zh&;f1Ncj4Z6ND`v$Gj)>W;z$#kCx-Ry?nvp@2S zybM1>mNM#1LU=pDmr{f5qNGFWzV-)UfzTlOVQbm6r9sgMCh27Yih-1%B^wEeW=gEI z$*}Ykxz)Wq42@BniN5b__WVJL&7-SdWI~c=k3U73_+=!a2#R0KWt*;fYfh3n?%WNO zD(NcRi_yD@Fs{XotwMp}0<6O@g|L%9f>(e7Gb}Oe2b9t12FzDoH`j-G$Dvg>0sE0o ziVUR>X`aG~Y$_{y@lj-K+>(hl`_|YPQtGS`!>b>sQPldz!c-y$;;5IfC_$^y*6C43 z@*n2I?K4A#^V*kjW6t5Nk>%Sje}6cNNfhi7L;n*}Ll#MU7L?p({5=`7=)Pfw#G7$2 z64L2b0}csWh1qOQU`K8Ls;?J;F@0 zZwJlQN_VuuMB-btsj=)rMrX*?* z$Kh-Rf_W_;H@O=pmk*keplJ88`@q-s%ikC|7u%EE)hvrBHX4~+RZ~6;?@ndmhL7oH z&yPGU_@jMWy*kTx(SnF-VR@E#9%R}$Z+ zr+rI=Jvw32PkgL$i>02>9QXR;>{Y~D1)`#U$dfkRUlzYoGfvE;nWG;b*tMN!Yv?kl z6nj>W!J~|k5)cG_lbeLp#S{wbs!9`iLiisXp3LDO%&E!XlWT{nA(2ISRyLC6hEUxn z7w(?KuvBPMb-6TXLp^ah%nUrydYHTeOA*RYror%XxSlb9epJ zxGRs?%{|snmL%pI?+TlKp|k){GC3Qc@~?HrERk&uUtfz^9M4iTvnoXJ7*fORK#n@g zw!reQ;e#*-m0U`y7;a>wq%b3cPxTL*I14;4*k;0>D`vI(>r?zKHW6p?nU=u3izJ%bFy;K$Wvcd;*xuFNEn^wsua=Gy(@>xmjFNec2 za{5Fl9gb@L{57da^Ecvzfyzp`Et&B{=cwW$@f5XWUOJJuj8mU~`qr7^S8}&|+7X?0 zBn_0L{=C{YDQ~vF6UBf0e~ZWJrfOc^IHrE4$Gg957$kiAr3O*=Fo}Lj8FfVlM_%~nU5A@i5OajGvh zF!sBHT^^IcDqf5~{(2UfkRQ<8I&VEc{=Ub>b56Wrxr#8I8kZWq|OqhqVZ0tMh~MUE9KgRQG7Eb8`d7M{!r47~0dTN6_~f1sJ7A z(thoq8V{U!vEZ3KhjOClL)IWiljN>+eBdVap1A=>X(cyhE0gdyVm|MrAu6vHI&)}c z`|L9&TZ!4eD%igG0&lkh8iAZvTqRxs;NnGEZFp8W=6rd<0O%DP&a6rTTS!xO8*hZs zkrDib(lHip7cc!AZTMsaX!Xx4+4uJ^N-suMIVE)7rWaxuIm&94&jXerMvY8#-cqb- z-?ze(>tq{vr=#zpGN__&3_3HgU^wORTUk(btO!D(Zz;FjpRUk`>Huy~jj$jB?c5pk zDzYnD_UFyJPBIJVjt6t}2h}vb^rdR4;0Lx0$C3JCY&w-qiSn53t^AhyFdWc<`c7P# z#hEzTS>uhQf%MG-qO?KQ(x+YB>|CT%HZ?{uSDL3>BL5k=$TpsA zdh4LLhN|yq^rOdsWSC0hK+@JvNqS->1Z7G)H6{0gS9H>^uxS}2vhrh5U!J~=JL}k% zs*5G0eOGw%pQ?3ozRt=LTpDyjOG&hq0D%2{{zj8D=F>U-4exrFK<0+c-s&d+Vfas% zA*D~5DEmX|VO`f{!)jQyM1@3V8Rhe-ZGKX033TbHHTqv1C}*kVSA*?>$yI12I%D&J zVZmuL6|3V8)8j8y=3ix~d? zD@3?c`y?Bgn3FFedywM_S%O<=WZ(RplrgpxpHJ)RF=}PUWpcn1%`YX{;U@c=aCRai z-K(q#ZOyjBr<5(-S|piv{$tFN5l>sQ)N`$*N~4J6ye>xV?KkecbWTkHFC{L!a<*~f zC`$8B?NY0=7PZL_w1SkDnw`%D<)=8k=4gDf$*uO_Q|sgsh~PCw70x0a>=*XMmCU;J z^)2C|73Xz7#{Z0EvHx748T`HHBUPf0!gZ&^ zpQn$T`dz<5*iiH3^D8EI_9somG*+X{I3-EBpz36tVA@p}%9@o05Fbt*7b}K--xDi4 zsmw5~gy*Q%9PXfZ1^iOdbLCWJ-775L)=r=$xF@Yxb$NqiNL@QXXYy8Gw_rC2ws_|1uNPJFsHbm_AtK z@s{>I-rEd>3EoX@g%hVvbl=WxqHEqN8;j1G<4^kXz&?~lG0(d#mr%VD^dyt9dca#V zJ$W&6@O`1L*GO#U8c`bgWSfpF8miCV`b%ojwG1J=2`%Z5IAf3^Ul=r12(yFN>^G;f zb?1zM-B+^mf%P1AUJ?qu+#UGA@!eqaaVq-`iYb)vWQ@nNm7U*zWy`kAp=bzQYip{d)q*LN{HF`XK_m>wS-vQ6*4)bc7tph^-)EqF@%EUA!eMdqP&H4f**c{WrM{ z>?-{0{I-e>|3DU1YI89fK60wq!9B9?O{vWHbzQ)&Vd*HKbZrE~`O>~+B&`x-^IWzb zjs^#I;p#Ad=3l^h*_+MnG(IWqeR6l<;iO6VyV2n7ZsR3DckL1nHF-4CvG5eS-6>&< z_Pg@ku;sU%c25n4QziUn3SD0}+Mn-P%DaYe+uMsXL;hb*%^_HeBWD*`ectIdQKnO} zphnK;8wYyYhX-=;jK7Ebzc?Fq>#`mCEovJZa@DqHrivkMsZNByU~qM5eETkE9{(=7 z@$7dsUCgif^GYNhic|o{mI_jyTjj%e1R@B8`r;X97)9F!?W@QUlEw&OSsL;C@_O#$ z&C^+Fl(!5B`y)E6X3L*c&H1#}2T4bji{D_jC&3^0RlhakV=ZvEn@_SYk=mvSgP>5N zu!aZZ2bpV~Z0*KM`oc3>a!giPAX08n8Js z`t0uUx*OPM-6$x1Z6L^ivuFQ6z8hNQcxxH&+H|%N3G~)dxU@7|WAWSU%QJ$wD$_v~ zd+uc=J6gM&id7>i0ER2Ft5D%T=x{Bqa|D=E5^x5jo&f)>d~0b;WFT`l^j_O`&IbL4 zGZ3ntty`3#0Qp{s(IKpO4Vfgl?US&z3%j3T5J&nj4Qb7pdH3f7gOOm04(#FmM2~T# zJ87qL-u9g5udwd<*S63_j@Onqw4;g2Dtq)zWmJ?{xTYM{@pfpVTkxl8f;1WQRrTvb z7J8r5qI@b@gG&%sD4w?nk}+ZNXVpXO^^D_4S-DmQ|CScwo)7t*LH|4vY%*=glSiv$ zjrRD;5$)4xB+d%8=M#uB*?EMZmiebD*oB&ggjHAVT36WwqEUebO>FuCp}Dv{{0}N+ zRoQMtvH!gIl0Vt4NQElACP_6qghW|?V)s9KGFQxbZn3gXj#IC>Mp5Zvwhho z&KnLUG~zc4Wj*7tY`cGx#4ndXemoQMG3IgX8x(&%9Jq#l&Ev`#6|+7n$6?3em?#&@ zJ-S)%UN_uVO}CWaDwUtqm;nU?%0B5vvRs-=hl+q)TV}q+hL`y!0wvaB^aqG;L%uxrP9gD`G zyu)cH5;l4d8X)XNnS(8*7gd$renq&&nR^VmIpBYH;9D&FG6U!z%~uJJ>JIvxd2p`> z+-4iJ3}rdlGUinhP9jJny7pOtzqhWW@Bh5p4bcFA#8}s~$k&2S=_SjfWo@iZZDh2e z1|vV;1sh((4mfY6yWMNdVwRP#y05;r;MG>kuYsV&TbV#5Fqge`<#$*It%uf2%p_e91l zG5*$ZT;6I!YitLR zI0qfM)d1yPmV%Hq- z2~Kd?1eb*1dOP1e=lpYFmI5&8NlJ)^vq61Ax(6+% z0#B#%rVs%P24uz zD7jD#5F%((;sIw*v!#M2Mz^*(JhfSEd0Ca|b@?7OZN9P1Ld{z{Ux1Z zPyCA8Xkk}W->tvUnyG69uUhJshO92~ayDlWXT5#^j;uW63VJ3!rp)L1ZI**jFo&|z z<`!Zjt2YUsgO^^bB!@A4x_1Z;s>CT$KjT?NLCq(G#V`Rc-%|BE^6hub!`MJS3u7k! zJrxxc?{xa{nd0H7O|o^M;KLW=ghpEUPgv;&4dPnKa$FQ}6~0qBTfB^Pz609Ib@w3p zKtuCkl()Oby1EU>9TkNu{-}ChUg9z=1H?-@i*eFX6d^s=M4R$Y{VjnWwws@F?atSR z=TlP4!|&0}v4O+O@yFnV^T`y%DmrFzU&(dz&jqws9hc)!k6LC%QH~p=)6TARZyy(a zEc~`3!eW_NO${w%w#!GnnrB}3B+t{CW08a10&4~Z{~q&C4&(~d+gmC{Tk)w(Tap#j zo4IdO>qI~CK|?lEg3ni4e@>3Qvnw|Bf8-<_lWay`dy`<#<9^|y_CJ=$^EEt}%jNE2 z;>o?4NAXhDefPH0;R+Sam{-?}XT(U1n0e9N%JW8f# zc$7(;`MkkbnpW#=&p%PA?yp*UA#cawAYVNzQMU%jITI&Kk0sux^hj*DYXAuxC#+~SrmFN8y_O%72Au_#s0ZF zLs*e^-)c!%fEh;`Z1v6kejEb}GwvluC6jiF7HW#x90%)@+ZMM2UdBdi4krx}E*Yws zPM!0|lGzCcaU#n4*SP{UypYR0y3IMxXmO-sbukYGO&JnTNf#$nzela5s>ln-%0drz z)~xwHI_!$hmJYEz_EW)c_EK9JdUB&L)yo6bZqIbMr9USm^yq$xYp)3Y$R9}I z(LFG5+fZh6_oU&>-%`)f>oKuE6lj~0_9G(a&_Mx*%^wzsc=N~*P{vJnI4huMZ+V?ZkY{B(Z zc5%Wyd>ul!G?-2p^hgwEa%-CO-5A)mG0bD9`cj>LEzfcxjE>TV(xw31xfM_=>Gy3D zN#$ral^U^@boSNX^Ls@5C}*9%i-{(DX*=A}9z0wRGEEuVL@n}j;Rhi?+?L62)H1te z{dHrA*$(wA!oQPle!&V&&*VTWz~V$9f=f__H%n$s$ol4{|nXqPFg-tk9vqUw%l4R5O% z1KH!sVYW=Kl&ez*^8>yf>X_eR^~U>|&|eG>Y(5=EEc>u#{-IWwX*)%FlOE98-=iXW z3U;yLq4AVjFx{{)VLp@6$mSF@H+>wPY?_yhH8T+FWXSHq52Q%9Id2K%^Vb9LG=m^c z%WG+FS7|fX4mm4JOevspw)s!3r@r}MqpygBRKz1O@foG_ppoM`yPJWJ93^Ot>9FEo zDJl~3*tPc@(Gd)~+Wv@4#MBYi^9HJ8*!tBguTM!Oa zcs$NKXc>?r`dTrCCla2Hq1jo#^3{5oZzI2d9E>RYEJrt>b8xIR>{u39>zg7_BHyH& zi@{OFiZJRSWunWST^noFS%W~ub02J5ST*|Srt_gzp*o_9q{NQu33botlMmyQ;=(jg z=eEtH_K!=_jpEs9FC@)(jWlrGW@clI^?jTQ;Q?{WSGyR-l_h0e|elMmoD;Q5aVDatdlD`jm+P+`39DxjKM5 zIWUdDicqJQrU$^86NAQ|UjkLIhf6Y)ed)7phn^@fDt^$_Z^e?IS#jh>C)DY+f+r#^ zft{;;cM;l2Mcdlt$JoqqODFiA)x4M;Li0fBgfHsMnhZ)y&o%5v^f@8g>{YepzKkCN zj5?>IZmRJ#+2o9HRh6IDhmI7D3W^eA53k|+*f!})`wIUG9sngVQvH@4Um?}cyXOcQ!@a3~JwE(kt(U4>mAR*J`^V=;w z7!F(4IJ>Jun#=DA9W@2w4=s5K68PWUY_-sGxpSiBZ4y@cG&0p|<7VK4xDK(0BjvZ6 zjR#tBztB|HSIj%}zuXx1CG}d@`rrxGJbN+z4hX~jakASusRoO4n_>DqaU1ZSih9sa z2z+{_zB&&a7$5rNCY6r59Brn5yPaHb#L6e?!dRMZ>#_9PY5?IdxNPPCSQTXW=ar`W z3CBJASD@45Fyhpt$E##>RB6-L%jzB$29~1gD+De7Xe{v`=zeG)3m8*JT`6$OYGV9q z(q5cmeWN7FGITPP_(F7Ljl>;7o!-BUA9Is55jF)D_X5_V5<>M6(HU@nyxvvmIyZo3 zD6NN8G6eCaX-_B-$Z(xk9Ry5_rW&XuKmCdJt4n+Fk*$RA_pi%|-zZ2ImqOn7gDQ0n zpu%b#$&HEafSSApXmoSzW%N|1iwmNnyK*Kt?09}!E z6(D^~Zbgm%oysi8hVaSnZxSLa;8rm3Kr0D_SazhIFC z6`3{$42j%W6Qjz_-w&R$t?$0}ab}8@f4DKfeG6V|p2mews)A327*!w#xIU|gZ@&Jz z{+LpFkNjgwgq@NH9l=r;&A0dmaz{-(-ec^N4dkr@IQ_cRdCBGGKM9Zy#X})I5Rdzh zoQskG9ii+iyk$f;p}kwuaM8 zL$nxt9#h63hk1vBer&se(O08gm`xerY5cIFew`}-8)ZeD@`KUJ!TUEv1P2jq9lq^|5fTa~R!%@vxT&UW+25a4b4YABS51_L+9XXUcM#4Tnn6 zy!}LuRB^S*VSi&?zMBX(PS^hU!yc$kJ}bB8x{ku)mTa6*GakH&^Is+#3Le}kE*@?O zXA3p#wX9uD0*t|j`-CQPJw~)-Cht<(IMVYjobUURSzng5O?#Ad>QR37cPiC}V90(O zmdxr-f%Y}3@ZEi`8JF6Q{xbk}w7jvm=lt4efb&-lJbNpitxW>|UAx}RRM|?{z?QX> zAfCyzGPb8S`((_v^8uQ;N>dk5>BOHkB~>1eO_KHLYII@GMTbI+qW|ik z-9q^-mIVtMj`{^}uKX$bgxS;&hv=nX`0ZKpRTafnQM(RtyeZ3GZ16I!HVvM4q3qvO zZI-MU)t-XM#n)p(wXFa_yDlYIg|KGC48LXo;gnA}cpS4*8Q*?xq`pmM+Q8`2)#q`F zORbE4#E~%jk4h{YUA0^bw9%sg8@U+2BcuArDUL=n+o{;Q(^lUy(qL(BVXC%LY6b6s zD2gykq3B>u_#Y);{toj-#ezZHe?B3ptD? zrqKQQ4hO-fuHW1=!Km0Zt4~0U?;D_DTPxjr>DrRGCDNewh_+y+2?$gco|M5{rjjUW z?_6fYnZPPfbuA>+p+d40~qw2h+?b#0W`N7p$8eYj^t!W1w2D*OElle zn^ni?OqyWmS;^-b^xh3(E40CBu}zH*&Klg2m_MSAN76}et*W`4?!)E_Kyw7>a(~XIHOJ%cNySWBt zW)y8Mela=M!S#5ErlD&LUagv?hdO#YNy6(oqn*@3(^2eEO_AA1?4snzZ1@(qI8v2G zO%5$?87-utf`msveqhgTfSLrw$`1?viq5GuVD0h8cn~TiMr0w2a!LdmYTV})B27OA^61y;84sZ~>WP8IA`j&q9F%@bKmEI8i03^o4K zKG{I&6BEI4dsP-vnYxPpY+A70#7CWEA}%A2Ta&7E5s3AJmqAWkW9UwpjC( zT=|#6rU8!Gmpa)25!&m<>DHbP;TJIrFRXUmtLR$B>SuAF?hm2AB2XTU-aH(5YL#Ko zGH>}8erV&AZQ@yfL@V3Sd;+o~`sYZjCIs4ipHHYOXu9jY3tsMrZ8Yg`uk#VX%yhg1 z4dU8=di=oRLUmp`qRXH>D?jb9TnKXN6Jc`~r*2xQrEbLUR@4ABpUg_5o44wx>l_CI zg^~sLE0UKYM*nNI>{@{&BfMdUUy=U|Iks|@88G-2QiFP0WO|Ad8*8R5`VT8xEWwEo z$8BSN4Cza=W{3KSySHk0y}=v&Ij&lC7~YS4QjKj77cZHN%ZvY7ONgH`{K>Q<&zt{Y)KBdYN#0I&z6==-Y=?&i+`&7B2smuK(uj}uZOz2X3NS$w(=AgAA|BGs- z&ik)rV#56N6<9iAdiD-`z_Kfsc;Pu#P(=h+u3B9q=LS{vF=t_d<|f*ewVarV7L0#j z@iJ!HP6mK!Ag2!6lQ#idPW)Eji2|h@hVQYYo-!`J@hfX#S}K_qH?a`0)TLLVrK~d< ziLV7y=jmnBGMHokHiK@n;CWDIyI^G(Ovz@K3b&2#Jb(m`D}2gsV~eOJWQ%D^^)NB6#iCwL~>KzKt`T4~C6JyMDKDt1JwHy3FB* zm&YmEKZ>_;R1`{g2-yGr>yH2ND9m`uMwVdEFYQ#)M^n?cp0JJ|pF76@G((s%9DRO# zIstbJ`}WptvETkxQ}aSz3eSKOyG zmuv;Zh$fc*HPfa9$I1R=w~czDOvVJS;U2|5j@0tLG2D#?_lB_P__Y>V*-%j!oaJ(x z)Xyl6$uYi$n$#Bjt(X-z!qklt_Z=1RZs$QcnOA9HDq`s6a`eYs$pTEh=p*-I~x{-zqY6ddE#rgp=#&VMRXZf$o&%y2>2OPf`6f4onI5nTrtwO;%CHVGs1q-$Jq)4vbUHalgBjm+ zAkbpC%jXhVZ4LOG@psnboYP@brT67-*2KJvBb-v~m6(0FuburRqwlTOZSToo)bMFbJ#%fhi14&waBbk}H>3}FkEk^gJEYV2oZ~dy@#^*8$ zA3j8|^4uGhaNS>h{~{x(X~YSV$XbX20Cp3xQgW0;1GHe$7&8)Re*;W31>G)AV&kXQWy#2711DO(C0yx|93Klb(cPP>6IO z9Y0`%RRzR)ZU0-{tEm;D>Hl3#oQDHj`d@hid>?}+s`lL1vdZ%@AUcyJH@araBnBMD`z9&b^(9P5EZXHzEQa&B_k7JVl7*oSjdJMsvCYXmiE?yIJYq!oA zP=`!7$tZ?u`lw60RdrI2vj|v^x1F;gEZ4IsjWCSmhSm<{X$52DZxePtbU4xcI*gQ) zH5!ty*TEEddnKqyc3WQAT_*I*9hV5i*tf-Jtbv*b`RNhVS9Re=r&rNt8DY$+tX!Hk4zSdFh$LA(d4hieA$!HQwa4Uo^X zV4(t$J$!)lXK#RXs?;}CNxgUc1ZD>ekB+io`xC&?v6W04u(_nj3)#fAKr~Z_nvVYM ziS!E1%W^8Sy2h$-Hzb`RGyRXThmB&q1X4==(xInvYRYzdgy$7iUBu`krm(FD>ZqS5 z0N)!kQ2U*^(4!G(%!qVFxx$&eqEN22zz-Kr2w02%Sh3WoCZ8**5;T=8h-E@V8-zs5 z$5Cbg4Ayx7uQ;}ba%F_wDRB{l@}QlZg$aQc!na_%=5U2}K^SnVHCy-Qk@M9od=N20 z;2gE&{n*DFOjTizz(F{O#lsYK0kHAEXy?uhlzA8M)<`twH#lLe=u~6W><~IaQ7u! zicM&EpgHD?FwjaMU1@(18Z1K^ILZnlK(LdMyoxn`a$prekoD0V=}O~r%DPK3 ziVm;hz9WwGxKl~>!3m3%X{dd1CUoE!dXIU^tL5wC zK&!?<7xNUKRyyiioSBx8v+@%IGay<66gtJQ+HdF6Z;LE5SL*^TXS&M$wo+8SXtmWU zPsxBB^!EcEy$Q|Z|D&+Ay>j?X1Egd=ebP1;h~~Jp)aG@Rtdrw5`DZN+f7I)= zT}TI^VDsS*n2av``RxG`N`GTKbFQ25UOml4jN67?%$NU00r!FstN18>L=HpRE+wWs zLh>+Ra%5KKErtL}->9Q-eB`YkVNR^Pi)vEb6hWqoFUHIf5JR+`ebwYQ|F3%EU4YNmQsKE-E`M??+Kf7=ElbXEAe+De9Mw4 z)tY7Y=XhH>edlpX1c)lrn&?4L2m4ghu!Yb4r^32#gO8Ja(K&+4EIA$?c3H zJ!bU?T%aqJ1{6C7ZtBzp#WxcUE&Ha$F-LR1B*|O@p;99(ONzeP(sKnDD{`xY!tl}d z$Xn6L(7}I~a1Smtyl6UklbT;@trC_0GB*B?K8aL25^zubt&(|~>OabU?}h1Jaeo=r z;r_i|S?X@wj@;_M!l+T;S~tr$rh1wl(1P}EY{+N8gD6h|AHG{ribXe5&h>wP)eE^w zxk=YgS?C~Ayoy9;;&^jJZU7iUncn<)Fo60}T}JVnvE^Mnxt|RHnd9ZLXimGuJ_H<7 ztiaTdmq}k#8TUZC@|9iy6kb2j2gRj^HhnYL>&>%j6-Zv-G&#s8px7|qq970&b>bE5 zvV{7o$0JCE7@f%!R+IClv$Wv!o2MFuJ-7nnGBqazSLL36J35B33C=*egJ>WD5`hB>+`v zfGQi2wkUcl+hos7l40_ZxsrO+cC49nV1C+C2W!cGuY$z+7VoEZMy~|3;$&Sk074cuz&%t|Dg? zJ@&@(yV`{>!=Z_B-Cu^K?Z%sJpp(DaNUdnQed~}sD=Bf7;vY@xH`419ptZnBR^_sS z{KTe0V^+_x7jZsbOeRF|SRl=~sSH(k6Q3+Dq51qJE}zZFzy*z;6R4}19}4u9h?RW4 z8>O8MC0i!;h*pX+WCa4yG{RM>EK0S>RP!B+bgl;4NRCs!D_ePU@_k+m{F;D2PDm=h2oCUU8a9NE{Nfyn`a8>zV%W7_z`C8G^o6Z8(^tclS-Ia%;zpMDcCe> z*7>iM(FhHfJ14C*Lxn)-G|yBRK3}xQV^W0w3%LAWa=+40j9T`R;{?;c@iA_?_u6lE z|MU`HrZxkx^|aJmPvYO9?d@;TyLXYvEu75j{BJfCpd2p60|TKp1N0dx&}TrNK0HHj zK-qKW*uQb=GQGMOt$vgRgwc0?dzAw6jn^8U4y}uA`;m=%D_&~5?E-eUCD2g3qsR3* zcl*xQy%uIXAZr$kqUPf-JuuEd*H(uPFgt)U``_WO(Xs=jsnSt3Ws|T<3NF zAhG>*bG0UzOEhyH74-K`K`!x0^Y`=JrzPMMz#2a?Fv%!t|IZ}bbG-c6Iz=%dclvua zsrkq+I1A8?Vp3jFZ#-$JAu--k6>>9*873;w({XbOxzfrrwiyiJ z!Rpr1&%V!!1m(MBS4!CaX; zK#sG{g7Qh8DYF0l!@lD$+kub7LS)QQdIQ+;7vvvDZ1oP5Cq~WfI&>5VEcg8vUf)S$ z1=Cb|-J)&0cvo;!eO0x2?LK3PZZ6Qcl-Q`NIGbaSbHv`*->KOJt|^jok{Dh)&r zM`tej;Q8(;;$oCBK>OOyr*hUS8ESn8`L;nLDm0O90{vCHGhY%1b@G)^AVG~n^N2xy z*%8QS;;N~zY-Y7vMT=#Bvp!B(s``{R6KiR%{rZotW+{rN2|PE(oC!)J8d(u`Td8y# zys8p}i(w~lX+Ic+nizXB50P-Isf|f?OLQJ0!;?17gzm@zi5 zJJxO%9|KNE813w3Vb0-2*veB`q2*bn?rtXNrsg}=wd`ll7F_@TIi*3lRfOk80ni6M z3_D3&dxeM`d|noi)A8Top7?5t|0?EBE<2=;HmWplUV;!9`N$h4D-`%M>hSrk77TLY zmsuwbIoV8zVJQ9IjpKv#F~SWmGO`$qYY6R)aBiiqCb6nBCo~G915G5F=LjM;ut0Uc zdn>VJ|6Fy=y7V0w`z8|DA`z&KoIIL|=`7MJf<{^% z|0XRk2W{L|CZLTI|+1ZAx#Rrs;H!>IdY&?xzx!(tA)zGi+whJc z6faZ80~e~RVO}uF`+T+$&qZKmM04%Z*RKLuskz(A_D?aEhh=exC-#Tqp~$7zJX}g+ z??awqrf{Y*shmC_S(TtKgQ8*&3J&S>+B4>)5f+V zDW4k&(naUOiSB?o4>&!)zxmAa3B> z3@`x|uF?w>IBM>rAa|)dn)e5eg{JyN%^aL9mFD)z-S5(EdS?2mOV8mBl?xi4^3A*# z`4LZqNZc%kVq>lM5)DdC7Ucx)rj`4O!B5#Pbeu(OW*VBm^J@M=LbnbghJC1SHAr=I zKVW_%tL0#T_#q{ps@4~FT*$bz=z#LS(YV(rlI2#QGjqaX~PH41JqBjQ8t&pqo)quJ}ol7hHA!B5+i}NKiwK7jc@PWuyAx6m=NS zN?!+fU<)7kCNhi{QJ=vk?=G9ZJdWa$9Wjg|^+ZAiHSWTI8s4YYhv@zcLzyxBoG(I+ z)U1X^`Ey5hDCFnXu}7Oeod~5rYW+5JL}0h{U&S2*D9dBE@%RjjG%PHZ$ACrguRU8l zJsV;sRWCRu3-pDAlB`pdC>X8O%s2R!Ix4H%5Q2q!d?+G6)aLv0(_NwS4@@&D?%EDs)OuG7dB3CoL)6Y87<_Bx^jfXNlP7z02K1d?$jv0 zVU{l}8_0#8<0$FR1;49WVy)L)S%3McB{|}DU5jRFJlazc@c5PNss`@U-BQ@of1fF| z=`@yd(M1}LBs9`5rYIEEnFL`d1D>JAnaKh~`47cHyp7;*D%>C)WPHUq%AC zqpYgQ7F;WIJtq4PVK)I#l93*wB^KZ%M9RcZcj~hnREEv(^#O+ISZt5<2>wbwCfpv# z2h~|uIqdVRLbpQ197VqWT9rXo!_sq*fnS4Tu9pvt1YrlGAg~Wz6^(AjnNh<3z*+lO z#lJOJ-H&A`(Xm#gbb2&=OWkhJQ|y8hcB709MU+83o;RyfvJE>E*Q{>6QEc?pe}Ye> zm0D0h35}9}_~!sQw7C`n_)OBEWcX*;=eU#Zcp(y*r#*n)9=^!1lo+k# ziKPM!6%*{)YVUORf9p$zr@@6h{)Pkwiu*GXWgdfqGIsRenfn=n%GvLLC=}*VRg`#y8s~hZ zG~|~}#cVBom31S78iJQGhr-UM?GI#w8M2aD62@9ZH{(FM)-nc(t_JQaYDQ_+5QLu5 zI3NCi-B$7rFqlxg0o%7i2+2+jZ?qSjda|G2NM$lTv`@^v-UiNzc`NRNM6$b1yp)%E z%eEXC1b*yL&KAGS_^wv4i>RC?A#5Cl|5`|1QqbV}ua`bfY(gc7(|2DLLP5;rUDhO0 z9;n_)rk!i7&{h6qG~rMomeep{p>I(VV5c}jpDHRhaQHA?MKK|n-KU{r1Yf{HD$c=l zrcfiE@u9cQ{+;iL?jfV5gARTN?5V5Scn{F60NW8Z|yaV zn%8N6n0#>7wsF@>tCxrJM3gaI(q)cpF*sK$-(9?63S2@z0ry zSsCBuCWgP@d9q2WA1EwFJf7z5Un$|An1Dz%g0Uy2OFvbExSy*hEERXsTX8XuN86o6 z)(R_(7k$Wl8|_x58LL+jeb@&6n?^}}q3d08KxpK<;tT7p+hd=G)wV9;y8Jj$0_48Hd};0(7NLl_#d5^Pm){uudbQ zAbdZCN+XDV#4nwPcK0)8`?4a(VzW*QGQ;}Jv{tHr*wg05joDjYikgLm0!mt}zSsQ49<3l+8K8Qk@`zY%JP>#fE(e9}M5qFr68*!h+9=!vLL7<`4o z6Uf|F4tJrM(hW@dB>u7mCo}Qh>Rts})I}AZhq-bblz=sz!Qoa7ne#u6-+Gg$Syf=* z86`he_jK4v|x zV?$}GtQ4@>_efj=9}4Vs zXktk)I&?cwSz?)(o{88iyg+bLYvx2>0-)65zD95tPL_}<)@i>0=(3|v)7d*P(Sh$- z$SMQ!opZgJ`?-GxsSKykA9|4RtI|=0Wdq&kJPf%igqoWvAa*o~?wg3go2_^kp_{~JnwGh!OeO1g`yT9eXiZUm#>8c5cb+F4)0)eoyZ zV$9&CX(#pUTPA6 z*hZ0i6^CE(Vyp^dJe^NHK%;Zo$XiAqtB>B!Kt71MPJB*F2;UZ6hENabPJ=&t$kcac zik1K&SAWfNIC;Na#m%f~Ek%`nx}$&OK`naF$x*#WAOq_5JBP>OVnD|#5tX}~OcMYX zW|6txm?gE@%pZwn6tG~O$s*fWBj6s0R0KXXUgw{JU%c7&j4=>S@s=&t<8<`jrG_7C z;OK@{^)(g}hl$a5g3Df!H~5a_sncf7UcNJgR{NE;M`NwKlrOULn1%b)X?P9ixibP= zQ|WoIvnX%RM07+Sf6bdekk zKsupVH)4y%%~xIqvwXOdN5pw>PPN|IRAe}OG!wL1g?QxcddX~kN_bgwEPBymm4vrf z5C7?a#A4@6((mxT91$qlgir5%0S#r+d44YLrhmwP8nLp_L2hD~Hu;lXuawNl_Ixj6 zv$(U~J@@(WI8 z5(RHC3H5MMh^(C_5icwGJ2yd|RB1o!Oa4>((AOHckG=_6bxOgG*v_lufO^sEOoIEZ z4TrI$F5+^^5&kR*b(9Y`SSlsF+F-(2wEa9qMt(?E#$hJ;$uF4p0f6QI_(Ipk6ooa+ zYh;DV{W8g-Kb6633+-d^F|zxEZ~YQkX8_6e_Z%rnj>wia!qUk)IJ&a~4_WrQi#BB6 zl_;}*`0i^rXBOcb+>J*$76I`K2qtLeq$q(Xn2CRUPG=wQE_+RZ3E&x?yAQ`Zgw;M= z=o`AWYKnfJ8BbSQ?w3Td^4x} ziF24cZ@CRTI~qjJvKP13L>K>fBuHX{*2ZRn=4tfO{<0O=`e?4Ras92PVd`C=HpjiL z-$dtrs<1)xiU8=P1MA`7yjNlZmWSZHxIZI^F7qHL(f$i_R}`gJ6(8G?wFv1S=Vkld?nUCrl8@~1y=*_?e)Go>U-~!khk6b?sq}|LqeNcoDCN)7jV#}$# zQ{B>Dgb}q(7e(OL#e0Ad*PtPR`<78HQTZ!gnn~_naXnMEjGvaLqmD~z9Wl^K)j!+f zG=lz6shM+TiN%-xKD!Q+jwdQ$UGy2f!J>;u&rhIlg77pBDt%xco)9v<33r;ww;f?u z(hxUk`Jgm|`;Y@lS}c1Y>KlAL7U&Y?A^UdlGnW<ry^bn-jzoXPbC^1d@rwUl)b|TUYUxfqi2GM9aksKFBz~$| z#kv>7-NnG|d#VaS?o6IwbLQq^@zm$$+5Nb4<`jA_@14rm7C`@)Q9VHZ3xO_8b>0Bt zoL%v%0jDE8;T*6;MA1V-rXCderNnl8Sf!*ND_x&PWy@yzGKc<6vY9ghw|Zn?`Ih-! z#`l!pi?+i8^t^%o6o(`;@Ig20tDdH+tt)n)!0?Mf5RRL~7U)+L5j zA;uJRzF;msP@uArCM=cGwI-|(T9S=ij7H=~ok#XXMr+faO z+YBQjgyK$SH7nhZPCpC5-uH(uzBP>JPZ=YN#s|p>+xeG}B*^r8d==ls^oxWptjIPk zQT-Ba_Isdj6yro|vJ5B4??$CdG;?}dg8pcm){aqC-~=0N{Qq9?h#C=c^_q{-@}sSo z!9fcL|u(iMLsan}jzIeQ6#)x@@8B(SQr@ zt`)y?RQH6ZnnwNfqBF9(0J#QcDS;N&Sri!-TOsBWOm?qoa)HM-)ZnDt;Br;Y;# z#?V1#pS;WNsts1AQ;Iq5BO+gJY_(q(>lXMJf3wd^4WcW%4IZHFI7~MF@WGhA|8?W%5LY;6F9pJ1ukeLaKPpY z;$M^HxKoc%B2CQtIcCI!s%{+S6BMoA@UKG=lGXs5vefBMcym!;gW^h%f>|$fbt6j9 zkEI~7&Ok!qb5JCZE2hvpSHjZ4$MRWZRn?yj*ttdWL;bIsnH;QBhu)2t*{bUEIW9AY z`ES+sJ8~h;^t(p;pnYM|$&BtdS#BQpsFFlF9{S9j`|nroDW#Z)&~37}og>AsaT2dO z$in$nQiyNCsL$PvBhpmJy(m11>pc6@=Z#gz0mJ7z{O`o+23(3(AB%3~oq-{!Xael% zOyJxiLZA-GAvMp1bR0V;!X4J3c_gG;)uY=;;Ntz6(Wevgq-y=53lTWb9H>?saHyz9 zJ=Di36bT&SWA@jra?g@D##v84 z7j%W$#+{i+F*?&he&U@96(=}T%g7AZ12R;$wB+Z>U4KhS z{9S|nf%8Y<37H`qhzVGs1i#35Vw7IU?(dCQL|6S@2WSPK7MhDSY?gLNVbq)UQR6qn zvQp%s`2piTGZa9`aiMRO=-ZQ)9dMy7TIYX?_wyrRiE$sR;PmQ!QGl35bPuC!tW*&k zjzH51&;l-pb=j6v>dB$kA27J8Z zd%T6WpX}+;cX}Q-Qf(izxRwk;>xlf8%&%cZ*|s%#0L`-y`znbpT+FSYMxF4W_+ORJ z#)yDlblPUK&^)2Qmoj|j?K|@eh2hSwYuURVNJRF}Oh5MQN935^6E9vE#Or37U^QBQ z_In!blGcX6aHV52H;JU|lRr}ypJh)IEf4W2jK={}ywIod;Bv*N9%;qo(0VfC0qsD2!Tcq{}EFz zf^mY6vNj~)snYwIzQd6YLUjB?AmoR@Q%JWbZT87_1Y_CjiNai!S9~`7lM)cC261Fk`sGQWT1Rng*uU;3}QruAxuzZR!TPdk6KP8G(I z(@gR*ItBu@uEbR2sIF7~%J0*{9O5Or3{u&kl`Nn|8xI@~CXJ0*fc0ZP?R%;Z5+F1k z1L6SOBOyjH&zfW{zd~X9afp7wEWMAVKEiaLFx}gQ0x}mpx+bc|n3qxp8J3%sUJ1sQ zsXRDC>{lw(Cu}?j)S4P$GAtJuN0Omr{{rz`+pzT&DnABAKiH5KO|cQ9!d1((9u1M7 zja>=WR$f~X){@FhQg?LJF8I%X2Gb#1bC~X6V#)HVWQ6gVaOf@$dMA|6@`k)7lH)l! zb@#lIEY$>aHI+5ZTUC9*E3(U7t3fsJmI7u#@>_MPi@$UcEVz7&qT~D$?jSpBePSyZ zO8A47y9?TQliD5Yf5dJiPK>10m-bhALQ3Xt%Je%9?@Rg5J)VYr1TObh791iXD)_*D zfWU8&z8CCL&=DSb74!9x2a_qAwjG=lMGM~knBq5jbhpo(|9R7&Y3QcEdzFx|0z#as!_3#)57ub6U#o`Wi<__O8H7RPQe}6s z@4^-RQib5Ut}H~hSK89Rt;aKY+at8*YfAc;oFkm(Nn(u3szUcEG8HL<|2Scvmv`D? zqIuBOsFjNI`pX`*hd`g;;tIg?C+`hjS_w9ttah&XsiX4KG^p)>C0j~PY0r41lDop8 z^;HOy>9`s!8t9sIT%WoZ>O=;hjHa54HuUj5)ayhDa$Q28QxfyOE^I4{Fs@FgV4*+Y}|)?D++_|KS`kyA}_oA_alXh6frP$SSp+*$o>n) zx0s}Zz7ed*Bfx6L5Y(^4@W}9k?)$B+)2`saQREKxY?Qy?B0Go-bjAecPnIxpCWXcT zog|=kwNy|J!pi(eP{^6J!rG9`*yBgEaBDH z-$IkU3PO_?yNsPqRvgJMKY90Ag^l% zn;_1b-Bs2>Ccr{qSCJ#oLUQ)3K6=N1sGwc0|5$>ExF%l^^GjIj+EVTCXkg~ z@ovvZcNmNX^2h?Vi@F^ERQMJJzLA1O2GdGa?JK4kV1=Xg_t6Js0#77gZ;KbuPjZ{- zBy*(l#3IR$5uvZtV2q0bL>&(HEmFy)ded?= z9efCorpjZ<7%;H~l^P!ryjg=>k$R zYZTmb07wY#+@m@~`$i|RG|m01#crTroQFF`2HH(m((pd|a0!G%dHeLWbsb|Q{VFFE zu+63dIx0v%>9xqL6mdB4{R<5mD^x5Ad>RoS?u4pxc1%EFq@h|XhgAT0d8|M`!?^eT>iA!IoD#?|$=9fS%y^A`QP7jRBm4XhHSgR9Gx1EV4--eBdjj zQmgX=bV5aa43P-fpC5gok~qJQb|ndrC!@Ev6UAZ1vA{}(JK5}u)}Z?vv8*=0tnInL z^oEEJ1{5M{bZTM>19U(eC{O!DUj-i^_F(DS#(6WbVBn>lzD`%xj1J@2-#@b3=dN8&d_K}gZ%`uhvU*WFDtBZ#l(N`4 zoLXg@D)A;I67RTD!fq(EK<0E4XTJZ6XMw`?QA9DUOey&}q_R{F@OQs<+ z|yfN5UNkk{}Uev?85#6gr=7x&MgFFP{k| zRnCM465OToo{8U#*7;;E++Jh##MZya%B^-W*D_kta_d2;Apiye=&>0LpPOr`nu>vS zLO98b(z;9hzXmBP>v7(R2!pgs`AOT6CbsPoJGOM;=2wXxaij`P(bR-c>zt`_!CY~4 z`ufJ?-d4rjP$HGDl|pW_3SW)4WRyw+LahtNHh=vB&=zW1{8$`s$yzpfH4ebU zd%v09-%_LoR;CU`2i}$*B$2pxKyOL!=EFCYDX%uAhm31+S<-@&KTzrC&!c~2@L6dCU z&yntaA`|{KNX)$xb#P22I!r+5VGq5~VKy}3i`R5r8nnG55EEerpDCEx zFQ!|$GL06n`)iR?kS%TluA4G3(w54r;(2_8jap%*INE#Lu9OGD*x7qPlu8=h(e5BxtHsiAy0Al2hpv+p zOrrPNf4uO6I{;GguZJA~N_9$h(zOjdPQ9uSXEu^Qz2TXW$R#L{FgLUFrZ53Y#$O^9 zZ%F23%uzj&ZC6~VmZ98soY{PHy9958_-R-TlFjLVdS-@u9!VLjGs#<+uo5tOJsCRD7TO^@JKX+J^R5I zH!4sK>k3E?>iCTRihCX7WVgdtr+lc>7s2d@(`~0M-dR`NYyTbIbjqPoN8R9&(cpjl z$Ej=yd|!#vOMBYoPXlZh*(J`zoc`!_Ycd>VxHETs9ii8<9hN=^5oR z)#~GmXw7%sF@2J!ErbZ6EsL|C%-zD$etRaG{rR)QnHTqW%g`m7bBx7wBAldL7bYhb z-~p_~bM+6~PW3l&gcqg&e#lQeNQ_$2d#^mk@ywBqtm+I~poR3WsgcK&3oV~hWjYW7 zSR`iIk3AiL`?B$_99-JTMw(g3Q4n?ytSykSOU@#6qhkTRW_XY^sE!FtP;x?4NG*0p z`Ic3zP!knsbMn*&3MsIw_{U$?Jc9)B_rK&B!0gVi(A~&#TyY_KsG12}QT2YI*7tTO z>LJ?F^S+gXZjk7AFyh>z-2ayHnEJfxGz%Ts8j3;smXOhua2Z z6Np*~V37nWXns`C%roJsCiY((bJ&4Xi;P_DuI!U^0JL7aymB!8V)8I>31wo-ia66DTU1a%q z3?HCLBd9q2@9%ITQMp>yUHhQ}ty;Ei>w_JvU6DD!wR_*67C4?ZXnBREoIniWh_NfC z{Pcq2%c;DUldF&FI&Rw3F|)6HCW0`-c=Wf(UO3&fi=*w`S{({~$9h9I(7+`-sH!8- zao>7FdGfY2%#p}N!_L>L$*zu}XRmLTq*hNIin#!10$lQR`1G{O5a-JNUDt?z>!^`* zrWi?tmVMVC2Z|4S*7W2!*#24L(MmmN?V-#;%)n9qje z7Xq63B&8rxBf+ZW>%7o}@&s{VX45-|Z{} zS2wFdYjid9XN`sanoM}Okg;~q-7DvF3MRrbdxesvL@@kND_=PLt^HetT zlKOv6X!rX8u`6d?+_f#%?$3|FTqA%IhD3jis28V z9PVhG?zc^^bpf3Ij8c}(C+oqiNW{EMKv#tKNgS?ntH1gxKeL>|4-Mh}%9q2+;Ky9<9x#GCYmn^@Q$ zrWY=J&V~T(1j)hT)4){8#DL{a5luj96=}H}1Gz))`ewhcrn}cMh~D#S-J5V7)G;A@ z(aoL3tQN;*s3Sh;6{vvMN8tF!z8R%%9eH~sb7ObEb*8N;jCSN+5@Yt>aA3a{HPB)W#Lx3kKlO5V!wjk4;CiUodo7~F)-a{Km=eb$n z&>v0Yv?!qZo?~;1@4CK0YujZbBSr_u*Cw{Kw;8d_4+#uqQC$W*`q79uK=g}QybE3) zb#Q$h8)s=KA2R1MP@oeiAO?^M2MTC>6xb4jv$ixgD8f5p8dcXsCa62X)0&Ai>0UXo z*-Qs01=oJ%L;lXlUcHWVRweVpm{7vgCO?c&o_Pj4?HM4V1N;`X>2!~}0_^`6Wd7P3xZ#<3zruYfv&YA_e-b4Lqrv z0@$kn*lT1;NDl=zmGXUOQ&dHE#oNmPZW;qT?*mQ608Rb=OL@o?@~At!VryYM^3nH0 z;4Mwh&q5V-0YycCqWm9Rvr`7USQwub16`BL2OhWp4?eo&4A3DR0ci9&ndFe*^yvT_ zuFR}@{haH&uHaZ(B?CUEih?%oOiKY5yz?YL^<{Y&NgX9kNIOJeRu#dFO-YJ;uT3&Q zD^7F?Gp!$>SO!oeVwBeOUgZk-Bfhy68`a$VGat>`-;uRxQVNPY=->CF4C~mOD%dti zm$}4fckrUgP6g{zd8_5=#9>^&*j433sIPvmg&*UekV^A41VwoocvlKH-Kz}icO(}U zYv!;{nzm73ljR8Wk<^vfCaOO9N-`6$SWygh%Ki|dWxB3k0e?w7tz#_Q zUrRcf)vNAA<_zPb8u0_`GW=z|XOQCS^vjhDPLN}vxSy5S^V~=Y^VPXxb{9@Q`n}OK zCh_V4=uo*6P}*iX-8|sx%;)x~uq(t8ITzv{>+jb)`=c8MXG~qE{@EbTimWB3s zG?Hh?5Ls7IH-Uf%ZOmZ!+n%oNFlG-R9T0HM-^)d-W(gZE!t#v{6%z2n|ppE6A~`|cswi(a{_CGs_R}jR+tydr}T|P6#3^ zYh`*=@YOXcXMoI#q_gck+Z2uIn}9qT?49kERj>MQz40+to%%Mv>)orXgv{FqObUNQ zOY-?P*I(q5rJ}FIgDzf`3^+eXI{ZoFry}6Nd?g?&lR1JX&90m-@MF-+7jfMnOW1XJ zy+_t(#=)Bo)R4B2`c82agC}EQYLGIFJ^VYOD0p$S+*i)cEJOSG+JC&TlO{caBj-^J z&*BrHKkv~z$t$M;Dr_qS11Bg};`FOU7JZLd|F8eX;Z|q6(Exk9ws6shE}d{9j85*u zMSzt|n8~Y5oRI$0kx|vG(mq`dC}U%Alm}RB2Tx7hd<8Wp(6r&i7Dt?Wsi#JLj_3~O zyD6%47eh_u`syl~hu?~Y81-}wf9xZj4K=N-yXG#%xxWrJ(gG2JDc^`)DSeS4@2%6# zQ@AhWn zUMb=O;$8M(q=MmH?o3(As;z)9ft1yV6n*22lJY7bP9V0kNL?juFH3Ey+Jd5zF~kHD zzbHbc53uL_g*@}LmzscGtqx1N*(%m0g+v7$wAE~=U(Vv; z8XEI!ae~$IZXQ-aNs_zOOx9$LCD|nqB1`KvWm7^eu(i~w?x!-&GmH)X;?p|9>C-Ns z2x|9E^6ma4@9Pi>S6hF-YwEi@D`uhF$p3`cOjGNiyckdsRX3jS18NBq*9+}RLhcg= zphw`a{cMbsBS3ua4$r~-STv`ifZ(i4`s7)o;w&F5H>TCv#UqjwSe$#n=IoK$KurRGj&u!c}ZA`FU^he$+b#eS|6bs>U zJ-nY>t~Q>RhTX3=ECHl!E7k@lz;MsnD8J)8byd~C13J}{sF_v~+PUu#0d4eqah>G` zRpc8rKfdY_J~@1`g5`yjQ;Y@7K~0I*9WA()0mxakK&^!haZDM6j1bOq4)yIof8eMr z77W9Sbsb}FcYR-vZ}W9YOEu+U`3KSj2H#--@O~69otD38l~)!6c`Bn z``vUrh6>9Hf~oa`0scEV;R)%}N21D{3F+7OGyg57R!@TJk3J>=p37=It59w&HQO{% zZdix(lujzPh(J6aYr)7OF)h^$uWQslzJLW2N~9lzR7AJDV+9KKD-Ypf937qR!-b2D zCD_u>^q|tz1OS3PRb}9rF|lBpH&dLtW6h(bCAH);ZjJN#n*|sV>T?hL1428M-Kq0(n+5vRM4uYxfFj-8tBc}Dgk$0M!szUy8o&(o33y+L^M4b zixMr*)B7voZu^&tq0C;VX!vr99k5UlwNS5z6|JOxxEz+a!gqD@tDRX#32b&!>Khrm zj6?r*B8yYR^2i-(82@A+D90TjFnuHQJ||w=Z#=t>DL&0Owzizh;N8FZo#?D^CnS2m zwhAMv4E*498NSu0JDZtV{OH{itdDbMy=29=)U{4kw%~2sIIrK|cMb}kUEULpuV(|+|EtAOW663j z)eU`EpV?9JYk-x>a2v&}{AAz$!M}~&6q9DE3<9*KLLxl*p9(rYT_Edj2R)>U^ds?F zlBC6q>UoxwMZQf(L|GU%rrETT*O-t6!O6Zb(=TA($x$xjHk>=j`KQTe1X(C-$lr$Q z|JJef<1;HXNlUo!B(Y6n6;2=Z4hl!PjKZs6hMtK1XS11DVl+siiq*2ID3d_i6$s5c=Og@wpuzeNfHga{OQ=YslG{9<PGk#yOFeuKZmGKj-vKDyq!~c*;XiGxWUle{q=PceH%sXNmv#l$oi&E z96hfVC37HL&U0?sYQUp2%{a%duddYRJK2ymBj7q4jb_U{tMol8FM=8>@o=hu`<{Px z)}`YVf8_f&-4TGefr`}{TA;$;m5s`$V2Z6%lUs2UrA?5typ|sDVuN*(*)tfox76z7 zSk>O@!-`f5N*}dVsT(CvzuhAC<^nk&y8pd8_H;FgA1Fzu69?+!0Uw>g)V_EQ>zUza z0>^wv;V0W39aJ_xjW>yXcltEiyt%xFt96%*PHQ1NE{*OwmN0Lf(W}~h+rg~yoa5!A zOv1@NNHZ}o{bZl?+Aob0ltRwq^tfW?2jho9P`N`Ij{I*WA91`C$^L5<(Bwv$iYO-! ziZ{7>9=GF?Qg&wYUcy|p^rRYfVUUFbf}0$;&w4XpF7^9l$Tk}DKu2DL!{(6Jtqp;B z1T1Rezo`N@(4T@bP$?^RBt^zd%w1ahtri~6UYJ$hRGM81O@oYSt$M}`gFa8GI#FU1 zsqFeYp_hl~jBp%5rz}i8bF$!Hd=U9y;efxbXZ4UM-h0(X<4fd3Z2)cFB;gPkWS)W# zg(hj5vcXToz+U9Ra{OiGYdrLr+HVy6B1rATfh-_5*#Xag?W#>Pdm6CQY;Je72Mtyx znro#Aj!{bkvM11!$dz330nfNh5_s5rZ)EEf=$=HAe^=p%oTil zhhcISug0c!aa1|UEAh40w0nCG`-!iA+}t=Q`0L)frMJ*`LqnQVI2(^>K*HTj02AyNqirf5qgUKY{L&13x;T2zY$Q-vQ=~0&*>* z_;r~u`@y}0AVE&r5f_0&RbYp#Jgk;62M>yDxdq;9nA-gt+S0yO^u!`b(9jC`iMVJd z{nIQxd)P$| zQdl|r?C~p_mxFFRx{o))f6l?x`9VIYc=Z+)kzQ^ubLpn4W%Y#~vW;427FJ#^$*Gjdd?H&I z?J-S8ZE1u40B+~ij9wJ~H5`=tGLL&|?mqADv~3U%eLJ!WU+D_c+^K-&7hd>PCXDK< zb}JSd(bw5co2_rYVEAS>IeEtO5 z^Cs;2iJJsuAtIQ!Cnp&y@ZcxMkk)(LzzkB7X{xpjXEp=p*Arwc@PDw2v%S19GV*#< zhN{@-KY(e(|2i%9^{!lf!-R6#A-w`ocev=eft_T;N3IfkKHuQ)j)t{L8~GZAda>13 z`VA+J#BavJ)TLkmB|3UO%tb0S-1VjZRaPrqf7vS6s=(t(gDrO&$S3NVUgoB0D@!x^ zy`loaxAsP*Y?q{zNO=23M<{X3c~XKov(^w_{!$XT7~V(ms@cQx@l0KI5*v<~hXrli(@Y3T(H6C2aZnwN5pC9x-8a2Q!_MpH^E% z>~pJy(iJCEyqzqG$d!d;qtVuStJjUJD#U*22#F~X%1HLky^FG%)Di7?9OugXO zRZ6$B*wmoTDxM>lsD@IfK+2)XCSq!tv~1|CqxzQ*e03oRwM)(lYwF)(cm7lTx&1&# zSgq~P#A}_H_!^FUQlpOZYhlRoQ(e-s)1tP<4yj!i`LfB3m`zpW>K+;630c3`>)Vij z$Ix5Ano7%CxMBOiJ7g#GE&glqX#2=Jq@l9isn-SVR8tGQAH(hNg2-W1;?e{xJBd}w z>EC(S`KPrK)Wd2ARqsYGRdqp(h8ljAogX)0?+CzJMm5c!`p4ZpPmC9AcR6p}L2(w;@(-6(r{&nu zCl>E++k4@3u%{Kig28f4A2FTBJ&Z-W;z(c`+pdz`M-#vxlwh5Q zs#&mvFP~;7-N2kdcYtC*B+Po#S8bJ-^SzWt0-I)9Wh|0L4zEB5OFk_}M{pHpwr81p zQ3LWhFXE4#ArSAwJ}D8smOh+dvH&z~`moO^p!`eeBD3rB0SdC7oU7)Tatrx0?EFzk zRWmrVS6CIaun?NNM3TbAD~$2M>pgyGb;AAEbx(IaW8!QZ?H zW2X|@9)rjf^hwCiuy>suh==DL3qjOz-9iW>bFHiNwZe2I8e`=34stj2YREKOKW)07 zBHRDd+k1{Y4n3ehKCW~kiCi*g@jrnMSSqZcbR_XrNdo^f#0cudLQ6A%pJUdiCZ32? zduzJ>vV(n5nq>UT!>TE?{Og8bsp1Z-KwK>|>jiS@D^2YU%F->exVeIjXqEKx9?^q> z4(iI+vcS}%qiw~=PY>}kWX*G`#A-q=oFbPGAZQ$7B4{pjx<>PFdD`OMeK#Wg8(b*K zxp_=*p-(=?i6uvKzfDTg(8?(?Sywv!ZDhKQ>3y3PqBW~vGo@`rv%eDaRg9vvXK6qS zE0zWF9NTygVS30Oq3hZ9^NpoCz|k@M?U9DYu{}z(NemQBtel#v$rb~XiL54ux!0JmYJ`a8e~pj(T0P@MWjuoQS*G@Dpb+}# zq`|xh+t_T$d7TXl3GD5A`FuZ`RQSAz=@63AI|*#>)g~>zUw@=er8(yVe5r>TOD_h2 z%%h**sEvC(nQbgCq?&^MRd)lb&6fAw;YtssBP+K%^DB#n_vX%m>To6l^Bx36Oi9G| z5EoV4-l;5k@M=F*JuQcV9p$p^?cMUFQbRErgMMu;T+4xuqHVJ0eSB8#<3FR?k^w`! zu@$X@-n2E}SpshTE|7$=BScgOm5nn*Cj}FGz>wRiOX4+Sxm2hgzC4pGvWg(4e8`I$ zmFX?&PT z`Tm-nR|!(T>-Qdb^@^V?(Hi$c52T#$D43|O?xqW>Azq9>`U*0h%5~@QlEkL*RpA0A z${&@nA2f2@1xF9K#b{xz(x)`;s|DNz|BRdp2;ls7OKa+X>CJr?_})~t3SxiyXT)() zCdMS2hsb(LbAlr_khXOCZ-c?OHjkCJ6Gt#ny5i5;kZgrwteP!_P2osrRx=@-K zPY$r0k2w$3QB3n94!?zI{o4qI+7l`yFZJ?2J(PE6p;=|fF$5_eQkP~$(X?Lr$a#T+ z&VJA!@sTBR;a0N(Q`|=m4wR89feqWinF!loO_yrbtJWAFJ!@5xvdJ?@Vk0j)wWq|bms1C7LsA<=``7wyhlOv#pZmj} zA8PkoHrkJi9^_R>@4xL6fHSW0RN0e{vBg*-zMvu)OUNT|6(M>Ka(He#N_`30I=`Y& z+6C;&N=6`~U^P7(`z&JWON6T2)-Sa`eyOX9Pf76HLJU`|i^1}Qghk1h{LJ}X-ngX0 zWS3n+9^+j;H^!LP#$7o+>zAdm-;(yTYWz%jGGvq`$SVawI&h%0iyj#wkL{YYr`^x8ZF1eOU28kH({BZ>%zIPcxlp0 zgjB<9>z;-pCC$QIg0K-tM1(m^Yi2l%0H%>_FW|6N*(vKaC*4M{7Bxtf#2)PCK~2;6 ztN{~IG`Q0s$DnB#P}D^W<5k!mui}s9t-Dy$&|!AE_zO|rDjToiU%FI47DTFfdJEi% zt>_wBt|A2uLo@j^Eua<$Q8&4|F)vUrs#dz`{dgEUl@)$_mL&J+zyiIU`B-(QSrwg5 zZx8HLgRFbcSOn&OUsbXY~-NQ(k6%*ozl23Rb zaxDgb{o}Ktb9{&QFrXRL-f%lhDJ9DJXgzhID@m?XnbOojVhdN#06B*uhH7eqeqa0Q z_f+ElU%E&xA}*xA3<-nd3ic}}m$D>mJ&U@7)Qa-+8vali=&mGI6GF*c)hBxw!szp3 zv+xbNBs6=8(6V?}9x=!i;SS ze3Fogon-#lt?>ElO10i z;$Eb!V8d{&LsXibW0Z!gQAl{#L;<_t(_6P=)YCX{x~L~oJ#DgJtA%9MLXyW5@KS61 zGaw^nzsvl-2`~|XOP&gJklqz`;I)%Q9x4FsI=AG~uxD;V{7?}0nqIS z1?(dGSk$gN;^1`Sz$ipbo}^e=*&&|L<%k2L_$rwd%;?kz5i}bjjNTufCIl2Dwue1e zc@hYM3Crb=T52jLsq)?C@+Ym9psO$;+I=f4agE?&<8mWEs z2W1<4m}Iq;0ZXHl9QL{Nci+#SQvK~LoC66Pf;~TJd1I3i4wFX-Od^sGQD}C;z-)cQ zHmo*50_1uWtfic!Q6sVlpdxqSCIdQ!FREM9swk7D{SN3XktDCo6mHLUJTJ}FeOyoi z9U5-_7C4=Da3QHN-!S_s*W~ed4+?xVIiTdF&3~P2aD?DZM=}}wSc?3w(Uc)gTX2Iv zl=>*J7}|UvBNmXdk`9jRRNGI2n?w2xNWw#cz4jQWc#o(NJd&{C6Q-1WGGi;`Ot1#u zDp)*_q{mEfZ?r&@IKWnd5C-xp1kG|{tR@NAb6Eil+)u|iSfQIBOs9QE)S}hAh&b

8hNxemPrqS>o^UmM9qzN9=070%^fa||5--uS16qs;zyS*<)^SkSoUly>^ zS}+$#067;(u8MwIHnp60zSy7DL)it!pj)rxS!=42{fEy>;84~&0b-wY1=afcOG&a5 zbjAdVmUTro7_`SiG$2<~d*};;jk@Y6?;-{on#7Gh(^RICfvc&MpFwj1Vucgio*|^k zNiCvUBbVuzS@a2j^GFCE@Q|8(Yf$YWX0VZ)VS)Kkm^2gKNj9=qQ?go*(Z)a|^o@K| zYbLm+Nj%S()-0(7&W;-HRMjLS>9PL9gPd&FkZBvPg8-I?+fpxG1e3cXrg}C>SP}c^ z+q9G4BXw={I+}d~m|xHm!?z{IYE;6F@(^dC!+R|HmVPfA(%9o(Fo5hN-aINUkz7C> z&_7YxF;1m6SCQ`-!arhc$b$b@WtWqxTFbl=5x6?VxC8ycQZ)bh_x(2@U5x3eZ;uI? z^#7VS0(|M(TM4B+Vk@^PQ8p%2aD%*Ygw;@^J@jp!U|TesN1y)_Ti)<1y#&VROXRg- z?`4-GBzNM3I^PzLX7*Bywv^v?$~o)m&X%7QlkwoIDRlFMq1X6DkHh^pXv>R$Kr7(Gkx!fOJMsS43~OTQe(N6A&*F@_ zz$NNdOPa(UUm?q#ZriI-JNt#Wb>6&jV0In1-7RXVh4keX32vR1>HAW!d#z<9qO8O6 z;~y!-hCzpmo35>T393#{Z>pj~`+jyoV+Jnjn z+I;PJ&BCuq;6J{LntsPF2!mNTCYrqEIMz;1LA4!`*@IrGH+S^Px%b+npAjH>HC&?lgW9UgT2Z6o+FX!k-uFeW8Fr%vCEgW zG)iLAZo)|Z^{eB#>O~JbVvT&lwhf^M(l`edKDO%vFkJkJVZ@S@>={)%UK%hw`?X(T zBODu2-ZaX_#pNrhmAzs1grMrif)T=NM**EiEVy@>LJmpp(+bZ{&@8?4z0t65Ps0s| zzMN(k)&nuHnuU>Q7?+l*uG{F}Iq1eNc2rU!>@N+W3T6`dhf%ty$Z3hWYQ%U<>=8VM zerv0mWV%}RN(s1PX`2i1bLYgv#mdTU)sFR`8(b-uDuQAB)@+a?h_=9&RkglC`yT)D z#4I%}?2ddR176|AllQ)W?<>{WTV;fBqGwq)ecCi9BZsOe2`EZBj@nfAZOc8YS`QeP zHXKHp$*n5!VSlNu(2ufPWGx6<|LN8CN2?W%?6V{~nmszIkIo}wE@VdvSdh`<6ZZWJ zI^Al8JC;5Ct@~#TtBwzFWxD##4IwG9IeacR>=dU#6r{8BquF=d_h5ZNY~b45vP!)k z?;M{OBQ&1+=V_V)_&+`KGb$~;0uAw2Z}r7jJcvyZqrCy6LqA7+S#G^1^fqMKJLF1NPB>gF;rrDp%&ZpCh14$Lw1;KZz>5DCO@B9UJ?qhsAXEGj zb55w1C&J%jgu^^y)a|L*R_q+lpD{G7f}dK9v}6Sw2!-*FpuR3Jbs4h zxNZVsbtYs$1p>FykT1sQlrY|0b1#zuy{f=i4J{1C%8oyI5v1rX%UklKa6|r=DZIoJ z^=T&|<49(rJ_UO@3(|GTesVl~zB9^4t-IN(G!2i9QHSARvCyqQ5@PL@)%jbF(M}Q) zMDg3WxLU9znv-+}+P?ol&XDfiuJ(kjG&3DEix;eCfzKO#S=-w#aSlnTPf=UrBeb#E z(%v{Di}i1I23c5BXFa%NlK`56Ruir}M>kwv0`a?AK?(D0GiIk8SMxFt7%v0$=tn-_ z$SjXrSE4$;KonWkOL!1XvOXS)JWOvp{qeGpx(_dzHt%SfFYop4%5@JUdoY+8azFxH z52IAIr_oQPWT<`{&x&Ft4kn-&Y6Ri>i?pd|%Z4n7rj5;E-IsS7!wuf3AT!xI97#N; z7ojFnd`EiIq8Tj@8HP@0W5lLWnwrcu-?Txed?xOJ0f&-J($nr=4SCcD{gU)6$%hz}@kA^fxKXn> z2C$FbP7IgH1~ia^>5>u-t0eYqHw+j713fv>i+o%8Hcc4^IqwRK3h^*whDQPrXPJ0r zRY5aH-=)GQ0qjHHttM9TRDWDY2#qA4Psq%{{f#m#|r$ zO|TT?ZG?q_qx?W$(CAJrC%-o5I7{mYUKlP*jiG13;k^Xt@=?{TgmFn}IqKEK9Zy`T z)cX^<*|o&XT0I`%43EVgxY6S#&dY9U`f9HZw~*A^WpFfa8^>(@VjH>1$^0C|LO&6S zRHDnk&sP8Pi;g^hYQbg`IZ`=H!q=cIsn4Ys1{@LaAj6xkFf`c9m8pR{+*;BeLT7UH z3>~QbGAV;s`!G(R*FYPiew2#ywNz-ii&u8^=K# zBu+I20d)^7N*Qz^OANsqQ>~srw}?MDCrXs5Fe3D23}DTgNv(kCbc!VPk$uAc4(U*w z6!5I_|=1)442n-lh(clcypF+~3NB<%D6f!;$$}TwXV;uQylZenV zRsYy6zG)6?9_OxJ<~-`@6%XpT1|HMFO1o|>LrVk2G5ni&4|OGk8y(rP8{p1P;CBsl z)BW?y*mk~QrWIu#0BVuOJvi$cZ?v+qBA!+$q3VW%5u`p=z?93qQ;aOeoIcUp7qoHo zS?ynW5j1Z!%yv4#7Lp+4x^NXiEcp|g@v1A!AK~^h2{fGEygP%`1`qpHajRs=!Bbrp z^V&N@o)O`Se<%!b{g(C=`#0A7bhI(DPSYtp+G&V9?CD_|DF6_IspS-0UdhoHqP&I# z=mOQrK6;)%O9h?my_WNZD>BVUUqkDQ>2hqi`@~BRnRilq?WfPtLm||1)j~{6mQ-vV zqrf74`aLbz{51e5_vx!Mwbcv9Y9ZT`L>V6&CHTnXGet!SdX4-VtFAIcSzg37fm{yw z)0XOP0ayHGiI5jXow)M5I-37q;+>Kr$d-bPhr6b>o!lUH{p22Iz^V0z1@UUIIE|`+ zXN-rwScwa9t9%B8c=h|6A^P%nC=9bwgw1{zS<}sQtGye<@ie&lFLobL)boKNOkGrE zLp%i&vfQVNZw>0LAD$7RC7o6;y;iUwx&Q^fpg%{55p8Z@)S)!y!o_GJv=hG~=P4h?2~^ zRWy?}=p?rEyiHqL3w>Xxjer$&$DVHVdIvCjS3s<7 zVK`dZVSujWH<7%=whBr%Bw?j^Mm$m23RrfD@BtV)yfvR}npYvxHThZ(G|BXu!3v!h zQ6t2xe(r=YRTRAtItVE<#$D?=#O*AxU0AIML#n>^%i6e1Y+mc2%dbuNep zm<`8$o3>lz^941~?#8*W=h&IPPj7+pwMx(jcz(*Nv}hLPOja4vLr`c;hKBzL<(>;X38msOpVQ2a|kTR+nTu5n`48TTC<64AuETb3y@3 zc_vyZ75(QZiZ>Yuk@><}2&OYic*4{HsEa7y3ruV{bTh3>Afs-wC;DIiQBo|0YB{?D zuPm5prOSGBSR56G>!FtRgSL>H^@n1I8Lp^SV$nKEx z*5TR{;@0_!ahg+VzCk3i`>ei-&wpr?w!@c$QJmyXxyJMoi4u5kmrhBNc^N)1PB1w? z8ZfTGsoV=x&N@SAB^UKk#`Q4jvOf`_vXmU*Jp6V0v;9u;^iLU)w8xa^*7%7j!K{Hk=ze1|92exfOod?|i8Ly-7|FWn6(ohmyO=Fg^ZbSVm)A~miVq9w9& zGiUJ}7k&g+wHNKbNy&+YiP|NA6v4gsc865$Q|de9&Qp5dxes-C>}e6*s)+>DU5%us zcJB_k-buXUmi>iyj=ojE+BWo)v1RA*WW(Ff(rR_NoTt{H;PGyd(036e?ajVJk_k(q z3sJlR!3>{uL)zCMBNwMpltwcx0=9MmFJg?@gaQ0FzWSxlxh*DnvV^6;%;4BLc^lBg zsC=J|;{l9VKVEpodPXK)qyGh4R3h@1ZkqBe^*KZ?DQZL&ZUFv5`Z)!nzXUXY z32aiwFJol+$;v$eYtWFfLos>HmMrI3g(@C6jIBol>h+v6m)^9uMDY;-v?_MI!K_ey zF5-7(d3PPAHL-8TY;6ZR@Ahz;E!`6PdQY}Jej*@%1>%edH_2AKUgkyCsHH)_K8>r( zDMz^`^Bb)hF9SR3^%R4K7{q)oLd(iWxs$LGeJrdt=8TrT%7w*-4JIJI1>T=kM59L= zrdY?);UZ(xk_Cet7Z2 zm;jFba*@-yIj+YJY5>f7NnAGYE_Zc%R%^%XlLkt}}dvY!24yd-1grcd#^gl5+@G=KQ$1r#Dp-qvXM7OJ6G06bJkk^EV(|d0Yg}& zsb@RswSVzfvhx;QY-l-8orFMA)0IL~E{Q#-)-?j{yVkceohZXg+DLNKsWj)V)O2R2 zYMbr@G@JwENgE;HawjS`>_%x<2tWwgn26b)GgD*#$JAGcMbU+Ci*z?gcP+huNH<8c zGy>9H(%s$NQcHJt3DVsiN=u702;cbrzT&$019oTT%sFSCy6?Fki{`rO2rn!nH8Bs4 z`&cW9TwbX~+K3dKY*QsELF{5{??x#M1jSzwB^A*>Lk70OCYem&Je6dg1y5ld2=+Bo zbJP~#;yGhM=bVsr51$y(ALNo>)~Z+Cmj<`6ZrqSgMY-JF^%a%OSZ#EVQ=&gZUe9MN z6KQsDqHI`K1V7w6CH5wr)mv&HO3!NO>&~91E`_nN76GN-U+L?ykImYSF=HG0D`TAI zmG7bCjDUW9cRY=o0C{P;Ikp=-J;qq{2~`;bxc&m^gc-tl_ILA}K`P|nI@p_2KWP+w zcHr-jU-f3Ij#a*ucZl3|1!&{T-r!FQ2Z$ZxssI%wm|j|i7Kv+iRNH|uN`j;{M;Uu(U* z_w}nDV9_&V%aHRmURJ$Yjl4Aq6O*@XSY!cNyT=PTq}SF+cziYcK0s#V01&p z+q;OsEY+J52t!Vr{qd~RJNT5SRP3m+^F~N^F(2B$WU`lqNX@E||1N+z3InP zmL$RC>jP<6izz#DEd0r;gBTTx7wDO%5%gVHhb_|PKqT(_T4H;!rcJx9^dFT<)Bj5I zpz}W@$Fx$!llhMj5FPhvHr#}KFiJzWz(;cid2Y~Q=U zhs>-;Y(=i;F%omJ5Wcatn$s$Zt7WVRs*B$&KxoVixuRRnC^2mUA}M;n+B#Kha5(Aq zrN_F}N5Armz8s76(*&9?r=_J_L|Pu43*iH(oJV$%7K|3OYI{Swf`s*GzK+vw%u=3; zo_)I~W%iF{lZrrg_G4+E&9Vq8Hz${cS%ZGoLJNH-conx972`!$<_)6iirI7gbE%o= zXE`-<7;SaOm**`3Se?WJxwhUPu7)*t{u1R;)O1@ zh@Tu$u0K{JD~V|pRrAB2Xtt_BtK1@}Lz;hK|SxWosaNWm7DjjQ}x&5wioBbkh zC%x*1+F^bzCq0n+!G2qvDm4Pb`g`w_LDG3QOa|hs!)fk(dlg!Fbav zx!|z_+cUOH>rKmQf@>b4O(0Q=u$RMEv_5o$bj?{A-S%9_oas&zxw4`c3cq<8|ptGxS_-L(mPQ|O zwi-JUx8<}0J^$O;ip-e%tK-I(%EeqP{K%2!MN&B7Cp2cg4-OJ(a;$-m#mAS5Ch6v< zKdoohWm%6xn($ji|2;-ZxuRl>D~&bHyq>HG8e$Er=5qWeH+}Ifz>EAj4u*M#Qvf)W-VP;7{Z2!J5MIX z17zg|;bUPyP=-sM9wx;=h0eGgQ|2GzKj2@={%)YDbnaG4!~)ZZkZ%XI@5Q1%Jc{%I zkf%0~bpg$=sbLWE8HXF@%E`A#CLsTi?t+h*)t4KES{pZ7Rr>$3{ija99~A-m7JLgi$uM? zL_ex;Rz_0JD`$pMgyzs#Q@+k@)Nw(+{wz=++ZBNyCYz$zr;qO9QQ6DKEUGru!@pMG z#vo2`wHkA5p)yqCHb*uamgI3rg$eIWq>;h^s-ynQHY;u$l)H2H!7}$Sn3P$Qau~#) zPCjyK_;$8ghj&CJ}Mh+H;(0g%7+{h5g$R@J~e3#vVtp-#qLRdPUD>TdMg z@~-)!_36sc1y|L(EY*I9iRNb`r*O}&x4G)^%8};hTTLr`vje{A#oaR^;m}k+Pu8P3 ze++tjjn;f*VEjk*>IMox&RT-I3&*n|8+tdcqsWZ>l z%)a>yz;PA(a7CMiE>u4L?-9p`ZaLiT_x+$QxmDTz&G>*o=wDUh!)l$ZOtwH}t)feu zX05J1%}=R>^wQ;zRid-^CRsHkT=Ub(T{LM#TxHoBimMHA)G#zP_pKLeYPTMj13TVo z-rxhZ%+K54<*dMU_bI+Z@-u|4v@=g6$A7;sz#%wUf^AAL! zdoj!!aZEoB4SFQ3KIFG>NYH?LwaUA@lkUat_-cXQ)o2TwJh{z}Pq&Ya%Uher=kuk? zjo-<1wvuC@-suI2jD2m^C_)Q+6%3henH~_lSv%zI1lPrgVM?xLvDi~h`?@|XoI?$h z*M4vPlo)B`CfZ|dWG#TOGqA$$NfC=djuC74j(*C&;4{b)DtRY`{a%N91bLqz78OuY z^b`R~uy1s*)N;OsQr%03>mI-JMDzkxTz}qDf4hofvL)aDgoaM&(!@SLW`1w*XkXr` zcvFPa82ez>9(jfE3ERxy?s=OpVcoc*ix;jd0gWDLkqk=yBOv?=8C4-m;N(mlO$i_x z#ey%Q8&Vka>|!w#17~btJ1K)XC{K(*7MO6h9}#d9WQ;+$B11Eb0+IAfLi!nD1B)~Z z`uIGvp-d?H#LK=D=0|fL_PKhOX>DbNsC;xzMy{tf%IW*q9o%zfbfIi{bovB~A?6@X zYE9sqNCSovzlfI)7WR3H1;q4oD@=`MVwrv3cALxE@pS2-$j`On!tn#jOC3IGdOdI1 zS!RH;k3l=BtaLbgexU!pj3&AESTM{;UB-)dIlqFu^j08&RO;5a3GWCh=Rr5E4{^cI zpt#JF{J6h1+pMlC3`~#onr!+J35=xJ2l!0H#4|xwrf6Pht%sXP-{ zMD)-bM;UHh0czJ5$>&Py8`v%2yq0SJ`0S~jknEiVu?G5*ijyWh8M8F+tqlkuMB;Nl zIQaJ5(eA>*2_>M-!#2*larEmAlLCwiP{`QW(Io&|%iz5Btu(H%4+9iHE3qz7W< z*K#DUk&QC5rSu6*H-m7u%LI$Z^bk`YSHjhf@M!C?E(b!)YGR|BSrx8-lsjr(dtP%t zU-)*jeUy%dw^UGn9Tbm;|2LW&$s6~E8giMWL|n?&!(?<0y2+HvO-qK1>B2yfO_2VMN6SJ)RdNZlls+Z;By!F@ZMb;a9Ou z8a4gWxQk4u<<}&ivZpA&8&4GZTUzI|hzDiS4C{f|7>v39m7r6e^OBWgNAhTOMP2PSoxhw)YP=k!lP%(K| zDZ>XI*EPt9WPu&UkP_B?wueBnm!@5+L^CMttgl{mR(};zIpk%IQa`OnlFGTtOJQG! zjj-~8y?ouQCUg;sGo^>fBiHnRao>5|%VuSu+}<~25_p?MR9;vRu+F!+w~teVZ&?5ITU)(|kIjobN{ zAM`bOBFi8=CMob*L@ zFlHWsDXmq&j-&xuN89^f%cw>NKq7(Z8ag7$F>c!Vc97vamzm1f$@D|uzV!dyR~n-( z@ymxd4b($v(hsFmGDxvSqg2j~WpFLKZ}?wu@cV6*O(yhEUBz@(9N+jt{@<;Uids}f z?gpqOa3w|Vqwp;DqV^HR;Wr9my!r9{_#z&bvha$S3^9OSYVe8w|Gy=J4D;=*&@+zr zQC7gfIaXtL-|W(qOB(U=^c1|F2Q$!nY3YYmvXL#E1f5oFt%n23o3A|abb|9{+WJ## z-i8AE%)bHsr+sJ?si}I*VtsN)#imv`YPfKqWjY)&F8=0QZAPb=N!pW~Q0dzAyo8Efq|87G!fh>L&@iqJ+7isBwLCJ%7U|!x+`7~WoIVYr)O0c_3kcWWUoJ1p? z0JKz2H^6AYy=I9JnD$!AF6qMknej?M{6bbb46w(xh&M7O7mQ6_*AtUVg==Ez+8-21 zUBdBBx=atuWs2hD>8BoRtrh?QixVh0N`u5rlb{P7xb0G=*kn?)A5rL>%C_9}gn# z^vJ#=8UtDsx53-xm}4J}_5OmFduURR+%hC6Ty!$4jEZr1k_s-ETGu?D-_ITn(-4|f z-pQ(`au1~{scYl|Zc77D)VQt&ZIv!^@?iB}FEBWtJ*ob7;1Q>ocwCPCa;+E&9Iz-! zHAJ_Yh19`FWc{{*wxnZSXG(J6vIiO$DMBQfS<%r{D?d0U7u3T(RmZ5ZS`*PppLs8@ zEFMD%!KVHyupdpK0cZJ9y$orjDWeC!?+M>kK|O?#MkD>UOTEhW`Y3w`jd>iaS=Ld1 zR8s0=1U4;5JS1^GHtJ1mBnm!ECXU(}@0(@GkY2R-P{BmBDbd`>@~<#mIM`nUPb13} zFyKh#5Ryl^{CwsC2a<`c#usg^-=dH2B|60g_&t{O1;LwzoGjCtP%qsSed9DLsAjF7 zu~(+R23<+|Kud~Y(~rR1$S5|7gJ{xgsU-MKY?AiaFqQYU_^v z+mmTi@EOTm=-SaJ@()^)=?~y{E0aoeWYuZ5md=e+W))QYtyJ8pz+_8w za~3Ae0@-S9=O{0R>hiT>qf&p>Z$|xjTQ;Mm4=jnJ5{vX8&`em_l?M6yrBG@_@1!5! z+y+w}RIWw(Q5Q%qxr_wDA(K0agn>XL6IH+2_M3~~(|lDhk(JKm>?nid9_5%xF)=>E zQDoWC3I{+|m`-LnlCP&oiO*gI12+2ybK-@TX<~3YrtdFfwwP^RCx%o@WZ0hv_n7Hk ze`b#3z{`Cwu=S0EE?3Ga$sY4^A|QsDn6lk{xb7rVvGf6QW`-X;iH@V+G<)w4oRS2} zCHLX_Cr`$8+*8^yFy2L^;^sW#?$d6y%*Br(U+bwiud@;Gt=I>_uHzD(wTSKp_h=in z!s|G27-2t14;3Y7#e;(3C~Uq<^}JsbWL)?&qF0(Ldi)7WzNW;${Sm>={0PW(a_|hS z+aRle==-1<;=247L&P0u18l6Xe)lP5CHfGd05_N(zB4^2&h=RIQ+!Ull2F+q3*1#T zIh!*Xlv9OEfEFE)UEQFq2k428@!K#Z+A~fh>4QL0ng2;q|sruq?Ew}+T=bl{BI!t zoum_rEp0<=2~l_H0I<+}HHjYXVVxPG`owh=E}r&bBbT`^mx^0=o}S2rj$m{}C3?E) z4tc2;h>?g5QpoE@S<cPw6Kr3RSa3vue zLO0kbKGw|ksjdY&S%E__2A=OTvKU6EWA&>N8$vkorGcmP{WJ}lZF5#$0+GxEG<)tDz;}uPYR={o>Ck9W_eyB@p zJNkwQtR?A|=upq%A?`a35$@HbAR#3-q}_$UT5^8p9502ZO49zaQ64JrvY6Rd^Dw29 z0SqxGd151AvUAHS=1`?D+=Ti9h42V9h>yz4RFo5zTD!~VOchXoj9~DC#;<=1httxF ze`K1)NCeSLwN?k`3qW_00ymYv7)}pL(ZK>zfN}^8J}-)Nz_R~nf7=oq?x&^dikW$0 zsBo?+Z&f3pN_BbB3wqs5|~h&>W|H)@^V&ymJ8##WGEUp&{d1ej0%6y z^ZhCMJbGPGpg@Z@zA<0k*reA`YjBmc)fXzdEV)YRjR3c5YClSk0pCK+h63M22l@a9 zBn|>_-c)Q(NY|?BUy#7hbOs~ejwm&Gmf&#H+I7@p)H+?}tFk#rs{70AtUc{y&F#-a z)hD=k!^c$Xd!bG$JUAZ;%~IM4tWDp?PmMJk)|mAL)fe*cqtg9$PYkGfm}rJ1W_E^* zVS$&W>G0QeW_9M=Q1z2Pg50LUrl_0ko5SuDV?l`z$Q^=dJf3tIPcO4R4x7}3tS;>QuGI2>)+47^tyL1IT3=T2_qp7@6=Wxo|!20@@ zp9ijctgoLQ5kCidK~M8fiLgvP_TWq<-Y+61zR?PgC;LeV#9&eiW==BS^hdE?GZPL0 z|L93o;-qOH7?a&~DnYrgAb#r(m$QdM7^tYc8B#i1QaZ%TpPhSvlRK1^ON@!`!jm$d zl-b!tiyt2uuNV2MqJQT8wistV&gy7cV|PF)o*_-*V6E(6&M;^UZ|$aLzMpTm5rUs{UILbqVleVW^&vkw;GLut zw!bfQ@C&BLbisDx;bZhub{c~&2z$m4`RR#p-U2n1%mqS1GV(H@)iBU1eD-F_Cox!9 zsUbhxn5Omb|MBkvK1Uu3rxU2#XXEuuMDXxlAQ165;L3Uw8uB}VFUHoFp<)yYw2OK~ z=dxt7;BY<)|5lGT5(z4-yKg}yaA{CluyGw&K8ZBt=EyIF_8Y@_vXxwn5kHe(_=AVpl)G&wm*}2^;Jc1EVF%eJ%}-jj9`{2 z%?K^{D3XhABEgG{CmR#*m;R=a(Nn<}SO4NkU)d+cY_~rq2ulj@Y0KwA5iRHs|jQ{FVYlIqJ z?01|ATXzrm7F+Vrb237g2|Ywt-4@O14kFoEUI=~%7M0@{>i$G(DG69&Qgm3xJKX>( zY@^{feC$I*dRZ|@?^4m|Z;V(ghigoMW$7tvSSt2T;Mz8j$2Sy}4OT?Ay;HnI4^EKg6&i&&YM!G9+6+uOw z_D|D#sO<-(247u|^QBYe3B$x-mgoFhCBx&Nzq>&c7CEoEH@1neo7lzi)n|PFln&?y z99s22)a1d1jw*uqV%XX!ZZ^ifLK(eMt& zTGL+M_ZE=RLcUpqr?_jLisS*rZK3)^qwbo?cZ=c`!}sF%Ip8P0RP%(f2J*f7D-Y^SM)yYf-4zvO9>7CI zwKyGn=H%C9W>P$86B* zY<7B%#w6y}3c63eJeVg+s6-mkE6rxAZS^z$)**qUufvF5xNo-gS2r6>`vx&99K_9% z%Jz`T8=&kXmi~RL0fU{CWL*lwMSellmCi^DH~*=3l0rPL@g@lep>o1i#qkSJG3j2l zeGf$C6x%98*-1dM!Uo!0s73_yy{`XFfPQ*|9?dWOX(pCdmjVw+eDo0U5o^cefF!3- z+C2Eia(=9wIkOEr)bmB)xlL!qHV?NZbn+nK#}!*8D{{ae>eESvutp)(@2lj5Y_Do- zU(@h>bh4w9)|kE5y6DTdZonMUPNP6|iW|tL#9UP6HhkB#s5qyA%h+TKUqkj&S7J}h zGi{7`G{E!@Lvx&bNrcAk8GzTdz;DG zKw}NKDYzyg2?lNBA&&KB4kCSGS=M{A$A9mjx!L{9$On z74t|*#xcTjOMw392+0gHq~q^AMos}%f` zIXTh`?ELhd#KXu2DQKv4V@+G6Q6_bjZlSVwKK@sVZfAs_kYV&uCw3TlXqPtTFZD{J z(E%PkEw)3t=99X1#{2Foxk6yA<*A?JIh`exF4$4 zTK6hC9YJ=D>9u~g1$kXuje<0p$9oOPK72}0AhmFG(@`p{hqZgowRUl<9I`)};uX28 z6d?ZazN4d-_pqlZ#9lV77jqWm)G`WkcN;YdpLsk&Ou5T2J@{0X9CTW)c5P*pX)`I` z&5~J0@-y7OmR$+>79dCfWzyr29g~`xQSOw~IF?K#HO!hlkruht}_Puh{ zJW*@+5nqMl7kC{h?_+W!`2`09^FuqB7&U|@q$`9glaCVh3w>5{(lY9q#VJnwNRX^!zNqvl5$R@?9f!u`sXbiZn zn_3VL2d*}-TpG|4XKA~|)o)&pst4)hV8Lz>I<`Dxl|6riIZ79Kzc@?9*`s)1Jk!=pfes zqWWfr4M7IX?I0Z-&G>R!f)b*WDdu-s{oM23YYqYR?Xr-6)pSB+yu)D~kPHo)=3lv^ zlw+dNijX&lQj&CV9h4w8s&_g)Eg>$%j}kqfXZJB@JRv`)Fagx&cxpN%Kz7tn9AY^@ z22pl{w8(_6L+aM`+(?M;(g5qL!fTqzkAjm5Lwo*XHng73z68hU1(Vkr!9_=%@y$q3 zMuqt@Jc~R6uC)}+IsQ$Nxh*@&g<2yS{(%bE*}3egL18hb42=@P)xpssITs3@zy;~df8)JU{P)dqr_f5-CN6n(tZz!jm*Z0A$I!xi3N7;#iC ziQJ4~L!*X}QVXgS9eu%Qq5{R>?ImVZe3*u_l}AXnuH(M(U|FsGV6sz62jnXJ56OR{ zgT29uc;WwZSQVqHI%)n{nljXjX~_7GgYxF&ZxUZuWrv>G)@ql}a^^MOI#w)lYkzu= ziY(tPmi8$&{pEmSzg3JzaYhEylw`d~!N@1|g?Mo9v@A4kUkm&;NpdSnki%N%ooO8; zl4c~P8s+EQ&X{&5UVQTj2j4y^SPx%K1J+PSQfD11_y@6rZVY9gC}9x+*2zEt|FArO zRo3}{LfPVodq@VWV(L9rKcWsL$yF>oxs`|LF&EW)$M2IxpKo8aP~Pt~@kz0yNYMID$Xosowa zwFjO?m8Zdc>xsCM$Gc@q`Xl%k>-9 z_}DTghmwV*1sOYydL+WfBv6K!JmHgs?M_(n$nC>ewLz3ECTcnfbSAgLwoRF3aQxUw zInHkrXFUNJDXWEph}zQOQ+6;CE_eP?tEh=TGG^kYhL!N z&z^lH+(motm>j%ZPO=_wq(sxqTKvuov+2t(#nt7U1fWk#@9D{ZpO!W-G;93(jQf5z zyP;Nq>Zv5$Z*^J7v__3r$xPY$j~wS1xuro08TxZUXk_8y|2_B=JsL&+Uj6oq$)BEY zkXzARXq>+~ddG7;uizAz4X8pI``GT%k)G8RDT1Pn#R|EAbr z#0ax5@H(?D=*g~Y?aw%-wpnZ`XMdVD^q0Eoa0nE}p!>^7$L;=q}iq zRlRBwSE}^q@7y8MN%onJGE4sqHlXaU{1=VF!ciG8CO%9B*)DiO7lE*AzI1=I=lrN- zK$)}_*}_SW^V0_{KkmjD7J*phQZK|mWrO_7TdGfn9}_hxoDcZXD0bCq9)bzKM5p^2 z6%w`6SxSM0Dd0L;r+U;Y)ui$@AV2fbugdxY1hH|=V49f5HXi<dq4ZEgv=-kzKQEDzcffvMb)UaRy{DwuoO(u4Njo9&AJaqkszJf#}IpQhT>F{rL4l z4yGy?`z&pj`*HeA;1qVRBGXZ(#_zi{yVU?Ort-9Z0m3 zSO_##=gF6V6j)Qr7(Z&-{hYpsJO78xlSiOziIGSBI`OSL>~^Os$5{W<|D25j@=Rm!U@Cwf;;LK{GQIatmSV}JTT3?dx{B*&I z-{Q&=0U*6Wc!eB)%fgq%;Lco`?t8KrC9MD8U0p4x*sth;_uNRL{*I1oIahP0rbzMK zqf-dyA$L+itq=o(jQq9L%S59w+U8}j@&lhN1;djp@ED~ReNJvFDAnTsU zHS<3!Q5LBGtTbaLxkLyU>P}kxVY9jZb9rLvhNhY}snLPRpFL%j+uHbHjmsJ0807zX0I!w2brbvJMO6D+hG6ih`DKKGIaEj zEj8rqv})diE8EvwX|%X7yi#Pc^c_tvX?IS#;8`=7g$Mj?p4nmsYk4q;b*81Pp(%%& z-6`SF_%t{!DIbNq%b{Xdr&Be9`AS|2<62$aUVSt`5cf~6Mb5%v9juw}w*F1@ zS*NCdY?BaZ^`bWMh#@HwDcFD5+g`S(M85TS&Lepnl;%a z9-iOdM}p_f%8ut4cZ14Am`2$o@YXu+{Xwg>+a>q@^qJagCjQ$D&n8K;P+DR;eSJSj zgTX?d{||jXSul1p!!f(ut#dQW%ONdpO^ejuBmk0*W4y!kH6A4jc~;4JEOt?PE;5~4 ztr#&#P@tn5+q{vb(^P1bHyMl>?O+C=lH-#6g}7yI8-@wu&i)p?7w1tw9^z+skrIc* z(`5&R=XhEAu_m@-LOO#+VZ_(O_(!@?KS=uEYnLhYaa@@};_0Ea!E>!Vy`JKWN#3IJ zM_>^pZ)lU{QLe)HZ{&Za-J_2dak)=3xN3q^Q_7x_B5!2VV=LrMe9xo#@05MM0rp=v zNcE)AYH7$;5=fb1(uS>a3dQnMu99?s5p%#n$x z#ZEC7+(-(gHO0Rx7EWw>n-9oJ{%5@${2!q`! zw7V-BNR&E`WY0a*Q#J5im_A_bTjYv+!%W?u978FI8q=W}o9iups@kZrC$qL7e;%;9 zU?cJjZ&Nw4xTTfOjnu zctdgWJ=nRj$lf4T-%f|d^S>38WIUsNOsN}4G}0i?1po~Ue4F)JyjE+2?8HymkjQkv ztBGymni{+>*YT~6y9pvK*WO)I0|Su9R3bmu z{G~Q!?4hECYyn@aT%uo#tGF|&6M)S4)ajX<-FL;JHcP+uvfV@$ZEmGTO>EFDXcSxZE-~MvngTfe6aIp@P({9{x|8zr{YD^2 zIDerseE&_DWXfTF&Q%PCrKGwUEC<^TtoPMaPo2fuuiKh@?K|cUUd>RsG!)1v{U?43ei#=y|Ii10huX*Q#8mP@vE@ zI^ees|M#n^tbWkQccIaN=-;D9S($RoFFEOG+gdPH=ptS2yXn~T_NqsS?$Vq0~i GhOLAfydrr`E%h!=zC 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�w=$991n-g=I2BCNjSuAQ zuJYuY)g+ZhZB4p~?6LZz_E;aDn}H-k3%B@*5q73v`iGpa5Bqe%GAl%9K?Y(1Pb8 zav8Z-G4}`6A}ZW&xRn8K1$jlYgrD>Mg`y?;0!YYxMLB9Fh<^4$tNOjPSU3hK0Y%Rl zQPj-5f+ta6J`6p>CTK_XUS|UD@BQ(~h;zm@5@H*UFoLjmxYel7R4g&62w4^DX`2w4 z1bd#o8`(xNj1xOjJJ|zPTYeAY4u`T02(y(wRXCm$-_4lUW40&@RcN!xi5=C|93%!4 z6%t7;CT~hrE0MTgR6t=Tj}DaA8h2trk(^DojkC=R4Y`rL?BbC3OO=#xTBuMNz}}MD zXPpZB`th=a@#5tBzyT!9ADOi^p1`D8cU-i(p1ng1htOKXx=3-+NB+FIoeTdw!P={y zbxp7EBD0`V9J|C@htv)#$Ha|Ya0YHu0LzF$I+AsMPGCR4`?Eizo2N(Bw0V3@0CKJ4 z(}PCi)sLtxRBY-3g5J{oXs2!;38z9Ce-J5b&#KS;qcioVDYqyox9mWfTFl(nNYiM3 zAZ79EeaWzwNDA^VLSgwVqMN=WdZYr}rX_^PjNbHdMK_7J+62P!8yO12bPeJ>D4I+2 zcsAa28#;qo5>OX7&-|SO10et=Yap7NtIV4CL(Sr8+8qK3@CtU9iLpdm2Awq(tn%63 z87jA|!xvO#{y{Dx6Nta{r|B-Z+0dXwN7S{xq-~@MfC$PA~;*#L*PH=bk;O_30 z;O_1g+}#3i?)!eR%gpr5^mbQwojP?&XjQOWKlte^)JC~h%FXJtW02}Bhg`C?piKPse8MTi~%)mWML1SoGTQKZz9&ErbiwWC_t zd!(rq?7UYArGmbrECLq|XJR_pR1QxwF|`Bp53z<=+5}UQVc2`oH@(Q`^1{x={u=ea z)uWdb1@8;xzwqxZY8eoPDh{=`q>3{{C(A1^q3gE{MK&XNv3IlPxO*yPa>B1*sEI^N|IY_IGK>V^>7 zy~mN-1J5@K$R$vA^~ghTD)#Z2%z@7{j;$hJ^qg!iwDNI3>b{bkHxBRgWm9h*7Qv?f z;Qde68^Gk7mbzi_saU(iYhz<~4SBJXwhW{_O08qs8?a?T23AJ0Ch~j8;*H6VGDjkaYV;GT7P0y!Vs1Mzv-`1cDJP%Mi*$JEm{F7G8-=$_2nwPLWIv7{3 zkO1Se?!4;^uZ62R^&2aI8cScMZimQRQSAn$p83DG+>{2sA5{{!%5RDe4t%6NGD z>V&TPq@=<2k3KokQ>JAHwiN5$fz)qyGR377Fd`QdlgGIl<#y6=@z>>u zR*6EPG}@WcR7*myAEQIPO}NE8R8y;|)V|q52^!!RsrnfPfH1d95e}#$*|6T5%#lMD zWnV^9Ib=fc(idlIK+KVa)QrMA`bcE7N#0-AGh|6P0WwlW%OZ>Y^L3ExxbcS29-8de zMwz!@#QLwrt_KBa7)Z=T%Lv%O>mXt8XQi$3L&U03W1?kmSIeu=$awm^Bp8#E0un_d z{D27eD*x|{uz9!gDh1r4I)-!tjZT4N1#+(3)O@o93&Uq$FZByEcLE0$CBcP1U%ug-k)3~K zM48uVx*y|+IffT9;9#`3Ks2OA%da?imwCSH#^6UN{UjXg#-~jER6o|Ipi{rccP0$kY`et)bV_r^^8vie>UYSyWG?z8=}cTF(u*P!NbhyI75G zt+kv|2iQt$+q>q2lS!=%cfn`{2Y@S>-8$vHud(|A^`yIhoKY!Li@S?23S|>sFZEU? z4-6);4vSjW^cj**Oa*L5MVskG*H;`zvN{Qg(S@~m!DP8s%{9(nu0hpS8#V~ zYBzAb6&g(~U%r#?c#AQyZM;gUsaTw6aTnEBF6rX4LRE#yum)6y*L~UB8SjSJ)Rv(l zm7Fb==ek#!a2hcNBoqhbcKPOyg3_4AsCW7^S(hpjZs@N|-lPnNh|e&^dD6svqn!&c z{(uiOpz`AG%b|Yr+h4PAxMCvIWGqlcXBfS}EzCg~pCfN;%F8bV2DKaQd04)FlaoXm zUgiEBfR$hu2V!lKwpJt;jDxCIhjFI~-Y3|PPg^bA;i57fXA~6JN}Cs{$UkfTRp@ZFuT`INklZZbgkcwJTB1?e@77^BZ-52D>Xna9Iw4; zn%64Ab)Lz2afwg#GW?&wruMP?V8x2xqZ0*b*AGE8&{+9JUal=mjZ3nhbJ%dOCMD@C zpHc%hf(7;qrU`gr!&>cV9WXpM_(5QE)$N205LD-a-7&?scf5L$FJ&3spX`W44HBZ? zhh&mso%AO9hZPui!J6zYEr6M5rL5PYUUmhLgyfyy4+C1kSxp(Tvzfh586};T3!4x%KjpT}!tO&EA<{Z~$SX#S?VK zvqtB?&!hfH2x+O`@ww~#-0vwpug{6YmJIN*reT{X;RGxQForX}=)~=2N_Q4qE7d6U zf2kg*B07qv$vnOOdtL$lH#m^e`X#7qSua_ngA>fmB!cN#My9?PoeU|zs0LmYXw?P) zKpP};X*KJsD9$g&VsabXubz@ds%(SXpW!^2=(v`eF}P&3L}Kj}O{qoN11y3Jba1CgqzzKo0*3_pE0nRG#QpTSm6$-B^_@6Ahhk+ZyY?`C zxd=nNLwfDs%QfcA$JHjtx_mAuNYAy#8zxx3(lR>zkuKmTIc!`X^wFuEflkMoD@8Id z`mgyGan25CYtBCZIG=KZU>8E0TfIuqK+x|Di97Sh6BNo_zI>7LegCYNLX9UUN`wC($lJtj7;IuU@!k+f z85aHn2`%=0oZiaAPjhw(mebNLG6~^M-kU=IlHPBVlUA4q;#=|1kO&p_Pa`Hkpge-y zq^3=`N~ZSs6Z|4JuH?*FImS^+=@jG3uwIqS?*&4jSV6XTil3tKN)*hOQPD^~gbB;hetS4_|{IzD4jRU0?toas6;?E4)5DYL`kWwYfYG*Z zuxY6yWatlejc6T$!kd+lbNq{k?z~^I_y7-z07`A+FauqVn)BRxT00x%SlLqLY$>fmKAM$qEIh5O<<0tT81yjx%px1~0KgaPG zRMyOwJ6_mdC*_)?iXwFLfC>9Wbwv9*9b#XJY(q!Vs(}O6tyxK1v_B1d zv(|C9v%=-V=f5HHc5w5lCi|TNlQCY(_va+DcYq+yq5gUGksKJxHX>@~sSs)v6CB$Z zYbbNcK{;47e6BP)?=Wf?x@wYTd}g7?lt!0MKIkI9A_%y=D9M5ejnsrAHUBy;R#>Kr zf-3Y@IDLZ9kD5wneGXXOlQ4kPzNud$gacBLWlL5x*&5$F3&qm?&adli*XZxs@a!aw za{Z`4Sq}p=`XKnsQTy*YcqrB#2WPY)MLhEV&GNi2z%1{`-z~;~hUB$mCEc0QVT9(R z9bJFkuS91R(-3$$k2+!OO@17W8C~@0&V18^zO`4ucQ%>P4R;DePfIZ~IxsTuC*6y$ z^Zx#%0(Md~!QP_g>V1dE2`9XVA2&uCWw~$2tue9ManB_kHs$#qC27Fpccpb#VBV;4(uBAujy48w(&i;})XVY|0T387` z*J)|6k2}%sSn9eKG&g!xX_R9)f3tr3yY^K1H@O_<7mkN^u`6j0%~>}^$Tf8UBuRud zz7TFR<8$z@hsnVOxTm6{nt*@HqHj*HVOhXJu+ej+@Kiq~1`c2jzr2hK{YE0aDi^kP z4z%UPFo{x7$;?)>i}K)!eqh1#`3quK!+!V(%T0gkGgLoiled^7#oZI{4IeA@ASd^( z2H6)k??wj7MyiI@+&RPZ>-xNEB~Nk_AscZI#a1HZaq!=}oU3@rB#SAKkCn$yjm@MIn27qD%4?Ab$+|1B`27E}Qexsz%;9bkxBWZ>y?RuWpMbFhis_X=v6D#uzR)`_XU`k6NKANm-s-@z$NPg7Prdu? zqzOBMSq=VkaVMp2EKrm}CmATnlj}!ZrtDturrCN>Dw%@uhg2BRp{S^}O7rOn{%>lp z;xoPEL%2FA6tJZrh=8?A%0X!P!X8Qd-+3A~9)-hc1AEa{0F#a z*a24H&F38)off)F+WFUnn;SV0RfUCtRZbil+YL$d=KDq_`j*ec(*tq#2YfenSKR!f z{B_ax)Gp#15D`5Kn@;cgmyJB#dY~P6!>97{;Na_pYKL`@U8t>aEdn@dNuJeokelH= z*x^r3+#(GhdE9lPym7NFv9D`h?j%?O)Km#Kc2yyQ0_Vu zTZ36Ozu-xF&VJnCK`TU@)!;hIRHiQuh56x%b7jJF-R2mdIMYxjnf)zwK!J5GlYVZJ z1Z=H47qK0wAL+S@EQy0GRmmC3-p{u<{Qnf5mX&qAL~SFV$D=B5mtaUw$D$#Izi0`3 zKzUHjNyz$hWhUuSmCEGe0()JJq^y7K=)>7*5<31U;_2~^P{aJJi%xZzD6pib%}|}G z-z@2e>(W*!K6jQ>A28lNi604Cc`tcO=zmf5THMyaN&&52641%s77zz>ld&%`EK4n7 zMd9E^pu#MXm_lgc=1nn=t5G88s2g^+(dIoX38_&J90r`)VL@y^C&hgDEC?8xre~Fica*gUmNCK?y{*IhT%ii zE?x4w*L67zpg;b}s>UxB)V{Oubcdu_68kE>|2uB6(!D9yQu&}B^ARoFizyW+(&=F} z|2J*|nKvuk`eeLc4M;or{Y3&CKokzRS^~dw@r>+nSLIQA5D`38D%0E7o`KtdxK3dR zChWhPu@f#Q@l@3M#9{!Fcb9ytUEewyNS`|QAwK_9ZfxS{l0+O$2&mg&?Nm$tJ;wI_ zjlF@Jh#LAT!W_9H0LJ)LLs)(-1pYxY1Sg4eXd}Qj4A>YB=g&w&k!89Be4UsM5rBgU zYxEOeZE?XGPAQc0rh~M7Ozi#)b+Iq?dx;F&X8qT1&6k&Q7=gGS9|4dr3Y8uA@&r-X zGh7A)aaLf&AP%~a+2Zj6yRLBhrpbF)BzFlw*erbLIoE6;qpZdna2wqf3Kx!z!2$B7 zJhgZZ2aTIa5N59<6|96J`?S6-tL^Xz7JsH8zn@8}H{*W_)%WAg7hXj>{Bo@=bVdy{8X43yUA826{Q-hhoQFHJF@5RgCj{aj50* zO4Nm`gFR-AtxP@24Sj32DCu{2S$+#9Z!ag`;&zIuvo$mP##!a<~ z`CI5&JZUD%er&Lb!ZA?SI(hIDq&7O|NekxGix@=i{LECq4frKQ$4*p+=i3QP>@LB= zq#pFBSMNEW>jC!-t~h4c292VNr*`Tjkb1c%Evu)Y7k`#hFj*9|XsJ%%EMIvp^mA9& zB8N8jPGs~Sc3?N!nj7fzRnu_m;&QV?5kBM^u9=sRav5H>5^tQPFHA0VO}ncBj2}^a zx5J>pxg|Jo(&?CO5@1~^axaN2x*T$|63fWM8b^ZAtK;|ufo0DTBg#fS% zapG6@R+5I7*kdp7CBu5k{H*kKH(>fN->1NozoF4f$k2U{Fpq39Z@$We$J<&XF*|cS zsQ*XT7~*seK5NTqZ5ZdelUVgiNS725G7a^S+cH}ybV|Tyh)4_=LyLVl1V}A1|B+fw zfuP};e#q^l{IL<&iP6h@8uH}O-9Lr7S0xo_`D;yJA(5%t2*5;}<>OUN?veyfFRcq& zoELdXBfn<#hCg>wlqqkai9xKk(}enkp4XA^;8Z6Pot3V)!fKh@0L1f!OzntD7cMCl zbg;INtL?0z2_vUBPA7nv-u%K3wLttc#+XK~qE%lSgcn_F0jxXdwTB&I86)9G8Kg-x zl>qGo8DASfYfB|lP>dJKonjV6U{7#>egR>5#K0YVUCWaId`xO}Z#NqnSQrM0>W!G2 z&L>;KoQ1Rw&Tvdel$ug}Z|Uc>yq#9bXZ}{DZLkDS2U_tcHF$yk(_?@*B5-!Ave8I^ zn=UJLH|}1QUjap%h3z8B)-W~bnXhi)v4Z3B%Dmz9Q5tv=anA1s^;0#`XJFEHG=|~0 z(axZLYPLcqoK$~UwKME6%d-m~QvQBEP&pccsXUwcA9@01&kxOLzY-q&L0TxqKu#05 zke3*2OZ0Z*GP(vE<=3{4b^4P_lWB)KZ*N$hud}Akof)3MsMWz-T1Epz@;Gbu-dgb? zH*x+IZJ3;^`QY6QEg(FN0fG8SG~zdR1XQ2no?NkAZw4=hec;HEN!>|YIR}RQS4k+Q zh`UWkv06$8Xg#RTUnTw;;@pCP8yMW%c!FNTnV4EB?k6#-wXM%rJYf;iX>M$0pdZZsJtCo}*DY=F)F5#_1ayrJrH z6OygwMM|U)w4VZwWEWd=+_T~Olor2^nh_%lcT^6AABOwXY<_#z^xwTqtw<2VtOt=p zIQsbXMT~trb7S!#7qU>FT66AbVV)=?0p~=m@mkgDd%;JMq7&$J2<&GD!l>GshZCe; zlsnB__1hx@o4xImEeC&s=OUjhw(0CrNfv1VX?eR`>du>vLy_HR|AP0cP{IENA7Ce& zVUqz5)k3il$MdR>>_u)7;v(+nMYb``k5lP8b8U9~lTgJl=;*@z%VD{QbF)i|%k|HN z6JLI7_HxU6AH!AeoC~M&spD4(G!exjjI!Y6OOYwdQQ-|9gJhA+d_$~jJ;k^z9OxSf zxylhQDD!VwM6{?-=JmxV(nuVXba3b;G{er3kUx4U3D8V4iBN|miCX>!9UD>+b0IiU zhMZ%esZ!t-mF-waWO9yq9MGUpD>f#cZdC;cVXt+IA>Ud9Y2yb<(HYM*f@iLbF(r3W z-L?OP9Tgni%;6`j33o99SZCYk-KI%v)Qkw>OZ;3xl;mjp_Qg9WCirMmw;}6!ATwz} zAd1dtqCt87K=6FE<-UY>(3WJskgT^Sfj1pc>Kux*ACi{mX1-MDH&3J;0mF5M!uV6; z^AWIyAVXVY+w}%8nQBej)OEvkn4AzQ9+91{wLlEJpMK4r30zNo<(cg6g;s8mM=|Sc zPBJH9bJCAYG+IyvNS_6n7b9?4Z*{ff!FB>fBdSKk5U^S~5syF4JtYyvVT(%3tJ&UK zh$Z@Rpra{zr1Vtt-9?e{T8=eJ^ceC~Zt>_#4iW zCO!e4t5#ghhL~FOk79#eMGFw$6eU5yX8>=~28lHHf6@b)e!$mQ=&<2F={RJ4%(yu5 zS$!lrF;fyKL!F1oCC#l;%wTQpk zN0#lDaJ;ybT-xVXsX@ z4HlWWTf?_ps@s^O<&PbGTuLC`nIcYk2~-aIbpQU8?X{IKE?0Tw+dgVC^7PWfov#z^ z=h{Cwh2Nhg*Mbju77>-hSsS^%VF_a`s%xFq+st08nvvN#V@YwaRs>7 zb>HmZrxQvgB$3*_@-~u7zo4giwn%Dm^DfJ({ABD<6l3Pf2AEgpYN+6!%oex2w|5EE zU*RWcPig8OO?WXp>G#VR=5k(m+!-TT;KeD^i++eDlSZ;A0@2a+nK+vNxGcp8_YAr+ zd%=fhl#$b437i=KJj^v&{y5>Tg@QfWmlR102=w#kvrVKafn^i$hLms>JOvC2Zlv__ z8?el!7acT=;7KTlXQ?liOf4un(=Z?fD!P`IDE*1E?C(_ol*Brm_3~QKMMLg5xsxo? zK8qpVWYWY z4P`b-?{%K&Z;TNO@~p)t#%XEge~O@h6fK;j@>f8!ISB=uM!k97WpBkfx)g^$AX-s> zqten=MOWaC696Jg#7}NjAEp;4%3*ARTJm2xxYxXlU&7wsI6G3Z>3RjUPMVkp3T>}o z9%bTzt=|oMNwH$b_-6{!4mPV#6w_A9i(TEZkSn-GI?C&cP=t|6k1IsK6~F-)8p6o! z#ia!C5LJ;U+%Vp0CZhZqLjRg`_39jIY_C_j$AUNFq9E}AfCW`tYl#Q?MoP}t1yCa9 zs(@ZYGc!{^xCQvdf)=VGdnG@kjN*i3L{#(f^BB}9kDOCrvqtK3`LzH!Z)n2#P(RM6DvR!!pWUFF`3Yss8#>AehQ=ZEc(#?FdJ zD)Oll(zE(QO3PMdtu(}7;hQ2h`D752yR?g3boqr&PS_LD?U%$Se0IuRcdqHDHdCWM zYxt&@Vy zRq+rpJKs;PdcZBmjH_6a9y9YPYDTLShD4#N<#;$32fdMLFRm zFv<5^aLr;-4uRRPCBxQ{etI>J8dtlhAF4*sTJE9lhNfO~!z z(*?acQBOncze6^hf9Oc3j#e(y63ym6kt^O#qzD*k1i{v~a9S2iym!}<=~9nvo1%b^ za~mv8(W@IXolU^@mXrIIg!4J2TClrDXy^|hHdGa$KgTi zzDewDCOm=>K}<oYpoe>*&l$td?n5u9T8}J@c>}9s*zDzE1))L)JV(6X1JPxO_U8JiDtVV3I zQc+=*t5}XF1d7|vC{nVsPV0m=$UzgKp7cn2aeS=MS$u-_W0W8IRo>!#|^RqdR}{OvZLxga~B`QN2; z4~2w6DQdXN>!mx^xWF}s5f*bM0VY2b~ z4V>gQDIvyCsg6dbqk7{(OO5$FW2#@xG8G#emtGy0(x#o(k)F(2LA>>-KHG~xVu^&0 zo+g#?c#2i>qRM+_#aTX`D9(@Uv+~k$&R0F<0^z$9>^!lDy4>|^7*nJFW#gnPFsgVm z-`h{t$z3K+(qra`l#+2CZvYZ?v;JI zR{fWF9{gF}8)7m8gk!}27r!!o#BaWeDdH?xs3{cZusq?0|G7@k_5f#ji|q@B;M?_U zR<+ig6z~YHs&3+rs;IUGeE->zDt;VOiTCW1GwJXagIjJ^F0BJ6(JpgnKvRhf@Lr!R?*r|Hy zC@W}F6?S}zrxnzrsxV&)-tn#GC**cN17Oak1~^(FnjRL-^`!XeWAPsd2N}6xokO#m zRbYhht>UxP?C+f}lIQ=aAW|Rx#NBp^CECSLZ-Gipv(_4`yd}Mcoq8JU;INGQ1E8B$ zHeKtRr@OG~pmAb&65R|_HPdwg###v5*m6Id%qh}L>j}FqlY^uXl z$d&VplIcfCV#9q_Im!yBXxn?pT8aXYq_pHLdzhI%@#8@v`>ZzoXCL^KHFvFs&lx((+eLDTq zI_DUd+v`}I=;MfJjf#G=76L?Z?m-G!j2$$Jht-YHg zCl60ryd@d0F&BVrpdUU5w(zXM&RE>ysB3LARZ{7yy3c;RkDy8V$$TH7S_LJk1(A4LBAo5*w0FjmUTzK}R|oDE zz>B|J5YKe~4>f5Ppef9dci0_6`-ZSXQvdiqlWt=rbg2to@v70IepP#kc_H_m@8W*k zT=#OSA*I1WvXF5@dy&6U2e)GrNerSHU!ou_@RiVoUF5d^Z3@VJ`IYO88-ao(`jrMo zR0$yo*k5O>E|V4qrK9XQm$ybjPSw1J8CKQz)eB{- z$nDC_)Y{Lm@YBN}tG%gJ%77jLbH*)Z$1CX(=GCQF9jnJkfuF^=e-#eo5sR-bgKj5q z0C6~du6Ms;Zk)f=G~CtyqE-d{s`+Oo?MgA&D#WMoHSsh*piS^ryv3sTlKo#b5k!mo zrrXZlDM;jBxfBSipjkYQ0Evn<_M&`WcN1eQ-e#jVAcXXvyfB3M8#?W9j2t~RX(R)c zt(e0SjT85<5Lj;K7eoUkOC9E;_+xM`pIWUV<$=<`7Y4ypLOQ2q#&G`hx#g+R!ER|+ zdC7l3zioxC;H0%>MwVk@qk6I=Z?@^4W<@bc?9#%URPXi5t8Wnz+@H#$Z2kK7&)8Dq zZ!nzHMT?A?I>+_&e5tqqPy8~5Kya#R>90DQN9?UI3H4A3{sK48K2G_zbgMYMC-lWw z)dm*RKDLVSUXdlr_9N}k$HsM3W(aYXS!qZ}$aw)xUDmFrEe7Gc9)f>S4O3#lTi+Qz za^R}Ne3FrK)U1dmUwKQKoNI>B^^~JA=?=(?%Rc&U*zY2?iM2!!hV5E5AMh0`H({x0kY!Z!^XV+Na@V=#7Ay>QHF@lKo zixD2kLNrF1Do{U#sh|Hoasj8q63*%Cgx-3!C|j0E%Cj(J@L=)>nrf*+d94+ck29tt=`A9hf=h7ERn#&%Fyi%&!GKa-Bnpw{@M zL|aHWj7O?Z?)5w6x^F(NrE~Z8`HR$0APE;BW5kI`j~*hfRbX6rY<{{G^-5-HUrZrs zjn@lJHM1 z7G3i{;co4e0bjXft6z<~qb9^pe&%Gvx~1cSKgZ?4v#&0FTlP+(guu8WtuQ z>DQfoDf%u4k0pqdXAz=|mh@;=s}w_6sYToeb#XHYa+W+?SaZiulYOxN3}S&7<{^S^ zl9vKs+mr4&#Qeb4nzn<{bF)eP@;qz>b3!-ptQOAVz_!!eilK)=wc~I8pS3s%L@{zd z7Uv@f?IhN!@;9^maF4`>ckMD2uja^d<%)66Y`VM8Gq=?)ET~Ql(;xjRD>B|F2Sz_r z66D=i2U&4hCmK1`4}7@f2kz`Qn;xu0*Jqqj!Bc+T6s&^K?{)TNJveLkzB=OC5@(U# zlyo+8WrZJ-9?J9m4-puFNn?%0z2OtM7s6kup2E#Fg(!$yx8e!QXMdnlT&VFe!Y1=F zD1S%!kRY&EVuS&Is_nzT6kBnWVTNP8)#mu=y`WzY=S-peG;8f{mYLo^ul9A?aS|>q z5sH0HGah;){wUw-JOmTk7tPs9U;*oa<3}e}6%YJwls+7mQS+U+OJMo^_Z$GV`(uaj zxWRb8zW!miDGB;_$&;jqEqJMYddm_ELv>K@6AmYiP0B#|x4P-0tyT&?T{R3>ZdN<9 z#vrADpW!h4P~q_dV0Bw5e|%*ysX2BbJk&eA78novEe>urX(2B!|E;2Oq1~a59Vd%) z86d4)5ni6_MS2)sZht&#azR_;uHl^Q$Z!(tVHmj=wF&>BVYP)lgR=SRvH=NR`=g(n z=7Z!b-}=a>zQ5F{{slc5HseIc=bqT9ez^LVAWiqwU&+@tHW{g>v}tdvp1Buh4cf>Piia(;%a!&wr_!si$}( zB*0Hmr7tjN3m;SY_o+8kRbKb^tDLl*Sjk;l1I{u{)Hl61bn8Ts`V4}}v)$(TiZ(Kh z^chF0C0C9}*eMm2MZ$mTUz$^robunP=T5j(^Yaw{2$TjavavFbA&xzZ=UB=FJ8tRb zcrr{)fflI0Yxu+stkfx1$^6hu_3F533_j_ow4`r8Ol8)&-l_oiYUqj-|v zQHdoQ!)U3_KIxsb)1dRpHQ0I1Y}+?Ll+`WVvk*Ht`}Ic{lX&X{GT@d5l2^^)DZrO; zU6D6@qD>zAUi#i%zoE z-$PDJ5Xy_vEU}kCf{*TrFGPfKRRJ7Ee(7u2j3!wz{0*Kh!V0c~pMCk71$X4zpIEj% zmzk-jLs_JBNQ^!ZW^>A0Lnrb(a=1-68qH7-s#J^yXsTn;bYz>y@7zKjM?AiDBpjh! z6zWxuc$AgWM`zwm_`}Md#0nG}HY%GFh0m3djS(n=?OS!Nu;mx_!4n9t)nLjd$2qw&7cGsAX2unL9NI zJ=?uSVy$h6i#6`$Y`6HTJ!E^s)Ho)DOT{r(2UP9dg95r3fRQkG!bu|{x`OCELzW{H zj>rbnkQ4-1uEao0FW-@({%vv$^IxO@7V+2jhd%!v{!U?oeFS0`6_KmEj3%)O=m19A zpGvfbfGV?r)VdxzF7Huwq0QiLFALVIF%rAFth>*iG!~h5+XanZcs>vhIwtVlb#@a$ zffrJ%rk~!(7~wYMBmGG%tL*E|r#YqRvmlSs#T_~Wt)*3BW`I;jiy4*g(HL{JG1H~y zhUt!XdvaZpblpz`J6NBf?n&?);Jogpz_c0yb z7G-gH%7B{ev<5y4zO;M)29IeMIwMKFYgV0D z_KfvOiRQ>!K9R(SA5*^@s7rfSOtVDIiPeS_Rk~8T@$1P}Z1oxY zOutVbEn&{LzftGj5)EH%>;$mx&p-aw-~IUd&T4fpR5b%HjydI#Rrh1koU25HIILXo zN2rU*P4CkQ*r|xiB-PA4Ic?jTy>7En7&KM2HJYvq%LjNf#u1b^Q8Om zqHEC1b$t|{?=9MK?*N+IJE!zSF+HsQ<_ae;VOAb9V;o%a^d z1zP;zp?o4Z%tyoyYHL4}YEf6UxE@*A?yn3^(H17DpstMPFvOK&=eLfNB%;}h6&2H| zq6Tv9&3K6AMAF9^&CkL)5FV7$CYbm~O8Ka|?vWt(npyjJ=pKbg|D_D|DlV&SN#!%) zs1T>^Aq=-Q9S(fZMI@YFjjUt@p))-#>_#dF7wj;-^eP$L#VjO3&w+J_fgjYp43@X{ zhSBa3XJL99+zRdIoOypx3Esr8`nY?dV|uofw+=_0{PVYb=$Uc(xQ&HZy{Wdvr3ac; zALZEiP|r#R?c?-y+lUu-)8%}4QV!q9KR$8@-;9%qX-iDVR7xjtYB$Ou%#fdmciLQz z;>qCiMwJ~IHkiNyG9v9(7-;y6tA2N*A;a6RL9f!(*E-qk583P)T`NXIJ3%QABQbH>Ik7u8Ae5lN=YlvR599@&)O*c zRW)DPFmJH2;zcFAe-0+h6YO(9HLQ>6JlWJ;S5}`(9QjwX7o~g$VvX5NPKexb1?`;W zSs)%yP5(y=KvT+`E+B z_4U8^%M-cuPf?{5i9I3a`^f_xsGCs8@jQyBerI0VPH~3E&nF*}smOvcwak4qJk34V zlisn!(cUX(X~mRlh7qifK}-(4lGLvlDOyYUU8fPN|A(c82GTU(YZJZ0sY<^=LAEd( zXSE^LYnoL*tIYnHjc1ZD%#RvUDVxVX3K#czZ+?K#N-eC^U7BK>^3M0{s{0@W*~JGw zP#5JwOVb`{t029UG7$kKL+=Z*?krT0+T)W_j%+I2in{wiD66We4>-I>MTJ<6!nCkm zI;kkYGE&~{>%vAi9qM8Mv{Ox4l*=z&)+8#Ic|tq|>bpQ1&&B6(!Za=ePY2?uVFRVi z&$2M^$-N|V_>hZP6vSW@6jf1sO;z&%?L}bVE^yDCz-NYvWqn zB~^7nkEwzmt)k;6iD?m%Hl>kaAzSrZ5;;KyA$71Z$KgdBP?u2d}WxCX}=N%!`H zC`rBl2BF!r{>8DE?zQCnlR}A1GS*`5ca(Gv5C0QfoIH4sVmQ>)SP_nr(JDBg%U!Pg zs})JSNV(h`nU{(WJFCym@8oHYhRVFjz(c&Vyb^hO(~FMMM4BV_$X|v4MGyn-Ff({v-TQ z{ND-d&nDvUqEN!GuOp4aqQp{$eQVvQ2+a)X>ij;;KkJ7@TM|^P3e(IBPA$#p2ss%R z?$6dnmOr0j*0kMP(S5wKHbjE?%iRqjUN&hnRZ(b>QO}Cr}gTdK=9RRz5G5w z)V!Pl>a;C7w0*3LI+ll??`sW#`yw?pm`^&g7ea zGf^cgxm5MQHbDicX7<9f@nhX**>(>9=rG3LJj5Z+fc#VD>rrC>TS8nadZ?-YQ_iOB z1NRHWf~H?qd|Do~uSP4XTjg+0$Fk?kYM#ZL>*&4*{>j|^vO4D7Nz0abP~o_y=`R-V$WPCt=+OAKdKr6+6{DDUBQF0g$KhmT{AyZN zJKq_J(kRdec{WONI93N#&`p%0?&(L|3+AZ33N#|)R2NPb>V~9wg5xbWZ>DY; z#HGJ4;)D^b>cR6bfI(IzI~CIPKN~HXkVFL$jmlVR4pmPhZ2@(q3)Qp&yaHiz!d2%q z@S!!fGVNyh4(SLp`mX`zELQXY1EL2hK4s>&>_~}`_&B2(nmRwj-8eKy!!;ai6lKG5 z{>;%l{0mKvoz`o4oD*PS;~ai4r%m9iFl=UM7|n+<2j$!1HiO?JrKy4P3Y@gCMMsIv zI2Lj+{tF$|TE^TFpNN^;tTyQC7bo($=nGgY%hd;wr^CeSs5h|dnO2{d3mj-BM%@~R zA_(uK05?c?=<@bSL+%cXHzCWwFuB_53-R1GbMqTm`6FG+WNDwmrN~X5k31h3eN}0+ zlW7k{o8(L3-O)&DW?swW9tgMVn(=*ZV+A>fgAqSL41b1Yqxxs-$O^GBu5+Q1sh4GK zu7B?-Ukj)RoaWycD)$Frhi)fH2KH^d%1(d}@QqVpiv}r7Q;Ssb5=GLibe}KjDYI?t z-1=KB9}_wjrx@xNmllQ=D1-e#h99LJ#g3RZ`Epsw@q&rZAYX-AS)bQYz5sbz-Fm(F z&f$MyyTY?&20!F~EwX9JVZ}6k;8aEYQ9gMcN<&}OiGIEziu4uv4^ef4En02c7&h1ckHkzy^-r0z4L=VQ31MAxSe&M_&E~ZO6g~9mutK`~-#m9AK zHi-3}Ly9mV#;Rd*HFn{%jQ(F!+a!pO-j`SuhOAlXm$^(uMtFZkfR_zhF9tom;5D@F@0OO_n&8I8uRuaTujs`wx?} zT-A1Ju1=*Dl(V@P`68o=1h!#}F+ zt2fK-Gr+xAtJB(-uT#2rSYE?mr`R^KS`jgb-)uMMorc7@PY8R|8{67=aPk9_7n``W z>I$)Oi>3gZm)kI$lp~qDq<%_gJy1{5Zv8^6M{Q@llR{5$35r%*xhqxT4s8?tE--;s;iU;?xsEz`hN2; z%7gB1QB3+Eu#Q6U3+liHL)5i<1V`!Kl`IE`{iKOEx1<%II_sULXK}MAuvg}Q#8y^WHn`MD{%nM04HsGy?sWVPW;H5vm`#jP zMADBjLG7Ag(H1mgx!D~4D7n8tXn`Sx5CvjH=4i;lgDG&Oh2>A)AGw0}U{>dbbA5o* z&>y#km4tS}FDgr7mU;%CQ;H@YF->WxmFdb!q0DK$^)IE*9N7eHP~~~%3q?lS0Sk3T8R5-^2*r-=$>hGPY0dbP zV~1=yXy-8K@-6UJQ*YVQSYrf1Ao*E*?1qWX*6RRzTI%!zX0#+{rLP-jowh03f)ag{ z;P`I~vZO%cB7p(B?SgawR~#&|Ve%tTX)x zBev6xkg1adnL_8L0^Ttb@{QS6zFTtY!?Jk6?*iv?l@w?Zh0ZTfk_6APxl4tdjNnu1 zry!*)=}rpXfx;@aoaG5zFzcS z$;fbd<8m7zC7qk|iyRyu2qsHNR*q4=>PF4+1zGGBbW}e%Fii#38879TTBEM$j)1`?q#@x-K zCT*iw=ljKKeao;F^*gxw?Z$1D4%??43!)^_1|bEQNgp%uVk?6~G_e^_?n!6?7ofi9 ze#7xFnN}ziLk0EAiQ~~QFySA&fOS^2kN?j@%pvg8lk`jBOGUuv9E7G$-tnT+PBp7# zGHVYEnHX|bxL40fzO>f%$-w75>>dUPn=UiE6&!;O=P&|a2mqrX3DEra7xcO5oWvig zt8f61Agm3!B^MW*r7_Ada_#dopY|cMvU~sP>$TfwdDMc!;>1Aaq3JI%KUkXgS1)w4 zsf#@i+wp|=)2>arGa{`vaIW(~8fkLlZS&st`gk)u4C*ibe~L||@%dpIPFewIYeoEK z_dBOl@D0sFuf#C&e;;`h2BHH!C;?ma%zMU)4-~;^mor7i!-J9E zr6BpkzR=zoSG&W}wf1k$a^6=HUz1EzMlE$@l&m+H6&;g{qWrloT9n!cuesO$a0_U~ zc+t11zFVHQ&&h4Xm|=FYe#z3=Sj0K4UEXIWJN#q=h@Z<49i(1u{Na;F7bs-C1vmjGj|Q z1yFxz$a?i?yHlPD=8GkH@x{GO0LN~C&;kM~hqjt4?tGGZ+ctdaeK*?_Rt?AlOJnFd zbs|2i`u$@SO`D(^Gw3#toE1ufVr(=Q`x0$_2>glP+C5q-lOLqMBFlAA7l9-2uwl2d z?-BDxcB`+|lNvkAI_24`O347_npXddX2Lslc8FqSsrvi0zL+e~jrK%eOsjFx^sXk0 zW3>I$Vju-qvd71+1x6pan9er3n{V?pB6w&MUdu4qKqkH0Z05WPfv$Y);`v&_H-WMj z808m~h@IJZ@GjLEx4e$0!QVcQsU`fse!KQ#|H>yTBPt{MZ*r*UnZbr1 zd1NRTpLkOtG?Yw9(`=76k3q1U79eh=u)7Juij1(-eC}w3N87_QiRl!##4&7C`fZ(` z8tbVzl7Bz4L*y2N;_cNU)b~e~lZ!}Rzo+gq1~2=55qc5EBQ?zW=>AH0oj!l`OzFaQ z0Kd#u@!+-R>1w!JubZ2OkMq@LHs547*YWf&m^Ohk~63jquL?h zVba%yU1oPn%@Nkvhf~mn&lSPFW6|w$E_OS{FKuf+_=8rdms#_PeC~+K=s=lA)-B?| z;0ln5N7dW}uCL?R>ry7b|4PP`7Y7H|GI8k7^h@3K-BoYM|IoMMV$7*`TX^XCyyy>G zn21Vi9}w6%)J;#|QYWN{5m+%L3+=Rinh};phdaH&_*QwJP;)O@Fkw}4OHJ|i&ok-X z3)GS2UWN(xT|Bt;V|mld^V<<#tv=s{<%Jn04&n6aLOY9+pH*3Y>7`vAuS?C#3- zeI!?-4awgUI;u6i-bk)&8iNUa;Jem@Oz;7+*;2$PDA=Q7>*+ejWj5^o0qrYd*I2s{ zzk&iAfb%eqt)!0Z6*qV~#@V7qN5 z>eF0NcV!t`;hpwZKiYR|g2C)p*L?%yP0R4*JMe9E9D|5~rY)v)fuo=A4@YgkAHf+y zMWXvGAYWZezb0pRs~^6o2zG+S>*IREY=Q>sp?;OngKD2&DdjPy zGm1^njClH*>{19Ox9`(*9>SQ&ZPHn^6}(x3d~0uA()lO|oq7{~pom>zrsTcA{Hn(d zyy`Su8B1O|%5S}^fFNP#GYW(rBeunJf7dP0@JK8eDGfIS<2ua+6J{HE>=-`{NYKuZ zjp`M_b28R_Lwy-%0m7t=O(uw=v4E1)_*VRV75nS?Gao1FlxEe;Sb*f_g&G;Qjb_#o zF*)=f6s1d3g@+y6l7d$Z6BwES45sAVN8@6*@y08(A%$cC zVUarPV3b~(f8Um~6N+(^QANvJOOWgYW8D)|e@{8XE` zB@~%9sM#D4TWdj9iLV|v!WohwfnnEeN-tvE9D|$BUWWl+PX3;8ICcrpZeXVU;K*T1 zA0Jc_rOioxmH)2i zzL>#GgF9;!NguZgAvE|cK(7}RF(wT()l0>y`v(bJIePdo2K;R7d^Q0@;f_gC2#`to z)}2ySx{-!8;wXR-T?+P{X&qpzPOj2Z)1c!0tbPR8`m&JSNQ+4*PHW%-$ zfzYzEy=HpOMp4)BPRpMA@P@Z61(iI}dM&e3_Zmt!bkuI@?2Z`Xjq1hK=McTLK4m;$ zi)spMp%oZh^m;+|bi92Ou8Zyk2{cx)AnAJiirfQ`4afGN81CtKhJ^)f+ zvJu{+pdGCquH>|YHLpe#dFo9_xn>&jl2zh8H38&D7Nui=({o@?jzk9jwTrVx8m2~U znDn6#{&Hb6y5`LVIXitjJzlY?*&dN*(Bv)`w5(Wd*xxM^AYeXR zp(0&`6QjNkFZ>?g)H;9&j7; z?#pDIJsX}-n$2N7(N4MDcI9eKn5*HxRY_J(e0RpXFg}7hZHhCtT18_G5XCiMJD2cL zo-)xv-qg3fQ=>-TpUn_DZs2jcZ|3E5AmFf&bD6;*NzW20bx~hxFW0@!LGauI0Z#M0>8 zj7j8$H^oYcE6H~>E;BWbXGnUOXbIyu>x4s4>UCR9u6^<JL^y zb0!e-Ak|B---w3!2!bpljlS-Tjx0VIi9z8E=a) z=D1-6nK;IfMd^$zt<+DFOE;559T4JTP((of%#1!#=Dbn}*|8b)@a56wy0~yyy`ng* z*9Q}zJq(4$zZ!;%JU`DOoJMSt;7=4WMei(MERG;=wP3q%p7j0WZ?6n~n;J(&|qQDOCwz#8jfuBQs2rL{z7Xf~z;tUiH;xF+<) zFGlF6Po*jiR@`9asYTCo*!1%v?vD0-HRLr|u9`#+O8ZgAZ+#a10K}<1 zCEHm9H$?qzV{=_&-El}PGOLk!Q8?^KLb8YtCX*Y>PA>Tgg5NDP*eomE*m{_m|9~MK zFi5A$PL{1MFSWz*{R{FfanWNP;SXcnYxwZb{m-Kx*8-e^Ne<|5A<90Ma!Xk1q69-5 z>NsRnT@=h5Vs=f&(i-<@D3hI1fn_cU`U9v+whp8JvtC#Iiv% zN^9`|ry|Mo?xUh?xnRU&Zg+wieJ5zR00nK_ESjF6SF2}bsY%0II*d$-rhU#Jn}o4_ z0s6vGt*luqLs7N~=J;0b;*$$d=? zX9+(CC_n3`l;Inx+mx=4Xi|o=lpL-~U@!g0(jh~`@6zkbnQ^DvIQ`NK#lZy?DR6K^ zwR^Cz4PW6-jqF7z3|e%|-!!=Q<3&dXaw)%RMHT3vz9G)V!4x|F7ToQ$1p5x-{fhT! zhz(6SB;HIM#oUI^us|BzGfEan0Rwk^d4>GbGPC{cu{akq#N^o%wH^;Sw70Z22>R>2 z&suTq)}X^d3Wy}u#AEM0ePxi|E>i1@451`FR7)(;TSIJeK^|7z`dco^2OT%1SR!&o z=+?7q;38b5T!HXUo1`$IRO%Dqb)*DB7*btnOYt`i7xZ^34#zEK7gKC|+$KX+76km7+&;zK-& zES&);94i>|6yY;gY}?;wf5lKl8*@-r z?-IP<$|2b6f$0%So;>4bFk~>7Hx-GtKdsRZl>Mhis>JqRR$t#Q)A}u#@(7kTjhP|R z1TL`sgSTH=|DyZHMawEQ)~ZD1;^ef=PepAlxg-uI8?nnfIyDXb%xfCHv5h79C^*9V z6nw#1Yvd^SD#XuOtLRieh7n6rDf%AXKPxe$uDCJ{ae&$s65^VZc(2#};b!Rb^GSC< zcR8&?aO_?=-_+;YWVf zk}LYi-@z*({qsL1|Elp`XJXnB62x4t(BoC{_^1#_z=$lN_&`h*$hr1ZYBId@AZIw! zjBkjI#iPZ#1+Sm+z$Q8! z$Ga~K-Ph8FgkX7T<0TXn?W06;eh#=^KFP4rDvO!UGI=1@?8-_C+Y2Iw)==~{lQ1Uf>>pjOy-0MdaqEGxP>CNFWMcQ0H|o0DILkjij*HSsuw5a|CG=4A&C)O7Bw#_q&;v$c%+}FrSmhu z_RMDT=0*HEWrD zj>ubwn*+PBUakB~KRt7t!Yq#R$r&%TME@;C5G>1Gb!m`b#NgI`MAuF;&k<^Z>L3%( zi&fn8Yjc$=5uoQm?DV)@Umf(Jq*EygCSiXRmMu3Rw=SI1e7y?8sIkS><~~ZXL4y}+ zXrhZe;7p=TzKBP7L7iPei(9GR{YHZgCEab`()3sg|4}uTz7%A4zb;CB-u9z|frCaK z6|}}JgVXFfDjfQ2ZEf2=imiZ*>0MZG_!m_q-tu1ERz{cSzUNSXs(uPr^!D#Yv%5IU zdKg~d4qb;dSRh^LK~o|N{F8Owg&;kBE0o5XDU~q6yWUvQPMZY$G*~X)oYdVQ3CkD} z$1rge@%#>y=RU__D2hunad4>-18C$~n+|^5PqN(SRG{U9R&=+b4VX9uoEyL1F@Z!G z1|VVWi&t2p=ae0MJ=L(kjb=Uv7)cibkBSozE}MKLlEwI@zpo%Sd4y`JkI>uz8U+Po z6CkvwDiqxZo5Ke5Sov# zze<-K-T%hbzZS`68z0G19grw4m_j$A2-h0DMpk!GtxI0Tk)0SGHMreVtcYJH8$$Uq z(a+sNM+$oeAw>N7j|1VUQ^Wyzt!^4Lj4Y68ti{A}z*#>&+UC#kuue`u zrw8C5`b>5ZkfDH_Ujq>%CWVaYWE&nE?<*NEyprfdL83K;Un+(FoXYSQakMf1!|OVO zK6VU=>RJ5&{2`MFRTX-6s6;T3Ll@}5CM;XTv43ehZIUh~b$6>m9>CBw$vx-IFWbPs zm57T!qp58pIV)N!71$PvT$ytE44BBNi}C$Y^IL^+N}d4_cq zN+${iV@jJFh^Y+gDkfs-uhYHaBI`AwTOM%V^$^VSP(NP^=TiBNz`D)H&#c?3>aP-x z;c@phOEDeG7W{f$MGrDU4JA>yaK*R5sr?Ga$;Uy>Ww%Fb^JXm8#`&}Uk}MR=vso(z z`0!-I=i8iXy|yrSdXaTqvQ?hOOJQT>NfezG`RZdTU!8h_O~4Pt??=XiYV;rVbDlzL zQ|Z9*QqQrG5aY-6sg&OqJtumtnZ#6r4*|tqfcs9;Q&z21*yb>VamT9eX5$NOmzuhx zqR$bdHtmqbX?_xI7ieyo1d?Y5*5pM&h3$&LRK$mkChvj&a_=OiiheZ!0Iopj)VGAf8&EF4mIK_OlQ@!9keQCd#*He6h86DG!_MDt-yOe*21oWbNO% zL9s!~f{$%8Gp+okolPPFv|+T>8}nRPnm-oL{8Rz$G}ujGB)GRUUvFU93aGv^A@(W# zJPb$hkbrj;Qu?|)7sP32GTRJuU-tTuGeMt~)<~Gic&=xH!k0@#coy2gp zlWf=jMX`?=AG!d#P#${F$$Q!*7_p}$(*y=Ot#BLC|G1GgccmoxUYytD@KzSEudQm+z1 zV3G7l;x95E)_xq5F-K2p#AB8J!MU_OcN)n{LHu!NK99PU zGAr6w8EQEdj<4mV09jTy4jcr|lEP{@B_` zqh+H2F&KRW8BbIlA+wcUr7`lbp@L3hA1&Hq&UvCbJ#vR%=&nc-jU}^y4>V$BbkX@f3 z)$6JmSXkn|_KAmj?SJp(h29J*FTK>nTvMFAq({%iX9Hb2dOn_=Sp_)ZCO7)YJKYD)54WO6F=Ej7#5xg z^P>p~0=HQAI~;b*cW>d8R^AcNn{@}n!o%5gi-o+yWQRvUd9zqr{#tXi>VH%|=TOz^ z-;4_CDu2DL9Q0ik@I1=6J&7~3#c4R@1EL0612qE=Z(A48G$oUjXVH>wcjC+vaR1#y z^s^Km%HBxOE86(hOp{egOnEj){BxY%ZpCFp1myW#{4|~L|E(8DaxA`nC0#k~GQ9%& z-!}iB{^-_@Bg@_o(;h_*J)Xt05sgxKmXymU9CXrYQS@b=qi zGyEpp!heR=4>CFfo3oCqtk$Rfp=DhkL}*ONcBWYuq8`BBn?x51cgw_*SgE5^?XPTJ zN~vGJ6uP(*LEO6jvW|rdSdbt1E2c($%Zqxx6q8{jNen|N`Cj-}A<-1X{qx-jySN4| zwc#L`Qp$%adSQ)GdPJ?GSk{#``jN&z)df|zYXX;lNFf6LLX3n_CbPIMiML!)1__~D zT+y|um(hAV$;Z|)U*74kBrtlBMl_exyV}o0zPSE$N?p770s`J6Z(QMb>55x9d`BmU zLeJ${KPGzfa6`SK?8H~fGn6*V*yf&at15% zf9(kWy8L&rNQ?kSb% zkBCVlaf|EueoT*0{O2s67}?OZk?Fq1y}g?Dhm2AOC0ChR$Aa*Oyt_weYlemp-U;g* z^7V4Q?^!SOhP&(}&F+Gmfvn!kP)(esal{_9US@U5hG*^nx{8>55xJac#Wh1=s8QiV z6-S?PU;_H(u4v0raGdP=$nyi=Up%rOd4o}t{~MYqjpexSkO-rOm%*$~`jZ4Q)vKBw zrB`KFVtU^>ct{a^wP?r~q&vs#HmSS4Jh9&5gq036pDLFQp?7NMB8Hj`hA48?lEt zn)w&XY~Z-sWTf4;9zV{p95)xhtWaG^Ea^g#CGEujJ?wmi+g+jz#GEk_I5zSen}XsO zE_$@cfTOA5BESb!rJLgLXYh_+->!^NmIyr;@_F}5k=9C|uL}EpAHvWQ!C^TLo)f8F zzLeupr;@?6{@ADAQC_WT*OCvLB0bX6NO}JjH>)96*wa7zXU7_D^M&viT;!?h8_S#9 zhQ}{cDq8ad`c>VHnEF`@Wq-<9yhSb|N##N!%u{=9J)#UnpC$McqUe<8%q`i->fIVTl2$00fPmPMtGZdf2gtQHaWUP^A z=E}dn6jKTkj?b?E4#LTt$Ya2>Q0TjOZn+=X*?XjY98pelq_~M$mUL<#VpzvK`GYbL zo8zW=C(Q-Px)|yo7;UQ?IUhS6MZEctud=>=vYhte5$XqODGLjdxvIZkbxL~CPl6XG zJ>I~vo>$REjV=&rcnbtm=a6m27TAiiZ*|(DUoqB7P>6N3(zu6k=l=95zbIpHvKSwI zv*c6<$`{YXL!BD^k`h3vV>2)eDqEwvAdASdP#krb?6dqiJDOA9AZueYWbwD%{&|Cq z-Uw;l_Oq~M&n$fAXgTFZ`J;`ql*>U0y=WD~1`b(}K^XIMVU6eRotx64Ojv$(sv_P4 z3ZE~zXMjPPw_Qfxo5iHy>|2k=93Wo?wie7y|0hOgs=9rN0&#?bS8VclO;;1KxBbYB zFp?G@aQCg1khn`>m=(LrKCn?#Y`?(`j{5Ji;=jv6>B0X>n?wWcn8a*p<)oVk(}%sq z4dy@wsv=k!oMB?{5F7$u?B~)Z|_OsKI!kTK-uv);I4;;HSBNEi}6~SAGE6` zlh~@|=`Y<&%<8yKh+>!#2e# zH%SGvR5-I4=C=1J);3i;c)ApNaU_^kKJY?FbX3VwWuh_q{dpq#j@qNT z9^v3{`rUDQ$|(0xC+{1Tx%X2jE=w3^vT?NS1wTqgXJu23@fyP-o+|Ss^q94@kTr#5 zPwE64AB0Qj02f)ku_OG)yCNAg88ZD7F7@4oH)t_wbKQ9TOl7cZxW|(H+jw7Ls-t~r z*keB%FIFGOZZDC`03n7#UzdYEE;g^C;PBtI-{m))1C0$x@WB$quDvmvy`nDSdh>T> zThp_7744IX(uP%hBin&oL!Tc_^!k}c87wAczcF0)EQOMEohJ&Q*FLR!iRrUfgHtG{&ND6e+2FOwbQq+|*#weF#5mK36H zqs7qfHLg!{n&^i89wF84vdMOiURHKa&0W})Vccs=)(17N__kH4>%L)+^&D1Od4y0R zngy~nzw_=Q^;0a<+ z)rZkxT$f>`5KSW2XQ$I2LvJ|4Hl$@*c%yNYX`jea_H5V~C@0J*O!;r$lx+>E_ZHk$ zjiA|6wzW1_;pVzNPVRi~5S3f62nCB6<2ovHpML_6OtZTz%Jia~MwXIKTm#QlKF0Fa zom>?@Gb!eo#jcA&?fLK_je~UfZ{2~k`!6yD9K=~9U~;t%F<_uHOS-lay)zCprW){y ztTz;pOIv!c5BC2sY(7>?J3!@z`V|)oq}q6QT@<{EMUwM zYB8zk#o3FF7t9ecW+d}{C?xuXYG%3Bbhpa>mAr*^gGRZ)r0!(Mr8P>KgEIe<>aqTC zWVXPYOl`A2D_^|OC!S$*@fU)!Ich^pqo3>S$M8&MkV7=1ymks29Nvu}l4AGXgfKd& z(vp@jYUn$(vYwKvKZf7|>hc=iCXUJ*n__t{DeSCF`{Z0KkMRbX;SJohOxmR=ECXGD z@ZN4!kk-WwE#_ws!TLN*N)ktjxQHj|Ugt#un>%a>o|_7XysanY)Lsl~z;5WE5|7%2 zTBgFxSdbGxE>{y%{K5Eu<#i$0`?*x18tkBrD-Hc&b@G0eS;A+r3y_4Tk8>#(kxC+< zxw1Tq;j4B-0=QuN4v3Ip<0w*VHSdU081vTwrx+D;{t?f4a$6+`U3_G@TtCV(s_4ZH z_6EMhn{suz^LXyek0nBEPcg0-q6Ub!F(e;Ff5HobCUU)V@rHEr6Q=UKN#V^5-$@j- zGp(BVW2<77!fH`PQ!4kkiH-PlSgd{pTqimxr7pC{rp{pp!<|ZH@T84CVT%){3pkwO zV$%Dy{~oZo`mI@$b*Yq;%Qcri%a8b?%M5aMwN=OQ`so{^*5)?QKlAaf*Bp z9_q(Uv^vq7iA6Z_C-5EVQMYQp^DWv);pBK++&;E4QUFHpEinQ8mz9wGJA;+x%hc0_ z-j-Q3w-O>Q+}zglkPJR@z%exBs6n=lm3Nq90L z+#CsNzwPul=(@8K*S4fKX-so}u|R5iIMW|ATyii0^`BP0???w0Y}b`;5@f0}S%~5)e~@`o{->aYMtQsNNvfr< zqbL#;Slfiwd@t4bin(N7)HAQLCbWR@cTes=^o*o;|AS2k zH9PD}Pn+{+#MeicWV4LmruXc2t+9OQ=UbdZ*#YC1wdV<`BzRNo#}v@YT4p!F2`x;R zpDwf7T7Y&lCCpAiHq4h^XE=7d&Y0N6Xpz&hqJs3NeYaSWO+C1D7R%|5W;hSZv}fZT ze$`pt6=>4;vS{SLl8)8ZL2Ki9?~hnKA7oqKb@rdA1U4ZwH1MSs(Y(70S3I8 zV0WS|GC#nFZ71RoXfE$Wc;hqloq{PR+}# zp|>b}NleZ~#@}B9Y>bsa;hg_lxP2{So%6+sR8kN+{~(p5`T6}K&mQnweOTLKv8u|# z$AQ30PbQG+f|4Ff(5mX9A9AMpcCYbPHb8*N7+3pP^CL>}clrs`E(-&;(`+m+H?)%w zp98hMWD5LFLrcG3=<7+%#_IYdcM7#_X!-PRBf_ogro2@&f{%fK&~%QDPLwex}6oo)g5@dc@wy`xDsf0UIuR%cEa$(L=#LMoWRst~ha)B7n2Akm;)L($Y zzJTy^ouuL-Bh&EYU2yv7DrIcHd$BfM!gb$E+=5l={E$)#vq2dmd}T-ASenL(JwjuC z&|KD0);u8{9^Gnbv=*S8AYfW?pagTsI$YYhz(RD&3pUS9QIi zp@%&ag5%c^%FTscS(TTdR$2p6OfSqNq+OL4qYC#IliqXX|B{envnp2=&hzQIt;n}OtfLFr(=SY1 zoQ>R3&bnA--mcK&Xj3+hv`+z1bdpQ|3BdKYy>Adc=UKp+ED+sYY+*F9m^g3by7FOD z*lsT-?GYRsxQ?S-b^9<6Xijxcsv&_5KzcS=R*G?&OJt#O@{5AZTr*a2M$1!0%#L@b zHAoj956t@oH1cN)wk+Pk#Nk_F^4hw0trGu{6`oA2l%YvH-hLxWdY)n4_!w=cH;KZ| z80qh{AnXKhjxX43<~dRqY?n(G^kF5X$(Xam%&x?X^&sn8j^wQhJkqIw8jH@o7n!4kIa)Z*NgFUeS}0a-l|mSCDQ#Lu-ktfzAtKmZ zKJ5$48V(cLdkSUO9xOM*Zc=ssKv%vl7(Cc*8r=PO;H7Wi<^$>E7fke-S)U4_cLJj2W`!hw% z3jnWGj)k5VGI9=x&?4gZ1*r9Uow=|(xcQtI@0x+cdEg3$6)tGz4{0wNF-@xlIFHy9 zmGGfF1iPbOYs%ZsJnafvnXJcH6|`BIhE{x3vxl*|xptA4H$TivCN=y0C>3$Yw*iiae)xRleJm0crIs+31lg=BX49g)Z+c+Hg;FX@^-`CKZf{&g9sk*5?3o zdB#64KMqra)B0l+D2}(oO=U^xz-rGXEO6rhjMzo7QoC#Vy~$T+`xn%U%G+AC!D!Op z=v}b(P=|q*V?qE+p#;khH&4^1uj?KXE|-BNqEw>7(3`rHdYT|Z+z#CPFu>1SefMMo zVUEZvCVP6jx_~Ro_ebQit?h0;I6ZTqo#=02DK3@jEZ#A9knF_)lbu!}O4c@&y(g-` zR5&wOM0?arwgN%yh`lB+vk!)juqA z(c5%vHOcymK%&HOuU9|(u|K*bkn=SrYEH&i;L&*#Ow5+BS(HLcoNT|A?a`?BuzIj+NQXZl})lfN60LaMwBrt z)5dto9)P>|Q*-ghl-%W)fM5r1efwv63FdF>acVr%v=x`$4cu&8%Jo;l#);yZRizeq zR9){!jc@2v9Xi$d6M^KUAF7C}3~Ip3A<&Qcc7RMhhAmfhRKu)tB1e!41|PDw;+BWy zZrA!{hvi;;`Q$Gbhkwt-b6QrqnQcJGPsQkC(rAo}t7IvLiz03EM1eD6d#XcLAzdKQ z%0L!9Hl=(I`9!Svb?DHhv{LOvyVoM(qT!Ri`8zS|i0$HUbrSblEtPj+OvUOEet=%D zIUCQhx&9bWBvMy@qGcNmz~1#~i zw>_TCRhViu11ef@KWJ6{?i^#!5a-EjmMHsOd6smxMxH@S<9a&?-_aBuC^$C7+Ar4qOU^IRY51xVh~1pcl*`uJCBHg7yt7^ksWFTo02XU=g( zRUDPPfuo!wJ>S>kVN={fw)LJ%)5`nz?Al+oXwR}y$|~JTzIp4=mNinw2y70n8J}t< za$R9M{E9tI$_JKA3V}9UMBi1tQQ~O(8qg7Sqs&-femSTodb^#$p>6$H;|&3}r0gIN zT*n-{6RFqB0DBsZ3lT%_M-H^W{k-k7I2$1d$NI)*NyxT&!2ng+^Jw0O{=h9N$|ACavEoKtqS$dAkYaze@SC)}k?a~#c@@T3f{%T2G6%!ki#zxO{FqTC znY!UHgMTILRjhf9k>(#{(V^%Me_)-z51k$}nOSZJ9H2{bz}oiBayaBa1BXwj9nFm+ z)-p3eU#n;9bVObFDgItk|s(^3eYT3JTy)__( zV9Mo&6%r|fSRlLMO}F#fMj%La=S(nsV>C(c7EHt8@!$ZQnuYDU%0D4WkI?#ezti?> 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 *CBo}LJ$ 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%0A>ZK%-3(3b*JL>v^Cy)xH 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 uN%KdDlA_?yGmiO0C#7=c`8?ptHLnLC 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

*phty|7( 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