From 6395c76d65a0fa6828b4402ae00f67f6a7502589 Mon Sep 17 00:00:00 2001 From: Mark Tyneway Date: Fri, 9 Jun 2023 09:22:42 -0700 Subject: [PATCH] cleanup: delete legacy batch submitter The batch submitter uses `l2geth` as a dep, so delete the batch submitter first --- .circleci/config.yml | 5 - .dockerignore | 2 - .github/CODEOWNERS | 1 - .github/workflows/publish-canary.yml | 27 - .github/workflows/release.yml | 27 - .vscode/settings.json | 4 - CONTRIBUTING.md | 1 - README.md | 1 - batch-submitter/.gitignore | 1 - batch-submitter/CHANGELOG.md | 131 -- batch-submitter/Dockerfile | 20 - batch-submitter/Makefile | 66 - batch-submitter/batch_submitter.go | 196 --- .../ctc/canonical_transaction_chain.go | 1522 ----------------- .../bindings/scc/state_commitment_chain.go | 862 ---------- batch-submitter/cmd/batch-submitter/main.go | 44 - batch-submitter/config.go | 301 ---- batch-submitter/config_test.go | 206 --- batch-submitter/dial_l2_client.go | 42 - batch-submitter/docker.go.work | 7 - batch-submitter/drivers/proposer/driver.go | 284 --- batch-submitter/drivers/sequencer/batch.go | 192 --- .../drivers/sequencer/batch_test.go | 123 -- .../drivers/sequencer/cached_tx.go | 37 - batch-submitter/drivers/sequencer/driver.go | 382 ----- batch-submitter/drivers/sequencer/encoding.go | 400 ----- .../drivers/sequencer/encoding_test.go | 254 --- batch-submitter/drivers/sequencer/metrics.go | 30 - .../valid_append_sequencer_batch_params.json | 1151 ------------- batch-submitter/flags/flags.go | 299 ---- batch-submitter/flags/flags_test.go | 28 - batch-submitter/go.mod | 72 - batch-submitter/go.sum | 1235 ------------- batch-submitter/package.json | 6 - ops/docker-compose.yml | 20 - package.json | 1 - 36 files changed, 7980 deletions(-) delete mode 100644 batch-submitter/.gitignore delete mode 100644 batch-submitter/CHANGELOG.md delete mode 100644 batch-submitter/Dockerfile delete mode 100644 batch-submitter/Makefile delete mode 100644 batch-submitter/batch_submitter.go delete mode 100644 batch-submitter/bindings/ctc/canonical_transaction_chain.go delete mode 100644 batch-submitter/bindings/scc/state_commitment_chain.go delete mode 100644 batch-submitter/cmd/batch-submitter/main.go delete mode 100644 batch-submitter/config.go delete mode 100644 batch-submitter/config_test.go delete mode 100644 batch-submitter/dial_l2_client.go delete mode 100644 batch-submitter/docker.go.work delete mode 100644 batch-submitter/drivers/proposer/driver.go delete mode 100644 batch-submitter/drivers/sequencer/batch.go delete mode 100644 batch-submitter/drivers/sequencer/batch_test.go delete mode 100644 batch-submitter/drivers/sequencer/cached_tx.go delete mode 100644 batch-submitter/drivers/sequencer/driver.go delete mode 100644 batch-submitter/drivers/sequencer/encoding.go delete mode 100644 batch-submitter/drivers/sequencer/encoding_test.go delete mode 100644 batch-submitter/drivers/sequencer/metrics.go delete mode 100644 batch-submitter/drivers/sequencer/testdata/valid_append_sequencer_batch_params.json delete mode 100644 batch-submitter/flags/flags.go delete mode 100644 batch-submitter/flags/flags_test.go delete mode 100644 batch-submitter/go.mod delete mode 100644 batch-submitter/go.sum delete mode 100644 batch-submitter/package.json diff --git a/.circleci/config.yml b/.circleci/config.yml index 980a874ce9a8..d43449f88dd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1253,11 +1253,6 @@ workflows: - devnet: name: devnet (with genesis contracts) deploy: false - - go-lint-test-build: - name: batch-submitter-tests - binary_name: batch-submitter - working_directory: batch-submitter - dependencies: bss-core - go-lint-test-build: name: proxyd-tests binary_name: proxyd diff --git a/.dockerignore b/.dockerignore index 4cf1cd29e798..5c997549cc6c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,5 +15,3 @@ tests/testdata l2geth/signer/fourbyte l2geth/cmd/puppeth l2geth/cmd/clef -go/gas-oracle/gas-oracle -go/batch-submitter/batch-submitter diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6396056da876..2c7e268e963f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,4 @@ # Legacy codebases -/batch-submitter @ethereum-optimism/legacy-reviewers /bss-core @ethereum-optimism/legacy-reviewers /gas-oracle @ethereum-optimism/legacy-reviewers /l2geth @ethereum-optimism/legacy-reviewers diff --git a/.github/workflows/publish-canary.yml b/.github/workflows/publish-canary.yml index 3f05519d4f7f..838c550fcc43 100644 --- a/.github/workflows/publish-canary.yml +++ b/.github/workflows/publish-canary.yml @@ -29,7 +29,6 @@ jobs: hardhat-node: ${{ steps.packages.outputs.hardhat-node }} canary-docker-tag: ${{ steps.docker-image-name.outputs.canary-docker-tag }} op-exporter: ${{ steps.packages.outputs.op-exporter }} - batch-submitter-service: ${{ steps.packages.outputs.batch-submitter-service }} endpoint-monitor: ${{ steps.packages.outputs.endpoint-monitor }} steps: @@ -457,32 +456,6 @@ jobs: GITCOMMIT=${{ steps.build_args.outputs.GITCOMMIT }} GITVERSION=${{ steps.build_args.outputs.GITVERSION }} - batch-submitter-service: - name: Publish batch-submitter-service Version ${{ needs.canary-publish.outputs.canary-docker-tag }} - needs: canary-publish - if: needs.canary-publish.outputs.batch-submitter-service != '' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Login to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} - password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} - - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - file: ./batch-submitter/Dockerfile - push: true - tags: ethereumoptimism/batch-submitter-service:${{ needs.canary-publish.outputs.batch-submitter-service }} - endpoint-monitor: name: Publish endpoint-monitor Version ${{ needs.canary-publish.outputs.canary-docker-tag }} needs: canary-publish diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 694d534d15c9..98a5370d6aa6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,6 @@ jobs: replica-healthcheck: ${{ steps.packages.outputs.replica-healthcheck }} hardhat-node: ${{ steps.packages.outputs.hardhat-node }} op-exporter: ${{ steps.packages.outputs.op-exporter }} - batch-submitter-service: ${{ steps.packages.outputs.batch-submitter-service }} foundry: ${{ steps.packages.outputs.foundry }} endpoint-monitor: ${{ steps.packages.outputs.endpoint-monitor }} @@ -496,32 +495,6 @@ jobs: push: true tags: ethereumoptimism/replica-healthcheck:${{ needs.release.outputs.replica-healthcheck }},ethereumoptimism/replica-healthcheck:latest - batch-submitter-service: - name: Publish batch-submitter-service Version ${{ needs.release.outputs.batch-submitter-service }} - needs: release - if: needs.release.outputs.batch-submitter-service != '' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Login to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} - password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} - - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - file: ./batch-submitter/Dockerfile - push: true - tags: ethereumoptimism/batch-submitter-service:${{ needs.release.outputs.batch-submitter-service }},ethereumoptimism/batch-submitter-service:latest - endpoint-monitor: name: Publish endpoint-monitor Version ${{ needs.release.outputs.endpoint-monitor}} needs: release diff --git a/.vscode/settings.json b/.vscode/settings.json index 1ce5fc9f173e..08080815ac54 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -28,10 +28,6 @@ "directory": "packages/chain-mon", "changeProcessCWD": true }, - { - "directory": "packages/batch-submitter", - "changeProcessCWD": true - }, { "directory": "packages/message-relayer", "changeProcessCWD": true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 71e8cf356893..e6b91893166f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -128,7 +128,6 @@ This will build the following containers: * [`l2geth`](https://hub.docker.com/r/ethereumoptimism/l2geth): L2 geth node running in Sequencer mode * [`verifier`](https://hub.docker.com/r/ethereumoptimism/go-ethereum): L2 geth node running in Verifier mode * [`relayer`](https://hub.docker.com/r/ethereumoptimism/message-relayer): helper process that relays messages between L1 and L2 -* [`batch_submitter`](https://hub.docker.com/r/ethereumoptimism/batch-submitter-service): service that submits batches of Sequencer transactions to the L1 chain If you want to make a change to a container, you'll need to take it down and rebuild it. For example, if you make a change in l2geth: diff --git a/README.md b/README.md index 65e42bf38f11..7b0b6f97d1e3 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,6 @@ Refer to the Directory Structure section below to understand which packages are │ ├── message-relayer: Tool for automatically relaying L1<>L2 messages in development │ ├── replica-healthcheck: Service for monitoring the health of a replica node │ └── sdk: provides a set of tools for interacting with Optimism -├── batch-submitter: Service for submitting batches of transactions and results to L1 ├── bss-core: Core batch-submitter logic and utilities ├── gas-oracle: Service for updating L1 gas prices on L2 ├── indexer: indexes and syncs transactions diff --git a/batch-submitter/.gitignore b/batch-submitter/.gitignore deleted file mode 100644 index e5495a26b8c0..000000000000 --- a/batch-submitter/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/batch-submitter diff --git a/batch-submitter/CHANGELOG.md b/batch-submitter/CHANGELOG.md deleted file mode 100644 index 7ba1066cfa82..000000000000 --- a/batch-submitter/CHANGELOG.md +++ /dev/null @@ -1,131 +0,0 @@ -# @eth-optimism/batch-submitter-service - -## 0.1.16 - -### Patch Changes - -- 32bd79ec9: Allow deposit only batches -- da79ef441: fix flag name for MaxStateRootElements in batch-submitter - fix log package for proposer - -## 0.1.15 - -### Patch Changes - -- 1d8d50c42: build(deps): bump golang.org/x/crypto from 0.0.0-20220307211146-efcb8507fb70 to 0.1.0 in /batch-submitter - -## 0.1.14 - -### Patch Changes - -- 72fa86bff: chore(deps): bump github.com/prometheus/client_golang from 1.11.0 to 1.11.1 in /batch-submitter - -## 0.1.13 - -### Patch Changes - -- 7a8812d14: Update go-ethereum to v1.10.26 - -## 0.1.12 - -### Patch Changes - -- 6f458607: Bump go-ethereum to 1.10.17 - -## 0.1.11 - -### Patch Changes - -- b2aa08e0: Add MAX_PLAINTEXT_BATCH_SIZE parameter to max out compression - -## 0.1.10 - -### Patch Changes - -- 526eac8d: feat: bss less strict min-tx-size - -## 0.1.9 - -### Patch Changes - -- 160f4c3d: Update docker image to use golang 1.18.0 -- 0c4d4e08: l2geth: Revert transaction pubsub feature - -## 0.1.8 - -### Patch Changes - -- 88601cb7: Refactored Dockerfiles -- 6856b215: Count reverted transactions in failed_submissions -- 9678b357: Add Min/MaxStateRootElements configuration -- f8348862: l2geth: Sync from Backend Queue -- 727b0582: Enforce min/max tx size on plaintext batch encoding - -## 0.1.7 - -### Patch Changes - -- aca0684e: Add 20% buffer to gas estimation on tx-batch submission to prevent OOG reverts -- 75040ca5: Adds MIN_L1_TX_SIZE configuration - -## 0.1.6 - -### Patch Changes - -- 6af67df5: Move L2 dial logic out of bss-core to avoid l2geth dependency -- fe680568: Enable the usage of typed batches and type 0 zlib compressed batches - -## 0.1.5 - -### Patch Changes - -- 6f2ea193: Update to go-ethereum v1.10.16 -- 87359fd2: Refactors the bss-core service to use a metrics interface to allow - driver-specific metric extensions - -## 0.1.4 - -### Patch Changes - -- bcbde5f3: Fixes a bug that causes the txmgr to not wait for the configured numConfirmations - -## 0.1.3 - -### Patch Changes - -- 69118ac3: Switch num_elements_per_batch from Histogram to Summary -- df98d134: Remove extra space in metric names -- 3ec06301: Default to JSON logs, add LOG_TERMINAL flag for debugging -- fe321618: Unify metric name format -- 93a26819: Fixes a bug where clearing txs are rejected on startup due to missing gas limit - -## 0.1.2 - -### Patch Changes - -- c775ffbe: fix BSS log-level flag parsing -- d093a6bb: Adds a fix for the BSS to account for the new timestamp logic in L2Geth -- d4c2e01b: Restructure to use bss-core package - -## 0.1.1 - -### Patch Changes - -- 5905f3dc: Update golang version to support HTTP/2 -- c1eba2e6: use EIP-1559 txns for tx/state batches - -## 0.1.0 - -### Minor Changes - -- 356b7271: Add multi-tx support, clear pending txs on startup - -### Patch Changes - -- 85aa148d: Adds confirmation depth awareness to txmgr - -## 0.0.2 - -### Patch Changes - -- d6e0de5a: Fix metrics server diff --git a/batch-submitter/Dockerfile b/batch-submitter/Dockerfile deleted file mode 100644 index ba9da8b6b3f2..000000000000 --- a/batch-submitter/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM golang:1.18.0-alpine3.15 as builder - -RUN apk add --no-cache make gcc musl-dev linux-headers git jq bash - -COPY ./batch-submitter /go/batch-submitter -COPY ./bss-core /go/bss-core -COPY ./l2geth /go/l2geth -COPY ./batch-submitter/docker.go.work /go/go.work - -WORKDIR /go/batch-submitter -RUN make - -FROM alpine:3.15 - -RUN apk add --no-cache ca-certificates jq curl -COPY --from=builder /go/batch-submitter/batch-submitter /usr/local/bin/ - -WORKDIR /usr/local/bin -COPY ./ops/scripts/batch-submitter.sh . -ENTRYPOINT ["batch-submitter"] diff --git a/batch-submitter/Makefile b/batch-submitter/Makefile deleted file mode 100644 index c656506d373c..000000000000 --- a/batch-submitter/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -GITCOMMIT := $(shell git rev-parse HEAD) -GITDATE := $(shell git show -s --format='%ct') -GITVERSION := $(shell cat package.json | jq .version) - -LDFLAGSSTRING +=-X main.GitCommit=$(GITCOMMIT) -LDFLAGSSTRING +=-X main.GitDate=$(GITDATE) -LDFLAGSSTRING +=-X main.GitVersion=$(GITVERSION) -LDFLAGS := -ldflags "$(LDFLAGSSTRING)" - -CTC_ABI_ARTIFACT := ../../packages/contracts/artifacts/contracts/L1/rollup/CanonicalTransactionChain.sol/CanonicalTransactionChain.json -SCC_ABI_ARTIFACT := ../../packages/contracts/artifacts/contracts/L1/rollup/StateCommitmentChain.sol/StateCommitmentChain.json - -batch-submitter: - env GO111MODULE=on go build -v $(LDFLAGS) ./cmd/batch-submitter - -clean: - rm batch-submitter - -test: - go test -v ./... - -lint: - golangci-lint run ./... - -bindings: bindings-ctc bindings-scc - -bindings-ctc: - $(eval temp := $(shell mktemp)) - - cat $(CTC_ABI_ARTIFACT) \ - | jq -r .bytecode > $(temp) - - cat $(CTC_ABI_ARTIFACT) \ - | jq .abi \ - | abigen --pkg ctc \ - --abi - \ - --out bindings/ctc/canonical_transaction_chain.go \ - --type CanonicalTransactionChain \ - --bin $(temp) - - rm $(temp) - -bindings-scc: - $(eval temp := $(shell mktemp)) - - cat $(SCC_ABI_ARTIFACT) \ - | jq -r .bytecode > $(temp) - - cat $(SCC_ABI_ARTIFACT) \ - | jq .abi \ - | abigen --pkg scc \ - --abi - \ - --out bindings/scc/state_commitment_chain.go \ - --type StateCommitmentChain \ - --bin $(temp) - - rm $(temp) - -.PHONY: \ - batch-submitter \ - bindings \ - bindings-ctc \ - bindings-scc \ - clean \ - test \ - lint diff --git a/batch-submitter/batch_submitter.go b/batch-submitter/batch_submitter.go deleted file mode 100644 index 53a1d118c5fa..000000000000 --- a/batch-submitter/batch_submitter.go +++ /dev/null @@ -1,196 +0,0 @@ -package batchsubmitter - -import ( - "context" - "os" - "time" - - "github.com/ethereum-optimism/optimism/batch-submitter/drivers/proposer" - "github.com/ethereum-optimism/optimism/batch-submitter/drivers/sequencer" - bsscore "github.com/ethereum-optimism/optimism/bss-core" - "github.com/ethereum-optimism/optimism/bss-core/dial" - "github.com/ethereum-optimism/optimism/bss-core/metrics" - "github.com/ethereum-optimism/optimism/bss-core/txmgr" - "github.com/ethereum/go-ethereum/log" - "github.com/getsentry/sentry-go" - "github.com/urfave/cli" -) - -// Main is the entrypoint into the batch submitter service. This method returns -// a closure that executes the service and blocks until the service exits. The -// use of a closure allows the parameters bound to the top-level main package, -// e.g. GitVersion, to be captured and used once the function is executed. -func Main(gitVersion string) func(ctx *cli.Context) error { - return func(cliCtx *cli.Context) error { - cfg, err := NewConfig(cliCtx) - if err != nil { - return err - } - - log.Info("Config parsed", - "min_tx_size", cfg.MinL1TxSize, - "max_tx_size", cfg.MaxL1TxSize) - - // The call to defer is done here so that any errors logged from - // this point on are posted to Sentry before exiting. - if cfg.SentryEnable { - defer sentry.Flush(2 * time.Second) - } - - log.Info("Initializing batch submitter") - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - // Set up our logging. If Sentry is enabled, we will use our custom log - // handler that logs to stdout and forwards any error messages to Sentry - // for collection. Otherwise, logs will only be posted to stdout. - var logHandler log.Handler - if cfg.SentryEnable { - err := sentry.Init(sentry.ClientOptions{ - Dsn: cfg.SentryDsn, - Environment: cfg.EthNetworkName, - Release: "batch-submitter@" + gitVersion, - TracesSampleRate: bsscore.TraceRateToFloat64(cfg.SentryTraceRate), - Debug: false, - }) - if err != nil { - return err - } - - logHandler = bsscore.SentryStreamHandler(os.Stdout, log.JSONFormat()) - } else if cfg.LogTerminal { - logHandler = log.StreamHandler(os.Stdout, log.TerminalFormat(true)) - } else { - logHandler = log.StreamHandler(os.Stdout, log.JSONFormat()) - } - - logLevel, err := log.LvlFromString(cfg.LogLevel) - if err != nil { - return err - } - - log.Root().SetHandler(log.LvlFilterHandler(logLevel, logHandler)) - - // Parse sequencer private key and CTC contract address. - sequencerPrivKey, ctcAddress, err := bsscore.ParseWalletPrivKeyAndContractAddr( - "Sequencer", cfg.Mnemonic, cfg.SequencerHDPath, - cfg.SequencerPrivateKey, cfg.CTCAddress, - ) - if err != nil { - return err - } - - // Parse proposer private key and SCC contract address. - proposerPrivKey, sccAddress, err := bsscore.ParseWalletPrivKeyAndContractAddr( - "Proposer", cfg.Mnemonic, cfg.ProposerHDPath, - cfg.ProposerPrivateKey, cfg.SCCAddress, - ) - if err != nil { - return err - } - - // Connect to L1 and L2 providers. Perform these last since they are the - // most expensive. - l1Client, err := dial.L1EthClientWithTimeout(ctx, cfg.L1EthRpc, cfg.DisableHTTP2) - if err != nil { - return err - } - - l2Client, err := DialL2EthClientWithTimeout(ctx, cfg.L2EthRpc, cfg.DisableHTTP2) - if err != nil { - return err - } - - if cfg.MetricsServerEnable { - go metrics.RunServer(cfg.MetricsHostname, cfg.MetricsPort) - } - - chainID, err := l1Client.ChainID(ctx) - if err != nil { - return err - } - - txManagerConfig := txmgr.Config{ - ResubmissionTimeout: cfg.ResubmissionTimeout, - ReceiptQueryInterval: time.Second, - NumConfirmations: cfg.NumConfirmations, - SafeAbortNonceTooLowCount: cfg.SafeAbortNonceTooLowCount, - } - - var services []*bsscore.Service - if cfg.RunTxBatchSubmitter { - batchTxDriver, err := sequencer.NewDriver(sequencer.Config{ - Name: "Sequencer", - L1Client: l1Client, - L2Client: l2Client, - BlockOffset: cfg.BlockOffset, - MinTxSize: cfg.MinL1TxSize, - MaxTxSize: cfg.MaxL1TxSize, - MaxPlaintextBatchSize: cfg.MaxPlaintextBatchSize, - CTCAddr: ctcAddress, - ChainID: chainID, - PrivKey: sequencerPrivKey, - BatchType: sequencer.BatchTypeFromString(cfg.SequencerBatchType), - }) - if err != nil { - return err - } - - services = append(services, bsscore.NewService(bsscore.ServiceConfig{ - Context: ctx, - Driver: batchTxDriver, - PollInterval: cfg.PollInterval, - ClearPendingTx: cfg.ClearPendingTxs, - L1Client: l1Client, - TxManagerConfig: txManagerConfig, - })) - } - - if cfg.RunStateBatchSubmitter { - batchStateDriver, err := proposer.NewDriver(proposer.Config{ - Name: "Proposer", - L1Client: l1Client, - L2Client: l2Client, - BlockOffset: cfg.BlockOffset, - MinStateRootElements: cfg.MinStateRootElements, - MaxStateRootElements: cfg.MaxStateRootElements, - SCCAddr: sccAddress, - CTCAddr: ctcAddress, - ChainID: chainID, - PrivKey: proposerPrivKey, - }) - if err != nil { - return err - } - - services = append(services, bsscore.NewService(bsscore.ServiceConfig{ - Context: ctx, - Driver: batchStateDriver, - PollInterval: cfg.PollInterval, - ClearPendingTx: cfg.ClearPendingTxs, - L1Client: l1Client, - TxManagerConfig: txManagerConfig, - })) - } - - batchSubmitter, err := bsscore.NewBatchSubmitter(ctx, cancel, services) - if err != nil { - log.Error("Unable to create batch submitter", "error", err) - return err - } - - log.Info("Starting batch submitter") - - if err := batchSubmitter.Start(); err != nil { - return err - } - defer batchSubmitter.Stop() - - log.Info("Batch submitter started") - - <-(chan struct{})(nil) - - return nil - } -} diff --git a/batch-submitter/bindings/ctc/canonical_transaction_chain.go b/batch-submitter/bindings/ctc/canonical_transaction_chain.go deleted file mode 100644 index 0162c735055d..000000000000 --- a/batch-submitter/bindings/ctc/canonical_transaction_chain.go +++ /dev/null @@ -1,1522 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ctc - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription -) - -// Lib_OVMCodecQueueElement is an auto generated low-level Go binding around an user-defined struct. -type Lib_OVMCodecQueueElement struct { - TransactionHash [32]byte - Timestamp *big.Int - BlockNumber *big.Int -} - -// CanonicalTransactionChainMetaData contains all meta data concerning the CanonicalTransactionChain contract. -var CanonicalTransactionChainMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_libAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTransactionGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_l2GasDiscountDivisor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_enqueueGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"l2GasDiscountDivisor\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"enqueueGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"enqueueL2GasPrepaid\",\"type\":\"uint256\"}],\"name\":\"L2GasParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingQueueIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_numQueueElements\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalElements\",\"type\":\"uint256\"}],\"name\":\"QueueBatchAppended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingQueueIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_numQueueElements\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalElements\",\"type\":\"uint256\"}],\"name\":\"SequencerBatchAppended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_batchRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_batchSize\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_prevTotalElements\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"TransactionBatchAppended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_l1TxOrigin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_queueIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"TransactionEnqueued\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_ROLLUP_TX_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_ROLLUP_TX_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appendSequencerBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batches\",\"outputs\":[{\"internalType\":\"contractIChainStorageContainer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"enqueue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enqueueGasCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enqueueL2GasPrepaid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockNumber\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastTimestamp\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueueIndex\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNumPendingQueueElements\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getQueueElement\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"blockNumber\",\"type\":\"uint40\"}],\"internalType\":\"structLib_OVMCodec.QueueElement\",\"name\":\"_element\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getQueueLength\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBatches\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalElements\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalElements\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2GasDiscountDivisor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"libAddressManager\",\"outputs\":[{\"internalType\":\"contractLib_AddressManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTransactionGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_l2GasDiscountDivisor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_enqueueGasCost\",\"type\":\"uint256\"}],\"name\":\"setGasParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b5060405162001a9838038062001a9883398101604081905261003191610072565b600080546001600160a01b0319166001600160a01b03861617905560048390556002829055600181905561006581836100bd565b600355506100ea92505050565b6000806000806080858703121561008857600080fd5b84516001600160a01b038116811461009f57600080fd5b60208601516040870151606090970151919890975090945092505050565b60008160001904831182151516156100e557634e487b7160e01b600052601160045260246000fd5b500290565b61199e80620000fa6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063876ed5cb116100cd578063d0f8934411610081578063e654b1fb11610066578063e654b1fb146102c0578063edcc4a45146102c9578063f722b41a146102dc57600080fd5b8063d0f89344146102b0578063e561dddc146102b857600080fd5b8063b8f77005116100b2578063b8f7700514610297578063ccf987c81461029f578063cfdf677e146102a857600080fd5b8063876ed5cb146102855780638d38c6c11461028e57600080fd5b80635ae6256d1161012457806378f4b2f21161010957806378f4b2f2146102645780637a167a8a1461026e5780637aa63a861461027d57600080fd5b80635ae6256d146102475780636fee07e01461024f57600080fd5b80632a7f18be116101555780632a7f18be146101d25780633789977014610216578063461a44781461023457600080fd5b80630b3dfa9714610171578063299ca4781461018d575b600080fd5b61017a60035481565b6040519081526020015b60405180910390f35b6000546101ad9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610184565b6101e56101e03660046113e5565b6102e4565b604080518251815260208084015164ffffffffff908116918301919091529282015190921690820152606001610184565b61021e610362565b60405164ffffffffff9091168152602001610184565b6101ad6102423660046114c1565b610376565b61021e610423565b61026261025d366004611537565b610437565b005b61017a620186a081565b60055464ffffffffff1661021e565b61017a610899565b61017a61c35081565b61017a60045481565b60065461021e565b61017a60025481565b6101ad6108b4565b6102626108dc565b61017a610df8565b61017a60015481565b6102626102d73660046115a4565b610e7f565b61021e611016565b604080516060810182526000808252602082018190529181019190915260068281548110610314576103146115c6565b6000918252602091829020604080516060810182526002909302909101805483526001015464ffffffffff808216948401949094526501000000000090049092169181019190915292915050565b60008061036d611032565b50949350505050565b600080546040517fbf40fac100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac1906103cd908590600401611660565b60206040518083038186803b1580156103e557600080fd5b505afa1580156103f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041d919061167a565b92915050565b60008061042e611032565b95945050505050565b61c350815111156104cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f5472616e73616374696f6e20646174612073697a652065786365656473206d6160448201527f78696d756d20666f7220726f6c6c7570207472616e73616374696f6e2e00000060648201526084015b60405180910390fd5b600454821115610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f5472616e73616374696f6e20676173206c696d69742065786365656473206d6160448201527f78696d756d20666f7220726f6c6c7570207472616e73616374696f6e2e00000060648201526084016104c6565b620186a08210156105f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e73616374696f6e20676173206c696d697420746f6f206c6f7720746f60448201527f20656e71756575652e000000000000000000000000000000000000000000000060648201526084016104c6565b6003548211156106dc5760006002546003548461061191906116c6565b61061b91906116dd565b905060005a90508181116106b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e73756666696369656e742067617320666f72204c322072617465206c696d60448201527f6974696e67206275726e2e00000000000000000000000000000000000000000060648201526084016104c6565b60005b825a6106c090846116c6565b10156106d857806106d081611718565b9150506106b4565b5050505b6000333214156106ed575033610706565b5033731111000000000000000000000000000000001111015b60008185858560405160200161071f9493929190611751565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012060608401835280845264ffffffffff42811692850192835243811693850193845260068054600181810183556000838152975160029092027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f81019290925594517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4090910180549651841665010000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090971691909316179490941790559154919350610825916116c6565b9050808673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb58888426040516108899392919061179a565b60405180910390a4505050505050565b6000806108a4611032565b50505064ffffffffff1692915050565b60006108d760405180606001604052806021815260200161194860219139610376565b905090565b60043560d81c60093560e890811c90600c35901c6108f8610899565b8364ffffffffff161461098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f41637475616c20626174636820737461727420696e64657820646f6573206e6f60448201527f74206d6174636820657870656374656420737461727420696e6465782e00000060648201526084016104c6565b6109cb6040518060400160405280600d81526020017f4f564d5f53657175656e63657200000000000000000000000000000000000000815250610376565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f68652053657175656e6365722e0000000000000000000000000000000000000060648201526084016104c6565b6000610a9762ffffff831660106117c3565b610aa290600f611800565b905064ffffffffff8116361015610b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4e6f7420656e6f756768204261746368436f6e74657874732070726f7669646560448201527f642e00000000000000000000000000000000000000000000000000000000000060648201526084016104c6565b6005546040805160808101825260008082526020820181905291810182905260608101829052909164ffffffffff169060005b8562ffffff168163ffffffff161015610bcc576000610b928263ffffffff166110ed565b8051909350839150610ba49086611818565b9450826020015184610bb69190611840565b9350508080610bc490611860565b915050610b6e565b5060065464ffffffffff83161115610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f417474656d7074656420746f20617070656e64206d6f726520656c656d656e7460448201527f73207468616e2061726520617661696c61626c6520696e20746865207175657560648201527f652e000000000000000000000000000000000000000000000000000000000000608482015260a4016104c6565b6000610c9d8462ffffff8916611884565b63ffffffff169050600080836020015160001415610cc657505060408201516060830151610d37565b60006006610cd56001886118a9565b64ffffffffff1681548110610cec57610cec6115c6565b6000918252602091829020604080516060810182526002909302909101805483526001015464ffffffffff808216948401859052650100000000009091041691018190529093509150505b610d5b610d456001436116c6565b408a62ffffff168564ffffffffff168585611174565b7f602f1aeac0ca2e7a13e281a9ef0ad7838542712ce16780fa2ecffd351f05f899610d8684876118a9565b84610d8f610899565b6040805164ffffffffff94851681529390921660208401529082015260600160405180910390a15050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001664ffffffffff949094169390931790925550505050505050565b6000610e026108b4565b73ffffffffffffffffffffffffffffffffffffffff16631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d791906118c7565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee557600080fd5b505afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061167a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865204275726e2041646d696e2e60448201526064016104c6565b60018190556002829055610fc581836117c3565b60038190556002546001546040805192835260208301919091528101919091527fc6ed75e96b8b18b71edc1a6e82a9d677f8268c774a262c624eeb2cf0a8b3e07e9060600160405180910390a15050565b6005546006546000916108d79164ffffffffff909116906118a9565b60008060008060006110426108b4565b73ffffffffffffffffffffffffffffffffffffffff1663ccf8f9696040518163ffffffff1660e01b815260040160206040518083038186803b15801561108757600080fd5b505afa15801561109b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf91906118e0565b64ffffffffff602882901c811697605083901c82169750607883901c8216965060a09290921c169350915050565b6111186040518060800160405280600081526020016000815260200160008152602001600081525090565b60006111256010846117c3565b61113090600f611800565b60408051608081018252823560e890811c82526003840135901c6020820152600683013560d890811c92820192909252600b90920135901c60608201529392505050565b600061117e6108b4565b905060008061118b611032565b50509150915060006040518060a001604052808573ffffffffffffffffffffffffffffffffffffffff16631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e457600080fd5b505afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c91906118c7565b81526020018a81526020018981526020018464ffffffffff16815260200160405180602001604052806000815250815250905080600001517f127186556e7be68c7e31263195225b4de02820707889540969f62c05cf73525e82602001518360400151846060015185608001516040516112999493929190611922565b60405180910390a260006112ac8261139f565b905060006112e78360400151866112c39190611840565b6112cd8b87611840565b602890811b9190911760508b901b1760788a901b17901b90565b6040517f2015276c000000000000000000000000000000000000000000000000000000008152600481018490527fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008216602482015290915073ffffffffffffffffffffffffffffffffffffffff871690632015276c90604401600060405180830381600087803b15801561137a57600080fd5b505af115801561138e573d6000803e3d6000fd5b505050505050505050505050505050565b600081602001518260400151836060015184608001516040516020016113c89493929190611922565b604051602081830303815290604052805190602001209050919050565b6000602082840312156113f757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115611448576114486113fe565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561148e5761148e6113fe565b816040528093508581528686860111156114a757600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156114d357600080fd5b813567ffffffffffffffff8111156114ea57600080fd5b8201601f810184136114fb57600080fd5b61150a8482356020840161142d565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461153457600080fd5b50565b60008060006060848603121561154c57600080fd5b833561155781611512565b925060208401359150604084013567ffffffffffffffff81111561157a57600080fd5b8401601f8101861361158b57600080fd5b61159a8682356020840161142d565b9150509250925092565b600080604083850312156115b757600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b8181101561161b576020818501810151868301820152016115ff565b8181111561162d576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061167360208301846115f5565b9392505050565b60006020828403121561168c57600080fd5b815161167381611512565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156116d8576116d8611697565b500390565b600082611713577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561174a5761174a611697565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261179060808301846115f5565b9695505050505050565b8381526060602082015260006117b360608301856115f5565b9050826040830152949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156117fb576117fb611697565b500290565b6000821982111561181357611813611697565b500190565b600063ffffffff80831681851680830382111561183757611837611697565b01949350505050565b600064ffffffffff80831681851680830382111561183757611837611697565b600063ffffffff8083168181141561187a5761187a611697565b6001019392505050565b600063ffffffff838116908316818110156118a1576118a1611697565b039392505050565b600064ffffffffff838116908316818110156118a1576118a1611697565b6000602082840312156118d957600080fd5b5051919050565b6000602082840312156118f257600080fd5b81517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008116811461167357600080fd5b84815283602082015282604082015260806060820152600061179060808301846115f556fe436861696e53746f72616765436f6e7461696e65722d4354432d62617463686573a2646970667358221220e14033f9f98984edb3353943a45655d112afab7b0a7aa8401f8826506d85b00164736f6c63430008090033", -} - -// CanonicalTransactionChainABI is the input ABI used to generate the binding from. -// Deprecated: Use CanonicalTransactionChainMetaData.ABI instead. -var CanonicalTransactionChainABI = CanonicalTransactionChainMetaData.ABI - -// CanonicalTransactionChainBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use CanonicalTransactionChainMetaData.Bin instead. -var CanonicalTransactionChainBin = CanonicalTransactionChainMetaData.Bin - -// DeployCanonicalTransactionChain deploys a new Ethereum contract, binding an instance of CanonicalTransactionChain to it. -func DeployCanonicalTransactionChain(auth *bind.TransactOpts, backend bind.ContractBackend, _libAddressManager common.Address, _maxTransactionGasLimit *big.Int, _l2GasDiscountDivisor *big.Int, _enqueueGasCost *big.Int) (common.Address, *types.Transaction, *CanonicalTransactionChain, error) { - parsed, err := CanonicalTransactionChainMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(CanonicalTransactionChainBin), backend, _libAddressManager, _maxTransactionGasLimit, _l2GasDiscountDivisor, _enqueueGasCost) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &CanonicalTransactionChain{CanonicalTransactionChainCaller: CanonicalTransactionChainCaller{contract: contract}, CanonicalTransactionChainTransactor: CanonicalTransactionChainTransactor{contract: contract}, CanonicalTransactionChainFilterer: CanonicalTransactionChainFilterer{contract: contract}}, nil -} - -// CanonicalTransactionChain is an auto generated Go binding around an Ethereum contract. -type CanonicalTransactionChain struct { - CanonicalTransactionChainCaller // Read-only binding to the contract - CanonicalTransactionChainTransactor // Write-only binding to the contract - CanonicalTransactionChainFilterer // Log filterer for contract events -} - -// CanonicalTransactionChainCaller is an auto generated read-only Go binding around an Ethereum contract. -type CanonicalTransactionChainCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CanonicalTransactionChainTransactor is an auto generated write-only Go binding around an Ethereum contract. -type CanonicalTransactionChainTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CanonicalTransactionChainFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type CanonicalTransactionChainFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CanonicalTransactionChainSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type CanonicalTransactionChainSession struct { - Contract *CanonicalTransactionChain // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// CanonicalTransactionChainCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type CanonicalTransactionChainCallerSession struct { - Contract *CanonicalTransactionChainCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// CanonicalTransactionChainTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type CanonicalTransactionChainTransactorSession struct { - Contract *CanonicalTransactionChainTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// CanonicalTransactionChainRaw is an auto generated low-level Go binding around an Ethereum contract. -type CanonicalTransactionChainRaw struct { - Contract *CanonicalTransactionChain // Generic contract binding to access the raw methods on -} - -// CanonicalTransactionChainCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type CanonicalTransactionChainCallerRaw struct { - Contract *CanonicalTransactionChainCaller // Generic read-only contract binding to access the raw methods on -} - -// CanonicalTransactionChainTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type CanonicalTransactionChainTransactorRaw struct { - Contract *CanonicalTransactionChainTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewCanonicalTransactionChain creates a new instance of CanonicalTransactionChain, bound to a specific deployed contract. -func NewCanonicalTransactionChain(address common.Address, backend bind.ContractBackend) (*CanonicalTransactionChain, error) { - contract, err := bindCanonicalTransactionChain(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &CanonicalTransactionChain{CanonicalTransactionChainCaller: CanonicalTransactionChainCaller{contract: contract}, CanonicalTransactionChainTransactor: CanonicalTransactionChainTransactor{contract: contract}, CanonicalTransactionChainFilterer: CanonicalTransactionChainFilterer{contract: contract}}, nil -} - -// NewCanonicalTransactionChainCaller creates a new read-only instance of CanonicalTransactionChain, bound to a specific deployed contract. -func NewCanonicalTransactionChainCaller(address common.Address, caller bind.ContractCaller) (*CanonicalTransactionChainCaller, error) { - contract, err := bindCanonicalTransactionChain(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &CanonicalTransactionChainCaller{contract: contract}, nil -} - -// NewCanonicalTransactionChainTransactor creates a new write-only instance of CanonicalTransactionChain, bound to a specific deployed contract. -func NewCanonicalTransactionChainTransactor(address common.Address, transactor bind.ContractTransactor) (*CanonicalTransactionChainTransactor, error) { - contract, err := bindCanonicalTransactionChain(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &CanonicalTransactionChainTransactor{contract: contract}, nil -} - -// NewCanonicalTransactionChainFilterer creates a new log filterer instance of CanonicalTransactionChain, bound to a specific deployed contract. -func NewCanonicalTransactionChainFilterer(address common.Address, filterer bind.ContractFilterer) (*CanonicalTransactionChainFilterer, error) { - contract, err := bindCanonicalTransactionChain(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &CanonicalTransactionChainFilterer{contract: contract}, nil -} - -// bindCanonicalTransactionChain binds a generic wrapper to an already deployed contract. -func bindCanonicalTransactionChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(CanonicalTransactionChainABI)) - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_CanonicalTransactionChain *CanonicalTransactionChainRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _CanonicalTransactionChain.Contract.CanonicalTransactionChainCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_CanonicalTransactionChain *CanonicalTransactionChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.CanonicalTransactionChainTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_CanonicalTransactionChain *CanonicalTransactionChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.CanonicalTransactionChainTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _CanonicalTransactionChain.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.contract.Transact(opts, method, params...) -} - -// MAXROLLUPTXSIZE is a free data retrieval call binding the contract method 0x876ed5cb. -// -// Solidity: function MAX_ROLLUP_TX_SIZE() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) MAXROLLUPTXSIZE(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "MAX_ROLLUP_TX_SIZE") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MAXROLLUPTXSIZE is a free data retrieval call binding the contract method 0x876ed5cb. -// -// Solidity: function MAX_ROLLUP_TX_SIZE() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) MAXROLLUPTXSIZE() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MAXROLLUPTXSIZE(&_CanonicalTransactionChain.CallOpts) -} - -// MAXROLLUPTXSIZE is a free data retrieval call binding the contract method 0x876ed5cb. -// -// Solidity: function MAX_ROLLUP_TX_SIZE() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) MAXROLLUPTXSIZE() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MAXROLLUPTXSIZE(&_CanonicalTransactionChain.CallOpts) -} - -// MINROLLUPTXGAS is a free data retrieval call binding the contract method 0x78f4b2f2. -// -// Solidity: function MIN_ROLLUP_TX_GAS() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) MINROLLUPTXGAS(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "MIN_ROLLUP_TX_GAS") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MINROLLUPTXGAS is a free data retrieval call binding the contract method 0x78f4b2f2. -// -// Solidity: function MIN_ROLLUP_TX_GAS() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) MINROLLUPTXGAS() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MINROLLUPTXGAS(&_CanonicalTransactionChain.CallOpts) -} - -// MINROLLUPTXGAS is a free data retrieval call binding the contract method 0x78f4b2f2. -// -// Solidity: function MIN_ROLLUP_TX_GAS() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) MINROLLUPTXGAS() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MINROLLUPTXGAS(&_CanonicalTransactionChain.CallOpts) -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) Batches(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "batches") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) Batches() (common.Address, error) { - return _CanonicalTransactionChain.Contract.Batches(&_CanonicalTransactionChain.CallOpts) -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) Batches() (common.Address, error) { - return _CanonicalTransactionChain.Contract.Batches(&_CanonicalTransactionChain.CallOpts) -} - -// EnqueueGasCost is a free data retrieval call binding the contract method 0xe654b1fb. -// -// Solidity: function enqueueGasCost() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) EnqueueGasCost(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "enqueueGasCost") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnqueueGasCost is a free data retrieval call binding the contract method 0xe654b1fb. -// -// Solidity: function enqueueGasCost() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) EnqueueGasCost() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.EnqueueGasCost(&_CanonicalTransactionChain.CallOpts) -} - -// EnqueueGasCost is a free data retrieval call binding the contract method 0xe654b1fb. -// -// Solidity: function enqueueGasCost() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) EnqueueGasCost() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.EnqueueGasCost(&_CanonicalTransactionChain.CallOpts) -} - -// EnqueueL2GasPrepaid is a free data retrieval call binding the contract method 0x0b3dfa97. -// -// Solidity: function enqueueL2GasPrepaid() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) EnqueueL2GasPrepaid(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "enqueueL2GasPrepaid") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnqueueL2GasPrepaid is a free data retrieval call binding the contract method 0x0b3dfa97. -// -// Solidity: function enqueueL2GasPrepaid() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) EnqueueL2GasPrepaid() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.EnqueueL2GasPrepaid(&_CanonicalTransactionChain.CallOpts) -} - -// EnqueueL2GasPrepaid is a free data retrieval call binding the contract method 0x0b3dfa97. -// -// Solidity: function enqueueL2GasPrepaid() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) EnqueueL2GasPrepaid() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.EnqueueL2GasPrepaid(&_CanonicalTransactionChain.CallOpts) -} - -// GetLastBlockNumber is a free data retrieval call binding the contract method 0x5ae6256d. -// -// Solidity: function getLastBlockNumber() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetLastBlockNumber(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getLastBlockNumber") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetLastBlockNumber is a free data retrieval call binding the contract method 0x5ae6256d. -// -// Solidity: function getLastBlockNumber() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetLastBlockNumber() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetLastBlockNumber(&_CanonicalTransactionChain.CallOpts) -} - -// GetLastBlockNumber is a free data retrieval call binding the contract method 0x5ae6256d. -// -// Solidity: function getLastBlockNumber() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetLastBlockNumber() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetLastBlockNumber(&_CanonicalTransactionChain.CallOpts) -} - -// GetLastTimestamp is a free data retrieval call binding the contract method 0x37899770. -// -// Solidity: function getLastTimestamp() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetLastTimestamp(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getLastTimestamp") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetLastTimestamp is a free data retrieval call binding the contract method 0x37899770. -// -// Solidity: function getLastTimestamp() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetLastTimestamp() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetLastTimestamp(&_CanonicalTransactionChain.CallOpts) -} - -// GetLastTimestamp is a free data retrieval call binding the contract method 0x37899770. -// -// Solidity: function getLastTimestamp() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetLastTimestamp() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetLastTimestamp(&_CanonicalTransactionChain.CallOpts) -} - -// GetNextQueueIndex is a free data retrieval call binding the contract method 0x7a167a8a. -// -// Solidity: function getNextQueueIndex() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetNextQueueIndex(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getNextQueueIndex") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetNextQueueIndex is a free data retrieval call binding the contract method 0x7a167a8a. -// -// Solidity: function getNextQueueIndex() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetNextQueueIndex() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetNextQueueIndex(&_CanonicalTransactionChain.CallOpts) -} - -// GetNextQueueIndex is a free data retrieval call binding the contract method 0x7a167a8a. -// -// Solidity: function getNextQueueIndex() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetNextQueueIndex() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetNextQueueIndex(&_CanonicalTransactionChain.CallOpts) -} - -// GetNumPendingQueueElements is a free data retrieval call binding the contract method 0xf722b41a. -// -// Solidity: function getNumPendingQueueElements() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetNumPendingQueueElements(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getNumPendingQueueElements") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetNumPendingQueueElements is a free data retrieval call binding the contract method 0xf722b41a. -// -// Solidity: function getNumPendingQueueElements() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetNumPendingQueueElements() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetNumPendingQueueElements(&_CanonicalTransactionChain.CallOpts) -} - -// GetNumPendingQueueElements is a free data retrieval call binding the contract method 0xf722b41a. -// -// Solidity: function getNumPendingQueueElements() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetNumPendingQueueElements() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetNumPendingQueueElements(&_CanonicalTransactionChain.CallOpts) -} - -// GetQueueElement is a free data retrieval call binding the contract method 0x2a7f18be. -// -// Solidity: function getQueueElement(uint256 _index) view returns((bytes32,uint40,uint40) _element) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetQueueElement(opts *bind.CallOpts, _index *big.Int) (Lib_OVMCodecQueueElement, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getQueueElement", _index) - - if err != nil { - return *new(Lib_OVMCodecQueueElement), err - } - - out0 := *abi.ConvertType(out[0], new(Lib_OVMCodecQueueElement)).(*Lib_OVMCodecQueueElement) - - return out0, err - -} - -// GetQueueElement is a free data retrieval call binding the contract method 0x2a7f18be. -// -// Solidity: function getQueueElement(uint256 _index) view returns((bytes32,uint40,uint40) _element) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetQueueElement(_index *big.Int) (Lib_OVMCodecQueueElement, error) { - return _CanonicalTransactionChain.Contract.GetQueueElement(&_CanonicalTransactionChain.CallOpts, _index) -} - -// GetQueueElement is a free data retrieval call binding the contract method 0x2a7f18be. -// -// Solidity: function getQueueElement(uint256 _index) view returns((bytes32,uint40,uint40) _element) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetQueueElement(_index *big.Int) (Lib_OVMCodecQueueElement, error) { - return _CanonicalTransactionChain.Contract.GetQueueElement(&_CanonicalTransactionChain.CallOpts, _index) -} - -// GetQueueLength is a free data retrieval call binding the contract method 0xb8f77005. -// -// Solidity: function getQueueLength() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetQueueLength(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getQueueLength") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetQueueLength is a free data retrieval call binding the contract method 0xb8f77005. -// -// Solidity: function getQueueLength() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetQueueLength() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetQueueLength(&_CanonicalTransactionChain.CallOpts) -} - -// GetQueueLength is a free data retrieval call binding the contract method 0xb8f77005. -// -// Solidity: function getQueueLength() view returns(uint40) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetQueueLength() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetQueueLength(&_CanonicalTransactionChain.CallOpts) -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetTotalBatches(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getTotalBatches") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetTotalBatches() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetTotalBatches(&_CanonicalTransactionChain.CallOpts) -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetTotalBatches() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetTotalBatches(&_CanonicalTransactionChain.CallOpts) -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) GetTotalElements(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "getTotalElements") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) GetTotalElements() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetTotalElements(&_CanonicalTransactionChain.CallOpts) -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) GetTotalElements() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.GetTotalElements(&_CanonicalTransactionChain.CallOpts) -} - -// L2GasDiscountDivisor is a free data retrieval call binding the contract method 0xccf987c8. -// -// Solidity: function l2GasDiscountDivisor() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) L2GasDiscountDivisor(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "l2GasDiscountDivisor") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// L2GasDiscountDivisor is a free data retrieval call binding the contract method 0xccf987c8. -// -// Solidity: function l2GasDiscountDivisor() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) L2GasDiscountDivisor() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.L2GasDiscountDivisor(&_CanonicalTransactionChain.CallOpts) -} - -// L2GasDiscountDivisor is a free data retrieval call binding the contract method 0xccf987c8. -// -// Solidity: function l2GasDiscountDivisor() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) L2GasDiscountDivisor() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.L2GasDiscountDivisor(&_CanonicalTransactionChain.CallOpts) -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) LibAddressManager(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "libAddressManager") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) LibAddressManager() (common.Address, error) { - return _CanonicalTransactionChain.Contract.LibAddressManager(&_CanonicalTransactionChain.CallOpts) -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) LibAddressManager() (common.Address, error) { - return _CanonicalTransactionChain.Contract.LibAddressManager(&_CanonicalTransactionChain.CallOpts) -} - -// MaxTransactionGasLimit is a free data retrieval call binding the contract method 0x8d38c6c1. -// -// Solidity: function maxTransactionGasLimit() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) MaxTransactionGasLimit(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "maxTransactionGasLimit") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// MaxTransactionGasLimit is a free data retrieval call binding the contract method 0x8d38c6c1. -// -// Solidity: function maxTransactionGasLimit() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) MaxTransactionGasLimit() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MaxTransactionGasLimit(&_CanonicalTransactionChain.CallOpts) -} - -// MaxTransactionGasLimit is a free data retrieval call binding the contract method 0x8d38c6c1. -// -// Solidity: function maxTransactionGasLimit() view returns(uint256) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) MaxTransactionGasLimit() (*big.Int, error) { - return _CanonicalTransactionChain.Contract.MaxTransactionGasLimit(&_CanonicalTransactionChain.CallOpts) -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCaller) Resolve(opts *bind.CallOpts, _name string) (common.Address, error) { - var out []interface{} - err := _CanonicalTransactionChain.contract.Call(opts, &out, "resolve", _name) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) Resolve(_name string) (common.Address, error) { - return _CanonicalTransactionChain.Contract.Resolve(&_CanonicalTransactionChain.CallOpts, _name) -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_CanonicalTransactionChain *CanonicalTransactionChainCallerSession) Resolve(_name string) (common.Address, error) { - return _CanonicalTransactionChain.Contract.Resolve(&_CanonicalTransactionChain.CallOpts, _name) -} - -// AppendSequencerBatch is a paid mutator transaction binding the contract method 0xd0f89344. -// -// Solidity: function appendSequencerBatch() returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactor) AppendSequencerBatch(opts *bind.TransactOpts) (*types.Transaction, error) { - return _CanonicalTransactionChain.contract.Transact(opts, "appendSequencerBatch") -} - -// AppendSequencerBatch is a paid mutator transaction binding the contract method 0xd0f89344. -// -// Solidity: function appendSequencerBatch() returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) AppendSequencerBatch() (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.AppendSequencerBatch(&_CanonicalTransactionChain.TransactOpts) -} - -// AppendSequencerBatch is a paid mutator transaction binding the contract method 0xd0f89344. -// -// Solidity: function appendSequencerBatch() returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactorSession) AppendSequencerBatch() (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.AppendSequencerBatch(&_CanonicalTransactionChain.TransactOpts) -} - -// Enqueue is a paid mutator transaction binding the contract method 0x6fee07e0. -// -// Solidity: function enqueue(address _target, uint256 _gasLimit, bytes _data) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactor) Enqueue(opts *bind.TransactOpts, _target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) { - return _CanonicalTransactionChain.contract.Transact(opts, "enqueue", _target, _gasLimit, _data) -} - -// Enqueue is a paid mutator transaction binding the contract method 0x6fee07e0. -// -// Solidity: function enqueue(address _target, uint256 _gasLimit, bytes _data) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) Enqueue(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.Enqueue(&_CanonicalTransactionChain.TransactOpts, _target, _gasLimit, _data) -} - -// Enqueue is a paid mutator transaction binding the contract method 0x6fee07e0. -// -// Solidity: function enqueue(address _target, uint256 _gasLimit, bytes _data) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactorSession) Enqueue(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.Enqueue(&_CanonicalTransactionChain.TransactOpts, _target, _gasLimit, _data) -} - -// SetGasParams is a paid mutator transaction binding the contract method 0xedcc4a45. -// -// Solidity: function setGasParams(uint256 _l2GasDiscountDivisor, uint256 _enqueueGasCost) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactor) SetGasParams(opts *bind.TransactOpts, _l2GasDiscountDivisor *big.Int, _enqueueGasCost *big.Int) (*types.Transaction, error) { - return _CanonicalTransactionChain.contract.Transact(opts, "setGasParams", _l2GasDiscountDivisor, _enqueueGasCost) -} - -// SetGasParams is a paid mutator transaction binding the contract method 0xedcc4a45. -// -// Solidity: function setGasParams(uint256 _l2GasDiscountDivisor, uint256 _enqueueGasCost) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainSession) SetGasParams(_l2GasDiscountDivisor *big.Int, _enqueueGasCost *big.Int) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.SetGasParams(&_CanonicalTransactionChain.TransactOpts, _l2GasDiscountDivisor, _enqueueGasCost) -} - -// SetGasParams is a paid mutator transaction binding the contract method 0xedcc4a45. -// -// Solidity: function setGasParams(uint256 _l2GasDiscountDivisor, uint256 _enqueueGasCost) returns() -func (_CanonicalTransactionChain *CanonicalTransactionChainTransactorSession) SetGasParams(_l2GasDiscountDivisor *big.Int, _enqueueGasCost *big.Int) (*types.Transaction, error) { - return _CanonicalTransactionChain.Contract.SetGasParams(&_CanonicalTransactionChain.TransactOpts, _l2GasDiscountDivisor, _enqueueGasCost) -} - -// CanonicalTransactionChainL2GasParamsUpdatedIterator is returned from FilterL2GasParamsUpdated and is used to iterate over the raw logs and unpacked data for L2GasParamsUpdated events raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainL2GasParamsUpdatedIterator struct { - Event *CanonicalTransactionChainL2GasParamsUpdated // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *CanonicalTransactionChainL2GasParamsUpdatedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainL2GasParamsUpdated) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainL2GasParamsUpdated) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *CanonicalTransactionChainL2GasParamsUpdatedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *CanonicalTransactionChainL2GasParamsUpdatedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// CanonicalTransactionChainL2GasParamsUpdated represents a L2GasParamsUpdated event raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainL2GasParamsUpdated struct { - L2GasDiscountDivisor *big.Int - EnqueueGasCost *big.Int - EnqueueL2GasPrepaid *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterL2GasParamsUpdated is a free log retrieval operation binding the contract event 0xc6ed75e96b8b18b71edc1a6e82a9d677f8268c774a262c624eeb2cf0a8b3e07e. -// -// Solidity: event L2GasParamsUpdated(uint256 l2GasDiscountDivisor, uint256 enqueueGasCost, uint256 enqueueL2GasPrepaid) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) FilterL2GasParamsUpdated(opts *bind.FilterOpts) (*CanonicalTransactionChainL2GasParamsUpdatedIterator, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.FilterLogs(opts, "L2GasParamsUpdated") - if err != nil { - return nil, err - } - return &CanonicalTransactionChainL2GasParamsUpdatedIterator{contract: _CanonicalTransactionChain.contract, event: "L2GasParamsUpdated", logs: logs, sub: sub}, nil -} - -// WatchL2GasParamsUpdated is a free log subscription operation binding the contract event 0xc6ed75e96b8b18b71edc1a6e82a9d677f8268c774a262c624eeb2cf0a8b3e07e. -// -// Solidity: event L2GasParamsUpdated(uint256 l2GasDiscountDivisor, uint256 enqueueGasCost, uint256 enqueueL2GasPrepaid) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) WatchL2GasParamsUpdated(opts *bind.WatchOpts, sink chan<- *CanonicalTransactionChainL2GasParamsUpdated) (event.Subscription, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.WatchLogs(opts, "L2GasParamsUpdated") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(CanonicalTransactionChainL2GasParamsUpdated) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "L2GasParamsUpdated", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseL2GasParamsUpdated is a log parse operation binding the contract event 0xc6ed75e96b8b18b71edc1a6e82a9d677f8268c774a262c624eeb2cf0a8b3e07e. -// -// Solidity: event L2GasParamsUpdated(uint256 l2GasDiscountDivisor, uint256 enqueueGasCost, uint256 enqueueL2GasPrepaid) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) ParseL2GasParamsUpdated(log types.Log) (*CanonicalTransactionChainL2GasParamsUpdated, error) { - event := new(CanonicalTransactionChainL2GasParamsUpdated) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "L2GasParamsUpdated", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// CanonicalTransactionChainQueueBatchAppendedIterator is returned from FilterQueueBatchAppended and is used to iterate over the raw logs and unpacked data for QueueBatchAppended events raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainQueueBatchAppendedIterator struct { - Event *CanonicalTransactionChainQueueBatchAppended // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *CanonicalTransactionChainQueueBatchAppendedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainQueueBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainQueueBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *CanonicalTransactionChainQueueBatchAppendedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *CanonicalTransactionChainQueueBatchAppendedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// CanonicalTransactionChainQueueBatchAppended represents a QueueBatchAppended event raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainQueueBatchAppended struct { - StartingQueueIndex *big.Int - NumQueueElements *big.Int - TotalElements *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterQueueBatchAppended is a free log retrieval operation binding the contract event 0x64d7f508348c70dea42d5302a393987e4abc20e45954ab3f9d320207751956f0. -// -// Solidity: event QueueBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) FilterQueueBatchAppended(opts *bind.FilterOpts) (*CanonicalTransactionChainQueueBatchAppendedIterator, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.FilterLogs(opts, "QueueBatchAppended") - if err != nil { - return nil, err - } - return &CanonicalTransactionChainQueueBatchAppendedIterator{contract: _CanonicalTransactionChain.contract, event: "QueueBatchAppended", logs: logs, sub: sub}, nil -} - -// WatchQueueBatchAppended is a free log subscription operation binding the contract event 0x64d7f508348c70dea42d5302a393987e4abc20e45954ab3f9d320207751956f0. -// -// Solidity: event QueueBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) WatchQueueBatchAppended(opts *bind.WatchOpts, sink chan<- *CanonicalTransactionChainQueueBatchAppended) (event.Subscription, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.WatchLogs(opts, "QueueBatchAppended") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(CanonicalTransactionChainQueueBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "QueueBatchAppended", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseQueueBatchAppended is a log parse operation binding the contract event 0x64d7f508348c70dea42d5302a393987e4abc20e45954ab3f9d320207751956f0. -// -// Solidity: event QueueBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) ParseQueueBatchAppended(log types.Log) (*CanonicalTransactionChainQueueBatchAppended, error) { - event := new(CanonicalTransactionChainQueueBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "QueueBatchAppended", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// CanonicalTransactionChainSequencerBatchAppendedIterator is returned from FilterSequencerBatchAppended and is used to iterate over the raw logs and unpacked data for SequencerBatchAppended events raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainSequencerBatchAppendedIterator struct { - Event *CanonicalTransactionChainSequencerBatchAppended // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *CanonicalTransactionChainSequencerBatchAppendedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainSequencerBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainSequencerBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *CanonicalTransactionChainSequencerBatchAppendedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *CanonicalTransactionChainSequencerBatchAppendedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// CanonicalTransactionChainSequencerBatchAppended represents a SequencerBatchAppended event raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainSequencerBatchAppended struct { - StartingQueueIndex *big.Int - NumQueueElements *big.Int - TotalElements *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSequencerBatchAppended is a free log retrieval operation binding the contract event 0x602f1aeac0ca2e7a13e281a9ef0ad7838542712ce16780fa2ecffd351f05f899. -// -// Solidity: event SequencerBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) FilterSequencerBatchAppended(opts *bind.FilterOpts) (*CanonicalTransactionChainSequencerBatchAppendedIterator, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.FilterLogs(opts, "SequencerBatchAppended") - if err != nil { - return nil, err - } - return &CanonicalTransactionChainSequencerBatchAppendedIterator{contract: _CanonicalTransactionChain.contract, event: "SequencerBatchAppended", logs: logs, sub: sub}, nil -} - -// WatchSequencerBatchAppended is a free log subscription operation binding the contract event 0x602f1aeac0ca2e7a13e281a9ef0ad7838542712ce16780fa2ecffd351f05f899. -// -// Solidity: event SequencerBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) WatchSequencerBatchAppended(opts *bind.WatchOpts, sink chan<- *CanonicalTransactionChainSequencerBatchAppended) (event.Subscription, error) { - - logs, sub, err := _CanonicalTransactionChain.contract.WatchLogs(opts, "SequencerBatchAppended") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(CanonicalTransactionChainSequencerBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "SequencerBatchAppended", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSequencerBatchAppended is a log parse operation binding the contract event 0x602f1aeac0ca2e7a13e281a9ef0ad7838542712ce16780fa2ecffd351f05f899. -// -// Solidity: event SequencerBatchAppended(uint256 _startingQueueIndex, uint256 _numQueueElements, uint256 _totalElements) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) ParseSequencerBatchAppended(log types.Log) (*CanonicalTransactionChainSequencerBatchAppended, error) { - event := new(CanonicalTransactionChainSequencerBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "SequencerBatchAppended", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// CanonicalTransactionChainTransactionBatchAppendedIterator is returned from FilterTransactionBatchAppended and is used to iterate over the raw logs and unpacked data for TransactionBatchAppended events raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainTransactionBatchAppendedIterator struct { - Event *CanonicalTransactionChainTransactionBatchAppended // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *CanonicalTransactionChainTransactionBatchAppendedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainTransactionBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainTransactionBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *CanonicalTransactionChainTransactionBatchAppendedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *CanonicalTransactionChainTransactionBatchAppendedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// CanonicalTransactionChainTransactionBatchAppended represents a TransactionBatchAppended event raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainTransactionBatchAppended struct { - BatchIndex *big.Int - BatchRoot [32]byte - BatchSize *big.Int - PrevTotalElements *big.Int - ExtraData []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransactionBatchAppended is a free log retrieval operation binding the contract event 0x127186556e7be68c7e31263195225b4de02820707889540969f62c05cf73525e. -// -// Solidity: event TransactionBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) FilterTransactionBatchAppended(opts *bind.FilterOpts, _batchIndex []*big.Int) (*CanonicalTransactionChainTransactionBatchAppendedIterator, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _CanonicalTransactionChain.contract.FilterLogs(opts, "TransactionBatchAppended", _batchIndexRule) - if err != nil { - return nil, err - } - return &CanonicalTransactionChainTransactionBatchAppendedIterator{contract: _CanonicalTransactionChain.contract, event: "TransactionBatchAppended", logs: logs, sub: sub}, nil -} - -// WatchTransactionBatchAppended is a free log subscription operation binding the contract event 0x127186556e7be68c7e31263195225b4de02820707889540969f62c05cf73525e. -// -// Solidity: event TransactionBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) WatchTransactionBatchAppended(opts *bind.WatchOpts, sink chan<- *CanonicalTransactionChainTransactionBatchAppended, _batchIndex []*big.Int) (event.Subscription, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _CanonicalTransactionChain.contract.WatchLogs(opts, "TransactionBatchAppended", _batchIndexRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(CanonicalTransactionChainTransactionBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "TransactionBatchAppended", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransactionBatchAppended is a log parse operation binding the contract event 0x127186556e7be68c7e31263195225b4de02820707889540969f62c05cf73525e. -// -// Solidity: event TransactionBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) ParseTransactionBatchAppended(log types.Log) (*CanonicalTransactionChainTransactionBatchAppended, error) { - event := new(CanonicalTransactionChainTransactionBatchAppended) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "TransactionBatchAppended", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// CanonicalTransactionChainTransactionEnqueuedIterator is returned from FilterTransactionEnqueued and is used to iterate over the raw logs and unpacked data for TransactionEnqueued events raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainTransactionEnqueuedIterator struct { - Event *CanonicalTransactionChainTransactionEnqueued // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *CanonicalTransactionChainTransactionEnqueuedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainTransactionEnqueued) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(CanonicalTransactionChainTransactionEnqueued) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *CanonicalTransactionChainTransactionEnqueuedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *CanonicalTransactionChainTransactionEnqueuedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// CanonicalTransactionChainTransactionEnqueued represents a TransactionEnqueued event raised by the CanonicalTransactionChain contract. -type CanonicalTransactionChainTransactionEnqueued struct { - L1TxOrigin common.Address - Target common.Address - GasLimit *big.Int - Data []byte - QueueIndex *big.Int - Timestamp *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransactionEnqueued is a free log retrieval operation binding the contract event 0x4b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb5. -// -// Solidity: event TransactionEnqueued(address indexed _l1TxOrigin, address indexed _target, uint256 _gasLimit, bytes _data, uint256 indexed _queueIndex, uint256 _timestamp) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) FilterTransactionEnqueued(opts *bind.FilterOpts, _l1TxOrigin []common.Address, _target []common.Address, _queueIndex []*big.Int) (*CanonicalTransactionChainTransactionEnqueuedIterator, error) { - - var _l1TxOriginRule []interface{} - for _, _l1TxOriginItem := range _l1TxOrigin { - _l1TxOriginRule = append(_l1TxOriginRule, _l1TxOriginItem) - } - var _targetRule []interface{} - for _, _targetItem := range _target { - _targetRule = append(_targetRule, _targetItem) - } - - var _queueIndexRule []interface{} - for _, _queueIndexItem := range _queueIndex { - _queueIndexRule = append(_queueIndexRule, _queueIndexItem) - } - - logs, sub, err := _CanonicalTransactionChain.contract.FilterLogs(opts, "TransactionEnqueued", _l1TxOriginRule, _targetRule, _queueIndexRule) - if err != nil { - return nil, err - } - return &CanonicalTransactionChainTransactionEnqueuedIterator{contract: _CanonicalTransactionChain.contract, event: "TransactionEnqueued", logs: logs, sub: sub}, nil -} - -// WatchTransactionEnqueued is a free log subscription operation binding the contract event 0x4b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb5. -// -// Solidity: event TransactionEnqueued(address indexed _l1TxOrigin, address indexed _target, uint256 _gasLimit, bytes _data, uint256 indexed _queueIndex, uint256 _timestamp) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) WatchTransactionEnqueued(opts *bind.WatchOpts, sink chan<- *CanonicalTransactionChainTransactionEnqueued, _l1TxOrigin []common.Address, _target []common.Address, _queueIndex []*big.Int) (event.Subscription, error) { - - var _l1TxOriginRule []interface{} - for _, _l1TxOriginItem := range _l1TxOrigin { - _l1TxOriginRule = append(_l1TxOriginRule, _l1TxOriginItem) - } - var _targetRule []interface{} - for _, _targetItem := range _target { - _targetRule = append(_targetRule, _targetItem) - } - - var _queueIndexRule []interface{} - for _, _queueIndexItem := range _queueIndex { - _queueIndexRule = append(_queueIndexRule, _queueIndexItem) - } - - logs, sub, err := _CanonicalTransactionChain.contract.WatchLogs(opts, "TransactionEnqueued", _l1TxOriginRule, _targetRule, _queueIndexRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(CanonicalTransactionChainTransactionEnqueued) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "TransactionEnqueued", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransactionEnqueued is a log parse operation binding the contract event 0x4b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb5. -// -// Solidity: event TransactionEnqueued(address indexed _l1TxOrigin, address indexed _target, uint256 _gasLimit, bytes _data, uint256 indexed _queueIndex, uint256 _timestamp) -func (_CanonicalTransactionChain *CanonicalTransactionChainFilterer) ParseTransactionEnqueued(log types.Log) (*CanonicalTransactionChainTransactionEnqueued, error) { - event := new(CanonicalTransactionChainTransactionEnqueued) - if err := _CanonicalTransactionChain.contract.UnpackLog(event, "TransactionEnqueued", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/batch-submitter/bindings/scc/state_commitment_chain.go b/batch-submitter/bindings/scc/state_commitment_chain.go deleted file mode 100644 index d4cc9d339598..000000000000 --- a/batch-submitter/bindings/scc/state_commitment_chain.go +++ /dev/null @@ -1,862 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package scc - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription -) - -// Lib_OVMCodecChainBatchHeader is an auto generated low-level Go binding around an user-defined struct. -type Lib_OVMCodecChainBatchHeader struct { - BatchIndex *big.Int - BatchRoot [32]byte - BatchSize *big.Int - PrevTotalElements *big.Int - ExtraData []byte -} - -// Lib_OVMCodecChainInclusionProof is an auto generated low-level Go binding around an user-defined struct. -type Lib_OVMCodecChainInclusionProof struct { - Index *big.Int - Siblings [][32]byte -} - -// StateCommitmentChainMetaData contains all meta data concerning the StateCommitmentChain contract. -var StateCommitmentChainMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_libAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fraudProofWindow\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sequencerPublishWindow\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_batchRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_batchSize\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_prevTotalElements\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"StateBatchAppended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_batchRoot\",\"type\":\"bytes32\"}],\"name\":\"StateBatchDeleted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"FRAUD_PROOF_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SEQUENCER_PUBLISH_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_batch\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"_shouldStartAtElement\",\"type\":\"uint256\"}],\"name\":\"appendStateBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batches\",\"outputs\":[{\"internalType\":\"contractIChainStorageContainer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"batchRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"batchSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prevTotalElements\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"internalType\":\"structLib_OVMCodec.ChainBatchHeader\",\"name\":\"_batchHeader\",\"type\":\"tuple\"}],\"name\":\"deleteStateBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastSequencerTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_lastSequencerTimestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBatches\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalElements\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalElements\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"batchRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"batchSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prevTotalElements\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"internalType\":\"structLib_OVMCodec.ChainBatchHeader\",\"name\":\"_batchHeader\",\"type\":\"tuple\"}],\"name\":\"insideFraudProofWindow\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_inside\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"libAddressManager\",\"outputs\":[{\"internalType\":\"contractLib_AddressManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_element\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"batchRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"batchSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prevTotalElements\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"internalType\":\"structLib_OVMCodec.ChainBatchHeader\",\"name\":\"_batchHeader\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"siblings\",\"type\":\"bytes32[]\"}],\"internalType\":\"structLib_OVMCodec.ChainInclusionProof\",\"name\":\"_proof\",\"type\":\"tuple\"}],\"name\":\"verifyStateCommitment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b506040516120bb3803806120bb83398101604081905261002f9161005b565b600080546001600160a01b0319166001600160a01b03949094169390931790925560015560025561009e565b60008060006060848603121561007057600080fd5b83516001600160a01b038116811461008757600080fd5b602085015160409095015190969495509392505050565b61200e806100ad6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638ca5cbb911610081578063c17b291b1161005b578063c17b291b146101bb578063cfdf677e146101c4578063e561dddc146101cc57600080fd5b80638ca5cbb9146101805780639418bddd14610195578063b8e189ac146101a857600080fd5b80637aa63a86116100b25780637aa63a86146101595780637ad168a01461016f57806381eb62ef1461017757600080fd5b8063299ca478146100d9578063461a4478146101235780634d69ee5714610136575b600080fd5b6000546100f99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f9610131366004611a1b565b6101d4565b610149610144366004611b8d565b610281565b604051901515815260200161011a565b610161610350565b60405190815260200161011a565b610161610369565b61016160025481565b61019361018e366004611c4a565b610382565b005b6101496101a3366004611c8f565b61075c565b6101936101b6366004611c8f565b610804565b61016160015481565b6100f96109c0565b6101616109e8565b600080546040517fbf40fac100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061022b908590600401611d2f565b60206040518083038186803b15801561024357600080fd5b505afa158015610257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027b9190611d64565b92915050565b600061028c83610a6f565b6102dd5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206261746368206865616465722e000000000000000000000060448201526064015b60405180910390fd5b6102fa836020015185846000015185602001518760400151610b31565b6103465760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420696e636c7573696f6e2070726f6f662e000000000000000060448201526064016102d4565b5060019392505050565b60008061035b610d9f565b5064ffffffffff1692915050565b600080610374610d9f565b64ffffffffff169392505050565b61038a610350565b81146103fe5760405162461bcd60e51b815260206004820152603d60248201527f41637475616c20626174636820737461727420696e64657820646f6573206e6f60448201527f74206d6174636820657870656374656420737461727420696e6465782e00000060648201526084016102d4565b61043c6040518060400160405280600b81526020017f426f6e644d616e616765720000000000000000000000000000000000000000008152506101d4565b6040517f02ad4d2a00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff91909116906302ad4d2a9060240160206040518083038186803b1580156104a357600080fd5b505afa1580156104b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104db9190611d81565b61054d5760405162461bcd60e51b815260206004820152602f60248201527f50726f706f73657220646f6573206e6f74206861766520656e6f75676820636f60448201527f6c6c61746572616c20706f73746564000000000000000000000000000000000060648201526084016102d4565b60008251116105c45760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f74207375626d697420616e20656d7074792073746174652062617460448201527f63682e000000000000000000000000000000000000000000000000000000000060648201526084016102d4565b6106026040518060400160405280601981526020017f43616e6f6e6963616c5472616e73616374696f6e436861696e000000000000008152506101d4565b73ffffffffffffffffffffffffffffffffffffffff16637aa63a866040518163ffffffff1660e01b815260040160206040518083038186803b15801561064757600080fd5b505afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190611da3565b8251610689610350565b6106939190611deb565b111561072d5760405162461bcd60e51b815260206004820152604960248201527f4e756d626572206f6620737461746520726f6f74732063616e6e6f742065786360448201527f65656420746865206e756d626572206f662063616e6f6e6963616c207472616e60648201527f73616374696f6e732e0000000000000000000000000000000000000000000000608482015260a4016102d4565b6040805142602082015233818301528151808203830181526060909101909152610758908390610e43565b5050565b60008082608001518060200190518101906107779190611e03565b509050806107ed5760405162461bcd60e51b815260206004820152602560248201527f4261746368206865616465722074696d657374616d702063616e6e6f7420626560448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016102d4565b42600154826107fc9190611deb565b119392505050565b6108426040518060400160405280601181526020017f4f564d5f467261756456657269666965720000000000000000000000000000008152506101d4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e25760405162461bcd60e51b815260206004820152603b60248201527f537461746520626174636865732063616e206f6e6c792062652064656c65746560448201527f6420627920746865204f564d5f467261756456657269666965722e000000000060648201526084016102d4565b6108eb81610a6f565b6109375760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206261746368206865616465722e000000000000000000000060448201526064016102d4565b6109408161075c565b6109b4576040805162461bcd60e51b81526020600482015260248101919091527f537461746520626174636865732063616e206f6e6c792062652064656c65746560448201527f642077697468696e207468652066726175642070726f6f662077696e646f772e60648201526084016102d4565b6109bd816110e6565b50565b60006109e3604051806060016040528060218152602001611fb8602191396101d4565b905090565b60006109f26109c0565b73ffffffffffffffffffffffffffffffffffffffff16631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3757600080fd5b505afa158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e39190611da3565b6000610a796109c0565b82516040517f9507d39a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921691639507d39a91610ad19160040190815260200190565b60206040518083038186803b158015610ae957600080fd5b505afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190611da3565b610b2a83611317565b1492915050565b6000808211610ba85760405162461bcd60e51b815260206004820152603760248201527f4c69625f4d65726b6c65547265653a20546f74616c206c6561766573206d757360448201527f742062652067726561746572207468616e207a65726f2e00000000000000000060648201526084016102d4565b818410610c1c5760405162461bcd60e51b8152602060048201526024808201527f4c69625f4d65726b6c65547265653a20496e646578206f7574206f6620626f7560448201527f6e64732e0000000000000000000000000000000000000000000000000000000060648201526084016102d4565b610c258261135d565b835114610cc05760405162461bcd60e51b815260206004820152604d60248201527f4c69625f4d65726b6c65547265653a20546f74616c207369626c696e6773206460448201527f6f6573206e6f7420636f72726563746c7920636f72726573706f6e6420746f2060648201527f746f74616c206c65617665732e00000000000000000000000000000000000000608482015260a4016102d4565b8460005b8451811015610d92578560011660011415610d2b57848181518110610ceb57610ceb611e33565b602002602001015182604051602001610d0e929190918252602082015260400190565b604051602081830303815290604052805190602001209150610d79565b81858281518110610d3e57610d3e611e33565b6020026020010151604051602001610d60929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b60019590951c9480610d8a81611e62565b915050610cc4565b5090951495945050505050565b6000806000610dac6109c0565b73ffffffffffffffffffffffffffffffffffffffff1663ccf8f9696040518163ffffffff1660e01b815260040160206040518083038186803b158015610df157600080fd5b505afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e299190611e9b565b64ffffffffff602882901c169460509190911c9350915050565b6000610e836040518060400160405280600c81526020017f4f564d5f50726f706f73657200000000000000000000000000000000000000008152506101d4565b9050600080610e90610d9f565b90925090503373ffffffffffffffffffffffffffffffffffffffff84161415610eba575042610f69565b426002548264ffffffffff16610ed09190611deb565b10610f695760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207075626c69736820737461746520726f6f747320776974686960448201527f6e207468652073657175656e636572207075626c69636174696f6e2077696e6460648201527f6f772e0000000000000000000000000000000000000000000000000000000000608482015260a4016102d4565b60006040518060a00160405280610f7e6109e8565b8152602001610f8c88611443565b8152602001875181526020018464ffffffffff16815260200186815250905080600001517f16be4c5129a4e03cf3350262e181dc02ddfb4a6008d925368c0899fcd97ca9c58260200151836040015184606001518560800151604051610ff59493929190611edd565b60405180910390a26110056109c0565b73ffffffffffffffffffffffffffffffffffffffff16632015276c61102983611317565b61104e846040015185606001516110409190611deb565b602887811b91909117901b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092527fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166024820152604401600060405180830381600087803b1580156110c657600080fd5b505af11580156110da573d6000803e3d6000fd5b50505050505050505050565b6110ee6109c0565b73ffffffffffffffffffffffffffffffffffffffff16631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b15801561113357600080fd5b505afa158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190611da3565b8151106111ba5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420626174636820696e6465782e00000000000000000000000060448201526064016102d4565b6111c381610a6f565b61120f5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206261746368206865616465722e000000000000000000000060448201526064016102d4565b6112176109c0565b8151606083015173ffffffffffffffffffffffffffffffffffffffff929092169163167fd681919060281b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092527fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166024820152604401600060405180830381600087803b1580156112ba57600080fd5b505af11580156112ce573d6000803e3d6000fd5b5050505080600001517f8747b69ce8fdb31c3b9b0a67bd8049ad8c1a69ea417b69b12174068abd9cbd64826020015160405161130c91815260200190565b60405180910390a250565b600081602001518260400151836060015184608001516040516020016113409493929190611edd565b604051602081830303815290604052805190602001209050919050565b60008082116113d45760405162461bcd60e51b815260206004820152603060248201527f4c69625f4d65726b6c65547265653a2043616e6e6f7420636f6d70757465206360448201527f65696c286c6f675f3229206f6620302e0000000000000000000000000000000060648201526084016102d4565b81600114156113e557506000919050565b81600060805b600181106114235780611401600180831b611f0c565b901b83161561141b576114148183611deb565b92811c9291505b60011c6113eb565b506001811b841461143c57611439600182611deb565b90505b9392505050565b6000808251116114bb5760405162461bcd60e51b815260206004820152603460248201527f4c69625f4d65726b6c65547265653a204d7573742070726f766964652061742060448201527f6c65617374206f6e65206c65616620686173682e00000000000000000000000060648201526084016102d4565b8151600114156114e757816000815181106114d8576114d8611e33565b60200260200101519050919050565b60408051610200810182527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56381527f633dc4d7da7256660a892f8f1604a44b5432649cc8ec5cb3ced4c4e6ac94dd1d60208201527f890740a8eb06ce9be422cb8da5cdafc2b58c0a5e24036c578de2a433c828ff7d818301527f3b8ec09e026fdc305365dfc94e189a81b38c7597b3d941c279f042e8206e0bd86060808301919091527fecd50eee38e386bd62be9bedb990706951b65fe053bd9d8a521af753d139e2da60808301527fdefff6d330bb5403f63b14f33b578274160de3a50df4efecf0e0db73bcdd3da560a08301527f617bdd11f7c0a11f49db22f629387a12da7596f9d1704d7465177c63d88ec7d760c08301527f292c23a9aa1d8bea7e2435e555a4a60e379a5a35f3f452bae60121073fb6eead60e08301527fe1cea92ed99acdcb045a6726b2f87107e8a61620a232cf4d7d5b5766b3952e106101008301527f7ad66c0a68c72cb89e4fb4303841966e4062a76ab97451e3b9fb526a5ceb7f826101208301527fe026cc5a4aed3c22a58cbd3d2ac754c9352c5436f638042dca99034e836365166101408301527f3d04cffd8b46a874edf5cfae63077de85f849a660426697b06a829c70dd1409c6101608301527fad676aa337a485e4728a0b240d92b3ef7b3c372d06d189322bfd5f61f1e7203e6101808301527fa2fca4a49658f9fab7aa63289c91b7c7b6c832a6d0e69334ff5b0a3483d09dab6101a08301527f4ebfd9cd7bca2505f7bef59cc1c12ecc708fff26ae4af19abe852afe9e20c8626101c08301527f2def10d13dd169f550f578bda343d9717a138562e0093b380a1120789d53cf106101e083015282518381529081018352909160009190602082018180368337505085519192506000918291508180805b60018411156118fd57611798600285611f52565b91506117a5600285611f66565b600114905060005b82811015611851578a6117c1826002611f7a565b815181106117d1576117d1611e33565b602002602001015196508a8160026117e99190611f7a565b6117f4906001611deb565b8151811061180457611804611e33565b6020026020010151955086602089015285604089015287805190602001208b828151811061183457611834611e33565b60209081029190910101528061184981611e62565b9150506117ad565b5080156118cd5789611864600186611f0c565b8151811061187457611874611e33565b6020026020010151955087836010811061189057611890611e33565b602002015160001b945085602088015284604088015286805190602001208a83815181106118c0576118c0611e33565b6020026020010181815250505b806118d95760006118dc565b60015b6118e99060ff1683611deb565b9350826118f581611e62565b935050611784565b8960008151811061191057611910611e33565b602002602001015198505050505050505050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561199d5761199d611927565b604052919050565b600067ffffffffffffffff8311156119bf576119bf611927565b6119f060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011601611956565b9050828152838383011115611a0457600080fd5b828260208301376000602084830101529392505050565b600060208284031215611a2d57600080fd5b813567ffffffffffffffff811115611a4457600080fd5b8201601f81018413611a5557600080fd5b611a64848235602084016119a5565b949350505050565b600060a08284031215611a7e57600080fd5b60405160a0810167ffffffffffffffff8282108183111715611aa257611aa2611927565b81604052829350843583526020850135602084015260408501356040840152606085013560608401526080850135915080821115611adf57600080fd5b508301601f81018513611af157600080fd5b611b00858235602084016119a5565b6080830152505092915050565b600082601f830112611b1e57600080fd5b8135602067ffffffffffffffff821115611b3a57611b3a611927565b8160051b611b49828201611956565b9283528481018201928281019087851115611b6357600080fd5b83870192505b84831015611b8257823582529183019190830190611b69565b979650505050505050565b600080600060608486031215611ba257600080fd5b83359250602084013567ffffffffffffffff80821115611bc157600080fd5b611bcd87838801611a6c565b93506040860135915080821115611be357600080fd5b9085019060408288031215611bf757600080fd5b604051604081018181108382111715611c1257611c12611927565b60405282358152602083013582811115611c2b57600080fd5b611c3789828601611b0d565b6020830152508093505050509250925092565b60008060408385031215611c5d57600080fd5b823567ffffffffffffffff811115611c7457600080fd5b611c8085828601611b0d565b95602094909401359450505050565b600060208284031215611ca157600080fd5b813567ffffffffffffffff811115611cb857600080fd5b611a6484828501611a6c565b6000815180845260005b81811015611cea57602081850181015186830182015201611cce565b81811115611cfc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061143c6020830184611cc4565b73ffffffffffffffffffffffffffffffffffffffff811681146109bd57600080fd5b600060208284031215611d7657600080fd5b815161143c81611d42565b600060208284031215611d9357600080fd5b8151801515811461143c57600080fd5b600060208284031215611db557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611dfe57611dfe611dbc565b500190565b60008060408385031215611e1657600080fd5b825191506020830151611e2881611d42565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611e9457611e94611dbc565b5060010190565b600060208284031215611ead57600080fd5b81517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008116811461143c57600080fd5b848152836020820152826040820152608060608201526000611f026080830184611cc4565b9695505050505050565b600082821015611f1e57611f1e611dbc565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611f6157611f61611f23565b500490565b600082611f7557611f75611f23565b500690565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611fb257611fb2611dbc565b50029056fe436861696e53746f72616765436f6e7461696e65722d5343432d62617463686573a2646970667358221220b90af2e50ed0ae8720c8f74ce116bfe826a8d329baa23dec8c3f69958740528964736f6c63430008090033", -} - -// StateCommitmentChainABI is the input ABI used to generate the binding from. -// Deprecated: Use StateCommitmentChainMetaData.ABI instead. -var StateCommitmentChainABI = StateCommitmentChainMetaData.ABI - -// StateCommitmentChainBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StateCommitmentChainMetaData.Bin instead. -var StateCommitmentChainBin = StateCommitmentChainMetaData.Bin - -// DeployStateCommitmentChain deploys a new Ethereum contract, binding an instance of StateCommitmentChain to it. -func DeployStateCommitmentChain(auth *bind.TransactOpts, backend bind.ContractBackend, _libAddressManager common.Address, _fraudProofWindow *big.Int, _sequencerPublishWindow *big.Int) (common.Address, *types.Transaction, *StateCommitmentChain, error) { - parsed, err := StateCommitmentChainMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StateCommitmentChainBin), backend, _libAddressManager, _fraudProofWindow, _sequencerPublishWindow) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StateCommitmentChain{StateCommitmentChainCaller: StateCommitmentChainCaller{contract: contract}, StateCommitmentChainTransactor: StateCommitmentChainTransactor{contract: contract}, StateCommitmentChainFilterer: StateCommitmentChainFilterer{contract: contract}}, nil -} - -// StateCommitmentChain is an auto generated Go binding around an Ethereum contract. -type StateCommitmentChain struct { - StateCommitmentChainCaller // Read-only binding to the contract - StateCommitmentChainTransactor // Write-only binding to the contract - StateCommitmentChainFilterer // Log filterer for contract events -} - -// StateCommitmentChainCaller is an auto generated read-only Go binding around an Ethereum contract. -type StateCommitmentChainCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StateCommitmentChainTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StateCommitmentChainTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StateCommitmentChainFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StateCommitmentChainFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StateCommitmentChainSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StateCommitmentChainSession struct { - Contract *StateCommitmentChain // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StateCommitmentChainCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StateCommitmentChainCallerSession struct { - Contract *StateCommitmentChainCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StateCommitmentChainTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StateCommitmentChainTransactorSession struct { - Contract *StateCommitmentChainTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StateCommitmentChainRaw is an auto generated low-level Go binding around an Ethereum contract. -type StateCommitmentChainRaw struct { - Contract *StateCommitmentChain // Generic contract binding to access the raw methods on -} - -// StateCommitmentChainCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StateCommitmentChainCallerRaw struct { - Contract *StateCommitmentChainCaller // Generic read-only contract binding to access the raw methods on -} - -// StateCommitmentChainTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StateCommitmentChainTransactorRaw struct { - Contract *StateCommitmentChainTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStateCommitmentChain creates a new instance of StateCommitmentChain, bound to a specific deployed contract. -func NewStateCommitmentChain(address common.Address, backend bind.ContractBackend) (*StateCommitmentChain, error) { - contract, err := bindStateCommitmentChain(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StateCommitmentChain{StateCommitmentChainCaller: StateCommitmentChainCaller{contract: contract}, StateCommitmentChainTransactor: StateCommitmentChainTransactor{contract: contract}, StateCommitmentChainFilterer: StateCommitmentChainFilterer{contract: contract}}, nil -} - -// NewStateCommitmentChainCaller creates a new read-only instance of StateCommitmentChain, bound to a specific deployed contract. -func NewStateCommitmentChainCaller(address common.Address, caller bind.ContractCaller) (*StateCommitmentChainCaller, error) { - contract, err := bindStateCommitmentChain(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StateCommitmentChainCaller{contract: contract}, nil -} - -// NewStateCommitmentChainTransactor creates a new write-only instance of StateCommitmentChain, bound to a specific deployed contract. -func NewStateCommitmentChainTransactor(address common.Address, transactor bind.ContractTransactor) (*StateCommitmentChainTransactor, error) { - contract, err := bindStateCommitmentChain(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StateCommitmentChainTransactor{contract: contract}, nil -} - -// NewStateCommitmentChainFilterer creates a new log filterer instance of StateCommitmentChain, bound to a specific deployed contract. -func NewStateCommitmentChainFilterer(address common.Address, filterer bind.ContractFilterer) (*StateCommitmentChainFilterer, error) { - contract, err := bindStateCommitmentChain(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StateCommitmentChainFilterer{contract: contract}, nil -} - -// bindStateCommitmentChain binds a generic wrapper to an already deployed contract. -func bindStateCommitmentChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(StateCommitmentChainABI)) - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StateCommitmentChain *StateCommitmentChainRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StateCommitmentChain.Contract.StateCommitmentChainCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StateCommitmentChain *StateCommitmentChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.StateCommitmentChainTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StateCommitmentChain *StateCommitmentChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.StateCommitmentChainTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StateCommitmentChain *StateCommitmentChainCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StateCommitmentChain.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StateCommitmentChain *StateCommitmentChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StateCommitmentChain *StateCommitmentChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.contract.Transact(opts, method, params...) -} - -// FRAUDPROOFWINDOW is a free data retrieval call binding the contract method 0xc17b291b. -// -// Solidity: function FRAUD_PROOF_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainCaller) FRAUDPROOFWINDOW(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "FRAUD_PROOF_WINDOW") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// FRAUDPROOFWINDOW is a free data retrieval call binding the contract method 0xc17b291b. -// -// Solidity: function FRAUD_PROOF_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainSession) FRAUDPROOFWINDOW() (*big.Int, error) { - return _StateCommitmentChain.Contract.FRAUDPROOFWINDOW(&_StateCommitmentChain.CallOpts) -} - -// FRAUDPROOFWINDOW is a free data retrieval call binding the contract method 0xc17b291b. -// -// Solidity: function FRAUD_PROOF_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) FRAUDPROOFWINDOW() (*big.Int, error) { - return _StateCommitmentChain.Contract.FRAUDPROOFWINDOW(&_StateCommitmentChain.CallOpts) -} - -// SEQUENCERPUBLISHWINDOW is a free data retrieval call binding the contract method 0x81eb62ef. -// -// Solidity: function SEQUENCER_PUBLISH_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainCaller) SEQUENCERPUBLISHWINDOW(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "SEQUENCER_PUBLISH_WINDOW") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// SEQUENCERPUBLISHWINDOW is a free data retrieval call binding the contract method 0x81eb62ef. -// -// Solidity: function SEQUENCER_PUBLISH_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainSession) SEQUENCERPUBLISHWINDOW() (*big.Int, error) { - return _StateCommitmentChain.Contract.SEQUENCERPUBLISHWINDOW(&_StateCommitmentChain.CallOpts) -} - -// SEQUENCERPUBLISHWINDOW is a free data retrieval call binding the contract method 0x81eb62ef. -// -// Solidity: function SEQUENCER_PUBLISH_WINDOW() view returns(uint256) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) SEQUENCERPUBLISHWINDOW() (*big.Int, error) { - return _StateCommitmentChain.Contract.SEQUENCERPUBLISHWINDOW(&_StateCommitmentChain.CallOpts) -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCaller) Batches(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "batches") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainSession) Batches() (common.Address, error) { - return _StateCommitmentChain.Contract.Batches(&_StateCommitmentChain.CallOpts) -} - -// Batches is a free data retrieval call binding the contract method 0xcfdf677e. -// -// Solidity: function batches() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) Batches() (common.Address, error) { - return _StateCommitmentChain.Contract.Batches(&_StateCommitmentChain.CallOpts) -} - -// GetLastSequencerTimestamp is a free data retrieval call binding the contract method 0x7ad168a0. -// -// Solidity: function getLastSequencerTimestamp() view returns(uint256 _lastSequencerTimestamp) -func (_StateCommitmentChain *StateCommitmentChainCaller) GetLastSequencerTimestamp(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "getLastSequencerTimestamp") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetLastSequencerTimestamp is a free data retrieval call binding the contract method 0x7ad168a0. -// -// Solidity: function getLastSequencerTimestamp() view returns(uint256 _lastSequencerTimestamp) -func (_StateCommitmentChain *StateCommitmentChainSession) GetLastSequencerTimestamp() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetLastSequencerTimestamp(&_StateCommitmentChain.CallOpts) -} - -// GetLastSequencerTimestamp is a free data retrieval call binding the contract method 0x7ad168a0. -// -// Solidity: function getLastSequencerTimestamp() view returns(uint256 _lastSequencerTimestamp) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) GetLastSequencerTimestamp() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetLastSequencerTimestamp(&_StateCommitmentChain.CallOpts) -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_StateCommitmentChain *StateCommitmentChainCaller) GetTotalBatches(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "getTotalBatches") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_StateCommitmentChain *StateCommitmentChainSession) GetTotalBatches() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetTotalBatches(&_StateCommitmentChain.CallOpts) -} - -// GetTotalBatches is a free data retrieval call binding the contract method 0xe561dddc. -// -// Solidity: function getTotalBatches() view returns(uint256 _totalBatches) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) GetTotalBatches() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetTotalBatches(&_StateCommitmentChain.CallOpts) -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_StateCommitmentChain *StateCommitmentChainCaller) GetTotalElements(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "getTotalElements") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_StateCommitmentChain *StateCommitmentChainSession) GetTotalElements() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetTotalElements(&_StateCommitmentChain.CallOpts) -} - -// GetTotalElements is a free data retrieval call binding the contract method 0x7aa63a86. -// -// Solidity: function getTotalElements() view returns(uint256 _totalElements) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) GetTotalElements() (*big.Int, error) { - return _StateCommitmentChain.Contract.GetTotalElements(&_StateCommitmentChain.CallOpts) -} - -// InsideFraudProofWindow is a free data retrieval call binding the contract method 0x9418bddd. -// -// Solidity: function insideFraudProofWindow((uint256,bytes32,uint256,uint256,bytes) _batchHeader) view returns(bool _inside) -func (_StateCommitmentChain *StateCommitmentChainCaller) InsideFraudProofWindow(opts *bind.CallOpts, _batchHeader Lib_OVMCodecChainBatchHeader) (bool, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "insideFraudProofWindow", _batchHeader) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// InsideFraudProofWindow is a free data retrieval call binding the contract method 0x9418bddd. -// -// Solidity: function insideFraudProofWindow((uint256,bytes32,uint256,uint256,bytes) _batchHeader) view returns(bool _inside) -func (_StateCommitmentChain *StateCommitmentChainSession) InsideFraudProofWindow(_batchHeader Lib_OVMCodecChainBatchHeader) (bool, error) { - return _StateCommitmentChain.Contract.InsideFraudProofWindow(&_StateCommitmentChain.CallOpts, _batchHeader) -} - -// InsideFraudProofWindow is a free data retrieval call binding the contract method 0x9418bddd. -// -// Solidity: function insideFraudProofWindow((uint256,bytes32,uint256,uint256,bytes) _batchHeader) view returns(bool _inside) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) InsideFraudProofWindow(_batchHeader Lib_OVMCodecChainBatchHeader) (bool, error) { - return _StateCommitmentChain.Contract.InsideFraudProofWindow(&_StateCommitmentChain.CallOpts, _batchHeader) -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCaller) LibAddressManager(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "libAddressManager") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainSession) LibAddressManager() (common.Address, error) { - return _StateCommitmentChain.Contract.LibAddressManager(&_StateCommitmentChain.CallOpts) -} - -// LibAddressManager is a free data retrieval call binding the contract method 0x299ca478. -// -// Solidity: function libAddressManager() view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) LibAddressManager() (common.Address, error) { - return _StateCommitmentChain.Contract.LibAddressManager(&_StateCommitmentChain.CallOpts) -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCaller) Resolve(opts *bind.CallOpts, _name string) (common.Address, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "resolve", _name) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_StateCommitmentChain *StateCommitmentChainSession) Resolve(_name string) (common.Address, error) { - return _StateCommitmentChain.Contract.Resolve(&_StateCommitmentChain.CallOpts, _name) -} - -// Resolve is a free data retrieval call binding the contract method 0x461a4478. -// -// Solidity: function resolve(string _name) view returns(address) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) Resolve(_name string) (common.Address, error) { - return _StateCommitmentChain.Contract.Resolve(&_StateCommitmentChain.CallOpts, _name) -} - -// VerifyStateCommitment is a free data retrieval call binding the contract method 0x4d69ee57. -// -// Solidity: function verifyStateCommitment(bytes32 _element, (uint256,bytes32,uint256,uint256,bytes) _batchHeader, (uint256,bytes32[]) _proof) view returns(bool) -func (_StateCommitmentChain *StateCommitmentChainCaller) VerifyStateCommitment(opts *bind.CallOpts, _element [32]byte, _batchHeader Lib_OVMCodecChainBatchHeader, _proof Lib_OVMCodecChainInclusionProof) (bool, error) { - var out []interface{} - err := _StateCommitmentChain.contract.Call(opts, &out, "verifyStateCommitment", _element, _batchHeader, _proof) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// VerifyStateCommitment is a free data retrieval call binding the contract method 0x4d69ee57. -// -// Solidity: function verifyStateCommitment(bytes32 _element, (uint256,bytes32,uint256,uint256,bytes) _batchHeader, (uint256,bytes32[]) _proof) view returns(bool) -func (_StateCommitmentChain *StateCommitmentChainSession) VerifyStateCommitment(_element [32]byte, _batchHeader Lib_OVMCodecChainBatchHeader, _proof Lib_OVMCodecChainInclusionProof) (bool, error) { - return _StateCommitmentChain.Contract.VerifyStateCommitment(&_StateCommitmentChain.CallOpts, _element, _batchHeader, _proof) -} - -// VerifyStateCommitment is a free data retrieval call binding the contract method 0x4d69ee57. -// -// Solidity: function verifyStateCommitment(bytes32 _element, (uint256,bytes32,uint256,uint256,bytes) _batchHeader, (uint256,bytes32[]) _proof) view returns(bool) -func (_StateCommitmentChain *StateCommitmentChainCallerSession) VerifyStateCommitment(_element [32]byte, _batchHeader Lib_OVMCodecChainBatchHeader, _proof Lib_OVMCodecChainInclusionProof) (bool, error) { - return _StateCommitmentChain.Contract.VerifyStateCommitment(&_StateCommitmentChain.CallOpts, _element, _batchHeader, _proof) -} - -// AppendStateBatch is a paid mutator transaction binding the contract method 0x8ca5cbb9. -// -// Solidity: function appendStateBatch(bytes32[] _batch, uint256 _shouldStartAtElement) returns() -func (_StateCommitmentChain *StateCommitmentChainTransactor) AppendStateBatch(opts *bind.TransactOpts, _batch [][32]byte, _shouldStartAtElement *big.Int) (*types.Transaction, error) { - return _StateCommitmentChain.contract.Transact(opts, "appendStateBatch", _batch, _shouldStartAtElement) -} - -// AppendStateBatch is a paid mutator transaction binding the contract method 0x8ca5cbb9. -// -// Solidity: function appendStateBatch(bytes32[] _batch, uint256 _shouldStartAtElement) returns() -func (_StateCommitmentChain *StateCommitmentChainSession) AppendStateBatch(_batch [][32]byte, _shouldStartAtElement *big.Int) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.AppendStateBatch(&_StateCommitmentChain.TransactOpts, _batch, _shouldStartAtElement) -} - -// AppendStateBatch is a paid mutator transaction binding the contract method 0x8ca5cbb9. -// -// Solidity: function appendStateBatch(bytes32[] _batch, uint256 _shouldStartAtElement) returns() -func (_StateCommitmentChain *StateCommitmentChainTransactorSession) AppendStateBatch(_batch [][32]byte, _shouldStartAtElement *big.Int) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.AppendStateBatch(&_StateCommitmentChain.TransactOpts, _batch, _shouldStartAtElement) -} - -// DeleteStateBatch is a paid mutator transaction binding the contract method 0xb8e189ac. -// -// Solidity: function deleteStateBatch((uint256,bytes32,uint256,uint256,bytes) _batchHeader) returns() -func (_StateCommitmentChain *StateCommitmentChainTransactor) DeleteStateBatch(opts *bind.TransactOpts, _batchHeader Lib_OVMCodecChainBatchHeader) (*types.Transaction, error) { - return _StateCommitmentChain.contract.Transact(opts, "deleteStateBatch", _batchHeader) -} - -// DeleteStateBatch is a paid mutator transaction binding the contract method 0xb8e189ac. -// -// Solidity: function deleteStateBatch((uint256,bytes32,uint256,uint256,bytes) _batchHeader) returns() -func (_StateCommitmentChain *StateCommitmentChainSession) DeleteStateBatch(_batchHeader Lib_OVMCodecChainBatchHeader) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.DeleteStateBatch(&_StateCommitmentChain.TransactOpts, _batchHeader) -} - -// DeleteStateBatch is a paid mutator transaction binding the contract method 0xb8e189ac. -// -// Solidity: function deleteStateBatch((uint256,bytes32,uint256,uint256,bytes) _batchHeader) returns() -func (_StateCommitmentChain *StateCommitmentChainTransactorSession) DeleteStateBatch(_batchHeader Lib_OVMCodecChainBatchHeader) (*types.Transaction, error) { - return _StateCommitmentChain.Contract.DeleteStateBatch(&_StateCommitmentChain.TransactOpts, _batchHeader) -} - -// StateCommitmentChainStateBatchAppendedIterator is returned from FilterStateBatchAppended and is used to iterate over the raw logs and unpacked data for StateBatchAppended events raised by the StateCommitmentChain contract. -type StateCommitmentChainStateBatchAppendedIterator struct { - Event *StateCommitmentChainStateBatchAppended // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StateCommitmentChainStateBatchAppendedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StateCommitmentChainStateBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StateCommitmentChainStateBatchAppended) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StateCommitmentChainStateBatchAppendedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StateCommitmentChainStateBatchAppendedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StateCommitmentChainStateBatchAppended represents a StateBatchAppended event raised by the StateCommitmentChain contract. -type StateCommitmentChainStateBatchAppended struct { - BatchIndex *big.Int - BatchRoot [32]byte - BatchSize *big.Int - PrevTotalElements *big.Int - ExtraData []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterStateBatchAppended is a free log retrieval operation binding the contract event 0x16be4c5129a4e03cf3350262e181dc02ddfb4a6008d925368c0899fcd97ca9c5. -// -// Solidity: event StateBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_StateCommitmentChain *StateCommitmentChainFilterer) FilterStateBatchAppended(opts *bind.FilterOpts, _batchIndex []*big.Int) (*StateCommitmentChainStateBatchAppendedIterator, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _StateCommitmentChain.contract.FilterLogs(opts, "StateBatchAppended", _batchIndexRule) - if err != nil { - return nil, err - } - return &StateCommitmentChainStateBatchAppendedIterator{contract: _StateCommitmentChain.contract, event: "StateBatchAppended", logs: logs, sub: sub}, nil -} - -// WatchStateBatchAppended is a free log subscription operation binding the contract event 0x16be4c5129a4e03cf3350262e181dc02ddfb4a6008d925368c0899fcd97ca9c5. -// -// Solidity: event StateBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_StateCommitmentChain *StateCommitmentChainFilterer) WatchStateBatchAppended(opts *bind.WatchOpts, sink chan<- *StateCommitmentChainStateBatchAppended, _batchIndex []*big.Int) (event.Subscription, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _StateCommitmentChain.contract.WatchLogs(opts, "StateBatchAppended", _batchIndexRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StateCommitmentChainStateBatchAppended) - if err := _StateCommitmentChain.contract.UnpackLog(event, "StateBatchAppended", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseStateBatchAppended is a log parse operation binding the contract event 0x16be4c5129a4e03cf3350262e181dc02ddfb4a6008d925368c0899fcd97ca9c5. -// -// Solidity: event StateBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData) -func (_StateCommitmentChain *StateCommitmentChainFilterer) ParseStateBatchAppended(log types.Log) (*StateCommitmentChainStateBatchAppended, error) { - event := new(StateCommitmentChainStateBatchAppended) - if err := _StateCommitmentChain.contract.UnpackLog(event, "StateBatchAppended", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StateCommitmentChainStateBatchDeletedIterator is returned from FilterStateBatchDeleted and is used to iterate over the raw logs and unpacked data for StateBatchDeleted events raised by the StateCommitmentChain contract. -type StateCommitmentChainStateBatchDeletedIterator struct { - Event *StateCommitmentChainStateBatchDeleted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StateCommitmentChainStateBatchDeletedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StateCommitmentChainStateBatchDeleted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StateCommitmentChainStateBatchDeleted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StateCommitmentChainStateBatchDeletedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StateCommitmentChainStateBatchDeletedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StateCommitmentChainStateBatchDeleted represents a StateBatchDeleted event raised by the StateCommitmentChain contract. -type StateCommitmentChainStateBatchDeleted struct { - BatchIndex *big.Int - BatchRoot [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterStateBatchDeleted is a free log retrieval operation binding the contract event 0x8747b69ce8fdb31c3b9b0a67bd8049ad8c1a69ea417b69b12174068abd9cbd64. -// -// Solidity: event StateBatchDeleted(uint256 indexed _batchIndex, bytes32 _batchRoot) -func (_StateCommitmentChain *StateCommitmentChainFilterer) FilterStateBatchDeleted(opts *bind.FilterOpts, _batchIndex []*big.Int) (*StateCommitmentChainStateBatchDeletedIterator, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _StateCommitmentChain.contract.FilterLogs(opts, "StateBatchDeleted", _batchIndexRule) - if err != nil { - return nil, err - } - return &StateCommitmentChainStateBatchDeletedIterator{contract: _StateCommitmentChain.contract, event: "StateBatchDeleted", logs: logs, sub: sub}, nil -} - -// WatchStateBatchDeleted is a free log subscription operation binding the contract event 0x8747b69ce8fdb31c3b9b0a67bd8049ad8c1a69ea417b69b12174068abd9cbd64. -// -// Solidity: event StateBatchDeleted(uint256 indexed _batchIndex, bytes32 _batchRoot) -func (_StateCommitmentChain *StateCommitmentChainFilterer) WatchStateBatchDeleted(opts *bind.WatchOpts, sink chan<- *StateCommitmentChainStateBatchDeleted, _batchIndex []*big.Int) (event.Subscription, error) { - - var _batchIndexRule []interface{} - for _, _batchIndexItem := range _batchIndex { - _batchIndexRule = append(_batchIndexRule, _batchIndexItem) - } - - logs, sub, err := _StateCommitmentChain.contract.WatchLogs(opts, "StateBatchDeleted", _batchIndexRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StateCommitmentChainStateBatchDeleted) - if err := _StateCommitmentChain.contract.UnpackLog(event, "StateBatchDeleted", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseStateBatchDeleted is a log parse operation binding the contract event 0x8747b69ce8fdb31c3b9b0a67bd8049ad8c1a69ea417b69b12174068abd9cbd64. -// -// Solidity: event StateBatchDeleted(uint256 indexed _batchIndex, bytes32 _batchRoot) -func (_StateCommitmentChain *StateCommitmentChainFilterer) ParseStateBatchDeleted(log types.Log) (*StateCommitmentChainStateBatchDeleted, error) { - event := new(StateCommitmentChainStateBatchDeleted) - if err := _StateCommitmentChain.contract.UnpackLog(event, "StateBatchDeleted", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/batch-submitter/cmd/batch-submitter/main.go b/batch-submitter/cmd/batch-submitter/main.go deleted file mode 100644 index 75df4f35a018..000000000000 --- a/batch-submitter/cmd/batch-submitter/main.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "fmt" - "os" - - "github.com/ethereum/go-ethereum/log" - "github.com/ethereum/go-ethereum/params" - "github.com/urfave/cli" - - batchsubmitter "github.com/ethereum-optimism/optimism/batch-submitter" - "github.com/ethereum-optimism/optimism/batch-submitter/flags" -) - -var ( - GitVersion = "" - GitCommit = "" - GitDate = "" -) - -func main() { - // Set up logger with a default INFO level in case we fail to parse flags. - // Otherwise the final critical log won't show what the parsing error was. - log.Root().SetHandler( - log.LvlFilterHandler( - log.LvlInfo, - log.StreamHandler(os.Stdout, log.TerminalFormat(true)), - ), - ) - - app := cli.NewApp() - app.Flags = flags.Flags - app.Version = fmt.Sprintf("%s-%s", GitVersion, params.VersionWithCommit(GitCommit, GitDate)) - app.Name = "batch-submitter" - app.Usage = "Batch Submitter Service" - app.Description = "Service for generating and submitting batched transactions " + - "that synchronize L2 state to L1 contracts" - - app.Action = batchsubmitter.Main(GitVersion) - err := app.Run(os.Args) - if err != nil { - log.Crit("Application failed", "message", err) - } -} diff --git a/batch-submitter/config.go b/batch-submitter/config.go deleted file mode 100644 index 30ceccf3389d..000000000000 --- a/batch-submitter/config.go +++ /dev/null @@ -1,301 +0,0 @@ -package batchsubmitter - -import ( - "errors" - "time" - - "github.com/ethereum/go-ethereum/log" - "github.com/urfave/cli" - - "github.com/ethereum-optimism/optimism/batch-submitter/flags" -) - -var ( - // ErrSequencerPrivKeyOrMnemonic signals that the user tried to set both - // sequencer wallet derivation methods or neither of them. - ErrSequencerPrivKeyOrMnemonic = errors.New("either sequencer-private-key " + - "or mnemonic + sequencer-hd-path must be set") - - // ErrProposererPrivKeyOrMnemonic signals that the user tried to set - // both proposer wallet derivation methods or neither of them. - ErrProposerPrivKeyOrMnemonic = errors.New("either proposer-private-key " + - "or mnemonic + proposer-hd-path must be set") - - // ErrSameSequencerAndProposerHDPath signals that the user specified the - // same sequencer and proposer derivations paths, which otherwise would - // lead to the two using the same wallet. - ErrSameSequencerAndProposerHDPath = errors.New("sequencer-hd-path and " + - "proposer-hd-path must be distinct when using mnemonic") - - // ErrSameSequencerAndProposerPrivKey signals that the user specified - // the same sequencer and proposer private keys, which otherwise would - // lead to the two using the same wallet. - ErrSameSequencerAndProposerPrivKey = errors.New("sequencer-priv-key and " + - "proposer-priv-key must be distinct") - - // ErrInvalidBatchType signals that an unsupported batch type is being - // configured. The default is "legacy" and the options are "legacy" or - // "zlib" - ErrInvalidBatchType = errors.New("invalid batch type") - - // ErrSentryDSNNotSet signals that not Data Source Name was provided - // with which to configure Sentry logging. - ErrSentryDSNNotSet = errors.New("sentry-dsn must be set if use-sentry " + - "is true") -) - -type Config struct { - /* Required Params */ - - // BuildEnv identifies the environment this binary is intended for, i.e. - // production, development, etc. - BuildEnv string - - // EthNetworkName identifies the intended Ethereum network. - EthNetworkName string - - // L1EthRpc is the HTTP provider URL for L1. - L1EthRpc string - - // L2EthRpc is the HTTP provider URL for L1. - L2EthRpc string - - // CTCAddress is the CTC contract address. - CTCAddress string - - // SCCAddress is the SCC contract address. - SCCAddress string - - // MinL1TxSize is the minimum size in bytes of any L1 transactions generated - // by the batch submitter. - MinL1TxSize uint64 - - // MaxL1TxSize is the maximum size in bytes of any L1 transactions generated - // by the batch submitter. - MaxL1TxSize uint64 - - // MaxPlaintextL1TxSize is the maximum size in bytes of the plaintext tx - // data encoded in batches. - MaxPlaintextBatchSize uint64 - - // MinStateRootElements is the minimum number of state root elements that - // can be submitted in single proposer batch. - MinStateRootElements uint64 - - // MaxStateRootElements is the maximum number of state root elements that - // can be submitted in single proposer batch. - MaxStateRootElements uint64 - - // MaxTxBatchCount is the maximum number of L2 transactions that can ever be - // in a batch. - MaxTxBatchCount uint64 - - // MaxBatchSubmissionTime is the maximum amount of time that we will - // wait before submitting an under-sized batch. - MaxBatchSubmissionTime time.Duration - - // PollInterval is the delay between querying L2 for more transaction - // and creating a new batch. - PollInterval time.Duration - - // NumConfirmations is the number of confirmations which we will wait after - // appending new batches. - NumConfirmations uint64 - - // SafeAbortNonceTooLowCount is the number of ErrNonceTooLowObservations - // required to give up on a tx at a particular nonce without receiving - // confirmation. - SafeAbortNonceTooLowCount uint64 - - // ResubmissionTimeout is time we will wait before resubmitting a - // transaction. - ResubmissionTimeout time.Duration - - // FinalityConfirmations is the number of confirmations that we should wait - // before submitting state roots for CTC elements. - FinalityConfirmations uint64 - - // RunTxBatchSubmitter determines whether or not to run the tx batch - // submitter. - RunTxBatchSubmitter bool - - // RunStateBatchSubmitter determines whether or not to run the state batch - // submitter. - RunStateBatchSubmitter bool - - //SafeMinimumEtherBalance is the safe minimum amount of ether the batch - //submitter key should hold before it starts to log errors. - SafeMinimumEtherBalance uint64 - - // ClearPendingTxs is a boolean to clear the pending transactions in the - // mempool on startup. - ClearPendingTxs bool - - /* Optional Params */ - - // LogLevel is the lowest log level that will be output. - LogLevel string - - // LogTerminal if true, prints to stdout in terminal format, otherwise - // prints using JSON. If SentryEnable is true this flag is ignored, and logs - // are printed using JSON. - LogTerminal bool - - // SentryEnable if true, logs any error messages to sentry. SentryDsn - // must also be set if SentryEnable is true. - SentryEnable bool - - // SentryDsn is the sentry Data Source Name. - SentryDsn string - - // SentryTraceRate the frequency with which Sentry should flush buffered - // events. - SentryTraceRate time.Duration - - // BlockOffset is the offset between the CTC contract start and the L2 geth - // blocks. - BlockOffset uint64 - - // SequencerPrivateKey the private key of the wallet used to submit - // transactions to the CTC contract. - SequencerPrivateKey string - - // PropopserPrivateKey the private key of the wallet used to submit - // transaction to the SCC contract. - ProposerPrivateKey string - - // Mnemonic is the HD seed used to derive the wallet private keys for both - // the sequence and proposer. Must be used in conjunction with - // SequencerHDPath and ProposerHDPath. - Mnemonic string - - // SequencerHDPath is the derivation path used to obtain the private key for - // the sequencer transactions. - SequencerHDPath string - - // ProposerHDPath is the derivation path used to obtain the private key for - // the proposer transactions. - ProposerHDPath string - - // SequencerBatchType represents the type of batch the sequencer submits. - SequencerBatchType string - - // MetricsServerEnable if true, will create a metrics client and log to - // Prometheus. - MetricsServerEnable bool - - // MetricsHostname is the hostname at which the metrics server is running. - MetricsHostname string - - // MetricsPort is the port at which the metrics server is running. - MetricsPort uint64 - - // DisableHTTP2 disables HTTP2 support. - DisableHTTP2 bool -} - -// NewConfig parses the Config from the provided flags or environment variables. -// This method fails if ValidateConfig deems the configuration to be malformed. -func NewConfig(ctx *cli.Context) (Config, error) { - cfg := Config{ - /* Required Flags */ - BuildEnv: ctx.GlobalString(flags.BuildEnvFlag.Name), - EthNetworkName: ctx.GlobalString(flags.EthNetworkNameFlag.Name), - L1EthRpc: ctx.GlobalString(flags.L1EthRpcFlag.Name), - L2EthRpc: ctx.GlobalString(flags.L2EthRpcFlag.Name), - CTCAddress: ctx.GlobalString(flags.CTCAddressFlag.Name), - SCCAddress: ctx.GlobalString(flags.SCCAddressFlag.Name), - MinL1TxSize: ctx.GlobalUint64(flags.MinL1TxSizeFlag.Name), - MaxL1TxSize: ctx.GlobalUint64(flags.MaxL1TxSizeFlag.Name), - MaxPlaintextBatchSize: ctx.GlobalUint64(flags.MaxPlaintextBatchSizeFlag.Name), - MinStateRootElements: ctx.GlobalUint64(flags.MinStateRootElementsFlag.Name), - MaxStateRootElements: ctx.GlobalUint64(flags.MaxStateRootElementsFlag.Name), - MaxBatchSubmissionTime: ctx.GlobalDuration(flags.MaxBatchSubmissionTimeFlag.Name), - PollInterval: ctx.GlobalDuration(flags.PollIntervalFlag.Name), - NumConfirmations: ctx.GlobalUint64(flags.NumConfirmationsFlag.Name), - SafeAbortNonceTooLowCount: ctx.GlobalUint64(flags.SafeAbortNonceTooLowCountFlag.Name), - ResubmissionTimeout: ctx.GlobalDuration(flags.ResubmissionTimeoutFlag.Name), - FinalityConfirmations: ctx.GlobalUint64(flags.FinalityConfirmationsFlag.Name), - RunTxBatchSubmitter: ctx.GlobalBool(flags.RunTxBatchSubmitterFlag.Name), - RunStateBatchSubmitter: ctx.GlobalBool(flags.RunStateBatchSubmitterFlag.Name), - SafeMinimumEtherBalance: ctx.GlobalUint64(flags.SafeMinimumEtherBalanceFlag.Name), - ClearPendingTxs: ctx.GlobalBool(flags.ClearPendingTxsFlag.Name), - /* Optional Flags */ - LogLevel: ctx.GlobalString(flags.LogLevelFlag.Name), - LogTerminal: ctx.GlobalBool(flags.LogTerminalFlag.Name), - SentryEnable: ctx.GlobalBool(flags.SentryEnableFlag.Name), - SentryDsn: ctx.GlobalString(flags.SentryDsnFlag.Name), - SentryTraceRate: ctx.GlobalDuration(flags.SentryTraceRateFlag.Name), - BlockOffset: ctx.GlobalUint64(flags.BlockOffsetFlag.Name), - SequencerPrivateKey: ctx.GlobalString(flags.SequencerPrivateKeyFlag.Name), - ProposerPrivateKey: ctx.GlobalString(flags.ProposerPrivateKeyFlag.Name), - Mnemonic: ctx.GlobalString(flags.MnemonicFlag.Name), - SequencerHDPath: ctx.GlobalString(flags.SequencerHDPathFlag.Name), - ProposerHDPath: ctx.GlobalString(flags.ProposerHDPathFlag.Name), - SequencerBatchType: ctx.GlobalString(flags.SequencerBatchType.Name), - MetricsServerEnable: ctx.GlobalBool(flags.MetricsServerEnableFlag.Name), - MetricsHostname: ctx.GlobalString(flags.MetricsHostnameFlag.Name), - MetricsPort: ctx.GlobalUint64(flags.MetricsPortFlag.Name), - DisableHTTP2: ctx.GlobalBool(flags.HTTP2DisableFlag.Name), - } - - err := ValidateConfig(&cfg) - if err != nil { - return Config{}, err - } - - return cfg, nil -} - -// ValidateConfig ensures additional constraints on the parsed configuration to -// ensure that it is well-formed. -func ValidateConfig(cfg *Config) error { - // Sanity check log level. - _, err := log.LvlFromString(cfg.LogLevel) - if err != nil { - return err - } - - // Enforce that either sequencer-private-key or mnemonic + sequencer-hd-path - // is enabled, but not both or neither. - usingSequencerPrivateKey := cfg.SequencerPrivateKey != "" - usingSequencerHDPath := cfg.Mnemonic != "" && cfg.SequencerHDPath != "" - if usingSequencerPrivateKey == usingSequencerHDPath { - return ErrSequencerPrivKeyOrMnemonic - } - - // Enforce that either proposer-private-key or mnemonic + proposer-hd-path - // is enabled, but not both or neither. - usingProposerPrivateKey := cfg.ProposerPrivateKey != "" - usingProposerHDPath := cfg.Mnemonic != "" && cfg.ProposerHDPath != "" - if usingProposerPrivateKey == usingProposerHDPath { - return ErrProposerPrivKeyOrMnemonic - } - - // If mnemonic is used, the sequencer-hd-path and proposer-hd-path must - // differ to avoid resuing the same wallet for both. - if cfg.Mnemonic != "" && cfg.SequencerHDPath == cfg.ProposerHDPath { - return ErrSameSequencerAndProposerHDPath - } - - // If private keys are used, ensure the keys are different to avoid resuing - // the same wallet for both. - if usingSequencerPrivateKey && usingProposerPrivateKey && - cfg.SequencerPrivateKey == cfg.ProposerPrivateKey { - - return ErrSameSequencerAndProposerPrivKey - } - - usingTypedBatches := cfg.SequencerBatchType != "" - validBatchType := cfg.SequencerBatchType == "legacy" || cfg.SequencerBatchType == "zlib" - if usingTypedBatches && !validBatchType { - return ErrInvalidBatchType - } - - // Ensure the Sentry Data Source Name is set when using Sentry. - if cfg.SentryEnable && cfg.SentryDsn == "" { - return ErrSentryDSNNotSet - } - - return nil -} diff --git a/batch-submitter/config_test.go b/batch-submitter/config_test.go deleted file mode 100644 index 689ecf27a27e..000000000000 --- a/batch-submitter/config_test.go +++ /dev/null @@ -1,206 +0,0 @@ -package batchsubmitter_test - -import ( - "fmt" - "testing" - - batchsubmitter "github.com/ethereum-optimism/optimism/batch-submitter" - "github.com/stretchr/testify/require" -) - -var validateConfigTests = []struct { - name string - cfg batchsubmitter.Config - expErr error -}{ - { - name: "bad log level", - cfg: batchsubmitter.Config{ - LogLevel: "unknown", - }, - expErr: fmt.Errorf("unknown level: unknown"), - }, - { - name: "sequencer priv key or mnemonic none set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - SequencerPrivateKey: "", - Mnemonic: "", - SequencerHDPath: "", - }, - expErr: batchsubmitter.ErrSequencerPrivKeyOrMnemonic, - }, - { - name: "sequencer priv key or mnemonic both set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - SequencerPrivateKey: "sequencer-privkey", - Mnemonic: "mnemonic", - SequencerHDPath: "sequencer-path", - }, - expErr: batchsubmitter.ErrSequencerPrivKeyOrMnemonic, - }, - { - name: "sequencer priv key or mnemonic only mnemonic set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - SequencerPrivateKey: "", - Mnemonic: "mnemonic", - SequencerHDPath: "", - }, - expErr: batchsubmitter.ErrSequencerPrivKeyOrMnemonic, - }, - { - name: "sequencer priv key or mnemonic only hdpath set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - SequencerPrivateKey: "", - Mnemonic: "", - SequencerHDPath: "sequencer-path", - }, - expErr: batchsubmitter.ErrSequencerPrivKeyOrMnemonic, - }, - { - name: "proposer priv key or mnemonic none set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - - ProposerPrivateKey: "", - Mnemonic: "", - ProposerHDPath: "", - }, - expErr: batchsubmitter.ErrProposerPrivKeyOrMnemonic, - }, - { - name: "proposer priv key or mnemonic both set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - - ProposerPrivateKey: "proposer-privkey", - Mnemonic: "mnemonic", - ProposerHDPath: "proposer-path", - }, - expErr: batchsubmitter.ErrProposerPrivKeyOrMnemonic, - }, - { - name: "proposer priv key or mnemonic only mnemonic set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - - ProposerPrivateKey: "", - Mnemonic: "mnemonic", - ProposerHDPath: "", - }, - expErr: batchsubmitter.ErrProposerPrivKeyOrMnemonic, - }, - { - name: "proposer priv key or mnemonic only hdpath set", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - - ProposerPrivateKey: "", - Mnemonic: "", - ProposerHDPath: "proposer-path", - }, - expErr: batchsubmitter.ErrProposerPrivKeyOrMnemonic, - }, - { - name: "same sequencer and proposer hd path", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - Mnemonic: "mnemonic", - SequencerHDPath: "path", - ProposerHDPath: "path", - }, - expErr: batchsubmitter.ErrSameSequencerAndProposerHDPath, - }, - { - name: "same sequencer and proposer privkey", - cfg: batchsubmitter.Config{ - LogLevel: "info", - - SequencerPrivateKey: "privkey", - ProposerPrivateKey: "privkey", - }, - expErr: batchsubmitter.ErrSameSequencerAndProposerPrivKey, - }, - { - name: "sentry-dsn not set when sentry-enable is true", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - ProposerPrivateKey: "proposer-privkey", - - SentryEnable: true, - SentryDsn: "", - }, - expErr: batchsubmitter.ErrSentryDSNNotSet, - }, - // Valid configs - { - name: "valid config with privkeys and no sentry", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - ProposerPrivateKey: "proposer-privkey", - SentryEnable: false, - SentryDsn: "", - }, - expErr: nil, - }, - { - name: "valid config with mnemonic and no sentry", - cfg: batchsubmitter.Config{ - LogLevel: "info", - Mnemonic: "mnemonic", - SequencerHDPath: "sequencer-path", - ProposerHDPath: "proposer-path", - SentryEnable: false, - SentryDsn: "", - }, - expErr: nil, - }, - { - name: "valid config with privkeys and sentry", - cfg: batchsubmitter.Config{ - LogLevel: "info", - SequencerPrivateKey: "sequencer-privkey", - ProposerPrivateKey: "proposer-privkey", - SentryEnable: true, - SentryDsn: "batch-submitter", - }, - expErr: nil, - }, - { - name: "valid config with mnemonic and sentry", - cfg: batchsubmitter.Config{ - LogLevel: "info", - Mnemonic: "mnemonic", - SequencerHDPath: "sequencer-path", - ProposerHDPath: "proposer-path", - SentryEnable: true, - SentryDsn: "batch-submitter", - }, - expErr: nil, - }, -} - -// TestValidateConfig asserts the behavior of ValidateConfig by testing expected -// error and success configurations. -func TestValidateConfig(t *testing.T) { - for _, test := range validateConfigTests { - t.Run(test.name, func(t *testing.T) { - err := batchsubmitter.ValidateConfig(&test.cfg) - require.Equal(t, err, test.expErr) - }) - } -} diff --git a/batch-submitter/dial_l2_client.go b/batch-submitter/dial_l2_client.go deleted file mode 100644 index b28cbcc8a2a2..000000000000 --- a/batch-submitter/dial_l2_client.go +++ /dev/null @@ -1,42 +0,0 @@ -package batchsubmitter - -import ( - "context" - "crypto/tls" - "net/http" - "strings" - - "github.com/ethereum-optimism/optimism/bss-core/dial" - "github.com/ethereum-optimism/optimism/l2geth/ethclient" - "github.com/ethereum-optimism/optimism/l2geth/log" - "github.com/ethereum-optimism/optimism/l2geth/rpc" -) - -// DialL2EthClientWithTimeout attempts to dial the L2 provider using the -// provided URL. If the dial doesn't complete within dial.DefaultTimeout seconds, -// this method will return an error. -func DialL2EthClientWithTimeout(ctx context.Context, url string, disableHTTP2 bool) ( - *ethclient.Client, error) { - - ctxt, cancel := context.WithTimeout(ctx, dial.DefaultTimeout) - defer cancel() - - if strings.HasPrefix(url, "http") { - httpClient := new(http.Client) - if disableHTTP2 { - log.Info("Disabled HTTP/2 support in L2 eth client") - httpClient.Transport = &http.Transport{ - TLSNextProto: make(map[string]func(authority string, c *tls.Conn) http.RoundTripper), - } - } - - rpcClient, err := rpc.DialHTTPWithClient(url, httpClient) - if err != nil { - return nil, err - } - - return ethclient.NewClient(rpcClient), nil - } - - return ethclient.DialContext(ctxt, url) -} diff --git a/batch-submitter/docker.go.work b/batch-submitter/docker.go.work deleted file mode 100644 index 0700859df830..000000000000 --- a/batch-submitter/docker.go.work +++ /dev/null @@ -1,7 +0,0 @@ -go 1.18 - -use ( - ./batch-submitter - ./bss-core - ./l2geth -) diff --git a/batch-submitter/drivers/proposer/driver.go b/batch-submitter/drivers/proposer/driver.go deleted file mode 100644 index 8ddedb62e0ed..000000000000 --- a/batch-submitter/drivers/proposer/driver.go +++ /dev/null @@ -1,284 +0,0 @@ -package proposer - -import ( - "context" - "crypto/ecdsa" - "fmt" - "math/big" - "strings" - - "github.com/ethereum-optimism/optimism/batch-submitter/bindings/ctc" - "github.com/ethereum-optimism/optimism/batch-submitter/bindings/scc" - "github.com/ethereum-optimism/optimism/bss-core/drivers" - "github.com/ethereum-optimism/optimism/bss-core/metrics" - "github.com/ethereum-optimism/optimism/bss-core/txmgr" - l2ethclient "github.com/ethereum-optimism/optimism/l2geth/ethclient" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/ethclient" - "github.com/ethereum/go-ethereum/log" -) - -// stateRootSize is the size in bytes of a state root. -const stateRootSize = 32 - -var bigOne = new(big.Int).SetUint64(1) //nolint:unused - -type Config struct { - Name string - L1Client *ethclient.Client - L2Client *l2ethclient.Client - BlockOffset uint64 - MaxStateRootElements uint64 - MinStateRootElements uint64 - SCCAddr common.Address - CTCAddr common.Address - ChainID *big.Int - PrivKey *ecdsa.PrivateKey -} - -type Driver struct { - cfg Config - sccContract *scc.StateCommitmentChain - rawSccContract *bind.BoundContract - ctcContract *ctc.CanonicalTransactionChain - walletAddr common.Address - metrics *metrics.Base -} - -func NewDriver(cfg Config) (*Driver, error) { - sccContract, err := scc.NewStateCommitmentChain( - cfg.SCCAddr, cfg.L1Client, - ) - if err != nil { - return nil, err - } - - ctcContract, err := ctc.NewCanonicalTransactionChain( - cfg.CTCAddr, cfg.L1Client, - ) - if err != nil { - return nil, err - } - - parsed, err := abi.JSON(strings.NewReader( - scc.StateCommitmentChainABI, - )) - if err != nil { - return nil, err - } - - rawSccContract := bind.NewBoundContract( - cfg.SCCAddr, parsed, cfg.L1Client, cfg.L1Client, cfg.L1Client, - ) - - walletAddr := crypto.PubkeyToAddress(cfg.PrivKey.PublicKey) - - return &Driver{ - cfg: cfg, - sccContract: sccContract, - rawSccContract: rawSccContract, - ctcContract: ctcContract, - walletAddr: walletAddr, - metrics: metrics.NewBase("batch_submitter", cfg.Name), - }, nil -} - -// Name is an identifier used to prefix logs for a particular service. -func (d *Driver) Name() string { - return d.cfg.Name -} - -// WalletAddr is the wallet address used to pay for batch transaction fees. -func (d *Driver) WalletAddr() common.Address { - return d.walletAddr -} - -// Metrics returns the subservice telemetry object. -func (d *Driver) Metrics() metrics.Metrics { - return d.metrics -} - -// ClearPendingTx a publishes a transaction at the next available nonce in order -// to clear any transactions in the mempool left over from a prior running -// instance of the batch submitter. -func (d *Driver) ClearPendingTx( - ctx context.Context, - txMgr txmgr.TxManager, - l1Client *ethclient.Client, -) error { - - return drivers.ClearPendingTx( - d.cfg.Name, ctx, txMgr, l1Client, d.walletAddr, d.cfg.PrivKey, - d.cfg.ChainID, - ) -} - -// GetBatchBlockRange returns the start and end L2 block heights that need to be -// processed. Note that the end value is *exclusive*, therefore if the returned -// values are identical nothing needs to be processed. -func (d *Driver) GetBatchBlockRange( - ctx context.Context) (*big.Int, *big.Int, error) { - - blockOffset := new(big.Int).SetUint64(d.cfg.BlockOffset) - - start, err := d.sccContract.GetTotalElements(&bind.CallOpts{ - Pending: false, - Context: ctx, - }) - if err != nil { - return nil, nil, err - } - start.Add(start, blockOffset) - - end, err := d.ctcContract.GetTotalElements(&bind.CallOpts{ - Pending: false, - Context: ctx, - }) - if err != nil { - return nil, nil, err - } - end.Add(end, blockOffset) - - if start.Cmp(end) > 0 { - return nil, nil, fmt.Errorf("invalid range, "+ - "end(%v) < start(%v)", end, start) - } - - return start, end, nil -} - -// CraftBatchTx transforms the L2 blocks between start and end into a batch -// transaction using the given nonce. A dummy gas price is used in the resulting -// transaction to use for size estimation. -// -// NOTE: This method SHOULD NOT publish the resulting transaction. -func (d *Driver) CraftBatchTx( - ctx context.Context, - start, end, nonce *big.Int, -) (*types.Transaction, error) { - - name := d.cfg.Name - - log.Info(name+" crafting batch tx", "start", start, "end", end, - "nonce", nonce) - - var stateRoots [][stateRootSize]byte - for i := new(big.Int).Set(start); i.Cmp(end) < 0; i.Add(i, bigOne) { - // Consume state roots until reach our maximum tx size. - if uint64(len(stateRoots)) > d.cfg.MaxStateRootElements { - break - } - - block, err := d.cfg.L2Client.BlockByNumber(ctx, i) - if err != nil { - return nil, err - } - - stateRoots = append(stateRoots, block.Root()) - } - - // Abort if we don't have enough state roots to meet our minimum - // requirement. - if uint64(len(stateRoots)) < d.cfg.MinStateRootElements { - log.Info(name+" number of state roots below minimum", - "num_state_roots", len(stateRoots), - "min_state_roots", d.cfg.MinStateRootElements) - return nil, nil - } - - d.metrics.NumElementsPerBatch().Observe(float64(len(stateRoots))) - - log.Info(name+" batch constructed", "num_state_roots", len(stateRoots)) - - opts, err := bind.NewKeyedTransactorWithChainID( - d.cfg.PrivKey, d.cfg.ChainID, - ) - if err != nil { - return nil, err - } - opts.Context = ctx - opts.Nonce = nonce - opts.NoSend = true - - blockOffset := new(big.Int).SetUint64(d.cfg.BlockOffset) - offsetStartsAtIndex := new(big.Int).Sub(start, blockOffset) - - tx, err := d.sccContract.AppendStateBatch( - opts, stateRoots, offsetStartsAtIndex, - ) - switch { - case err == nil: - return tx, nil - - // If the transaction failed because the backend does not support - // eth_maxPriorityFeePerGas, fallback to using the default constant. - // Currently Alchemy is the only backend provider that exposes this method, - // so in the event their API is unreachable we can fallback to a degraded - // mode of operation. This also applies to our test environments, as hardhat - // doesn't support the query either. - case drivers.IsMaxPriorityFeePerGasNotFoundError(err): - log.Warn(d.cfg.Name + " eth_maxPriorityFeePerGas is unsupported " + - "by current backend, using fallback gasTipCap") - opts.GasTipCap = drivers.FallbackGasTipCap - return d.sccContract.AppendStateBatch( - opts, stateRoots, offsetStartsAtIndex, - ) - - default: - return nil, err - } -} - -// UpdateGasPrice signs an otherwise identical txn to the one provided but with -// updated gas prices sampled from the existing network conditions. -// -// NOTE: Thie method SHOULD NOT publish the resulting transaction. -func (d *Driver) UpdateGasPrice( - ctx context.Context, - tx *types.Transaction, -) (*types.Transaction, error) { - - opts, err := bind.NewKeyedTransactorWithChainID( - d.cfg.PrivKey, d.cfg.ChainID, - ) - if err != nil { - return nil, err - } - opts.Context = ctx - opts.Nonce = new(big.Int).SetUint64(tx.Nonce()) - opts.NoSend = true - - finalTx, err := d.rawSccContract.RawTransact(opts, tx.Data()) - switch { - case err == nil: - return finalTx, nil - - // If the transaction failed because the backend does not support - // eth_maxPriorityFeePerGas, fallback to using the default constant. - // Currently Alchemy is the only backend provider that exposes this method, - // so in the event their API is unreachable we can fallback to a degraded - // mode of operation. This also applies to our test environments, as hardhat - // doesn't support the query either. - case drivers.IsMaxPriorityFeePerGasNotFoundError(err): - log.Warn(d.cfg.Name + " eth_maxPriorityFeePerGas is unsupported " + - "by current backend, using fallback gasTipCap") - opts.GasTipCap = drivers.FallbackGasTipCap - return d.rawSccContract.RawTransact(opts, tx.Data()) - - default: - return nil, err - } -} - -// SendTransaction injects a signed transaction into the pending pool for -// execution. -func (d *Driver) SendTransaction( - ctx context.Context, - tx *types.Transaction, -) error { - return d.cfg.L1Client.SendTransaction(ctx, tx) -} diff --git a/batch-submitter/drivers/sequencer/batch.go b/batch-submitter/drivers/sequencer/batch.go deleted file mode 100644 index b09ccd1dd85e..000000000000 --- a/batch-submitter/drivers/sequencer/batch.go +++ /dev/null @@ -1,192 +0,0 @@ -package sequencer - -import ( - "errors" - "fmt" - - l2types "github.com/ethereum-optimism/optimism/l2geth/core/types" -) - -var ( - // ErrBlockWithInvalidContext signals an attempt to generate a - // BatchContext that specifies a total of zero txs. - ErrBlockWithInvalidContext = errors.New("attempted to generate batch " + - "context with 0 queued and 0 sequenced txs") -) - -// BatchElement reflects the contents of an atomic update to the L2 state. -// Currently, each BatchElement is constructed from a single block containing -// exactly one tx. -type BatchElement struct { - // Timestamp is the L1 timestamp of the batch. - Timestamp uint64 - - // BlockNumber is the L1 BlockNumber of the batch. - BlockNumber uint64 - - // Tx is the optional transaction that was applied in this batch. - // - // NOTE: This field will only be populated for sequencer txs. - Tx *CachedTx -} - -// IsSequencerTx returns true if this batch contains a tx that needs to be -// posted to the L1 CTC contract. -func (b *BatchElement) IsSequencerTx() bool { - return b.Tx != nil -} - -// BatchElementFromBlock constructs a BatchElement from a single L2 block. This -// method expects that there is exactly ONE tx per block. The returned -// BatchElement will reflect whether or not the lone tx is a sequencer tx or a -// queued tx. -func BatchElementFromBlock(block *l2types.Block) BatchElement { - txs := block.Transactions() - if len(txs) != 1 { - panic(fmt.Sprintf("attempting to create batch element from block %d, "+ - "found %d txs instead of 1", block.Number(), len(txs))) - } - - tx := txs[0] - - // Extract L2 metadata. - l1BlockNumber := tx.L1BlockNumber().Uint64() - isSequencerTx := tx.QueueOrigin() == l2types.QueueOriginSequencer - - // Only include sequencer txs in the returned BatchElement. - var cachedTx *CachedTx - if isSequencerTx { - cachedTx = NewCachedTx(tx) - } - - return BatchElement{ - Timestamp: block.Time(), - BlockNumber: l1BlockNumber, - Tx: cachedTx, - } -} - -type groupedBlock struct { - sequenced []BatchElement - queued []BatchElement -} - -// GenSequencerBatchParams generates a valid AppendSequencerBatchParams from a -// list of BatchElements. The BatchElements are assumed to be ordered in -// ascending order by L2 block height. -func GenSequencerBatchParams( - shouldStartAtElement uint64, - blockOffset uint64, - batch []BatchElement, -) (*AppendSequencerBatchParams, error) { - - var ( - contexts []BatchContext - groupedBlocks []groupedBlock - txs []*CachedTx - lastBlockIsSequencerTx bool - lastTimestamp uint64 - lastBlockNumber uint64 - ) - - // Iterate over the batch elements, grouping the elements according to - // the following criteria: - // - All txs in the same group must have the same timestamp. - // - All sequencer txs in the same group must have the same block number. - // - If sequencer txs exist in a group, they must come before all - // queued txs. - // - // Assuming the block and timestamp criteria for sequencer txs are - // respected within each group, the following are examples of groupings: - // - [s] // sequencer can exist by itself - // - [q] // ququed tx can exist by itself - // - [s] [s] // differing sequencer tx timestamp/blocknumber - // - [s q] [s] // sequencer tx must precede queued tx in group - // - [q] [q s] // INVALID: consecutive queued txs are split - // - [q q] [s] // correct split for preceding case - // - [s q] [s q] // alternating sequencer tx interleaved with queued - for _, el := range batch { - // To enforce the above groupings, the following condition is - // used to determine when to create a new batch: - // - On the first pass, or - // - The preceding tx has a different timestamp, or - // - Whenever a sequencer tx is observed, and: - // - The preceding tx was a queued tx, or - // - The preceding sequencer tx has a different block number. - // Note that a sequencer tx is usually required to create a new group, - // so a queued tx may ONLY exist as the first element in a group if it - // is the very first element or it has a different timestamp from the - // preceding tx. - needsNewGroupOnSequencerTx := !lastBlockIsSequencerTx || - el.BlockNumber != lastBlockNumber - if len(groupedBlocks) == 0 || - el.Timestamp != lastTimestamp || - (el.IsSequencerTx() && needsNewGroupOnSequencerTx) { - - groupedBlocks = append(groupedBlocks, groupedBlock{}) - } - - // Append the tx to either the sequenced or queued txs, - // depending on its type. - cur := len(groupedBlocks) - 1 - if el.IsSequencerTx() { - groupedBlocks[cur].sequenced = - append(groupedBlocks[cur].sequenced, el) - - // Gather all sequencer txs, as these will be encoded in - // the calldata of the batch tx submitted to the L1 CTC - // contract. - txs = append(txs, el.Tx) - } else { - groupedBlocks[cur].queued = - append(groupedBlocks[cur].queued, el) - } - - lastBlockIsSequencerTx = el.IsSequencerTx() - lastTimestamp = el.Timestamp - lastBlockNumber = el.BlockNumber - } - - // For each group, construct the resulting BatchContext. - for _, block := range groupedBlocks { - numSequencedTxs := uint64(len(block.sequenced)) - numSubsequentQueueTxs := uint64(len(block.queued)) - - // Ensure at least one tx was included in this group. - if numSequencedTxs == 0 && numSubsequentQueueTxs == 0 { - return nil, ErrBlockWithInvalidContext - } - - // Compute the timestamp and block number from for the batch - // using either the earliest sequenced tx or the earliest queued - // tx. If a batch has a sequencer tx it is given preference, - // since it is guaranteed to be the earliest item in the group. - // Otherwise, we fallback to the earliest queued tx since it was - // the very first item. - var ( - timestamp uint64 - blockNumber uint64 - ) - if numSequencedTxs > 0 { - timestamp = block.sequenced[0].Timestamp - blockNumber = block.sequenced[0].BlockNumber - } else { - timestamp = block.queued[0].Timestamp - blockNumber = block.queued[0].BlockNumber - } - - contexts = append(contexts, BatchContext{ - NumSequencedTxs: numSequencedTxs, - NumSubsequentQueueTxs: numSubsequentQueueTxs, - Timestamp: timestamp, - BlockNumber: blockNumber, - }) - } - - return &AppendSequencerBatchParams{ - ShouldStartAtElement: shouldStartAtElement - blockOffset, - TotalElementsToAppend: uint64(len(batch)), - Contexts: contexts, - Txs: txs, - }, nil -} diff --git a/batch-submitter/drivers/sequencer/batch_test.go b/batch-submitter/drivers/sequencer/batch_test.go deleted file mode 100644 index 9a8e1f2761a5..000000000000 --- a/batch-submitter/drivers/sequencer/batch_test.go +++ /dev/null @@ -1,123 +0,0 @@ -package sequencer_test - -import ( - "math/big" - "testing" - - "github.com/ethereum-optimism/optimism/batch-submitter/drivers/sequencer" - l2common "github.com/ethereum-optimism/optimism/l2geth/common" - "github.com/ethereum-optimism/optimism/l2geth/core/types" - l2types "github.com/ethereum-optimism/optimism/l2geth/core/types" - "github.com/stretchr/testify/require" -) - -func TestBatchElementFromBlock(t *testing.T) { - expTime := uint64(42) - expBlockNumber := uint64(43) - - header := &l2types.Header{ - Time: expTime, - } - expTx := l2types.NewTransaction( - 1, l2common.Address{}, new(big.Int).SetUint64(2), 3, - new(big.Int).SetUint64(4), []byte{}, - ) - expTx.SetL1BlockNumber(expBlockNumber) - - txs := []*l2types.Transaction{expTx} - - block := l2types.NewBlock(header, txs, nil, nil) - element := sequencer.BatchElementFromBlock(block) - - require.Equal(t, element.Timestamp, expTime) - require.Equal(t, element.BlockNumber, expBlockNumber) - require.True(t, element.IsSequencerTx()) - require.Equal(t, element.Tx.Tx(), expTx) - - queueMeta := l2types.NewTransactionMeta( - new(big.Int).SetUint64(expBlockNumber), 0, nil, - l2types.QueueOriginL1ToL2, nil, nil, nil, - ) - - expTx.SetTransactionMeta(queueMeta) - - element = sequencer.BatchElementFromBlock(block) - - require.Equal(t, element.Timestamp, expTime) - require.Equal(t, element.BlockNumber, expBlockNumber) - require.False(t, element.IsSequencerTx()) - require.Nil(t, element.Tx) -} - -func TestGenSequencerParams(t *testing.T) { - tx := types.NewTransaction(0, l2common.Address{}, big.NewInt(0), 0, big.NewInt(0), []byte{}) - - shouldStartAtElement := uint64(1) - blockOffset := uint64(1) - batches := []sequencer.BatchElement{ - {Timestamp: 1, BlockNumber: 1}, - {Timestamp: 1, BlockNumber: 1, Tx: sequencer.NewCachedTx(tx)}, - } - - params, err := sequencer.GenSequencerBatchParams(shouldStartAtElement, blockOffset, batches) - require.NoError(t, err) - - require.Equal(t, uint64(0), params.ShouldStartAtElement) - require.Equal(t, uint64(len(batches)), params.TotalElementsToAppend) - require.Equal(t, len(batches), len(params.Contexts)) - // There is only 1 sequencer tx - require.Equal(t, 1, len(params.Txs)) - - // There are 2 contexts - // The first context contains the deposit - context1 := params.Contexts[0] - require.Equal(t, uint64(0), context1.NumSequencedTxs) - require.Equal(t, uint64(1), context1.NumSubsequentQueueTxs) - require.Equal(t, uint64(1), context1.Timestamp) - require.Equal(t, uint64(1), context1.BlockNumber) - - // The second context contains the sequencer tx - context2 := params.Contexts[1] - require.Equal(t, uint64(1), context2.NumSequencedTxs) - require.Equal(t, uint64(0), context2.NumSubsequentQueueTxs) - require.Equal(t, uint64(1), context2.Timestamp) - require.Equal(t, uint64(1), context2.BlockNumber) -} - -func TestGenSequencerParamsOnlyDeposits(t *testing.T) { - shouldStartAtElement := uint64(1) - blockOffset := uint64(1) - batches := []sequencer.BatchElement{ - {Timestamp: 1, BlockNumber: 1}, - {Timestamp: 1, BlockNumber: 1}, - {Timestamp: 2, BlockNumber: 2}, - } - - params, err := sequencer.GenSequencerBatchParams(shouldStartAtElement, blockOffset, batches) - require.NoError(t, err) - - // The batches will pack deposits into the same context when their - // timestamps and blocknumbers are the same - require.Equal(t, uint64(0), params.ShouldStartAtElement) - require.Equal(t, uint64(len(batches)), params.TotalElementsToAppend) - // 2 deposits have the same timestamp + blocknumber, they go in the - // same context. 1 deposit has a different timestamp + blocknumber, - // it goes into a different context. Therefore there are 2 contexts - require.Equal(t, 2, len(params.Contexts)) - // No sequencer txs - require.Equal(t, 0, len(params.Txs)) - - // There are 2 contexts - // The first context contains the deposit - context1 := params.Contexts[0] - require.Equal(t, uint64(0), context1.NumSequencedTxs) - require.Equal(t, uint64(2), context1.NumSubsequentQueueTxs) - require.Equal(t, uint64(1), context1.Timestamp) - require.Equal(t, uint64(1), context1.BlockNumber) - - context2 := params.Contexts[1] - require.Equal(t, uint64(0), context2.NumSequencedTxs) - require.Equal(t, uint64(1), context2.NumSubsequentQueueTxs) - require.Equal(t, uint64(2), context2.Timestamp) - require.Equal(t, uint64(2), context2.BlockNumber) -} diff --git a/batch-submitter/drivers/sequencer/cached_tx.go b/batch-submitter/drivers/sequencer/cached_tx.go deleted file mode 100644 index 35ff0604f4a7..000000000000 --- a/batch-submitter/drivers/sequencer/cached_tx.go +++ /dev/null @@ -1,37 +0,0 @@ -package sequencer - -import ( - "bytes" - "fmt" - - l2types "github.com/ethereum-optimism/optimism/l2geth/core/types" -) - -type CachedTx struct { - tx *l2types.Transaction - rawTx []byte -} - -func NewCachedTx(tx *l2types.Transaction) *CachedTx { - var txBuf bytes.Buffer - if err := tx.EncodeRLP(&txBuf); err != nil { - panic(fmt.Sprintf("Unable to encode tx: %v", err)) - } - - return &CachedTx{ - tx: tx, - rawTx: txBuf.Bytes(), - } -} - -func (t *CachedTx) Tx() *l2types.Transaction { - return t.tx -} - -func (t *CachedTx) Size() int { - return len(t.rawTx) -} - -func (t *CachedTx) RawTx() []byte { - return t.rawTx -} diff --git a/batch-submitter/drivers/sequencer/driver.go b/batch-submitter/drivers/sequencer/driver.go deleted file mode 100644 index c0f567e07fa4..000000000000 --- a/batch-submitter/drivers/sequencer/driver.go +++ /dev/null @@ -1,382 +0,0 @@ -package sequencer - -import ( - "context" - "crypto/ecdsa" - "fmt" - "math/big" - "strings" - - "github.com/ethereum-optimism/optimism/batch-submitter/bindings/ctc" - "github.com/ethereum-optimism/optimism/bss-core/drivers" - "github.com/ethereum-optimism/optimism/bss-core/metrics" - "github.com/ethereum-optimism/optimism/bss-core/txmgr" - l2ethclient "github.com/ethereum-optimism/optimism/l2geth/ethclient" - "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/ethclient" - "github.com/ethereum/go-ethereum/log" -) - -const ( - appendSequencerBatchMethodName = "appendSequencerBatch" -) - -var bigOne = new(big.Int).SetUint64(1) - -type Config struct { - Name string - L1Client *ethclient.Client - L2Client *l2ethclient.Client - BlockOffset uint64 - MinTxSize uint64 - MaxTxSize uint64 - MaxPlaintextBatchSize uint64 - CTCAddr common.Address - ChainID *big.Int - PrivKey *ecdsa.PrivateKey - BatchType BatchType -} - -type Driver struct { - cfg Config - ctcContract *ctc.CanonicalTransactionChain - rawCtcContract *bind.BoundContract - walletAddr common.Address - ctcABI *abi.ABI - metrics *Metrics -} - -func NewDriver(cfg Config) (*Driver, error) { - ctcContract, err := ctc.NewCanonicalTransactionChain( - cfg.CTCAddr, cfg.L1Client, - ) - if err != nil { - return nil, err - } - - parsed, err := abi.JSON(strings.NewReader( - ctc.CanonicalTransactionChainABI, - )) - if err != nil { - return nil, err - } - - ctcABI, err := ctc.CanonicalTransactionChainMetaData.GetAbi() - if err != nil { - return nil, err - } - - rawCtcContract := bind.NewBoundContract( - cfg.CTCAddr, parsed, cfg.L1Client, cfg.L1Client, - cfg.L1Client, - ) - - walletAddr := crypto.PubkeyToAddress(cfg.PrivKey.PublicKey) - - return &Driver{ - cfg: cfg, - ctcContract: ctcContract, - rawCtcContract: rawCtcContract, - walletAddr: walletAddr, - ctcABI: ctcABI, - metrics: NewMetrics(cfg.Name), - }, nil -} - -// Name is an identifier used to prefix logs for a particular service. -func (d *Driver) Name() string { - return d.cfg.Name -} - -// WalletAddr is the wallet address used to pay for batch transaction fees. -func (d *Driver) WalletAddr() common.Address { - return d.walletAddr -} - -// Metrics returns the subservice telemetry object. -func (d *Driver) Metrics() metrics.Metrics { - return d.metrics -} - -// ClearPendingTx a publishes a transaction at the next available nonce in order -// to clear any transactions in the mempool left over from a prior running -// instance of the batch submitter. -func (d *Driver) ClearPendingTx( - ctx context.Context, - txMgr txmgr.TxManager, - l1Client *ethclient.Client, -) error { - - return drivers.ClearPendingTx( - d.cfg.Name, ctx, txMgr, l1Client, d.walletAddr, d.cfg.PrivKey, - d.cfg.ChainID, - ) -} - -// GetBatchBlockRange returns the start and end L2 block heights that need to be -// processed. Note that the end value is *exclusive*, therefore if the returned -// values are identical nothing needs to be processed. -func (d *Driver) GetBatchBlockRange( - ctx context.Context) (*big.Int, *big.Int, error) { - - blockOffset := new(big.Int).SetUint64(d.cfg.BlockOffset) - - start, err := d.ctcContract.GetTotalElements(&bind.CallOpts{ - Pending: false, - Context: ctx, - }) - if err != nil { - return nil, nil, err - } - start.Add(start, blockOffset) - - latestHeader, err := d.cfg.L2Client.HeaderByNumber(ctx, nil) - if err != nil { - return nil, nil, err - } - - // Add one because end is *exclusive*. - end := new(big.Int).Add(latestHeader.Number, bigOne) - - if start.Cmp(end) > 0 { - return nil, nil, fmt.Errorf("invalid range, "+ - "end(%v) < start(%v)", end, start) - } - - return start, end, nil -} - -// CraftBatchTx transforms the L2 blocks between start and end into a batch -// transaction using the given nonce. A dummy gas price is used in the resulting -// transaction to use for size estimation. A nil transaction is returned if the -// transaction does not meet the minimum size requirements. -// -// NOTE: This method SHOULD NOT publish the resulting transaction. -func (d *Driver) CraftBatchTx( - ctx context.Context, - start, end, nonce *big.Int, -) (*types.Transaction, error) { - - name := d.cfg.Name - - log.Info(name+" crafting batch tx", "start", start, "end", end, - "nonce", nonce, "type", d.cfg.BatchType.String()) - - var ( - batchElements []BatchElement - totalTxSize uint64 - hasLargeNextTx bool - ) - for i := new(big.Int).Set(start); i.Cmp(end) < 0; i.Add(i, bigOne) { - block, err := d.cfg.L2Client.BlockByNumber(ctx, i) - if err != nil { - return nil, err - } - - // For each sequencer transaction, update our running total with the - // size of the transaction. - batchElement := BatchElementFromBlock(block) - if batchElement.IsSequencerTx() { - // Abort once the total size estimate is greater than the maximum - // configured size. This is a conservative estimate, as the total - // calldata size will be greater when batch contexts are included. - // Below this set will be further whittled until the raw call data - // size also adheres to this constraint. - txLen := batchElement.Tx.Size() - if totalTxSize+uint64(TxLenSize+txLen) > d.cfg.MaxPlaintextBatchSize { - // Adding this transaction causes the batch to be too large, but - // we also record if the batch size without the transaction - // fails to meet our minimum size constraint. This is used below - // to determine whether or not to ignore the minimum size check, - // since in this case it can't be avoided. - hasLargeNextTx = totalTxSize < d.cfg.MinTxSize - break - } - totalTxSize += uint64(TxLenSize + txLen) - } - - batchElements = append(batchElements, batchElement) - } - - shouldStartAt := start.Uint64() - var pruneCount int - for { - batchParams, err := GenSequencerBatchParams( - shouldStartAt, d.cfg.BlockOffset, batchElements, - ) - if err != nil { - return nil, err - } - - // Encode the batch arguments using the configured encoding type. - batchArguments, err := batchParams.Serialize(d.cfg.BatchType) - if err != nil { - return nil, err - } - - appendSequencerBatchID := d.ctcABI.Methods[appendSequencerBatchMethodName].ID - calldata := append(appendSequencerBatchID, batchArguments...) - - log.Info(name+" testing batch size", - "calldata_size", len(calldata), - "min_tx_size", d.cfg.MinTxSize, - "max_tx_size", d.cfg.MaxTxSize) - - // Continue pruning until plaintext calldata size is less than - // configured max. - calldataSize := uint64(len(calldata)) - if calldataSize > d.cfg.MaxTxSize { - oldLen := len(batchElements) - newBatchElementsLen := (oldLen * 9) / 10 - batchElements = batchElements[:newBatchElementsLen] - log.Info(name+" pruned batch", - "old_num_txs", oldLen, - "new_num_txs", newBatchElementsLen) - pruneCount++ - continue - } - - // There are two specific cases in which we choose to ignore the minimum - // L1 tx size. These cases are permitted since they arise from - // situations where the difference between the configured MinTxSize and - // MaxTxSize is less than the maximum L2 tx size permitted by the - // mempool. - // - // This configuration is useful when trying to ensure the profitability - // is sufficient, and we permit batches to be submitted with less than - // our desired configuration only if it is not possible to construct a - // batch within the given parameters. - // - // The two cases are: - // 1. When the next elenent is larger than the difference between the - // min and the max, causing the batch to be too small without the - // element, and too large with it. - // 2. When pruning a batch that exceeds the mac size below, and then - // becomes too small as a result. This is avoided by only applying - // the min size check when the pruneCount is zero. - ignoreMinTxSize := pruneCount > 0 || hasLargeNextTx - if !ignoreMinTxSize && calldataSize < d.cfg.MinTxSize { - log.Info(name+" batch tx size below minimum", - "num_txs", len(batchElements)) - return nil, nil - } - - d.metrics.NumElementsPerBatch().Observe(float64(len(batchElements))) - d.metrics.BatchPruneCount.Set(float64(pruneCount)) - - log.Info(name+" batch constructed", - "num_txs", len(batchElements), - "final_size", len(calldata), - "batch_type", d.cfg.BatchType) - - opts, err := bind.NewKeyedTransactorWithChainID( - d.cfg.PrivKey, d.cfg.ChainID, - ) - if err != nil { - return nil, err - } - opts.Context = ctx - opts.Nonce = nonce - opts.NoSend = true - - tx, err := d.rawCtcContract.RawTransact(opts, calldata) - switch { - case err == nil: - return tx, nil - - // If the transaction failed because the backend does not support - // eth_maxPriorityFeePerGas, fallback to using the default constant. - // Currently Alchemy is the only backend provider that exposes this - // method, so in the event their API is unreachable we can fallback to a - // degraded mode of operation. This also applies to our test - // environments, as hardhat doesn't support the query either. - case drivers.IsMaxPriorityFeePerGasNotFoundError(err): - log.Warn(d.cfg.Name + " eth_maxPriorityFeePerGas is unsupported " + - "by current backend, using fallback gasTipCap") - opts.GasTipCap = drivers.FallbackGasTipCap - return d.rawCtcContract.RawTransact(opts, calldata) - - default: - return nil, err - } - } -} - -// UpdateGasPrice signs an otherwise identical txn to the one provided but with -// updated gas prices sampled from the existing network conditions. -// -// NOTE: Thie method SHOULD NOT publish the resulting transaction. -func (d *Driver) UpdateGasPrice( - ctx context.Context, - tx *types.Transaction, -) (*types.Transaction, error) { - - gasTipCap, err := d.cfg.L1Client.SuggestGasTipCap(ctx) - if err != nil { - // If the transaction failed because the backend does not support - // eth_maxPriorityFeePerGas, fallback to using the default constant. - // Currently Alchemy is the only backend provider that exposes this - // method, so in the event their API is unreachable we can fallback to a - // degraded mode of operation. This also applies to our test - // environments, as hardhat doesn't support the query either. - if !drivers.IsMaxPriorityFeePerGasNotFoundError(err) { - return nil, err - } - - log.Warn(d.cfg.Name + " eth_maxPriorityFeePerGas is unsupported " + - "by current backend, using fallback gasTipCap") - gasTipCap = drivers.FallbackGasTipCap - } - - header, err := d.cfg.L1Client.HeaderByNumber(ctx, nil) - if err != nil { - return nil, err - } - gasFeeCap := txmgr.CalcGasFeeCap(header.BaseFee, gasTipCap) - - // The estimated gas limits performed by RawTransact fail semi-regularly - // with out of gas exceptions. To remedy this we extract the internal calls - // to perform gas price/gas limit estimation here and add a buffer to - // account for any network variability. - gasLimit, err := d.cfg.L1Client.EstimateGas(ctx, ethereum.CallMsg{ - From: d.walletAddr, - To: &d.cfg.CTCAddr, - GasPrice: nil, - GasTipCap: gasTipCap, - GasFeeCap: gasFeeCap, - Value: nil, - Data: tx.Data(), - }) - if err != nil { - return nil, err - } - - opts, err := bind.NewKeyedTransactorWithChainID( - d.cfg.PrivKey, d.cfg.ChainID, - ) - if err != nil { - return nil, err - } - opts.Context = ctx - opts.Nonce = new(big.Int).SetUint64(tx.Nonce()) - opts.GasTipCap = gasTipCap - opts.GasFeeCap = gasFeeCap - opts.GasLimit = 6 * gasLimit / 5 // add 20% buffer to gas limit - opts.NoSend = true - - return d.rawCtcContract.RawTransact(opts, tx.Data()) -} - -// SendTransaction injects a signed transaction into the pending pool for -// execution. -func (d *Driver) SendTransaction( - ctx context.Context, - tx *types.Transaction, -) error { - return d.cfg.L1Client.SendTransaction(ctx, tx) -} diff --git a/batch-submitter/drivers/sequencer/encoding.go b/batch-submitter/drivers/sequencer/encoding.go deleted file mode 100644 index e38b70bc1166..000000000000 --- a/batch-submitter/drivers/sequencer/encoding.go +++ /dev/null @@ -1,400 +0,0 @@ -package sequencer - -import ( - "bufio" - "bytes" - "compress/zlib" - "encoding/binary" - "errors" - "fmt" - "io" - "math" - - l2types "github.com/ethereum-optimism/optimism/l2geth/core/types" - l2rlp "github.com/ethereum-optimism/optimism/l2geth/rlp" -) - -const ( - // TxLenSize is the number of bytes used to represent the size of a - // serialized sequencer transaction. - TxLenSize = 3 -) - -var ( - // byteOrder represents the endiannes used for batch serialization - byteOrder = binary.BigEndian - // ErrMalformedBatch represents a batch that is not well formed - // according to the protocol specification - ErrMalformedBatch = errors.New("malformed batch") -) - -// BatchContext denotes a range of transactions that belong the same batch. It -// is used to compress shared fields that would otherwise be repeated for each -// transaction. -type BatchContext struct { - // NumSequencedTxs specifies the number of sequencer txs included in - // the batch. - NumSequencedTxs uint64 `json:"num_sequenced_txs"` - - // NumSubsequentQueueTxs specifies the number of queued txs included in - // the batch - NumSubsequentQueueTxs uint64 `json:"num_subsequent_queue_txs"` - - // Timestamp is the L1 timestamp of the batch. - Timestamp uint64 `json:"timestamp"` - - // BlockNumber is the L1 BlockNumber of the batch. - BlockNumber uint64 `json:"block_number"` -} - -// IsMarkerContext returns true if the BatchContext is a marker context used to -// specify the encoding format. This is only valid if called on the first -// BatchContext in the calldata. -func (c BatchContext) IsMarkerContext() bool { - return c.Timestamp == 0 -} - -// MarkerBatchType returns the BatchType specified by a marker BatchContext. -// The return value is only valid if called on the first BatchContext in the -// calldata and IsMarkerContext returns true. -func (c BatchContext) MarkerBatchType() BatchType { - switch c.BlockNumber { - case 0: - return BatchTypeZlib - default: - return BatchTypeLegacy - } -} - -// Write encodes the BatchContext into a 16-byte stream using the following -// encoding: -// - num_sequenced_txs: 3 bytes -// - num_subsequent_queue_txs: 3 bytes -// - timestamp: 5 bytes -// - block_number: 5 bytes -// -// Note that writing to a bytes.Buffer cannot -// error, so errors are ignored here -func (c *BatchContext) Write(w *bytes.Buffer) { - _ = writeUint64(w, c.NumSequencedTxs, 3) - _ = writeUint64(w, c.NumSubsequentQueueTxs, 3) - _ = writeUint64(w, c.Timestamp, 5) - _ = writeUint64(w, c.BlockNumber, 5) -} - -// Read decodes the BatchContext from the passed reader. If fewer than 16-bytes -// remain, an error is returned. Otherwise the first 16-bytes will be read using -// the expected encoding: -// - num_sequenced_txs: 3 bytes -// - num_subsequent_queue_txs: 3 bytes -// - timestamp: 5 bytes -// - block_number: 5 bytes -func (c *BatchContext) Read(r io.Reader) error { - if err := readUint64(r, &c.NumSequencedTxs, 3); err != nil { - return err - } - if err := readUint64(r, &c.NumSubsequentQueueTxs, 3); err != nil { - return err - } - if err := readUint64(r, &c.Timestamp, 5); err != nil { - return err - } - return readUint64(r, &c.BlockNumber, 5) -} - -// BatchType represents the type of batch being submitted. When the first -// context in the batch has a timestamp of 0, the blocknumber is interpreted as -// an enum that represets the type. -type BatchType int8 - -const ( - // BatchTypeLegacy represets the legacy batch type. - BatchTypeLegacy BatchType = -1 - - // BatchTypeZlib represents a batch type where the transaction data is - // compressed using zlib. - BatchTypeZlib BatchType = 0 -) - -// BatchTypeFromString returns the BatchType enum based on a human readable -// string. -func BatchTypeFromString(s string) BatchType { - switch s { - case "zlib", "ZLIB": - return BatchTypeZlib - case "legacy", "LEGACY": - return BatchTypeLegacy - default: - return BatchTypeLegacy - } -} - -// String implements the Stringer interface for BatchType. -func (b BatchType) String() string { - switch b { - case BatchTypeLegacy: - return "LEGACY" - case BatchTypeZlib: - return "ZLIB" - default: - return "" - } -} - -// MarkerContext returns the marker context, if any, for the given batch type. -func (b BatchType) MarkerContext() *BatchContext { - switch b { - - // No marker context for legacy encoding. - case BatchTypeLegacy: - return nil - - // Zlib marker context sets block number equal to zero. - case BatchTypeZlib: - return &BatchContext{ - Timestamp: 0, - BlockNumber: 0, - } - - default: - return nil - } -} - -// AppendSequencerBatchParams holds the raw data required to submit a batch of -// L2 txs to L1 CTC contract. Rather than encoding the objects using the -// standard ABI encoding, a custom encoding is and provided in the call data to -// optimize for gas fees, since batch submission of L2 txs is a primary cost -// driver. -type AppendSequencerBatchParams struct { - // ShouldStartAtElement specifies the intended starting sequence number - // of the provided transaction. Upon submission, this should match the - // CTC's expected value otherwise the transaction will revert. - ShouldStartAtElement uint64 - - // TotalElementsToAppend indicates the number of L2 txs represented by - // this batch. This includes both sequencer and queued txs. - TotalElementsToAppend uint64 - - // Contexts aggregates redundant L1 block numbers and L1 timestamps for - // the txns encoded in the Tx slice. Further, they specify consecutive - // tx windows in Txs and implicitly allow one to compute how many - // (omitted) queued txs are in a given window. - Contexts []BatchContext - - // Txs contains all sequencer txs that will be recorded in the L1 CTC - // contract. - Txs []*CachedTx -} - -// Write encodes the AppendSequencerBatchParams using the following format: -// - should_start_at_element: 5 bytes -// - total_elements_to_append: 3 bytes -// - num_contexts: 3 bytes -// - num_contexts * batch_context: num_contexts * 16 bytes -// - [num txs omitted] -// - tx_len: 3 bytes -// - tx_bytes: tx_len bytes -// -// Typed batches include a dummy context as the first context -// where the timestamp is 0. The blocknumber is interpreted -// as an enum that defines the type. It is impossible to have -// a timestamp of 0 in practice, so this safely can indicate -// that the batch is typed. -// Type 0 batches have a dummy context where the blocknumber is -// set to 0. The transaction data is compressed with zlib before -// submitting the transaction to the chain. The fields should_start_at_element, -// total_elements_to_append, num_contexts and the contexts themselves -// are not altered. -// -// Note that writing to a bytes.Buffer cannot -// error, so errors are ignored here -func (p *AppendSequencerBatchParams) Write( - w *bytes.Buffer, - batchType BatchType, -) error { - - _ = writeUint64(w, p.ShouldStartAtElement, 5) - _ = writeUint64(w, p.TotalElementsToAppend, 3) - - // There must be contexts if there are transactions - if len(p.Contexts) == 0 && len(p.Txs) != 0 { - return ErrMalformedBatch - } - - // copy the contexts as to not malleate the struct - // when it is a typed batch - contexts := make([]BatchContext, 0, len(p.Contexts)+1) - // Add the marker context, if any, for non-legacy encodings. - markerContext := batchType.MarkerContext() - if markerContext != nil { - contexts = append(contexts, *markerContext) - } - contexts = append(contexts, p.Contexts...) - - // Write number of contexts followed by each fixed-size BatchContext. - _ = writeUint64(w, uint64(len(contexts)), 3) - for _, context := range contexts { - context.Write(w) - } - - switch batchType { - case BatchTypeLegacy: - // Write each length-prefixed tx. - for _, tx := range p.Txs { - _ = writeUint64(w, uint64(tx.Size()), TxLenSize) - _, _ = w.Write(tx.RawTx()) // can't fail for bytes.Buffer - } - case BatchTypeZlib: - zw := zlib.NewWriter(w) - for _, tx := range p.Txs { - if err := writeUint64(zw, uint64(tx.Size()), TxLenSize); err != nil { - return err - } - if _, err := zw.Write(tx.RawTx()); err != nil { - return err - } - } - if err := zw.Close(); err != nil { - return err - } - - default: - return fmt.Errorf("Unknown batch type: %s", batchType) - } - - return nil -} - -// Serialize performs the same encoding as Write, but returns the resulting -// bytes slice. -func (p *AppendSequencerBatchParams) Serialize( - batchType BatchType, -) ([]byte, error) { - - var buf bytes.Buffer - if err := p.Write(&buf, batchType); err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -// Read decodes the AppendSequencerBatchParams from a bytes stream. If the byte -// stream does not terminate cleanly with an EOF while reading a tx_len, this -// method will return an error. Otherwise, the stream will be parsed according -// to the following format: -// - should_start_at_element: 5 bytes -// - total_elements_to_append: 3 bytes -// - num_contexts: 3 bytes -// - num_contexts * batch_context: num_contexts * 16 bytes -// - [num txs omitted] -// - tx_len: 3 bytes -// - tx_bytes: tx_len bytes -func (p *AppendSequencerBatchParams) Read(r io.Reader) error { - if err := readUint64(r, &p.ShouldStartAtElement, 5); err != nil { - return err - } - if err := readUint64(r, &p.TotalElementsToAppend, 3); err != nil { - return err - } - - // Read number of contexts and deserialize each one. - var numContexts uint64 - if err := readUint64(r, &numContexts, 3); err != nil { - return err - } - - // Assume that it is a legacy batch at first, this will be overwrritten if - // we detect a marker context. - var batchType = BatchTypeLegacy - // Ensure that contexts is never nil - p.Contexts = make([]BatchContext, 0) - for i := uint64(0); i < numContexts; i++ { - var batchContext BatchContext - if err := batchContext.Read(r); err != nil { - return err - } - - if i == 0 && batchContext.IsMarkerContext() { - batchType = batchContext.MarkerBatchType() - continue - } - - p.Contexts = append(p.Contexts, batchContext) - } - - // Define a closure to clean up the reader used by the specified encoding. - var closeReader func() error - switch batchType { - - // The legacy serialization does not require clsing, so we instatiate a - // dummy closure. - case BatchTypeLegacy: - closeReader = func() error { return nil } - - // The zlib serialization requires decompression before reading the - // plaintext bytes, and also requires proper cleanup. - case BatchTypeZlib: - zr, err := zlib.NewReader(r) - if err != nil { - return err - } - closeReader = zr.Close - - r = bufio.NewReader(zr) - } - - // Deserialize any transactions. Since the number of txs is omitted - // from the encoding, loop until the stream is consumed. - for { - var txLen uint64 - err := readUint64(r, &txLen, TxLenSize) - // Getting an EOF when reading the txLen expected for a cleanly - // encoded object. Silence the error and return success if - // the batch is well formed. - if err == io.EOF { - if len(p.Contexts) == 0 && len(p.Txs) != 0 { - return ErrMalformedBatch - } - return closeReader() - } else if err != nil { - return err - } - - tx := new(l2types.Transaction) - if err := tx.DecodeRLP(l2rlp.NewStream(r, txLen)); err != nil { - return err - } - - p.Txs = append(p.Txs, NewCachedTx(tx)) - } -} - -// writeUint64 writes a the bottom `n` bytes of `val` to `w`. -func writeUint64(w io.Writer, val uint64, n uint) error { - if n < 1 || n > 8 { - panic(fmt.Sprintf("invalid number of bytes %d must be 1-8", n)) - } - - const maxUint64 uint64 = math.MaxUint64 - maxVal := maxUint64 >> (8 * (8 - n)) - if val > maxVal { - panic(fmt.Sprintf("cannot encode %d in %d byte value", val, n)) - } - - var buf [8]byte - byteOrder.PutUint64(buf[:], val) - _, err := w.Write(buf[8-n:]) - return err -} - -// readUint64 reads `n` bytes from `r` and returns them in the lower `n` bytes -// of `val`. -func readUint64(r io.Reader, val *uint64, n uint) error { - var buf [8]byte - if _, err := r.Read(buf[8-n:]); err != nil { - return err - } - *val = byteOrder.Uint64(buf[:]) - return nil -} diff --git a/batch-submitter/drivers/sequencer/encoding_test.go b/batch-submitter/drivers/sequencer/encoding_test.go deleted file mode 100644 index 329df3cd34fa..000000000000 --- a/batch-submitter/drivers/sequencer/encoding_test.go +++ /dev/null @@ -1,254 +0,0 @@ -package sequencer_test - -import ( - "bytes" - "encoding/hex" - "encoding/json" - "os" - "testing" - - "github.com/ethereum-optimism/optimism/batch-submitter/drivers/sequencer" - l2types "github.com/ethereum-optimism/optimism/l2geth/core/types" - l2rlp "github.com/ethereum-optimism/optimism/l2geth/rlp" - "github.com/stretchr/testify/require" -) - -// TestBatchContextEncodeDecode tests the (de)serialization of a BatchContext -// against the spec test vector. The encoding should be: -// - num_sequenced_txs: 3 bytes -// - num_subsequent_queue_txs: 3 bytes -// - timestamp: 5 bytes -// - block_number: 5 bytes -func TestBatchContextEncodeDecode(t *testing.T) { - t.Parallel() - - // Test vector is chosen such that each byte maps one to one with a - // specific byte of the parsed BatchContext and such that improper - // choice of endian-ness for any field will fail. - hexEncoding := "000102030405060708090a0b0c0d0e0f" - - expBatch := sequencer.BatchContext{ - NumSequencedTxs: 0x000102, - NumSubsequentQueueTxs: 0x030405, - Timestamp: 0x060708090a, - BlockNumber: 0x0b0c0d0e0f, - } - - rawBytes, err := hex.DecodeString(hexEncoding) - require.Nil(t, err) - - // Test Read produces expected batch. - var batch sequencer.BatchContext - err = batch.Read(bytes.NewReader(rawBytes)) - require.Nil(t, err) - require.Equal(t, expBatch, batch) - - // Test Write produces original test vector. - var buf bytes.Buffer - batch.Write(&buf) - require.Equal(t, hexEncoding, hex.EncodeToString(buf.Bytes())) -} - -// AppendSequencerBatchParamsTestCases is an enclosing struct that holds the -// individual AppendSequencerBatchParamsTests. This is the root-level object -// that will be parsed from the JSON, spec test-vectors. -type AppendSequencerBatchParamsTestCases struct { - Tests []AppendSequencerBatchParamsTest `json:"tests"` -} - -// AppendSequencerBatchParamsTest specifies a single instance of a valid -// encode/decode test case for an AppendequencerBatchParams. -type AppendSequencerBatchParamsTest struct { - Name string `json:"name"` - HexEncoding string `json:"hex_encoding"` - ShouldStartAtElement uint64 `json:"should_start_at_element"` - TotalElementsToAppend uint64 `json:"total_elements_to_append"` - Contexts []sequencer.BatchContext `json:"contexts"` - Txs []string `json:"txs"` - Error bool `json:"error"` -} - -var appendSequencerBatchParamTests = AppendSequencerBatchParamsTestCases{} - -func init() { - data, err := os.ReadFile("./testdata/valid_append_sequencer_batch_params.json") - if err != nil { - panic(err) - } - - err = json.Unmarshal(data, &appendSequencerBatchParamTests) - if err != nil { - panic(err) - } -} - -// TestAppendSequencerBatchParamsEncodeDecode asserts the proper encoding and -// decoding of valid serializations for AppendSequencerBatchParams. -func TestAppendSequencerBatchParamsEncodeDecode(t *testing.T) { - t.Parallel() - - for _, test := range appendSequencerBatchParamTests.Tests { - t.Run(test.Name, func(t *testing.T) { - testAppendSequencerBatchParamsEncodeDecode(t, test) - }) - } -} - -func testAppendSequencerBatchParamsEncodeDecode( - t *testing.T, test AppendSequencerBatchParamsTest) { - - // Decode the expected transactions from their hex serialization. - var expTxs []*l2types.Transaction - for _, txHex := range test.Txs { - txBytes, err := hex.DecodeString(txHex) - require.Nil(t, err) - - rlpStream := l2rlp.NewStream(bytes.NewReader(txBytes), uint64(len(txBytes))) - - tx := new(l2types.Transaction) - err = tx.DecodeRLP(rlpStream) - require.Nil(t, err) - - expTxs = append(expTxs, tx) - } - - // Construct the params we expect to decode, minus the txs. Those are - // compared separately below. - expParams := sequencer.AppendSequencerBatchParams{ - ShouldStartAtElement: test.ShouldStartAtElement, - TotalElementsToAppend: test.TotalElementsToAppend, - Contexts: test.Contexts, - Txs: nil, - } - - // Decode the batch from the test string. - rawBytes, err := hex.DecodeString(test.HexEncoding) - require.Nil(t, err) - - var params sequencer.AppendSequencerBatchParams - err = params.Read(bytes.NewReader(rawBytes)) - if test.Error { - require.ErrorIs(t, err, sequencer.ErrMalformedBatch) - } else { - require.Nil(t, err) - } - - // Assert that the decoded params match the expected params. The - // transactions are compared serparetly (via hash), since the internal - // `time` field of each transaction will differ. This field is only used - // for spam prevention, so it is safe to ignore wrt. to serialization. - // The decoded txs are reset on the the decoded params afterwards to - // test the serialization. - decodedTxs := params.Txs - params.Txs = nil - require.Equal(t, expParams, params) - compareTxs(t, expTxs, decodedTxs) - params.Txs = decodedTxs - - // Finally, encode the decoded object and assert it matches the original - // hex string. - paramsBytes, err := params.Serialize(sequencer.BatchTypeLegacy) - - // Return early when testing error cases, no need to reserialize again - if test.Error { - require.ErrorIs(t, err, sequencer.ErrMalformedBatch) - return - } - - require.Nil(t, err) - require.Equal(t, test.HexEncoding, hex.EncodeToString(paramsBytes)) - - // Serialize the batches in compressed form - compressedParamsBytes, err := params.Serialize(sequencer.BatchTypeZlib) - require.Nil(t, err) - - // Deserialize the compressed batch - var paramsCompressed sequencer.AppendSequencerBatchParams - err = paramsCompressed.Read(bytes.NewReader(compressedParamsBytes)) - require.Nil(t, err) - - decompressedTxs := paramsCompressed.Txs - paramsCompressed.Txs = nil - - require.Equal(t, expParams, paramsCompressed) - compareTxs(t, expTxs, decompressedTxs) - paramsCompressed.Txs = decompressedTxs -} - -// compareTxs compares a list of two transactions, testing each pair by tx hash. -// This is used rather than require.Equal, since there `time` metadata on the -// decoded tx and the expected tx will differ, and can't be modified/ignored. -func compareTxs(t *testing.T, a []*l2types.Transaction, b []*sequencer.CachedTx) { - require.Equal(t, len(a), len(b)) - for i, txA := range a { - require.Equal(t, txA.Hash(), b[i].Tx().Hash()) - } -} - -// TestMarkerContext asserts that each batch type returns the correct marker -// context. -func TestMarkerContext(t *testing.T) { - batchTypes := []sequencer.BatchType{ - sequencer.BatchTypeLegacy, - sequencer.BatchTypeZlib, - } - - for _, batchType := range batchTypes { - t.Run(batchType.String(), func(t *testing.T) { - markerContext := batchType.MarkerContext() - if batchType == sequencer.BatchTypeLegacy { - require.Nil(t, markerContext) - } else { - require.NotNil(t, markerContext) - - // All marker contexts MUST have a zero timestamp. - require.Equal(t, uint64(0), markerContext.Timestamp) - - // Currently all other fields besides block number are defined - // as zero. - require.Equal(t, uint64(0), markerContext.NumSequencedTxs) - require.Equal(t, uint64(0), markerContext.NumSubsequentQueueTxs) - - // Assert that the block number for each batch type is set to - // the correct constant. - switch batchType { - case sequencer.BatchTypeZlib: - require.Equal(t, uint64(0), markerContext.BlockNumber) - default: - t.Fatalf("unknown batch type") - } - - // Ensure MarkerBatchType produces the expected BatchType. - require.Equal(t, batchType, markerContext.MarkerBatchType()) - } - }) - } -} - -// TestIsMarkerContext asserts that IsMarkerContext returns true iff the -// timestamp is zero. -func TestIsMarkerContext(t *testing.T) { - batchContext := sequencer.BatchContext{ - NumSequencedTxs: 1, - NumSubsequentQueueTxs: 2, - Timestamp: 3, - BlockNumber: 4, - } - require.False(t, batchContext.IsMarkerContext()) - - batchContext = sequencer.BatchContext{ - NumSequencedTxs: 0, - NumSubsequentQueueTxs: 0, - Timestamp: 3, - BlockNumber: 0, - } - require.False(t, batchContext.IsMarkerContext()) - - batchContext = sequencer.BatchContext{ - NumSequencedTxs: 1, - NumSubsequentQueueTxs: 2, - Timestamp: 0, - BlockNumber: 4, - } - require.True(t, batchContext.IsMarkerContext()) -} diff --git a/batch-submitter/drivers/sequencer/metrics.go b/batch-submitter/drivers/sequencer/metrics.go deleted file mode 100644 index 2eb5072e11ce..000000000000 --- a/batch-submitter/drivers/sequencer/metrics.go +++ /dev/null @@ -1,30 +0,0 @@ -package sequencer - -import ( - "github.com/ethereum-optimism/optimism/bss-core/metrics" - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" -) - -// Metrics extends the BSS core metrics with additional metrics tracked by the -// sequencer driver. -type Metrics struct { - *metrics.Base - - // BatchPruneCount tracks the number of times a batch of sequencer - // transactions is pruned in order to meet the desired size requirements. - BatchPruneCount prometheus.Gauge -} - -// NewMetrics initializes a new, extended metrics object. -func NewMetrics(subsystem string) *Metrics { - base := metrics.NewBase("batch_submitter", subsystem) - return &Metrics{ - Base: base, - BatchPruneCount: promauto.NewGauge(prometheus.GaugeOpts{ - Name: "batch_prune_count", - Help: "Number of times a batch is pruned", - Subsystem: base.SubsystemName(), - }), - } -} diff --git a/batch-submitter/drivers/sequencer/testdata/valid_append_sequencer_batch_params.json b/batch-submitter/drivers/sequencer/testdata/valid_append_sequencer_batch_params.json deleted file mode 100644 index 9152569fc922..000000000000 --- a/batch-submitter/drivers/sequencer/testdata/valid_append_sequencer_batch_params.json +++ /dev/null @@ -1,1151 +0,0 @@ -{ - "tests": [ - { - "name": "empty-batch", - "hex_encoding": "0000000000000000000000", - "should_start_at_element": 0, - "total_elements_to_append": 0, - "contexts": [], - "txs": [], - "error": false - }, - { - "name": "malformed-single-tx-no-contexts", - "hex_encoding": "000000000100000100000000000ac9808080808080808080", - "should_start_at_element": 1, - "total_elements_to_append": 1, - "contexts": [], - "txs": ["c9808080808080808080"], - "error": true - }, - { - "name": "multiple-txs-no-contexts", - "hex_encoding": "000000000100000400000000000ac980808080808080808000000ac980808080808080808000000ac980808080808080808000000ac9808080808080808080", - "should_start_at_element": 1, - "total_elements_to_append": 4, - "contexts": [], - "txs": [ - "c9808080808080808080", - "c9808080808080808080", - "c9808080808080808080", - "c9808080808080808080" - ], - "error": true - }, - { - "name": "single-context-no-txs", - "hex_encoding": "0000000001000000000001000102030405060708090a0b0c0d0e0f", - "should_start_at_element": 1, - "total_elements_to_append": 0, - "contexts": [ - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - } - ], - "txs": [], - "error": false - }, - { - "name": "multiple-contexts-no-txs", - "hex_encoding": "0000000001000000000004000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f", - "should_start_at_element": 1, - "total_elements_to_append": 0, - "contexts": [ - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - } - ], - "txs": [], - "error": false - }, - { - "name": "complex", - "hex_encoding": "0102030405060708000004000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f00000ac980808080808080808000000ac980808080808080808000000ac980808080808080808000000ac9808080808080808080", - "should_start_at_element": 4328719365, - "total_elements_to_append": 395016, - "contexts": [ - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - }, - { - "num_sequenced_txs": 258, - "num_subsequent_queue_txs": 197637, - "timestamp": 25887770890, - "block_number": 47446822415 - } - ], - "txs": [ - "c9808080808080808080", - "c9808080808080808080", - "c9808080808080808080", - "c9808080808080808080" - ], - "error": false - }, - { - "name": "0x4c6d86eff88ebc2a32b265fb1f50d9265b9c6ee3ecee296e77f73dc80bf14d6f", - "hex_encoding": "000000627e0000a000000200003b00000100618eb1990000cf903f00006400000000618eb2cb0000cf90560002d3f902d00a830f4240830a235594c36442b4a4522e871399cd717abdd847ab11fe8887d93b4805950be5b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000164883164560000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000001467c0000000000000000000000000000000000000000000000000000000000014cd000000000000000000000000000000000000000000000000000d93b4805950be50000000000000000000000000000000000000000000000103b4ef755203fca9300000000000000000000000000000000000000000000000000cb35cd4fd7a60400000000000000000000000000000000000000000000000f3c4e6b2a9e728f090000000000000000000000005d8a79ac9be5d0ef3388c32ba8dbe297231f2a5d00000000000000000000000000000000000000000000000000000000618eb2c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0b5a54d0b801eda0e2d5275ae78bbd86bb6447cebbcbb0907066fee6eac60a6aca0134cda716665ae83206c9bff1cfaa9239d458dbf021bdcc17bb651152478cb7400006bf86906830f42408252089494f68749be6c2e1de2a7d2bb0cf6d1d93269f035870e35fa931a00008037a056d5d431ee66e06a63dc555a1c771c541c77258129191925b1d0bc243380d757a05ae2bc89c470200e87ae6f64f25d2f672c77f3683f0b06b2c1bb890caa634c38000087f8858239898082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000175582b0cf37a015766d33224ee8436d5d144888e17e6b3cdf2eab189f71024488a2101b1c07cfa0773309255f6ea3a3222258bd561b531838a56ea5e5008faf7d9b1ad2249f905e0000a9f8a711830f424082ad0d94da10009cbd5d07dd0cecc66161fc93d7c9000da180b844095ea7b300000000000000000000000011111112542d85b3ef69ae05771c2dccff4faa26ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b6e050ffe3176edae426be69342ba7c67afef2d2bf4b582e38d24dd56da314d6a01d61943505b4c6df0ff351a21f98b5b72d8ea60876181143337f5245e0d93343000087f88582398a8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001a3f9d695e38a03ba36ed49bec30134ee9ed4b76a08ec69999157c9a85cbe7bbea26721a80615aa070c168aa93df6b6754612b440cbfde852865ae3a4226c601d6f3b29568bf92970000aaf8a881dd830f424082b9f394420000000000000000000000000000000000000280b84408fd6322000000000000000000000000f8c3875bfa461a38532fedf90453985901c55114000000000000000000000000000000000000000000000000000000000000000137a037d21f7526b9056579a1a262732a426f58f4639af9a14dd36eaa7fca6762472fa077c0f7e4fa55edfc07613083d8c0e9ad4ab153d2a298e7b048be9bb81de5317d0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a06e80f090baa05bfe44bc783632f3935fda149ca68e4eb3c3d2c96dca9b6b1974a050037cbbc03a2e5c830274adbcdafab1b09d6f80f70f6ee85ac3514d532964420002ecf902e901830f42408307567694e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c50000000000000000000000000000000000000000000000000000000007f24fa40000000000000000000000000000000000000000000000000063f67c416430c200000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f4da10009cbd5d07dd0cecc66161fc93d7c9000da10001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000063f67c416430c200000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f0350000000000000000000000000000000000000000000000000000000038a0097071630b41ac94c20a1057c308cbdf1493c6dab125ba8863aa016133ae6f87a050cb1eec2c694c8418fdd4a69ca871eaaae08d85d76d9caf70a93d9bbb46e2550000aaf8a810830f42408306c351942935cd347b79c319a6464fe3b1087170f142418c80b84447e7ef2400000000000000000000000032245e7e21c7aafebb67a331f3e0a3d32b64d36c0000000000000000000000000000000000000000000000efba9f7e89a60e065e37a0f9e835bc80cd3757f28039d16aa4195e7ec2bdd3669c694391004846ff9aa7fca06fdd40bfc0273b51286595f35d76b1b672fddecfca6f404199c565e5dd7c6027000069f86702830f4240830b759f948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a06e5311e8c988a32336c7d0ea3bffb0bfc1643a0001860826b1b7aa69b229f794a0254d95599ecb207061319c387f70932fbe7ec9954bd0f3e4b40095c7c2f1cf1c0000aaf8a808830f42408301bed2948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a08d60b4d1d096d43454f3e5c197d9c82ae42abd60d53b22dc87589aff1de4eb18a03fa4ff27a3f8dbaa49b4ba809cd5aaa104be07c42739c09f3508ee641f8520790002ecf902e909830f42408309ef9694e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000005033575e2d56e719e000000000000000000000000000000000000000000000000004776860be2525500000000000000000000000000000000000000000000000000000000000000428c6f28f2f1a3c87f0f938b96d27520d9751ec8d9000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000004776860be252550000000000000000000000007fefa3ea382ab9b600039245d8030605d1298e050000000000000000000000000000000000000000000000000000000037a082346b3c5a3b289c008dae754d552b793715eec8e09b16aaf0be7c1c540c3eb2a01edc4d519cd17d7660149a6efaf6995858cf6afb4a9ec003ba9df2543f9149850000adf8ab8302a129830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c2c9db14037a01a24a65cc568a2735d17db87d00bfa7e6e01a6ef5690fe005e9809140c93196ea02a90239825ba94ba7d7c4a1112ab380afd77e9c8f84afd1ef9724fb987bb87630000adf8ab83028f5d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c7247d9f737a0451869327579aac5614b069ca01ffe74b0d537c4b249be4777ccea3e625cf02ea019a2f9579b6dfdd74ab96aa39d916e30e4ef56e5ca50c473b89f59975ff912570000adf8ab830418ad830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c3af9b2f237a03083e87cda2918a157c8a5899793d8167e5ac49e3879df2c5ac8b8211e3d7b40a0776c54c7bce3badb1c73dfd19418b8c511af95a2a268643375b430fcfbabab180000adf8ab8302cdbc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c27d15c2037a0258d86478002957a8dc8f60c259b9c74c8c371b6228b9bb0f04da364d9939788a07a1c27964df017692f59599a3c1a920b4ecaef32046d633f4c4de75c671d95ef0000adf8ab83041b9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c8704c11238a02f2ba0be6ed5fc2ec7a12d7629ee10f413f84e96aa49f39a1ea35fabd80d2c36a05b0526a32dd2228abfcea38b962e450fc58cf0bd38047d3ae7500f8f31643ec20000adf8ab83038ec3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c8bc69adb37a027183828120b0eb332a3f2c1b625416363db9d85432667e32094258e5a1dc162a00df089eee51078190c534c5ea5580abcb82dddcb097750724af9bbb019d5827a0000adf8ab8302bbea830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c4b58591338a0abe9af074b3c8019e56b25e594cb878811a1d5bb4901f700efa0c1e574c4c002a06bd06f640560aa1f3c8f9df70cc7ed23b4278bb5965a610c14f2fc78ac7b19500000adf8ab830377f3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006cefc2f7c038a03d1c39b3d3cf3159e4bff80baab48428ee39e2ae37b489b69b928041e0c2b0bda06ce309d2a3cd39ffdb3306d0d98f8f9628944c4b86449edfda0ec48a2d7333930000adf8ab8303e073830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c268ca72038a0fa278a0102831967e22e4b27e5b975e207741a4a23ea8ae9ef1ca57224a4ee04a03555f35f0f329dbde172056cfd8a731c6b386ae9dbedd241e7b2c9ec924055e3000087f88582398b8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000020563114fa37a08bea3871844715d1fd0c53a7ed03d3f0e37123cb3f214a14572403cffa51f59da0706373debd9cd3e82973a369c9b5194469fa0d6a1c0c5d9980b4a8fd53d1658b0000adf8ab830377f4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cd9cd6e037a01402bce86920a947b98853ec1e8aac3b451b0e26ce3a88762bea272d5e3b29f3a0663c518cf532ec99bc49e34f79ba8ea40107045d3def9eed2c9a3e27ed3d092e0000adf8ab83028f5e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc5d94c837a0b9ea567d543b005a4b0a77960bccc98f585c057669e197c00de3bb506afc4ddca04c7957d77a51beacab335c3b21729c1741929e020aa2f9a3d9a606944d9655a40000adf8ab830418ae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cca53a4837a0e14064b5648e70b5c540b067abc553434dca84eb49f493227809de3232cd470ea0644c2c9c3144bfde4d5060485a8c95ea355d82f2c8ec1aefbe5bcb1ece1afaef0000adf8ab8303e074830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc62634037a0f255c3589f99835073ea3ead97e609aa70dc4b48486df70e1cbfb2df7dc131e4a011dd726877dab0375ca8fc72c33bf64385db8e60293af0b3097ba7f8fb870bce0000adf8ab830347ae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000ccbe3e2638a0752694b31b6b90638e80d7e2e15a29cf53f3d10378e3502be58fd7ad06bb9133a066d7b3ebba645bdd09334c57ccfc10a06a70a27e106219cb23db552a98f560c80000adf8ab83038ec4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000ccbe3e2638a0bd288952371c618c7611ee3240348f69f0c6b7ea6510fdb7820b8f702694bab2a03ab1c497d3cd02885cb3b03fb6e3e2ec8a81aeafd181897f8f5cefe3b9eb8ee00000adf8ab8302bbeb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc902a0038a0499b3e90fd392ef35ce51b60179630efa34a6be3dc5fb06bdb65351881fd2bc4a07c8b4e654eb84c6b9a5d9d447154fd2c688967c9a721a04bc2c69ea39cfcd94b0000adf8ab83041b9b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc9c87e637a0a1068edc13455067589576f504ab25c46400e5adca3864508204c2a9ce384683a048c68fd5b07ddbb372f80dde21c47f34a042f4fefefc809513a26d66f4a353c10000aaf8a80a830f42408301bf49948700daec35af8ff88c16bdf0418774cb3d7599b480b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a01a45ea29523adfe004472bf0b7024e37e40f29c01f72e1f11fd3bf33406abdb9a05b628131bf8390013d8058e39bfd7a59e0f495fe51324aac425ebbb1aa701fef0000adf8ab83035240830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc53210037a07277ae6e705d59e27879cc2857135e4dd4f3dc587dae078f7fcd2f7816f9853da01432b1e4bfae611fac09454aff3d3c1937c608d30afd71bb80f5aeb7042874f20000a9f8a780830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b497df9d7401a66300972576bc9635f29311f1b944afb5f8b220b2cbafe47d43a03dbd38c7ef426c380bc9733d005464b7cf0e2602c8807fb7227d85f3d2d0e9e3000173f9017006830f424083074b359486ca30bef97fb651b8d866d45503684b90cb33128711c37937e08000b90104eea0d7b200000000000000000000000000000000000000000000000000000000000000890000000000000000000000001cd7e09bd346317c6cd1eadb01cca370e907276f0000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000c688160b83230000000000000000000000000000000000000000000000000010d5e0b4253125000000000000000000000000000000000000000000000000000000006197eee50000000000000000000000000000000000000000000000000010d19e54cdd622000000000000000000000000000000000000000000000000000000006197eee538a053c4fc2ca3b6f0e01bc85c49cf0fe109bf61f6ea0464e7dbc8d33938c80e8cb8a032826f483f02d6b872c6f80cda32fb8ca7af8430e5b8aff7e7c8ada682782f20000173f9017003830f424083074b359486ca30bef97fb651b8d866d45503684b90cb3312879fdf42f6e48000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000957aa193e6b0da3ec0df22d3cf0e8f78ae9ed44e000000000000000000000000000000000000000000000000009fdf42f6e480000000000000000000000000000000000000000000000000000000c688160b8323000000000000000000000000000000000000000000000000009db9242e649133000000000000000000000000000000000000000000000000000000006197eeec000000000000000000000000000000000000000000000000009d92cc01b2df17000000000000000000000000000000000000000000000000000000006197eeec38a007d885d9c24ea2836782f07f4d3927d70859d27c3b0ac5ffa76b1d7a988ddeb3a04b8eb1b9ef8403a8a1440ee1ed2f5a97f54e9da9567458786d10176334ebcff80000adf8ab83035241830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc53210038a0599da528babf85c1781efff669d0722babecfabea9ff9c6e055089bcbd8e28a1a02944f6b1758a2537b4fafa246cf29c54745fe35b788bf0939f1a9f404023690900012df9012a8214fd830f424083095f8d9483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000f3baeab4afa486991845d5dbe31069265da39d5700000000000000000000000000000000000000000000000000b15a3179d71a59bce13028af59931de40e506ba34116a15c32b9ff23ccba25257b9681bcf1598a0000000000000000000000000000000000000000000000000000c44d3fabb39300000000000000000000000000000000000000000000000000b031cf251e4c48000000000000000000000000000000000000000000000000000000006197ee5a38a02326de5e21d265b0e358671d32a35adc04910296674e27cd6810c282e2c328f7a067362e2d208baa60e534f5ba18d579b9c1c10eb6eea0a60476f12e24f27a46120000adf8ab8303e075830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008496000000000000000000000000000000000000000000000000000005d0a21ac5c038a09a133cc553c3bf2580c54efb0523950f2e6b6aef94d1d167815e6ba4579cdfa4a0056b699f0279f0281f0b8fec916ae3e56ac25ecd1d22b8310510382514cc1cfa000087f88582398c8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000019d132d23b37a0d3fbb61ebc1d708343b8078f5003876a240c9c7bbe51f27bbb7da28062b5fdd0a002c14c9ee685970f56fa09fe67a70ed3686c38581d4b570ff3f084d064b779390002acf902a90b830f42408306acce94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000008700daec35af8ff88c16bdf0418774cb3d7599b400000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000009ab417d5a0eb3263600000000000000000000000000000000000000000000000005370e6f859cae4d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000005370e6f859cae4d0000000000000000000000007fefa3ea382ab9b600039245d8030605d1298e050000000000000000000000000000000000000000000000000000000037a0ca7f478d94e883d70c9f9e4934a6b0cdc46ac04c858985cb36d39ff5e368cef7a04f281654345fa1d7a27967b650c974cd34d6e22a7e1755fbef9a23b72298dc3b00016cf9016901830f42408307695c947d269d3e0d61a05a0ba976b7dbf8805bf844af3f80b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000070f45074275ddddeb71bc6a1280fbd06ec1fa59000000000000000000000000000000000000000000000000000000002504ced70000000000000000000000000000000000000000000000000000000000114e2b0000000000000000000000000000000000000000000000000000000024820c8f000000000000000000000000000000000000000000000000000000006197ef040000000000000000000000000000000000000000000000000000000024a8edb3000000000000000000000000000000000000000000000000000000006197ef0437a07d334bcee8fcb34f32c271f057274c7133cce1d702c90f1d6e6bb4272046c16ea02f22f2c7c8d3d1eb7aef2313aecd43c5ac5a97d5edd574c5ed244b5b7401d1b9000087f88582398d8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d72e3ec7238a09e896cd11413109d4f213baab7cc4846d87c49063b4054af5dd9733f3a9d4025a0108f569ae6f312f029b10e50e00602a42f302445f4bea2c8413b51f5fb5e2c900000adf8ab830418af830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d40ecf895a37a07cb37da1e356fa5525a695e4659009f09be59139103fcf44e315de2d721caf7da0562ca86a85cb3b733d122b0224818690ded8c35c19277edece2b9aced56409110000adf8ab8302a12a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d12f8f0b1637a06116803df396df186a4af05e651dd04e0884f0fd95f830ce376899a6a92cbd41a07a893c4d997041259f9332b68a7d1d65b26899fecb5c22867986fb39e8b5fc4b0000adf8ab8302bbec830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d04bea904037a09ad766ffd8abce6d8e0046ef1b35066610c27b460e1b37d3813ecade155be936a00e714330dc2f7f3ce97ca55a421f7cc1dc80dda619080771f591eaaba9d9b8c10000adf8ab83035242830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a08cb1fe1915fe5df85e13d5c4048cd463175b7538f577bbfbfb6b2116591d0b8fa00f8467fd6f0bed59ea7610dfd1c876141992e824f89ccddaa5275a7cc773ce6c0000adf8ab8302cdbd830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a0e080217b85ab1fe4a2727b9ce97316de70a3e12bf63e767a8042b49631cbf727a057c2274156a5dbb3187254d7fc2f57218fa990a5d8257b7f7f858b3e2dab90710000adf8ab830347af830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a0b16f2541a39a9f982e7d583bf718b23ff0122a5069259fba60bb94fcb388d3c5a04ad6e2a640b4980de85422f66eec79c8eac6ecd802fbce5ba58ad92af6ab34da0000adf8ab83041b9c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d5281fbef238a01c809357c61c1b2861014fe6866a4dd7a10db8f3d8374bc3d97ced5f2a66c306a07b98eb5debfeb86886f752b52d084b8d3517177960be5e56159ae3f74762f2a20000adf8ab83028f5f830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d04bea904037a05335a40a377ae1f38d9177d634306a997264ab6cfd12f2b60b33b97c3b251b72a04f37a5c4788b3f1470105476eb1710bf243013a43facaf4e3cc607b9727dde930000adf8ab8302bbed830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc06d5c038a0e826381ca7415de4a438ab69a63e5a23511cbfe4970dd38e013850f3083f9bfba073c4f67842f5f4c2bd8c1d2d9ac788e2eb459a9e1a1c7d28f455a8762494c1a10000adf8ab830418b0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc77738838a0ea4453c973edfbdfb0793502b9f5041fa235b7a8f5370be63af3490c53d2fdb6a05a97b5cd7a81c2ca69f9f9edc479d5513238a64812b3ef29c6be1030422ff7df0000adf8ab8303e076830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc255a4038a0d5419ca4a5d9a646acc51f10aff18f152db1e07480e2262a9c0bbda7e4ed91ada07c5dd1b98b36b1dc95837e88aaefd198ee70b4da5bda8a05ad925bd5a802b2660000adf8ab830347b0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc774a3038a01e70623c8f2bb651075eebd6683caa820e59bae98b01ceff0e3ed77a5731d763a00e457adfb02225a8a19fdba7776a9b927f470bb7cae11c322afbff797f66e0c30000adf8ab83038ec5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc4bea7e38a0c1c0e3d84ab8b9ab8415dbb8b45baa6bd013cebe85ecefaecce3844b62b64c9ea03d227fb36e75ceedacaa2666b881be02658ee50083740d9caca6f28c813c12730000adf8ab83028f60830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc00d2b038a087f36e9a09fd5e4cffa7ce68fae21b5d0591413bc364b9af87470370c00df778a061f7a3d7ca134076e74a48a6f46f81dc614776d27beba2b0a4e87c6411fbd46a0000adf8ab83041b9d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc6ccb4837a0c8dd58b509cb59a0c6402f9662dd10bfa53c394119702d55d86ae8d3a23eb130a0495fd5d6542e57bfab658d64afd87251bbe49cee26a5dbaebf623005aada1fef0000adf8ab830377f5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cddfdb8038a004a4c24fb05919f14d90dd4bfe62ed2332ca087f71053382885f5e8abe728367a03115b4f348864ba034363409fa3654bbd87f34d6e972c5105039aedfa7e1f9c30000adf8ab83035243830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc349c8038a098763e338e8779c46339610fe59b534f6bb8b81f7cd6bac7094f84b807282792a06f2fb0bf396670033ea1de5387ef79bf6b8328aaa33f2f4a86625e7cbb29d4df0001b3f901b002830f424083058eee94e592427a0aece92de3edee1f18e0157c05861564872386f26fc10000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f03500000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000002ac7b2b000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f47f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000038a00968c3c7676606c1c12ea3eee3f6b7f0e002b283d48b2333fdb773589c1cf035a057b4dc1df5916305dc715ec1b203b68a6b5d2d160e5776f5fb7c2c4ee1709c8b00006af8688186830f4240830cc7a7944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0fb7829ec1b12c8ebe2fe85a67039185c4e964157c47fc0e24182326c024b3b85a050f079fc0089e10a70b0b59ca8d29b4d37d7f000f6963577facfd905681ad6af00012df9012a8214fe830f424083095fa59483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000a946c445bf7f1675309fcd3a968da4da4e3a107a00000000000000000000000000000000000000000000000001c8182059d45f62d9f28192da1236f7fd73e83c9be966654c65edf12fd0bef1db53dd86b78f21380000000000000000000000000000000000000000000000000000c475369cc7ab00000000000000000000000000000000000000000000000001c6558c7b9dccc9000000000000000000000000000000000000000000000000000000006197ed8c38a03d8f33d69a9d8db072b498765e975d0c418ce3cc49709b9293032f6e4f0ab764a05822e1647b288ea0edbdf18d3f024caa6938a1785b00e0b16aa0a1963412691200012df9012a8214ff830f424083095fa59483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000ed4d5a7b37867fcad2b7518f1bca05f2d8960a8a0000000000000000000000000000000000000000000000001981f67e5a7dd9f00456779eedeccd75ca617e501329af0a895afa9a9c4310009be45faf79078b270000000000000000000000000000000000000000000000000005e556e3b22033000000000000000000000000000000000000000000000000196dcd66573d7350000000000000000000000000000000000000000000000000000000006197edbf37a02e074e0a6c83710696939ccdc0c36ef4ce9aa63de9eac505c0cf95276426771ea0595f7ffb36a9c5ebc552622419959a4f6bfcafd54d64f4f3ad4782e76f90827b00012df9012a821500830f424083095f999483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000f1e2bc6782ce613e4425942c81b8455a6c3d3f830000000000000000000000000000000000000000000000000162ca6564335a1d4b606a0420841988c08cb5b9908a8000d13efd3c30ede306feadadcc81d114650000000000000000000000000000000000000000000000000000c4211f17379b00000000000000000000000000000000000000000000000001613edc8cc31ebf000000000000000000000000000000000000000000000000000000006197ef0837a02b404d3c6e581f5b246ac67f6f05f478e8090d5adcac38eac707a35041f778d0a048b217ec0a4a771ed757476f3c720229c27d2e586d84b96383a2435968a4d19b00006af8688187830f4240830ad25c948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a083e5626ce998fff969623fb4e912691b01084da709720b1c3ebd9acbaa51c187a057491c497b9180b845b3d6745c6882fc51398b97a2f521db3b211e83706ebba10000adf8ab8303e077830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c27325d0037a0d7737aa643e5bb97c566d9bca779dabfba41819866b8a474a53d591016d933fea01e84e512da5139b67f273b88087a1304971bdebacff4bac4ce64b17b511a900d0000adf8ab8302bbee830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d062da605f38a021d11b8e480b972e8d6a896511463be052a967379b1a80b82f8d0c6543d8ce5ba0272f5d9e8b7f39253ef4c173b8da77dfb0a28fe5397043ab8ee9f86516f817cd0000adf8ab83028f61830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c63c228ac38a06b639fc9a7590678b61632cdbc9b7e0dbd07fd1f95c16bee64e0db61ce40bc2fa05fb89efc6bb99077e7d73010dd255734173c6b0fa1bc1be38f6e95b0394f05e90000adf8ab830347b1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000391ff3d238a0a1648426a372bd9e2452628c4492176850dc7ab82451727b6ac4026a2ad2fb34a047006fb765d79776402b764117681f3443f3d7279835e74109b0d9e58b4ae4270000adf8ab830418b1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c2b01b48037a01623ed5241c70f51d9d85de840164f79a5407d0e8d3f1fd4f2c60f4928846aa1a060caceb04569f4e776f76d379ef54ff85652547050044cc3c7f556f5b2b861a20000adf8ab830347b2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0b9366f6e38a0bbda649652ab5a60bc1f8d534f885897e4a1ff076f42a2e4396e034a18986629a0673697475525e93eb09f83cee33746c9070eeda2ad51931e65b36debc555209c0000adf8ab83038ec6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c7ae8a4d837a02c9526e68347ee7f1e17fd7c8bfe376b19108c2b59d1952ec364d58489645beca0275536c999ad14f3e4bbc4c838e010fd990d451d1437594f958748413e307f4a0000adf8ab83038ec7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000390db68038a0d6d8fde29fca2750202bb1e43bb5cfd2334cf11124e26feadca7d5e82f8b33aea07e34ea35eba0c20b083f1587d7a191c0b68eea9d6f6451e6c13bdba23318b1570000adf8ab8302a12b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c2955b23038a07cefadfa8249c8b881d24456b4892111d310a62e9e4fb7655d273464f8dd160ba06323bd995a60e151766b327f2e4e480af16d3e1972c5c79508adcc1397f6a5dc0000adf8ab83028f62830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15480540038a02d20eeee99c886b86f12865e00faf61dff3745c2963736344d5113293ca822f1a0094bb48ca97b5c58472c9c0a59125bbb50fbaf8c7095d6c714e205403fdf37990000adf8ab83028f63830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15480540038a041d0b3f97d932ac1ba73a39a81b44e4561579368a94dff229d8699c187e82119a003966674c147e5b13113dff388268388b4ea3c4475c8043c00c264aa8a12fbd60000adf8ab830418b2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000393e2f2e38a0c2fabbb8f8ec937888e69284fefcfaa05d8c2e25711e8a573e6ab67a2e7c33caa04884537131eb35a4c3b59f53298aa8a804a169dc2c2721e8b59650688cb5f2740000adf8ab8303e078830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a03afcc6c91e52a49e4ed7edd5f0708735e094404d3ed9d7b903e919cfc4774118a00659f1d219c1aa0f1ad1e3b20d8670b7210e4c1e5f2d57745825dec8c4ba55310000adf8ab83041b9e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c597b851137a053dcb72dced80bffeedf02ddb381ef33ef48100436eeab71302ba7cbd3d6139aa0293f76b2dc276c2e694308b2cbe2feb42ba66ca7b09ee4fbed731c8b0766ffb50000adf8ab83041b9f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c597b851138a0a78a05eba5c68ebc631eab77cde703795e5441a1747c7c878de2abcb4f4ae477a04c2a33f900ba2ab903296cc002705f2c06a8006da269ca313c2f4a655d40ee770000adf8ab8302a12c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0f70a8c0037a0248a1cbfc2384732f8940fa96f3a3c984edafaf6ef81590b4f07ef8431bb8302a019276250716374b643054cdbc35c262cec097be851de112ab69ed576ecd842200000adf8ab83028f64830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc489e2338a0589f5de150ae019b386f51bf60111ba39fd5ca14b3e55d0dfe436c25b9e4b12ea02fc7e13f09f06191313bd2a72d15adb5e032b168f5b2b6561afedb2632d6d9b40000adf8ab83041ba0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d2e2a5e5d737a007f8f35e937eeec90057dd44db7fbb8e8c99ecc8fbb4d4118cbb471f95bd196da007e7ae017bb86274eb740713bcbeaa43ba90ed5f2b1c984b4b7d6fde5685fff50000adf8ab83041ba1830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d2e2a5e5d737a05105416660c2985cfe33ab594fd8b38d144d706e4d353737d0cacade6bfe4e2aa016a063b4f5fc31e5b0f8388eda9d574df2afb65451dc780a956fc4981ca4309c0000adf8ab830418b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc9d992838a080bae666688dbb1e906fe8c71403e68dc3c29b869f07b6a11baac0294f545d77a047174c17f0f9b4a3170993588067e44066ec0d47c0107d44596db63e58ebf6a90000adf8ab8302bbef830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc3af45437a0fd4e02b5b66a64f241efc281a6c098531d6388a046707d1ce8eab9b7e07fd1c0a07d078a7098c1aee0e6cc127c03e96bda09a80b49d3eb955150ff0793a70a893c0000adf8ab830377f6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c88a221ad37a08d0023e0225cba0572310764eb5a179653f8d0bca9d13882dc0ae37214f3926aa075d7a57f17c8c0eaaa23f57715e7ee6308096443cd2fb390afd7211c3aea2c760000adf8ab8302bbf0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc3af45437a06cfa5e18ae0c234a70348b671104ba0980064e7bae83dc6b4774f81e0ef3166fa00e56373af536c2089fdf011135b32bde20b8d935cca23bdbc1ac60efa212dbc80000adf8ab8302bbf1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c289cc27038a02475617730703e735bd30651ec999f7cd72120eb6816313402287c5228aa16cea04513d5ab22c5147952069cc4518989f2f3446b0145c812d566358b0743624fd50000adf8ab830377f7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392ac76337a0615656680677adff3dfddbc5c663e373cd200d200363b585a00e1b0dbda5482fa012bbdcf2523dbd66bd14bf0e65e4ab8f2ce11f4639ab52f71ecc7811ab7446a90000adf8ab830377f8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392ac76337a088f7321644d53019c07eb2f49d3d062c76e7b5133420c593ba1b1c7dc576621fa02de158b410f471531ea6e6885687394704351e1b03cf9de6f5ff53d088e16c690000acf8aa8302bbf2830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c289cc27038a0b62ab9443e178938d68efdf0e5cb40f5211422bc5432be771381d387c9ff86729fc1725800f5f0413233a3a4d4cdb638a53ace6fbd5048ac61198ab1ba058f180000adf8ab8302cdbe830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d38a0ff9eefd1585182f1a06a6bbb6404ec16461eb6fa858518bc34c8307b2e67162da040e77505ccba6240ab42e5f292819f15e561ae27fc200d25b8419aeee725a1a30000adf8ab830347b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a0a5063a9c8d7f4eb1754acca97ab6503b85ae47016ce355333f37de6b8b1e5db1a00a2053014ed0cc2f5d501166ea5834cdcff05a22d716654e1591bfb6b57400b60000adf8ab830347b4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a09094ef07f30b6689ace8785743003e0cd7f8e59b3fa863a44be08c2f3d07885da00a1b76c89e219fe35855cdb61ff5530ddfb2f4689527774e0cc624d13ee863020000adf8ab8302cdbf830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d37a0f114c04ea96c5c1ba52804ef2a88dc68851d5b1a08488d74739690a9420329f5a040f08a6816811deb0846968f5f7893be673ebc86c96012ee96efc34e1b8c57030000adf8ab830377f9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006cefc2f7c037a0edcda5bfcd768708e6b7a72f90865bf9c656fd13762637a9f1cde4146189f7d5a06a2abbb1fdb126da7b65a72221171a7a2453c69ce1aab7cbdf3ca9978adf2f600000adf8ab83035244830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0ff5818a037a055cfc3c1db3eb3abbb550f3839b2bc737bc61588f19a13770ee2213f713748b3a00f068b6e820f8668cb4bda5575c70f18117e85d2d326b856e3bcd4e2a8ac61830000adf8ab83035245830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d10161f26038a00b8e50701ee450699a8621ca7af2d7d2ed00add722f0b00f1214e1428d68628ba01c03a88fe611e5c732b04003590fb3970c078fcb5a1d90dd22da261aedbb27bb0000adf8ab83038ec8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc0b6d0b37a0ff4872f91944efb85633d280e8a13b022248c6a1367a4b2e1cb13fe1754ad8c8a06d615f7d8889b1fbbaa53952a10ad962f4ede0a3b51699c5e75b769319530cdd0000adf8ab8303e079830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d38a0fb58ce8c8d35ba0427361748935fb638aca5b88d66fd688cbe5ef1fabe17fd86a050e8c1ff439ca2ca80827237d549c41a584d87c62d5a64f14ea1df68a478fdc40000adf8ab83038ec9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc0b6d0b37a08266b0ce029a2f96e5830a57eefe1fa9e0f3197d5e2e9ec9f80f5db8a239159fa009c490fc833821ef63ad6137feaea272858183abc3a8055ff63e3e97f32869e60000adf8ab8303e07a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000391dbc1038a09acc386e71531b3d8ea0c5f306c4bba03c4580a200bd29a89f1b14101f7f4a3da060278307f2de524c4065509a61e3f8de786c028d301b6d87bb75cdb301ea836c0000adf8ab8302cdc0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0f3cf854037a09beb247dc99ce045ad12eb05e8c4f6974d8c1eb396a6f466ef45b3458f644ceaa0116c42e912aef6d465f266a9a6818d6a8e1761a0ebd836db8203c8ef280e291f0000adf8ab8303e07b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15ff2040038a0ebf8bee2b48453e61351f4e1a07dd41888f8fdb1945f03148234ffd0e7ed6d20a002afcd468c2bec779d460f3e8388a3f5764c2f6a0d4cc9e10cf2afa1bdcd4e810000adf8ab8302cdc1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c1e01db0d38a0c45508aafa947b5d8c58fb1c21997eeeb2c51b72ce83148823f3e6923fe7445ba060e75ab98f8c7b77c08b2b6bf3460d86c531a1952fb86edac4e1a53f4897a1b40000adf8ab83041ba2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392d75f137a08e89983e477a1a57adcd5e68b626ef31e4cf6b413bd1a1c20eaedea504c0fd35a01b4d5b814a6d0dc07eb606975f41b522dd71c94b690667ba7bd9e07ac08079560000adf8ab830418b4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d32ef8ab8d37a0f5e0f23251392b033548f18d8dfb1b620a5cf0e7c029872827137ea0ad34af3aa041ddafbea6bfeeee50e64b3a6176ba67093ef8f1191ebd443318576d5560af310000adf8ab8302cdc2830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c1e01db0d37a09df5e84ac29f8a4d5b37f6ab84d25fd133907672127ae947f8764fe98b9ed115a016185030865797c2a8bece0043fdffca7e9f20493c4582c417862225c94d2ef50000adf8ab830418b5830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d32ef8ab8d37a01830c993d69186b000d849c187b255c3f475b9553e110271819d241604189efba01e5f47528505c65e5d4c148902806d90994d1633c4f8bf6d2bdeb5a469b32ca10000adf8ab83041ba3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc2b77ce37a01804e63a644548ccded888a8b360e69bbbf8581e452acf0bf63529fd4c15a81fa04ad72f0af368d9ab676e0f0a544f447792a4bca549f5a82362abb079e65fa81d0000adf8ab830377fa830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cddfdb8037a0bd17da31b76066d7ede20c0f2e6ebe8d0e68e8e5d200cee3b71ebb20aa35ea1ea01716cdb4f6cc5642bea9fe599440bd490faa04525a0c469331083564109047090000adf8ab830377fb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cddfdb8038a07af4833c368fe7242637bca53090112c934098a9260621f4f749aadbd188efb3a07acbc285dbeda6027615ef899683cbf408dd9d637bf39185de2494ed4d44144d0000adf8ab83035246830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003918266038a0a2225716f0cfe0d1d30cb485d87aefd828d984db298bd6b1334343932617b737a00b077cdf2266880ee0fb8467f2859b4321cb939e74b449c94016e48155d8d2a30000adf8ab83035247830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc255a4038a0ce65a3e54c7a8297ced289230434c4b2e592616a84cd5f2ac415fc317fd815c3a0324025da141d322ad3339925fee8d3379c70ec2b01e6e3528a87698252b605820000adf8ab8302a12d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003925990038a0c07d65f0ac73542adfb0a041d7a230b16e2cd591cef23fdf0928defdc24337bda05cb58aa6aa793c1d6f57ad59e2d56032c45d35cea7a214ae863c76cc0b2b05030000adf8ab83035248830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc255a4037a05f655374f26a0a9245ab2c73a2a4b9da61000c10f0b7cb04d19cbc02e1e7d700a020d6c718965d3e47bd0900d24cce7c6ac838eff31c67f378764f0fe7caec85700001b3f901b003830f424083058efd94e592427a0aece92de3edee1f18e0157c058615648711c37937e08000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f03500000000000000000000000000000000000000000000000000000000618eb3f70000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000001563de1000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f47f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000037a0be633e74a6f7fe9fe3f593205fc626aca2427cf1ed2a492ec609c974a0be64d4a07df935d6a05cd4dc85b4a1331ac4e3d615d444603d7410353a5893b283bbba250000adf8ab830377fc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006cefc2f7c037a0a10fc7e481b3092b4dc5f4f09cd2b4fae15f535811f6afe2720ec8ffb9d03ef6a003d3c89cbe4e85af7691a4cb3919a7e587ad5528d91da0bc3fa3a711fee155f10000adf8ab83028f65830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c63c228ac38a0b6a8d7f7cf8e256e002b22ef5af25413e0a9af571a330a5fbe96257224aad4d6a061b0be26e18822f1f68d417ddc56e6e22cc0c2f561fff59875ede418cbc015b30000adf8ab830418b6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c2210e30037a0c6360221943b5dc3af1485d3d145f1c4f96f4c9c807348db4c2ac0eb5c9a5f80a0740517b6a838a4752aa685b1c4cd83418b41253a095351f0766e77f2b14ef51e0000adf8ab8302cdc3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c1e01db0d37a002b852378ed57fb69dcb9cae344592e3ccf8f58742b3d20517981a8df5770cdea06ec996ec687c5d16e5cb909e1893b6bcc686ce07ac2583835ab14f72cf04aeb70000adf8ab83041ba4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c597b851138a0d6bf553cbc2680a61dbb0552319f2a9c05f63f8e90f79e7cf6062fb3340caa94a05ad510feb52d90c07659e50e1caccabbef797a595d0857c88ee343fa613f0d620000adf8ab8302a12e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c22527fe037a08d012b76a669adea84c9d05bb7785da7d1aea7fd657a9495bd41fcd5d785fa96a052cf49b090e0a3e7b873594a5437b3e55c075d334406b1040d913899aec185f20000adf8ab83038eca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c7ae8a4d837a0760add825365d0e43bb3bfeb26e2c436258ff4ad593a75b2bcfb2981dd439862a0582d721885e8206375b10e8f939c986e03fb2e85d39842c2c2e1268a79a6c5810000adf8ab83035249830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003914bd5437a0f6d9b4806e21cef5ca1a1be43dce5db8fb26fcaa0880736291736823a1a5a666a06d62bb7219308271c38000e84ca1ea9646070532b194ef56904046adfcc6c5bd0000adf8ab8302bbf3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c22527fe038a0b1bb063e28a9b430f939ecce7081f064a7f8eb378822761fdb9e5c1e56f9afeaa0524b2a2ad1f38c0b69167c8fb2513f68b70790fcd4eae251b3e1bbd5d7a6f0fa0000adf8ab8302cdc4830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003919eb8037a0e6e0fdb36ea07407052c0d06fdd9fffc655999eb06fba096941d1cb9deb817d6a06f49c5a853300409fc02c3360f0d75fa6157bc18c62065ea2d82322549a288c10000adf8ab830347b5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000391ff3d237a0718175cc10033ccfc39f53326ee92b212cef47752fd34f1f7debe752a6a791d6a01cc70722223303c5fb28a4d6e8e1129c92fef219cad140a9b74811f70f3b42950000adf8ab830418b7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000393e2f2e37a0f4c5c07619ed9cf4fec1fa0fcf8d16d60649a323b3cab3577282f31193aa60dba065b2ecbb0e002219eb33997ce9fa3b41489f952d812bd5b655720f0818a38cf00000adf8ab83041ba5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000392d75f137a0d6709e00180545d14515a235f1264f73ea64a4b8779e3c15f9529ea539756cdea0616c4fc1158df69f12db6bbd71401d13fdd1b3834f2d8387f81470416183cf100000adf8ab830377fd830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000392c7ad437a09ee16c57b88cd890b063733855ce711550b2b48bf23a163a5faee3eae34a5261a0545b9c5471f7041936f65e21014ddbe2f88d4d463fc3ada449cc6f0b05d85ca90000adf8ab83038ecb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b10000000000000000000000000000000000000000000000000000000039134e8537a02fdfc2fe9ee5e6c65091ff674b6f31a4dee3c3285fb7a50f4edf1a8579e6c00ba04957e118b49049c8c55acfeefff636e29baec6d748180ff6d64d22a9b6e0a13c00010bf9010803830f4240830f99f7948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000821ab0d44149800007345544800000000000000000000000000000000000000000000000000000000000000000000000000000000201f948e98513abe8dc70047ba98a050fe67e9fb4b57454e5441000000000000000000000000000000000000000000000000000037a0c0b67a18e8de164a0aa6043fa462ddbd370e5ec7257992eb0c00ea8999e25148a04832763c30827dd3e2980a04027e781b4c31a980adaded8caacf4ebb940dc6520000adf8ab8302a12f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003923edcb38a0d3398a635b8152321d8de1e19224bade9c4b843c64e4273bd2c1775066a36ce0a00a2bd61a04249f51a1e68f7a11eb3ec29fc9fbabae3676d873ec5481a6126ed9000087f88582398e8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000022e8d5fd5338a0f9e039665d451e1a7e87890de17698bce876d7625b3620f5bd8b1fc4eaa90c2ea00cfeb1f1e20187277d0d03b62e79b48d95495a481451988ad1ae20d340a328630000adf8ab83038ecc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c3af8dfe337a056e4db4bd4fd4aeb37f7addbe42e0c6c718616506f0808d20a5df8cf1d6a81b3a003c9522a506af5dd6c498b3e2d40412681447a71133c29844cb86cdc4faf57820000acf8aa830418b8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c24827f4037a0fc77d403707015e41977d406426b9c6a279a36162ea51931cf7eeaa1ab1080939f09bc7b1239c6db4480cce84b4573d86677915fb832e67a6eb9b7cc529b00db0000adf8ab8302cdc5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c15a78c9038a0a2d91e56f7795779fe1d91f0ba09834cc1a26395ddb81764240c28f2da5dbc45a00d4c2985cba6e088f526da7753ed6cf856477ff7df15a012881b1e6c17ff42800000adf8ab83041ba6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c5d60dbe238a04be390c512670bb8d88bc51267dfddea65007289412026e819c589bb19848391a0633dbe293e16c9d102248663c53038b87695880d6acd2ddbc2b86aa525cf35030000adf8ab8302bbf4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c179ba5a538a059bafedc22fa0b391eae5b1fc9d7d8e332a4ed1e6ab6df69d75f9c2732c80125a054a42ac4f8f6ecd96cd15ade866fd8c3a209b1bb37df10480d61f854326459030000adf8ab83028f66830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c64254eaa38a03992bae134137dc1c6f360d076ac41f62d814fb39456b98ef6c1313c2e1ed908a03d14e8d75617956d4d28af0f4f076ef77dd2c8b113f15c61ba347c465720e6ae0000adf8ab8302a130830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c1ba0f00037a06b54cb4c7e913432b57cf418dc40e2652091458f7c66fec5da37ebb622b2c950a04ee4c9f988f62303e682999a89e5463aaf8254439dc2631aa9df3ddbe8dd5bb0000069f86715830f4240830d7a33944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a06fb140c41422b8069304998a37925572372832c6635d6f496c292bfc3a7f8ca8a002aa9ac47eeb6237f820f39d0219d4098b5deaedf61a144714d06facf1f4e46a0000adf8ab830377fe830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006cf98968c038a0957f5dd9f5084ac50e3d08c6b06195507bfd28b10afc94799979cff00e154e96a04cb1d55d36fc09dffb486c9f2e6774e494c25343931a08053803bfee0ffd741400012df9012a823920830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000c64212b95c33c190eb262a98ad0644799e51bac90000000000000000000000000000000000000000000000000000000005113e80384c6f4004d4ff2be5abad487b477cee1ed04e0584544b2c393b0a9fabd4975d00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000004fc8bf7000000000000000000000000000000000000000000000000000000006197ecae37a0b6130d76f50f869a054d3561270ea1c330844aab780a7aa1715bd97846e5e22da06320da1bfb5b0902ea0abff001c79c0d2b387c55c3c332146359724eb6e62ba00000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0da58f8dd286928d151565fc7cba497c19f77b878cda8100b9b5c905ea19eec11a019724abec04e2766edb799137daf55c13046fb847d57c8452dadebefe0a130fb0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a02f35dd2d112bce36a579fadd43648199f93912e75d64e9c9305a299114756a79a076410025cc67224d58fe7c1d80e3901cf75559179434455dedf2eff384d5be630000adf8ab83028f67830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cbc6001838a0f6cfbecc90b845fe9c73e711a9c2f56a1410eff1c7d911077906b9c98017df6aa0195a187f7a516923669b78e9160c89ed3af0f12ed89e263f17d6346e77a057040000adf8ab83038ecd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc336a8537a0a340a95b00f48a54392b8cd777974875bb26dd1bd460f31dacee18dfae74a588a06b5024fa3079fe3ea3df6a8c26d1c08d31491791d64e6b5ac0696067603446c60000adf8ab8302bbf5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc16180037a030bcd0dea848e57af344fa96c91a88df12e5a791bee7987a72c7e186e5702401a0469523dc1bc02496588612ae65adbeb7a7731eddd02acf89568f649652756a890000adf8ab830347b6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc336a8538a0d5fcff625c5dbef6409bfc6d0a1ec934fffe7b04f39dec193348b4c0697bfbaaa06dada59664db377a39ee9298a5882f89901d5de4cb9967c1d9620e7288024e040000adf8ab830418b9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc68314837a06eb497efec6ce38fd40f8261057eb6e1175ed9eb23383611f3520beb7bad5972a01435394e0f3b37a47edfb3d4f0bc718e14b07457c98001a591fa93c7b4b1ff5d000087f88582398f8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000028c85f20f138a0e725b0fcbc6c9f9a6f4de909dec7425b0d0d6ef78d431cd5fa6261189dd42ec0a04434a61a9fc67b7b1ee464420734a9cb31784dbf60b8c99ef5da89ad9c05d99f0000adf8ab83041ba7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc8f245637a072b73ab1c379b44db0798bcb12a4a751e98664f8416e4c3968d487cb86f30d42a014285ef72dae18fcd0a9ce3018643f735fbb22fc1426b22bb87c7c38bdfc81fe000174f9017180830f424083074abd9486ca30bef97fb651b8d866d45503684b90cb33128806ccd46763f10000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c29b5ec448c138c248ff43709fbda78884a0004700000000000000000000000000000000000000000000000006ccd46763f1000000000000000000000000000000000000000000000000000000695f78ac2cfb0b00000000000000000000000000000000000000000000000006548ba8bc708e7f000000000000000000000000000000000000000000000000000000006197f0190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a047fcff587adb159a08ee3e9a520ffdda580b8af362719552767d19f9eb90de21a06e90fb7b739afcfdb4a5d56a90daacd9861efafad6ec7a5047f152479e79e2ce0000adf8ab830377ff830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cdef1dc037a058fc2e75d2ed45c96a0034fca77bdcd05bea97e135cd59d0075108d6199c5331a0747795339f607bcb1f2f313b0abb1ce366a756c4bedaf909f93ec29ba44ada0600016cf9016901830f424083035bbc94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000072883ab4cb524faa0eb2c83e9f85185028f52eec00000000000000000000000000000000000000000000000000000000618eb3f700000000000000000000000000000000000000000000000000000000440247400000000000000000000000000000000000000000000000000000000043cfdf48000000000000000000000000000000000000000000000000000000000000000037a0645233de2f31f9eb4d2c0d0754dac2c7aa77405e397eecf8dd281f477de81c5ba02812947bc76e0322a99257ad02d1f6f62f522593a98ed5d75b2194ae8f2bbc1f00016cf9016901830f424083035bbc94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009d9dea71140e5701bc40863d618e1aa23d125c5200000000000000000000000000000000000000000000000000000000618eb3f7000000000000000000000000000000000000000000000000000000004758c540000000000000000000000000000000000000000000000000000000004723e340000000000000000000000000000000000000000000000000000000000000000038a0c727a1e4b08ba8b93388b641fb18ccbc5a2f3a0c33b886c3540bb3d71d210775a07c77f899cba96657f417e825002b07af9716bc9969867a726d73479ccfbfba21", - "should_start_at_element": 25214, - "total_elements_to_append": 160, - "contexts": [ - { - "num_sequenced_txs": 59, - "num_subsequent_queue_txs": 1, - "timestamp": 1636741529, - "block_number": 13602879 - }, - { - "num_sequenced_txs": 100, - "num_subsequent_queue_txs": 0, - "timestamp": 1636741835, - "block_number": 13602902 - } - ], - "txs": [ - "f902d00a830f4240830a235594c36442b4a4522e871399cd717abdd847ab11fe8887d93b4805950be5b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000164883164560000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000001467c0000000000000000000000000000000000000000000000000000000000014cd000000000000000000000000000000000000000000000000000d93b4805950be50000000000000000000000000000000000000000000000103b4ef755203fca9300000000000000000000000000000000000000000000000000cb35cd4fd7a60400000000000000000000000000000000000000000000000f3c4e6b2a9e728f090000000000000000000000005d8a79ac9be5d0ef3388c32ba8dbe297231f2a5d00000000000000000000000000000000000000000000000000000000618eb2c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0b5a54d0b801eda0e2d5275ae78bbd86bb6447cebbcbb0907066fee6eac60a6aca0134cda716665ae83206c9bff1cfaa9239d458dbf021bdcc17bb651152478cb74", - "f86906830f42408252089494f68749be6c2e1de2a7d2bb0cf6d1d93269f035870e35fa931a00008037a056d5d431ee66e06a63dc555a1c771c541c77258129191925b1d0bc243380d757a05ae2bc89c470200e87ae6f64f25d2f672c77f3683f0b06b2c1bb890caa634c38", - "f8858239898082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000175582b0cf37a015766d33224ee8436d5d144888e17e6b3cdf2eab189f71024488a2101b1c07cfa0773309255f6ea3a3222258bd561b531838a56ea5e5008faf7d9b1ad2249f905e", - "f8a711830f424082ad0d94da10009cbd5d07dd0cecc66161fc93d7c9000da180b844095ea7b300000000000000000000000011111112542d85b3ef69ae05771c2dccff4faa26ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b6e050ffe3176edae426be69342ba7c67afef2d2bf4b582e38d24dd56da314d6a01d61943505b4c6df0ff351a21f98b5b72d8ea60876181143337f5245e0d93343", - "f88582398a8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001a3f9d695e38a03ba36ed49bec30134ee9ed4b76a08ec69999157c9a85cbe7bbea26721a80615aa070c168aa93df6b6754612b440cbfde852865ae3a4226c601d6f3b29568bf9297", - "f8a881dd830f424082b9f394420000000000000000000000000000000000000280b84408fd6322000000000000000000000000f8c3875bfa461a38532fedf90453985901c55114000000000000000000000000000000000000000000000000000000000000000137a037d21f7526b9056579a1a262732a426f58f4639af9a14dd36eaa7fca6762472fa077c0f7e4fa55edfc07613083d8c0e9ad4ab153d2a298e7b048be9bb81de5317d", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a06e80f090baa05bfe44bc783632f3935fda149ca68e4eb3c3d2c96dca9b6b1974a050037cbbc03a2e5c830274adbcdafab1b09d6f80f70f6ee85ac3514d53296442", - "f902e901830f42408307567694e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c50000000000000000000000000000000000000000000000000000000007f24fa40000000000000000000000000000000000000000000000000063f67c416430c200000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f4da10009cbd5d07dd0cecc66161fc93d7c9000da10001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000063f67c416430c200000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f0350000000000000000000000000000000000000000000000000000000038a0097071630b41ac94c20a1057c308cbdf1493c6dab125ba8863aa016133ae6f87a050cb1eec2c694c8418fdd4a69ca871eaaae08d85d76d9caf70a93d9bbb46e255", - "f8a810830f42408306c351942935cd347b79c319a6464fe3b1087170f142418c80b84447e7ef2400000000000000000000000032245e7e21c7aafebb67a331f3e0a3d32b64d36c0000000000000000000000000000000000000000000000efba9f7e89a60e065e37a0f9e835bc80cd3757f28039d16aa4195e7ec2bdd3669c694391004846ff9aa7fca06fdd40bfc0273b51286595f35d76b1b672fddecfca6f404199c565e5dd7c6027", - "f86702830f4240830b759f948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a06e5311e8c988a32336c7d0ea3bffb0bfc1643a0001860826b1b7aa69b229f794a0254d95599ecb207061319c387f70932fbe7ec9954bd0f3e4b40095c7c2f1cf1c", - "f8a808830f42408301bed2948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a08d60b4d1d096d43454f3e5c197d9c82ae42abd60d53b22dc87589aff1de4eb18a03fa4ff27a3f8dbaa49b4ba809cd5aaa104be07c42739c09f3508ee641f852079", - "f902e909830f42408309ef9694e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000005033575e2d56e719e000000000000000000000000000000000000000000000000004776860be2525500000000000000000000000000000000000000000000000000000000000000428c6f28f2f1a3c87f0f938b96d27520d9751ec8d9000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000004776860be252550000000000000000000000007fefa3ea382ab9b600039245d8030605d1298e050000000000000000000000000000000000000000000000000000000037a082346b3c5a3b289c008dae754d552b793715eec8e09b16aaf0be7c1c540c3eb2a01edc4d519cd17d7660149a6efaf6995858cf6afb4a9ec003ba9df2543f914985", - "f8ab8302a129830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c2c9db14037a01a24a65cc568a2735d17db87d00bfa7e6e01a6ef5690fe005e9809140c93196ea02a90239825ba94ba7d7c4a1112ab380afd77e9c8f84afd1ef9724fb987bb8763", - "f8ab83028f5d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c7247d9f737a0451869327579aac5614b069ca01ffe74b0d537c4b249be4777ccea3e625cf02ea019a2f9579b6dfdd74ab96aa39d916e30e4ef56e5ca50c473b89f59975ff91257", - "f8ab830418ad830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c3af9b2f237a03083e87cda2918a157c8a5899793d8167e5ac49e3879df2c5ac8b8211e3d7b40a0776c54c7bce3badb1c73dfd19418b8c511af95a2a268643375b430fcfbabab18", - "f8ab8302cdbc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c27d15c2037a0258d86478002957a8dc8f60c259b9c74c8c371b6228b9bb0f04da364d9939788a07a1c27964df017692f59599a3c1a920b4ecaef32046d633f4c4de75c671d95ef", - "f8ab83041b9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c8704c11238a02f2ba0be6ed5fc2ec7a12d7629ee10f413f84e96aa49f39a1ea35fabd80d2c36a05b0526a32dd2228abfcea38b962e450fc58cf0bd38047d3ae7500f8f31643ec2", - "f8ab83038ec3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c8bc69adb37a027183828120b0eb332a3f2c1b625416363db9d85432667e32094258e5a1dc162a00df089eee51078190c534c5ea5580abcb82dddcb097750724af9bbb019d5827a", - "f8ab8302bbea830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c4b58591338a0abe9af074b3c8019e56b25e594cb878811a1d5bb4901f700efa0c1e574c4c002a06bd06f640560aa1f3c8f9df70cc7ed23b4278bb5965a610c14f2fc78ac7b1950", - "f8ab830377f3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006cefc2f7c038a03d1c39b3d3cf3159e4bff80baab48428ee39e2ae37b489b69b928041e0c2b0bda06ce309d2a3cd39ffdb3306d0d98f8f9628944c4b86449edfda0ec48a2d733393", - "f8ab8303e073830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a50000000000000000000000000000000000000000000000000000006c268ca72038a0fa278a0102831967e22e4b27e5b975e207741a4a23ea8ae9ef1ca57224a4ee04a03555f35f0f329dbde172056cfd8a731c6b386ae9dbedd241e7b2c9ec924055e3", - "f88582398b8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000020563114fa37a08bea3871844715d1fd0c53a7ed03d3f0e37123cb3f214a14572403cffa51f59da0706373debd9cd3e82973a369c9b5194469fa0d6a1c0c5d9980b4a8fd53d1658b", - "f8ab830377f4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cd9cd6e037a01402bce86920a947b98853ec1e8aac3b451b0e26ce3a88762bea272d5e3b29f3a0663c518cf532ec99bc49e34f79ba8ea40107045d3def9eed2c9a3e27ed3d092e", - "f8ab83028f5e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc5d94c837a0b9ea567d543b005a4b0a77960bccc98f585c057669e197c00de3bb506afc4ddca04c7957d77a51beacab335c3b21729c1741929e020aa2f9a3d9a606944d9655a4", - "f8ab830418ae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cca53a4837a0e14064b5648e70b5c540b067abc553434dca84eb49f493227809de3232cd470ea0644c2c9c3144bfde4d5060485a8c95ea355d82f2c8ec1aefbe5bcb1ece1afaef", - "f8ab8303e074830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc62634037a0f255c3589f99835073ea3ead97e609aa70dc4b48486df70e1cbfb2df7dc131e4a011dd726877dab0375ca8fc72c33bf64385db8e60293af0b3097ba7f8fb870bce", - "f8ab830347ae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000ccbe3e2638a0752694b31b6b90638e80d7e2e15a29cf53f3d10378e3502be58fd7ad06bb9133a066d7b3ebba645bdd09334c57ccfc10a06a70a27e106219cb23db552a98f560c8", - "f8ab83038ec4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000ccbe3e2638a0bd288952371c618c7611ee3240348f69f0c6b7ea6510fdb7820b8f702694bab2a03ab1c497d3cd02885cb3b03fb6e3e2ec8a81aeafd181897f8f5cefe3b9eb8ee0", - "f8ab8302bbeb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc902a0038a0499b3e90fd392ef35ce51b60179630efa34a6be3dc5fb06bdb65351881fd2bc4a07c8b4e654eb84c6b9a5d9d447154fd2c688967c9a721a04bc2c69ea39cfcd94b", - "f8ab83041b9b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc9c87e637a0a1068edc13455067589576f504ab25c46400e5adca3864508204c2a9ce384683a048c68fd5b07ddbb372f80dde21c47f34a042f4fefefc809513a26d66f4a353c1", - "f8a80a830f42408301bf49948700daec35af8ff88c16bdf0418774cb3d7599b480b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a01a45ea29523adfe004472bf0b7024e37e40f29c01f72e1f11fd3bf33406abdb9a05b628131bf8390013d8058e39bfd7a59e0f495fe51324aac425ebbb1aa701fef", - "f8ab83035240830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc53210037a07277ae6e705d59e27879cc2857135e4dd4f3dc587dae078f7fcd2f7816f9853da01432b1e4bfae611fac09454aff3d3c1937c608d30afd71bb80f5aeb7042874f2", - "f8a780830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b497df9d7401a66300972576bc9635f29311f1b944afb5f8b220b2cbafe47d43a03dbd38c7ef426c380bc9733d005464b7cf0e2602c8807fb7227d85f3d2d0e9e3", - "f9017006830f424083074b359486ca30bef97fb651b8d866d45503684b90cb33128711c37937e08000b90104eea0d7b200000000000000000000000000000000000000000000000000000000000000890000000000000000000000001cd7e09bd346317c6cd1eadb01cca370e907276f0000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000c688160b83230000000000000000000000000000000000000000000000000010d5e0b4253125000000000000000000000000000000000000000000000000000000006197eee50000000000000000000000000000000000000000000000000010d19e54cdd622000000000000000000000000000000000000000000000000000000006197eee538a053c4fc2ca3b6f0e01bc85c49cf0fe109bf61f6ea0464e7dbc8d33938c80e8cb8a032826f483f02d6b872c6f80cda32fb8ca7af8430e5b8aff7e7c8ada682782f20", - "f9017003830f424083074b359486ca30bef97fb651b8d866d45503684b90cb3312879fdf42f6e48000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000957aa193e6b0da3ec0df22d3cf0e8f78ae9ed44e000000000000000000000000000000000000000000000000009fdf42f6e480000000000000000000000000000000000000000000000000000000c688160b8323000000000000000000000000000000000000000000000000009db9242e649133000000000000000000000000000000000000000000000000000000006197eeec000000000000000000000000000000000000000000000000009d92cc01b2df17000000000000000000000000000000000000000000000000000000006197eeec38a007d885d9c24ea2836782f07f4d3927d70859d27c3b0ac5ffa76b1d7a988ddeb3a04b8eb1b9ef8403a8a1440ee1ed2f5a97f54e9da9567458786d10176334ebcff8", - "f8ab83035241830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453200000000000000000000000000000000000000000000000000000000cc53210038a0599da528babf85c1781efff669d0722babecfabea9ff9c6e055089bcbd8e28a1a02944f6b1758a2537b4fafa246cf29c54745fe35b788bf0939f1a9f4040236909", - "f9012a8214fd830f424083095f8d9483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000f3baeab4afa486991845d5dbe31069265da39d5700000000000000000000000000000000000000000000000000b15a3179d71a59bce13028af59931de40e506ba34116a15c32b9ff23ccba25257b9681bcf1598a0000000000000000000000000000000000000000000000000000c44d3fabb39300000000000000000000000000000000000000000000000000b031cf251e4c48000000000000000000000000000000000000000000000000000000006197ee5a38a02326de5e21d265b0e358671d32a35adc04910296674e27cd6810c282e2c328f7a067362e2d208baa60e534f5ba18d579b9c1c10eb6eea0a60476f12e24f27a4612", - "f8ab8303e075830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008496000000000000000000000000000000000000000000000000000005d0a21ac5c038a09a133cc553c3bf2580c54efb0523950f2e6b6aef94d1d167815e6ba4579cdfa4a0056b699f0279f0281f0b8fec916ae3e56ac25ecd1d22b8310510382514cc1cfa", - "f88582398c8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000019d132d23b37a0d3fbb61ebc1d708343b8078f5003876a240c9c7bbe51f27bbb7da28062b5fdd0a002c14c9ee685970f56fa09fe67a70ed3686c38581d4b570ff3f084d064b77939", - "f902a90b830f42408306acce94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000008700daec35af8ff88c16bdf0418774cb3d7599b400000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000009ab417d5a0eb3263600000000000000000000000000000000000000000000000005370e6f859cae4d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000005370e6f859cae4d0000000000000000000000007fefa3ea382ab9b600039245d8030605d1298e050000000000000000000000000000000000000000000000000000000037a0ca7f478d94e883d70c9f9e4934a6b0cdc46ac04c858985cb36d39ff5e368cef7a04f281654345fa1d7a27967b650c974cd34d6e22a7e1755fbef9a23b72298dc3b", - "f9016901830f42408307695c947d269d3e0d61a05a0ba976b7dbf8805bf844af3f80b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000070f45074275ddddeb71bc6a1280fbd06ec1fa59000000000000000000000000000000000000000000000000000000002504ced70000000000000000000000000000000000000000000000000000000000114e2b0000000000000000000000000000000000000000000000000000000024820c8f000000000000000000000000000000000000000000000000000000006197ef040000000000000000000000000000000000000000000000000000000024a8edb3000000000000000000000000000000000000000000000000000000006197ef0437a07d334bcee8fcb34f32c271f057274c7133cce1d702c90f1d6e6bb4272046c16ea02f22f2c7c8d3d1eb7aef2313aecd43c5ac5a97d5edd574c5ed244b5b7401d1b9", - "f88582398d8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d72e3ec7238a09e896cd11413109d4f213baab7cc4846d87c49063b4054af5dd9733f3a9d4025a0108f569ae6f312f029b10e50e00602a42f302445f4bea2c8413b51f5fb5e2c90", - "f8ab830418af830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d40ecf895a37a07cb37da1e356fa5525a695e4659009f09be59139103fcf44e315de2d721caf7da0562ca86a85cb3b733d122b0224818690ded8c35c19277edece2b9aced5640911", - "f8ab8302a12a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d12f8f0b1637a06116803df396df186a4af05e651dd04e0884f0fd95f830ce376899a6a92cbd41a07a893c4d997041259f9332b68a7d1d65b26899fecb5c22867986fb39e8b5fc4b", - "f8ab8302bbec830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d04bea904037a09ad766ffd8abce6d8e0046ef1b35066610c27b460e1b37d3813ecade155be936a00e714330dc2f7f3ce97ca55a421f7cc1dc80dda619080771f591eaaba9d9b8c1", - "f8ab83035242830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a08cb1fe1915fe5df85e13d5c4048cd463175b7538f577bbfbfb6b2116591d0b8fa00f8467fd6f0bed59ea7610dfd1c876141992e824f89ccddaa5275a7cc773ce6c", - "f8ab8302cdbd830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a0e080217b85ab1fe4a2727b9ce97316de70a3e12bf63e767a8042b49631cbf727a057c2274156a5dbb3187254d7fc2f57218fa990a5d8257b7f7f858b3e2dab9071", - "f8ab830347af830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d20554be3a37a0b16f2541a39a9f982e7d583bf718b23ff0122a5069259fba60bb94fcb388d3c5a04ad6e2a640b4980de85422f66eec79c8eac6ecd802fbce5ba58ad92af6ab34da", - "f8ab83041b9c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d5281fbef238a01c809357c61c1b2861014fe6866a4dd7a10db8f3d8374bc3d97ced5f2a66c306a07b98eb5debfeb86886f752b52d084b8d3517177960be5e56159ae3f74762f2a2", - "f8ab83028f5f830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008497000000000000000000000000000000000000000000000000000005d04bea904037a05335a40a377ae1f38d9177d634306a997264ab6cfd12f2b60b33b97c3b251b72a04f37a5c4788b3f1470105476eb1710bf243013a43facaf4e3cc607b9727dde93", - "f8ab8302bbed830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc06d5c038a0e826381ca7415de4a438ab69a63e5a23511cbfe4970dd38e013850f3083f9bfba073c4f67842f5f4c2bd8c1d2d9ac788e2eb459a9e1a1c7d28f455a8762494c1a1", - "f8ab830418b0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc77738838a0ea4453c973edfbdfb0793502b9f5041fa235b7a8f5370be63af3490c53d2fdb6a05a97b5cd7a81c2ca69f9f9edc479d5513238a64812b3ef29c6be1030422ff7df", - "f8ab8303e076830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc255a4038a0d5419ca4a5d9a646acc51f10aff18f152db1e07480e2262a9c0bbda7e4ed91ada07c5dd1b98b36b1dc95837e88aaefd198ee70b4da5bda8a05ad925bd5a802b266", - "f8ab830347b0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc774a3038a01e70623c8f2bb651075eebd6683caa820e59bae98b01ceff0e3ed77a5731d763a00e457adfb02225a8a19fdba7776a9b927f470bb7cae11c322afbff797f66e0c3", - "f8ab83038ec5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc4bea7e38a0c1c0e3d84ab8b9ab8415dbb8b45baa6bd013cebe85ecefaecce3844b62b64c9ea03d227fb36e75ceedacaa2666b881be02658ee50083740d9caca6f28c813c1273", - "f8ab83028f60830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc00d2b038a087f36e9a09fd5e4cffa7ce68fae21b5d0591413bc364b9af87470370c00df778a061f7a3d7ca134076e74a48a6f46f81dc614776d27beba2b0a4e87c6411fbd46a", - "f8ab83041b9d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc6ccb4837a0c8dd58b509cb59a0c6402f9662dd10bfa53c394119702d55d86ae8d3a23eb130a0495fd5d6542e57bfab658d64afd87251bbe49cee26a5dbaebf623005aada1fef", - "f8ab830377f5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cddfdb8038a004a4c24fb05919f14d90dd4bfe62ed2332ca087f71053382885f5e8abe728367a03115b4f348864ba034363409fa3654bbd87f34d6e972c5105039aedfa7e1f9c3", - "f8ab83035243830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453300000000000000000000000000000000000000000000000000000000cc349c8038a098763e338e8779c46339610fe59b534f6bb8b81f7cd6bac7094f84b807282792a06f2fb0bf396670033ea1de5387ef79bf6b8328aaa33f2f4a86625e7cbb29d4df", - "f901b002830f424083058eee94e592427a0aece92de3edee1f18e0157c05861564872386f26fc10000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f03500000000000000000000000000000000000000000000000000000000618eb2c5000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000002ac7b2b000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f47f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000038a00968c3c7676606c1c12ea3eee3f6b7f0e002b283d48b2333fdb773589c1cf035a057b4dc1df5916305dc715ec1b203b68a6b5d2d160e5776f5fb7c2c4ee1709c8b", - "f8688186830f4240830cc7a7944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0fb7829ec1b12c8ebe2fe85a67039185c4e964157c47fc0e24182326c024b3b85a050f079fc0089e10a70b0b59ca8d29b4d37d7f000f6963577facfd905681ad6af", - "f9012a8214fe830f424083095fa59483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000a946c445bf7f1675309fcd3a968da4da4e3a107a00000000000000000000000000000000000000000000000001c8182059d45f62d9f28192da1236f7fd73e83c9be966654c65edf12fd0bef1db53dd86b78f21380000000000000000000000000000000000000000000000000000c475369cc7ab00000000000000000000000000000000000000000000000001c6558c7b9dccc9000000000000000000000000000000000000000000000000000000006197ed8c38a03d8f33d69a9d8db072b498765e975d0c418ce3cc49709b9293032f6e4f0ab764a05822e1647b288ea0edbdf18d3f024caa6938a1785b00e0b16aa0a19634126912", - "f9012a8214ff830f424083095fa59483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000ed4d5a7b37867fcad2b7518f1bca05f2d8960a8a0000000000000000000000000000000000000000000000001981f67e5a7dd9f00456779eedeccd75ca617e501329af0a895afa9a9c4310009be45faf79078b270000000000000000000000000000000000000000000000000005e556e3b22033000000000000000000000000000000000000000000000000196dcd66573d7350000000000000000000000000000000000000000000000000000000006197edbf37a02e074e0a6c83710696939ccdc0c36ef4ce9aa63de9eac505c0cf95276426771ea0595f7ffb36a9c5ebc552622419959a4f6bfcafd54d64f4f3ad4782e76f90827b", - "f9012a821500830f424083095f999483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000f1e2bc6782ce613e4425942c81b8455a6c3d3f830000000000000000000000000000000000000000000000000162ca6564335a1d4b606a0420841988c08cb5b9908a8000d13efd3c30ede306feadadcc81d114650000000000000000000000000000000000000000000000000000c4211f17379b00000000000000000000000000000000000000000000000001613edc8cc31ebf000000000000000000000000000000000000000000000000000000006197ef0837a02b404d3c6e581f5b246ac67f6f05f478e8090d5adcac38eac707a35041f778d0a048b217ec0a4a771ed757476f3c720229c27d2e586d84b96383a2435968a4d19b", - "f8688187830f4240830ad25c948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a083e5626ce998fff969623fb4e912691b01084da709720b1c3ebd9acbaa51c187a057491c497b9180b845b3d6745c6882fc51398b97a2f521db3b211e83706ebba1", - "f8ab8303e077830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c27325d0037a0d7737aa643e5bb97c566d9bca779dabfba41819866b8a474a53d591016d933fea01e84e512da5139b67f273b88087a1304971bdebacff4bac4ce64b17b511a900d", - "f8ab8302bbee830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d062da605f38a021d11b8e480b972e8d6a896511463be052a967379b1a80b82f8d0c6543d8ce5ba0272f5d9e8b7f39253ef4c173b8da77dfb0a28fe5397043ab8ee9f86516f817cd", - "f8ab83028f61830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c63c228ac38a06b639fc9a7590678b61632cdbc9b7e0dbd07fd1f95c16bee64e0db61ce40bc2fa05fb89efc6bb99077e7d73010dd255734173c6b0fa1bc1be38f6e95b0394f05e9", - "f8ab830347b1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000391ff3d238a0a1648426a372bd9e2452628c4492176850dc7ab82451727b6ac4026a2ad2fb34a047006fb765d79776402b764117681f3443f3d7279835e74109b0d9e58b4ae427", - "f8ab830418b1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c2b01b48037a01623ed5241c70f51d9d85de840164f79a5407d0e8d3f1fd4f2c60f4928846aa1a060caceb04569f4e776f76d379ef54ff85652547050044cc3c7f556f5b2b861a2", - "f8ab830347b2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0b9366f6e38a0bbda649652ab5a60bc1f8d534f885897e4a1ff076f42a2e4396e034a18986629a0673697475525e93eb09f83cee33746c9070eeda2ad51931e65b36debc555209c", - "f8ab83038ec6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c7ae8a4d837a02c9526e68347ee7f1e17fd7c8bfe376b19108c2b59d1952ec364d58489645beca0275536c999ad14f3e4bbc4c838e010fd990d451d1437594f958748413e307f4a", - "f8ab83038ec7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000390db68038a0d6d8fde29fca2750202bb1e43bb5cfd2334cf11124e26feadca7d5e82f8b33aea07e34ea35eba0c20b083f1587d7a191c0b68eea9d6f6451e6c13bdba23318b157", - "f8ab8302a12b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c2955b23038a07cefadfa8249c8b881d24456b4892111d310a62e9e4fb7655d273464f8dd160ba06323bd995a60e151766b327f2e4e480af16d3e1972c5c79508adcc1397f6a5dc", - "f8ab83028f62830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15480540038a02d20eeee99c886b86f12865e00faf61dff3745c2963736344d5113293ca822f1a0094bb48ca97b5c58472c9c0a59125bbb50fbaf8c7095d6c714e205403fdf3799", - "f8ab83028f63830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15480540038a041d0b3f97d932ac1ba73a39a81b44e4561579368a94dff229d8699c187e82119a003966674c147e5b13113dff388268388b4ea3c4475c8043c00c264aa8a12fbd6", - "f8ab830418b2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000393e2f2e38a0c2fabbb8f8ec937888e69284fefcfaa05d8c2e25711e8a573e6ab67a2e7c33caa04884537131eb35a4c3b59f53298aa8a804a169dc2c2721e8b59650688cb5f274", - "f8ab8303e078830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a03afcc6c91e52a49e4ed7edd5f0708735e094404d3ed9d7b903e919cfc4774118a00659f1d219c1aa0f1ad1e3b20d8670b7210e4c1e5f2d57745825dec8c4ba5531", - "f8ab83041b9e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c597b851137a053dcb72dced80bffeedf02ddb381ef33ef48100436eeab71302ba7cbd3d6139aa0293f76b2dc276c2e694308b2cbe2feb42ba66ca7b09ee4fbed731c8b0766ffb5", - "f8ab83041b9f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c597b851138a0a78a05eba5c68ebc631eab77cde703795e5441a1747c7c878de2abcb4f4ae477a04c2a33f900ba2ab903296cc002705f2c06a8006da269ca313c2f4a655d40ee77", - "f8ab8302a12c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0f70a8c0037a0248a1cbfc2384732f8940fa96f3a3c984edafaf6ef81590b4f07ef8431bb8302a019276250716374b643054cdbc35c262cec097be851de112ab69ed576ecd84220", - "f8ab83028f64830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc489e2338a0589f5de150ae019b386f51bf60111ba39fd5ca14b3e55d0dfe436c25b9e4b12ea02fc7e13f09f06191313bd2a72d15adb5e032b168f5b2b6561afedb2632d6d9b4", - "f8ab83041ba0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d2e2a5e5d737a007f8f35e937eeec90057dd44db7fbb8e8c99ecc8fbb4d4118cbb471f95bd196da007e7ae017bb86274eb740713bcbeaa43ba90ed5f2b1c984b4b7d6fde5685fff5", - "f8ab83041ba1830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d2e2a5e5d737a05105416660c2985cfe33ab594fd8b38d144d706e4d353737d0cacade6bfe4e2aa016a063b4f5fc31e5b0f8388eda9d574df2afb65451dc780a956fc4981ca4309c", - "f8ab830418b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc9d992838a080bae666688dbb1e906fe8c71403e68dc3c29b869f07b6a11baac0294f545d77a047174c17f0f9b4a3170993588067e44066ec0d47c0107d44596db63e58ebf6a9", - "f8ab8302bbef830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc3af45437a0fd4e02b5b66a64f241efc281a6c098531d6388a046707d1ce8eab9b7e07fd1c0a07d078a7098c1aee0e6cc127c03e96bda09a80b49d3eb955150ff0793a70a893c", - "f8ab830377f6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c88a221ad37a08d0023e0225cba0572310764eb5a179653f8d0bca9d13882dc0ae37214f3926aa075d7a57f17c8c0eaaa23f57715e7ee6308096443cd2fb390afd7211c3aea2c76", - "f8ab8302bbf0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc3af45437a06cfa5e18ae0c234a70348b671104ba0980064e7bae83dc6b4774f81e0ef3166fa00e56373af536c2089fdf011135b32bde20b8d935cca23bdbc1ac60efa212dbc8", - "f8ab8302bbf1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c289cc27038a02475617730703e735bd30651ec999f7cd72120eb6816313402287c5228aa16cea04513d5ab22c5147952069cc4518989f2f3446b0145c812d566358b0743624fd5", - "f8ab830377f7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392ac76337a0615656680677adff3dfddbc5c663e373cd200d200363b585a00e1b0dbda5482fa012bbdcf2523dbd66bd14bf0e65e4ab8f2ce11f4639ab52f71ecc7811ab7446a9", - "f8ab830377f8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392ac76337a088f7321644d53019c07eb2f49d3d062c76e7b5133420c593ba1b1c7dc576621fa02de158b410f471531ea6e6885687394704351e1b03cf9de6f5ff53d088e16c69", - "f8aa8302bbf2830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c289cc27038a0b62ab9443e178938d68efdf0e5cb40f5211422bc5432be771381d387c9ff86729fc1725800f5f0413233a3a4d4cdb638a53ace6fbd5048ac61198ab1ba058f18", - "f8ab8302cdbe830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d38a0ff9eefd1585182f1a06a6bbb6404ec16461eb6fa858518bc34c8307b2e67162da040e77505ccba6240ab42e5f292819f15e561ae27fc200d25b8419aeee725a1a3", - "f8ab830347b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a0a5063a9c8d7f4eb1754acca97ab6503b85ae47016ce355333f37de6b8b1e5db1a00a2053014ed0cc2f5d501166ea5834cdcff05a22d716654e1591bfb6b57400b6", - "f8ab830347b4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc4bea7e38a09094ef07f30b6689ace8785743003e0cd7f8e59b3fa863a44be08c2f3d07885da00a1b76c89e219fe35855cdb61ff5530ddfb2f4689527774e0cc624d13ee86302", - "f8ab8302cdbf830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d37a0f114c04ea96c5c1ba52804ef2a88dc68851d5b1a08488d74739690a9420329f5a040f08a6816811deb0846968f5f7893be673ebc86c96012ee96efc34e1b8c5703", - "f8ab830377f9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006cefc2f7c037a0edcda5bfcd768708e6b7a72f90865bf9c656fd13762637a9f1cde4146189f7d5a06a2abbb1fdb126da7b65a72221171a7a2453c69ce1aab7cbdf3ca9978adf2f60", - "f8ab83035244830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0ff5818a037a055cfc3c1db3eb3abbb550f3839b2bc737bc61588f19a13770ee2213f713748b3a00f068b6e820f8668cb4bda5575c70f18117e85d2d326b856e3bcd4e2a8ac6183", - "f8ab83035245830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d10161f26038a00b8e50701ee450699a8621ca7af2d7d2ed00add722f0b00f1214e1428d68628ba01c03a88fe611e5c732b04003590fb3970c078fcb5a1d90dd22da261aedbb27bb", - "f8ab83038ec8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc0b6d0b37a0ff4872f91944efb85633d280e8a13b022248c6a1367a4b2e1cb13fe1754ad8c8a06d615f7d8889b1fbbaa53952a10ad962f4ede0a3b51699c5e75b769319530cdd", - "f8ab8303e079830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003916279d38a0fb58ce8c8d35ba0427361748935fb638aca5b88d66fd688cbe5ef1fabe17fd86a050e8c1ff439ca2ca80827237d549c41a584d87c62d5a64f14ea1df68a478fdc4", - "f8ab83038ec9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc0b6d0b37a08266b0ce029a2f96e5830a57eefe1fa9e0f3197d5e2e9ec9f80f5db8a239159fa009c490fc833821ef63ad6137feaea272858183abc3a8055ff63e3e97f32869e6", - "f8ab8303e07a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000391dbc1038a09acc386e71531b3d8ea0c5f306c4bba03c4580a200bd29a89f1b14101f7f4a3da060278307f2de524c4065509a61e3f8de786c028d301b6d87bb75cdb301ea836c", - "f8ab8302cdc0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d0f3cf854037a09beb247dc99ce045ad12eb05e8c4f6974d8c1eb396a6f466ef45b3458f644ceaa0116c42e912aef6d465f266a9a6818d6a8e1761a0ebd836db8203c8ef280e291f", - "f8ab8303e07b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d15ff2040038a0ebf8bee2b48453e61351f4e1a07dd41888f8fdb1945f03148234ffd0e7ed6d20a002afcd468c2bec779d460f3e8388a3f5764c2f6a0d4cc9e10cf2afa1bdcd4e81", - "f8ab8302cdc1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c1e01db0d38a0c45508aafa947b5d8c58fb1c21997eeeb2c51b72ce83148823f3e6923fe7445ba060e75ab98f8c7b77c08b2b6bf3460d86c531a1952fb86edac4e1a53f4897a1b4", - "f8ab83041ba2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b000000000000000000000000000000000000000000000000000000000392d75f137a08e89983e477a1a57adcd5e68b626ef31e4cf6b413bd1a1c20eaedea504c0fd35a01b4d5b814a6d0dc07eb606975f41b522dd71c94b690667ba7bd9e07ac0807956", - "f8ab830418b4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d32ef8ab8d37a0f5e0f23251392b033548f18d8dfb1b620a5cf0e7c029872827137ea0ad34af3aa041ddafbea6bfeeee50e64b3a6176ba67093ef8f1191ebd443318576d5560af31", - "f8ab8302cdc2830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a60000000000000000000000000000000000000000000000000000006c1e01db0d37a09df5e84ac29f8a4d5b37f6ab84d25fd133907672127ae947f8764fe98b9ed115a016185030865797c2a8bece0043fdffca7e9f20493c4582c417862225c94d2ef5", - "f8ab830418b5830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008498000000000000000000000000000000000000000000000000000005d32ef8ab8d37a01830c993d69186b000d849c187b255c3f475b9553e110271819d241604189efba01e5f47528505c65e5d4c148902806d90994d1633c4f8bf6d2bdeb5a469b32ca1", - "f8ab83041ba3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc2b77ce37a01804e63a644548ccded888a8b360e69bbbf8581e452acf0bf63529fd4c15a81fa04ad72f0af368d9ab676e0f0a544f447792a4bca549f5a82362abb079e65fa81d", - "f8ab830377fa830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cddfdb8037a0bd17da31b76066d7ede20c0f2e6ebe8d0e68e8e5d200cee3b71ebb20aa35ea1ea01716cdb4f6cc5642bea9fe599440bd490faa04525a0c46933108356410904709", - "f8ab830377fb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cddfdb8038a07af4833c368fe7242637bca53090112c934098a9260621f4f749aadbd188efb3a07acbc285dbeda6027615ef899683cbf408dd9d637bf39185de2494ed4d44144d", - "f8ab83035246830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003918266038a0a2225716f0cfe0d1d30cb485d87aefd828d984db298bd6b1334343932617b737a00b077cdf2266880ee0fb8467f2859b4321cb939e74b449c94016e48155d8d2a3", - "f8ab83035247830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc255a4038a0ce65a3e54c7a8297ced289230434c4b2e592616a84cd5f2ac415fc317fd815c3a0324025da141d322ad3339925fee8d3379c70ec2b01e6e3528a87698252b60582", - "f8ab8302a12d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b0000000000000000000000000000000000000000000000000000000003925990038a0c07d65f0ac73542adfb0a041d7a230b16e2cd591cef23fdf0928defdc24337bda05cb58aa6aa793c1d6f57ad59e2d56032c45d35cea7a214ae863c76cc0b2b0503", - "f8ab83035248830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453400000000000000000000000000000000000000000000000000000000cc255a4037a05f655374f26a0a9245ab2c73a2a4b9da61000c10f0b7cb04d19cbc02e1e7d700a020d6c718965d3e47bd0900d24cce7c6ac838eff31c67f378764f0fe7caec8570", - "f901b003830f424083058efd94e592427a0aece92de3edee1f18e0157c058615648711c37937e08000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f03500000000000000000000000000000000000000000000000000000000618eb3f70000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000001563de1000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f47f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000037a0be633e74a6f7fe9fe3f593205fc626aca2427cf1ed2a492ec609c974a0be64d4a07df935d6a05cd4dc85b4a1331ac4e3d615d444603d7410353a5893b283bbba25", - "f8ab830377fc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006cefc2f7c037a0a10fc7e481b3092b4dc5f4f09cd2b4fae15f535811f6afe2720ec8ffb9d03ef6a003d3c89cbe4e85af7691a4cb3919a7e587ad5528d91da0bc3fa3a711fee155f1", - "f8ab83028f65830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c63c228ac38a0b6a8d7f7cf8e256e002b22ef5af25413e0a9af571a330a5fbe96257224aad4d6a061b0be26e18822f1f68d417ddc56e6e22cc0c2f561fff59875ede418cbc015b3", - "f8ab830418b6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c2210e30037a0c6360221943b5dc3af1485d3d145f1c4f96f4c9c807348db4c2ac0eb5c9a5f80a0740517b6a838a4752aa685b1c4cd83418b41253a095351f0766e77f2b14ef51e", - "f8ab8302cdc3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c1e01db0d37a002b852378ed57fb69dcb9cae344592e3ccf8f58742b3d20517981a8df5770cdea06ec996ec687c5d16e5cb909e1893b6bcc686ce07ac2583835ab14f72cf04aeb7", - "f8ab83041ba4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c597b851138a0d6bf553cbc2680a61dbb0552319f2a9c05f63f8e90f79e7cf6062fb3340caa94a05ad510feb52d90c07659e50e1caccabbef797a595d0857c88ee343fa613f0d62", - "f8ab8302a12e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c22527fe037a08d012b76a669adea84c9d05bb7785da7d1aea7fd657a9495bd41fcd5d785fa96a052cf49b090e0a3e7b873594a5437b3e55c075d334406b1040d913899aec185f2", - "f8ab83038eca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c7ae8a4d837a0760add825365d0e43bb3bfeb26e2c436258ff4ad593a75b2bcfb2981dd439862a0582d721885e8206375b10e8f939c986e03fb2e85d39842c2c2e1268a79a6c581", - "f8ab83035249830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003914bd5437a0f6d9b4806e21cef5ca1a1be43dce5db8fb26fcaa0880736291736823a1a5a666a06d62bb7219308271c38000e84ca1ea9646070532b194ef56904046adfcc6c5bd", - "f8ab8302bbf3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a70000000000000000000000000000000000000000000000000000006c22527fe038a0b1bb063e28a9b430f939ecce7081f064a7f8eb378822761fdb9e5c1e56f9afeaa0524b2a2ad1f38c0b69167c8fb2513f68b70790fcd4eae251b3e1bbd5d7a6f0fa", - "f8ab8302cdc4830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003919eb8037a0e6e0fdb36ea07407052c0d06fdd9fffc655999eb06fba096941d1cb9deb817d6a06f49c5a853300409fc02c3360f0d75fa6157bc18c62065ea2d82322549a288c1", - "f8ab830347b5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000391ff3d237a0718175cc10033ccfc39f53326ee92b212cef47752fd34f1f7debe752a6a791d6a01cc70722223303c5fb28a4d6e8e1129c92fef219cad140a9b74811f70f3b4295", - "f8ab830418b7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000393e2f2e37a0f4c5c07619ed9cf4fec1fa0fcf8d16d60649a323b3cab3577282f31193aa60dba065b2ecbb0e002219eb33997ce9fa3b41489f952d812bd5b655720f0818a38cf0", - "f8ab83041ba5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000392d75f137a0d6709e00180545d14515a235f1264f73ea64a4b8779e3c15f9529ea539756cdea0616c4fc1158df69f12db6bbd71401d13fdd1b3834f2d8387f81470416183cf10", - "f8ab830377fd830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b100000000000000000000000000000000000000000000000000000000392c7ad437a09ee16c57b88cd890b063733855ce711550b2b48bf23a163a5faee3eae34a5261a0545b9c5471f7041936f65e21014ddbe2f88d4d463fc3ada449cc6f0b05d85ca9", - "f8ab83038ecb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b10000000000000000000000000000000000000000000000000000000039134e8537a02fdfc2fe9ee5e6c65091ff674b6f31a4dee3c3285fb7a50f4edf1a8579e6c00ba04957e118b49049c8c55acfeefff636e29baec6d748180ff6d64d22a9b6e0a13c", - "f9010803830f4240830f99f7948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000821ab0d44149800007345544800000000000000000000000000000000000000000000000000000000000000000000000000000000201f948e98513abe8dc70047ba98a050fe67e9fb4b57454e5441000000000000000000000000000000000000000000000000000037a0c0b67a18e8de164a0aa6043fa462ddbd370e5ec7257992eb0c00ea8999e25148a04832763c30827dd3e2980a04027e781b4c31a980adaded8caacf4ebb940dc652", - "f8ab8302a12f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b1000000000000000000000000000000000000000000000000000000003923edcb38a0d3398a635b8152321d8de1e19224bade9c4b843c64e4273bd2c1775066a36ce0a00a2bd61a04249f51a1e68f7a11eb3ec29fc9fbabae3676d873ec5481a6126ed9", - "f88582398e8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000022e8d5fd5338a0f9e039665d451e1a7e87890de17698bce876d7625b3620f5bd8b1fc4eaa90c2ea00cfeb1f1e20187277d0d03b62e79b48d95495a481451988ad1ae20d340a32863", - "f8ab83038ecc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c3af8dfe337a056e4db4bd4fd4aeb37f7addbe42e0c6c718616506f0808d20a5df8cf1d6a81b3a003c9522a506af5dd6c498b3e2d40412681447a71133c29844cb86cdc4faf5782", - "f8aa830418b8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c24827f4037a0fc77d403707015e41977d406426b9c6a279a36162ea51931cf7eeaa1ab1080939f09bc7b1239c6db4480cce84b4573d86677915fb832e67a6eb9b7cc529b00db", - "f8ab8302cdc5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c15a78c9038a0a2d91e56f7795779fe1d91f0ba09834cc1a26395ddb81764240c28f2da5dbc45a00d4c2985cba6e088f526da7753ed6cf856477ff7df15a012881b1e6c17ff4280", - "f8ab83041ba6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c5d60dbe238a04be390c512670bb8d88bc51267dfddea65007289412026e819c589bb19848391a0633dbe293e16c9d102248663c53038b87695880d6acd2ddbc2b86aa525cf3503", - "f8ab8302bbf4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c179ba5a538a059bafedc22fa0b391eae5b1fc9d7d8e332a4ed1e6ab6df69d75f9c2732c80125a054a42ac4f8f6ecd96cd15ade866fd8c3a209b1bb37df10480d61f85432645903", - "f8ab83028f66830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c64254eaa38a03992bae134137dc1c6f360d076ac41f62d814fb39456b98ef6c1313c2e1ed908a03d14e8d75617956d4d28af0f4f076ef77dd2c8b113f15c61ba347c465720e6ae", - "f8ab8302a130830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006c1ba0f00037a06b54cb4c7e913432b57cf418dc40e2652091458f7c66fec5da37ebb622b2c950a04ee4c9f988f62303e682999a89e5463aaf8254439dc2631aa9df3ddbe8dd5bb0", - "f86715830f4240830d7a33944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a06fb140c41422b8069304998a37925572372832c6635d6f496c292bfc3a7f8ca8a002aa9ac47eeb6237f820f39d0219d4098b5deaedf61a144714d06facf1f4e46a", - "f8ab830377fe830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1a80000000000000000000000000000000000000000000000000000006cf98968c038a0957f5dd9f5084ac50e3d08c6b06195507bfd28b10afc94799979cff00e154e96a04cb1d55d36fc09dffb486c9f2e6774e494c25343931a08053803bfee0ffd7414", - "f9012a823920830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000c64212b95c33c190eb262a98ad0644799e51bac90000000000000000000000000000000000000000000000000000000005113e80384c6f4004d4ff2be5abad487b477cee1ed04e0584544b2c393b0a9fabd4975d00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000004fc8bf7000000000000000000000000000000000000000000000000000000006197ecae37a0b6130d76f50f869a054d3561270ea1c330844aab780a7aa1715bd97846e5e22da06320da1bfb5b0902ea0abff001c79c0d2b387c55c3c332146359724eb6e62ba0", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0da58f8dd286928d151565fc7cba497c19f77b878cda8100b9b5c905ea19eec11a019724abec04e2766edb799137daf55c13046fb847d57c8452dadebefe0a130fb", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a02f35dd2d112bce36a579fadd43648199f93912e75d64e9c9305a299114756a79a076410025cc67224d58fe7c1d80e3901cf75559179434455dedf2eff384d5be63", - "f8ab83028f67830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cbc6001838a0f6cfbecc90b845fe9c73e711a9c2f56a1410eff1c7d911077906b9c98017df6aa0195a187f7a516923669b78e9160c89ed3af0f12ed89e263f17d6346e77a05704", - "f8ab83038ecd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc336a8537a0a340a95b00f48a54392b8cd777974875bb26dd1bd460f31dacee18dfae74a588a06b5024fa3079fe3ea3df6a8c26d1c08d31491791d64e6b5ac0696067603446c6", - "f8ab8302bbf5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc16180037a030bcd0dea848e57af344fa96c91a88df12e5a791bee7987a72c7e186e5702401a0469523dc1bc02496588612ae65adbeb7a7731eddd02acf89568f649652756a89", - "f8ab830347b6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc336a8538a0d5fcff625c5dbef6409bfc6d0a1ec934fffe7b04f39dec193348b4c0697bfbaaa06dada59664db377a39ee9298a5882f89901d5de4cb9967c1d9620e7288024e04", - "f8ab830418b9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc68314837a06eb497efec6ce38fd40f8261057eb6e1175ed9eb23383611f3520beb7bad5972a01435394e0f3b37a47edfb3d4f0bc718e14b07457c98001a591fa93c7b4b1ff5d", - "f88582398f8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000028c85f20f138a0e725b0fcbc6c9f9a6f4de909dec7425b0d0d6ef78d431cd5fa6261189dd42ec0a04434a61a9fc67b7b1ee464420734a9cb31784dbf60b8c99ef5da89ad9c05d99f", - "f8ab83041ba7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cc8f245637a072b73ab1c379b44db0798bcb12a4a751e98664f8416e4c3968d487cb86f30d42a014285ef72dae18fcd0a9ce3018643f735fbb22fc1426b22bb87c7c38bdfc81fe", - "f9017180830f424083074abd9486ca30bef97fb651b8d866d45503684b90cb33128806ccd46763f10000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c29b5ec448c138c248ff43709fbda78884a0004700000000000000000000000000000000000000000000000006ccd46763f1000000000000000000000000000000000000000000000000000000695f78ac2cfb0b00000000000000000000000000000000000000000000000006548ba8bc708e7f000000000000000000000000000000000000000000000000000000006197f0190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a047fcff587adb159a08ee3e9a520ffdda580b8af362719552767d19f9eb90de21a06e90fb7b739afcfdb4a5d56a90daacd9861efafad6ec7a5047f152479e79e2ce", - "f8ab830377ff830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453500000000000000000000000000000000000000000000000000000000cdef1dc037a058fc2e75d2ed45c96a0034fca77bdcd05bea97e135cd59d0075108d6199c5331a0747795339f607bcb1f2f313b0abb1ce366a756c4bedaf909f93ec29ba44ada06", - "f9016901830f424083035bbc94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000072883ab4cb524faa0eb2c83e9f85185028f52eec00000000000000000000000000000000000000000000000000000000618eb3f700000000000000000000000000000000000000000000000000000000440247400000000000000000000000000000000000000000000000000000000043cfdf48000000000000000000000000000000000000000000000000000000000000000037a0645233de2f31f9eb4d2c0d0754dac2c7aa77405e397eecf8dd281f477de81c5ba02812947bc76e0322a99257ad02d1f6f62f522593a98ed5d75b2194ae8f2bbc1f", - "f9016901830f424083035bbc94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009d9dea71140e5701bc40863d618e1aa23d125c5200000000000000000000000000000000000000000000000000000000618eb3f7000000000000000000000000000000000000000000000000000000004758c540000000000000000000000000000000000000000000000000000000004723e340000000000000000000000000000000000000000000000000000000000000000038a0c727a1e4b08ba8b93388b641fb18ccbc5a2f3a0c33b886c3540bb3d71d210775a07c77f899cba96657f417e825002b07af9716bc9969867a726d73479ccfbfba21" - ], - "error": false - }, - { - "name": "0x779a91270b473172b732eb0d482ac179ab1f0520b8c34ae94ed6f45846a98495", - "hex_encoding": "00000063be00008e00000400002600000000618eb4460000cf907c00000700000100618eb57a0000cf909100001f00000000618eb59a0000cf909300004100000000618eb6df0000cf90a70000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000422571c838a0b578521e7e36ae174d1b4e8124152c9f5c1c1869fff93fcc6e0305d558efa203a05260152a1c41b8b10ded8ed60914ce42516589e3fd30bbb1f79bba038eebb189000069f86704830f4240830ab076948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a028ce839d218e6765b131444c707dfb3799d08426409b4ba70dbab2e270b48083a07b5585a13ee390009a3ddeaae3ff5770129a788da49563073a0fb5817745b7bc00010bf9010801830f4240830f9a1b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c74efa3a983137da6734554480000000000000000000000000000000000000000000000000000000000000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d4b57454e5441000000000000000000000000000000000000000000000000000037a07c80dce7540eec34d2bb80d16e2deedb69ef48403b4d40e3fe6107e5355a4cb1a00841586d7fc409279ae2f79abb002cfffd6e7782718b5ca5fec28f864e58d0e100010af9010748830f4240830f9a1f948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c32fcdb067933003d734c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000089c81dec7ab1601e604d90451f6f101a4482963a4b57454e5441000000000000000000000000000000000000000000000000000038a0fcad6889e6686d5c96c48ce535b82193429bc4c8b55a458d2e4e6015e1eef5789f5c37d62914a2f121a2bddabe8b3045ead2e53894fcea414c14dbb108dedaef000069f86705830f4240830cc803944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a0442b1586be452b949361e25c5b5c6cadc26dff5e8c72c07fbf3301d79e1c03a1a02df4434d155a261dc73752e7967df0c43d3c94a305dd52ab9e1f1d4a5d152c6100010bf9010802830f4240830ea7cf948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af1b45ad0f783d735553440000000000000000000000000000000000000000000000000000000000000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d4b57454e5441000000000000000000000000000000000000000000000000000038a04ca06ac4582d58a2bc555c1843261a95919b11698f3f4deb271c82f786f36677a04a845e9479f9d25b3e430f37e4440865387f126b32ed21481df543bf8890d710000086f8848239978082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000235932891038a0540f9012d84a9731defb1092cd26a6b63246809d66ef694135ae05d39a4760ea9f676b2faea4fc1c0547432a663ab35db57e2d876bb3af393da75afe23cd27f80000adf8ab8302cdcb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cded9538ec37a0f1576e5ff1706b9471b96c866745beed8d12fbc73c3f5cc6e663eaf078c6560ca04d6cb4ae924680478c24c577b2875d550479766d35343d478e47ea529eff8b020000adf8ab83028f70830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce43112a2238a0ee9cae9e5766b9f152f39c9a44514d5281d78c5cf6ea34284f7b732a24e2e77ba071c291f8c46f38a65e13d1a3fe58fd49e5ec9f94abf3415e70ec2eab5083b7150000adf8ab83035256830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cec8b3706637a099857708f6d707c2ed2c0dc09697d3dd4cb44722c6ae9ae8a747bbcf1151dd52a0199dc203488ed57534260395799ebb18fb36a99609ba7bf903c46202a649f5330000adf8ab830418c6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005d1e4a6761f37a076b82a5e8407651891dcbec735ec15989e0ca1ab2d9913bdae05f01061b6824ba042fba7ca97a7eaca7ebeed1e29945e051b243182b1b92c82478cacc74270d3e70000adf8ab830347c2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cec8b3706638a062d3eabced14ab1b507d4904e5f4d57e55c51bf13fcfefbcae32bf2c6c062d95a01f71cf4f57f7674aa3df82be8ccb72ceb55186468d90bb1c54cd73086871d36e0000adf8ab8303e086830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce0b5c4c0037a06f79cc034202204dee6e7a920e328e6abab28bb0286df90c7b7e81eb307ca5d2a07eb4f732ff0f75602c9c0ac3353033579562ef9b40db5ffc21e7d61f79c727720000adf8ab8302bbfe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce0b5c4c0037a03d5130ee869d344ba4914ec6facf86667777f17212d0a38d1dd9aab28f0dd570a06b5be5008111d4702562adba6e678c6ef4a579812d4d8b827ad5961de3e8c4060000adf8ab83041bb4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005d26d1ce62f37a0847037e8680444e59f0b51d2f24465423dc6069b82a5c78a9445ce2379a6f167a02f1b1d9af869c597a7c9a59bd62c30265555251d5f900edd28638b990249be500000adf8ab8302a137830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce05997f3238a0c27f2b75e8c9ac4a36996dd71ff9248e6f15b5da99994f30378b61025c24abdba017474d2e27ccd2bfc0b12e8aba0665fbc9742ad828895373a69f0c35a172dab200012df9012a823922830f42408308f7e19446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a0000000000000000000000003e70473d7abc7bb4df29e9a1669de5ca8889df3f0000000000000000000000000000000000000000000000000000000024aadbbc79597e1141744f9fabf2c9da12ac6e28d57231746620b9c098e909090367cbf000000000000000000000000000000000000000000000000000000000001107db0000000000000000000000000000000000000000000000000000000024a400be000000000000000000000000000000000000000000000000000000006197f0cf38a0b6dc9fa4f8438908ad73d892086ca8463da46f274b016f3dc491ef2d2873f751a016603ecc90abe0c64371376dfdfd4646f9876d1d402d4d5ed9f7e88255f9c423000087f8858239988082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001f429630ad38a051d6287c4c7eb010c56b4c71697d2df1c1c024b9df4f437697a25d2a627bd6b5a010715ec86c41f9ae33ed96802bedfc70e869947805b8499cd11d4dcc50c3bdbb0000adf8ab83028f71830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cba4918037a0c7c073f755364e919798645c8f298c54fc70bf8591ee808bff2deaa1159e5661a072c3e596b61a93a5c00069f7721da45c0b585775eb2cb9f64f1da56b6504739d0000adf8ab83038eda830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc08da4f38a07107c15601af10f45d2119b2114b109944bf9fbd31906c28fe6917986ecd50eda00a227c1ca18f6f7e452760c700a973cdaf1a4df4a751fc3c4dfdb336dd90acb40000adf8ab8302bbff830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbd90f0038a0032dac17e94f42f0b5b084ce7a3d9ada6966c260154f8724a777c0baef7b9c50a01ab53c94db3ed3c1a890a6ea3d707612684d07db8720569bc4d490025d2811e50000adf8ab830347c3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbdd558538a05c64140112b9ff81f2d02fd33a67803a802e88e352824d92ca149362236b15fea048e1f7e68756bdf795a04806d59865b5b9cca044397859710eaad3e5d1b370730000adf8ab830418c7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbe9637d38a0826ffa56b404540ef86afb228a8951aef755e90be023a4105feb79382f37b717a02e25730a887f2a7f8a00f83df25721f8d108bc18be1d29b1443929e49f874c4c0000adf8ab83041bb5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc66210a38a06316b971b656c6958e29a1f7b7e6c7ab1789d429e0772840e1ef4deb6bb9fe68a00855a1b144d6c973e476dac6124868292bf47d616d317f190ea75db9e66a73ae0000adf8ab8303780c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc9f6c4038a091cafb6c1551820d48fb926f824ab3329c58c1d7921a5b37e1e18359c9a395d1a0332f67ef694f3bbc86712ccac2b28c4267bd0ff2cff9f339191fd4542f063eb80000adf8ab83035257830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbe8514037a0491595be15e516d787ffddea0a30cef59b5425ad1a5c1c50b3a255fdbdff6075a05c99139976524f76e805e0311c5897ba9915a65a1a9ad535bc209aebf51407e9000273f9027080830f42408305ac8b94e592427a0aece92de3edee1f18e0157c058615648725b28bf53727d5b90204ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104db3e219800000000000000000000000042000000000000000000000000000000000000060000000000000000000000008700daec35af8ff88c16bdf0418774cb3d7599b40000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000006929c90437723cc9c5f682944d778e85c3ea6e0000000000000000000000000000000000000000000000000000000000618eb5720000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000025b28bf53727d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0f6c64c177600052fd0dd621a8785ff7a62123145e40a0e0f3dec987fdae84c4ca04818c45ca4c90334aced38351fb96ddbdf9d6bcf1a4810b1d43f74f700b342b80001b3f901b003830f424083095ae194e592427a0aece92de3edee1f18e0157c05861564870e35fa931a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000365afaeff066c44122cb4fd705ac3b06a117b6300000000000000000000000000000000000000000000000000000000618eb572000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000ff8971972773b6af000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a0c746616a85e7288a44de094de00fdc6ebc8835910d1911b168c174f9410894e2a0514f6b30fc6d6d4916e6e1bb9f6ee7cd19572f6024dd2efa55df7a5e5ea946e6000087f8858239998082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001b6b5f49b638a02c3ac3a79f0a7c110a831fe80d02a41b213d6c06aecd9786b5bb9d4756706472a0666b9b949d4973995dbadb950a18bd958a667c149b2126f03ad533b1c44c047a0000a9f8a711830f424082c867947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b30000000000000000000000002ad09850b0ca4c7c1b33f5acd6cbabcab5d6e796ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0aa02f01d86aaba950d5815ba5136773eb71f865f13539bfc969984fc7aac9962a032762ef7cc6f22951299fc285c62cd96877dabbd0f1ba35e93e771987ed9aaeb0000aaf8a803830f42408301bed2948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a09a2eee3a6e6da40b9fd2ccb394e569ddb4c4eb622999ae83c3591add5e95c265a009650a9d875794bc6d6c054efe4eb18042355ca36e3bed001330b30df0d8b7df00006ff86d01830f424082af42944200000000000000000000000000000000000006877c58508723800084d0e30db037a0da4eefdca8f5215d80905496caacd4db2c96f2f53a7f5da451d3c03b31f3e6d0a028874b980943585f775aec07785d2af9c0d2b452ffd60b74fbb09ae8a7addc310000a9f8a702830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b2436231905d698e79206797163e66d5bbe6a0e6e9a3c4e154d028f8cadd2f15a0586c6ec19b6b95d10b851e2e20fa57271276b890bcc6cd5dca36cabac82b4bd60002acf902a904830f424083077d0494e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb57200000000000000000000000000000000000000000000000c5b79c2942650e48900000000000000000000000000000000000000000000000000aa88c2b43eeba8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000000aa88c2b43eeba800000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d0000000000000000000000000000000000000000000000000000000038a02583eaba0821de0f4361eff138e3ece17d5d51d9896fcdac41a914b53247872ea068cfe38f5cae78b763a589e41639ebbb6aa0bbc4a92de2740f7615c75dbd0ce400016cf9016912830f42408307cde3942ad09850b0ca4c7c1b33f5acd6cbabcab5d6e79680b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000008900000000000000000000000080f94112f337f33a96684c5a65d92bafd2e418c700000000000000000000000000000000000000000000000000000000096d55d600000000000000000000000000000000000000000000000000000000000f90db00000000000000000000000000000000000000000000000000000000094e07e8000000000000000000000000000000000000000000000000000000006197f2ac00000000000000000000000000000000000000000000000000000000094dfcf7000000000000000000000000000000000000000000000000000000006197f2ac37a03ff6de9f2ec78a43162ac10bfd0b1747444de600eb48487142adf2b1c2269f36a028d696c0071e6a2f72278d4155dce4e46bf276fbf34bb887d9c3f6ce1c4477080001b3f901b004830f4240830819fe94e592427a0aece92de3edee1f18e0157c05861564870e35fa931a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000365afaeff066c44122cb4fd705ac3b06a117b6300000000000000000000000000000000000000000000000000000000618eb572000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000ff593b77103da154000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a063fb0bc6c4f16825a1f1c0d7185d886685ca5f6f24822165b90b0cefc2c1c536a012d3a1dcc84225c93ed2662277bc8cc3ae0e3ef9f0ec0a9d88afafd32d60fc230000adf8ab8303e087830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbab484038a02c41d7e5b5c3f759420472921b3ce730392a4d8c0015165f9c8b8f8d6b5b095aa06e79bdf90d218329533ddf613b3b266e85ec39dd514a45d8013ec6ae4b722f8c0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a067de89ce85b7d78f8ed4bd034289f2a819408561460ee79bd342012fbd096e0ca04563e1dea15a288a7938bfe49fa4746ece08fe0ec4b89a9da2567a8ed42a784a0002ecf902e904830f42408306b37d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb5720000000000000000000000000000000000000000000000000000000001c8508e000000000000000000000000000000000000000000000000001711725c07b18c00000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001711725c07b18c0000000000000000000000000935b870a027861bee3cc0b2ef24f5d194aed16a0000000000000000000000000000000000000000000000000000000037a0bab2439c79b8be76bfea8d7d5f691ad112515b2b0e5108bf65ccd8700cd9f470a06b64286c79a6f9b9abd3b667cfa764549399a2870ed2534a31f96b520109d40c0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0dedf7cfdd3f4f9bf0e28ec06b6b0cf21fe0a4ef9c603c0dd4703b00af92893d0a04a8b40e677caf01eca629e43311a1b9e3871c4554606319101e22217d616224300016cf9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6a60000000000000000000000000000000000000000000000000000000040503bc00000000000000000000000000000000000000000000000000000000040202b45000000000000000000000000000000000000000000000000000000000000000037a0beb5caa9743f3c38d32a0809380810c6d29bd31617138e27347b59f20a81ca23a01b4106428016d76fe8eb5d0d90625bc1e3cd06b4a868a4e06c814ff1badd20e3000087f88582399a8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001faae1648338a0269502e2e19ab337bd486f7e2d4de5129258f7cbad238092d1eb6cb742ea49dda048be4fbb3549bdd26401be773d61f8064a285ffa84057462dfc94526db23df3000016cf9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6a600000000000000000000000000000000000000000000000000000000453374400000000000000000000000000000000000000000000000000000000044ffbbac000000000000000000000000000000000000000000000000000000000000000037a0fc0e291d7a200dcf6e68beb9b215fdda74bb404ddd37e71bc5c6dad862fabfbca024fc8fbe8a8b6aac20293b78481298913aecf1870da847109d6e407a5969b9810000adf8ab83041bb6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbdd1cc238a0c38c0cfeac016e833c7ead29f423e619a50868742e8cc0c8bb41ff24008d0cd1a044cfcec32d3ad254f493417fd7e6fe6c5d67b0d034b75a0fa2be6bc26aff8c950000adf8ab83038edb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbd1d19638a077236400eaad546bfc13e9a775fb6f29e3aab8dd15433c179d6399cd9608dbdea0649923be35867262a71b7c31495df6dea0875cc54d0a2ec1ba3a36245aa472ea0000adf8ab8302bc00830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbba8a8038a017480a24d09bb069ffd80a6630533911351799109c0ac60a2b15e070a598c4a0a04bb7f5e1a759fe35a037de0255a28e061dada213ceb526272c79c01d667ea7360000adf8ab83028f72830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cb899b2837a08b7035d39fce261d9f54da6338d311260192bf13d5cfbbfa4d0ff167c7e48e6ba006ea08de69a53cceef26bcfe9c593e42f4e77e01577cb2c5b2dcdd03bb4896d90000adf8ab830347c4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbd1d19638a0dc548e8fd3fba07d961cd418e3bedd5c0d3bd8c8c132005fb8e9042247b51662a0458330869beb5154074b9bf51ccdb05d7541f8a7b15e657e98c6c9dd99ec5a680000adf8ab830418c8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbef676338a0f64865b59cefa038bdf69d60f461531d98e9df81ebb9086a60661a07e5f564fea02871bce03290706495729a06a0a493d6224f52c5d13ac02e6f8a4bd9b74dd3a30000adf8ab8303780d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cc9f6c4038a04b35a2ba5a47d209586e0bfbf2b5b97585558affbddfc8a81fe9152af19f13a4a002fc98df3c30e34c38fcb3e0e733c57ba626c65d0961892b7a81aad787be7bfc0000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0592e05845637427b426006c78c5c79544f36f8246ad04ec83e6b899d615ff0c6a05eabe7ac14b49ec5e9fd59080206b43f99445ccb9de077e18401d7f6f1311b080000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a084439ef6a836e63816a51b829758b1ecd5e45c92936d5d50f53d2e940880bacca01ed29fb4434805643bdd99e3471f177721ba27f96a16d6bad2eaa85d8394ca5d0000adf8ab83035258830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cb9c060037a0b0021d69d7b9ccad4389df0e68cb919a5a76228ad72632e0c506bbf720be42a8a02128e18c25f6b11c1203eb0830529f8ffa0bca679b6e42a1f9a7a7dc3243f3920002ecf902e905830f42408306b37d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb6a60000000000000000000000000000000000000000000000000000000001c8508e000000000000000000000000000000000000000000000000001711725c07b18c00000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001711725c07b18c0000000000000000000000000935b870a027861bee3cc0b2ef24f5d194aed16a0000000000000000000000000000000000000000000000000000000038a0ad9dcc39093b03b9c4fd31dcf32fcf59f6541c0a9d588bfecb94fb0f05fddf75a04fd6318372f78cb02251fdb1bdeb97c26c00bec1b7b124d789f66d69a6e71f9300012df9012a823923830f42408308f7ed9446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a000000000000000000000000c9374545d87ec30e7d5a04a81bdb0d72e46f7ba30000000000000000000000000000000000000000000000000000000007c97dee0a3e7fbf11f2856fb57c882ad8b3c24db5d42c23d3a5d1ceb5d4177d0202898c00000000000000000000000000000000000000000000000000000000000f3ed30000000000000000000000000000000000000000000000000000000007bcc37e000000000000000000000000000000000000000000000000000000006197f11038a08aa3c89e04a61a6ade5449ac59a3b018966c25fad7f160244214e765572e262ca01fdd7308c9824519363d2cc08a66fd4e1a6838ee15bb8199b276e53606c1acb4000070f86e80830f424082af429442000000000000000000000000000000000000068818fae27693b4000084d0e30db037a029da297f4e423859bdf1273e8c7cd8ab9295357824c7d450977be4a80a919776a0318b0932c852d966343e77b7fb9c59088333cce722f0ca6361893c894777398f00016cf9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6c60000000000000000000000000000000000000000000000000000000045114b290000000000000000000000000000000000000000000000000000000045101021000000000000000000000000000000000000000000000000000000000000000037a0ac50ddbd635a504e5404125c6b62225a81980d347c1ccc78a067b2bae7bf30c2a06e5e4adf7805ba4ae5477e53858abb5e6f38b221c617c9aca42e4d9ab8b7dda300016cf9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000000000000403095d000000000000000000000000000000000000000000000000000000000402f71f7000000000000000000000000000000000000000000000000000000000000000037a016586b579888a22105d6515ab63a6401d8aa0b5e187165baadc0c95f0473a0b8a05cb247e8178c6d33f1b5c7a49d4cb5ba4637935db1291ede5e702a567cd85dcd000069f86701830f4240830b759f948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a041372fed64784189a74efa02646f5f25ca4c6bd7bf578c5f611e0d79412eec7fa03531528479fcaf1cb3123a2241da9332abeb26750fa4e936676e7d2af91810c200016cf9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6c6000000000000000000000000000000000000000000000000000000004521be3a0000000000000000000000000000000000000000000000000000000044edf882000000000000000000000000000000000000000000000000000000000000000038a05a418c300518ddb0274365c26b672fa429ccb6caedd95d1026e0e5ffdc3047dba06ac2eb4a69792be6e8483d51a1261f19e72666421c4fa267a9d7be9d739107bc00016cf9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000000000000403fc5fa00000000000000000000000000000000000000000000000000000000400fc1c8000000000000000000000000000000000000000000000000000000000000000037a0f68be8b91b89d4b74d4aab25dee9818b3515fa5a87f92908ee3a4321590c1093a073e14e04a48bff22148a1baddd3eaf110e554dd28c0ad3ce9fe063d0d8c16857000087f88582399b8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000002345d3d02637a0f081136a6efde6f2519297713b0fa50f6abdb5b53e3c1a156a7d08b96fd10c69a00ba4fca325b3605be3e376fb9245a58416c5b0050c7ce2493c681efe82a47988000173f9017005830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb331287d66d8d9c872800b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d00000000000000000000000000000000000000000000000000d66d8d9c87280000000000000000000000000000000000000000000000000000695a830035c043000000000000000000000000000000000000000000000000006b3bda4b22a5a7000000000000000000000000000000000000000000000000000000006197f3160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037a037e36ecc1a92a0032fddcb0ae80a7cf017e2a298810bd5fdf1efb8e8c3f9b6d6a077e105e54a4ae7c4c5ef6ab5a66bc6143dce46daf468cfb8d6b10ce1da728c8b000087f88582399c8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001cadc290aa37a0ceea992d5a43222fd7d767cb70e18a967a9755ee4d0daa746f41075aa15a57c8a05f2133ce2d62b1c6f66d18f65e4f2b814cec795af731e353baa2431fc25c3b3f0000a9f8a701830f424082acd394420000000000000000000000000000000000000680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0acb956e903f0b93b27006e61b6812bbeb519ae3b3a03d481c503fa1fe078353ea045d879960ff79044c04ca8dc6c7bde54fb0d9846d83d8171862cddabc32cfab60000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e010000000000000000000000000000000000000000000000000000000040200dbf38a04300f4d2e5f31affc79cc678e6bb518a2e10141dbb83a07291dd1d15a6805a80a06665036d2b027fdc169c15b9ecccdac0003214f7d09ff9aff995614021328c160000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e010000000000000000000000000000000000000000000000000000000044ffb84538a0aeb1552571d24e93e983be7d7133b87c33bc8984fe080ad892eda023e80d4cfea01149685f9eac9a19bc6747de4db76760a26cf11588eb741b847360fdf7a21b2f000173f9017080830f424083074abd9486ca30bef97fb651b8d866d45503684b90cb331287a6fa4040718000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb45b0b072b3e8beadb2c70b428416ae058b736000000000000000000000000000000000000000000000000000a6fa4040718000000000000000000000000000000000000000000000000000005e352deba3af530000000000000000000000000000000000000000000000000047561ed0d3329e000000000000000000000000000000000000000000000000000000006197f33e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a0a62d72db4b15c42cef120d2986f3b68d58427e7c98bfec08059423ce2ddd4437a030c7c4a1749a0a2519adb866909f061f9069b75b13f89bab5573bb3bb10dd1e100006cf86a02830f4240825208943e70473d7abc7bb4df29e9a1669de5ca8889df3f88011fc51222ce80008037a0aefc3d3caedcff6a286aed68c9fd66208e3f6d8e755af41f3c03952481b3440ba016a7607b192fd0fd1e3e5768d7b397af275f21296adc91f5b3a141063ae5e628000173f9017006830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb3312876a94d74f430000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006338e9605efc7b000000000000000000000000000000000000000000000000000671b0e65cadde000000000000000000000000000000000000000000000000000000006197f36d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a0f9dc9103e623e16465036172de3a51e8064bd6f5d45c3022b0d05d7cd042df1ea010de578efcebf3d1bc7309fa40eedc37ac58b426ff5b60907e1cebb3187f49c800012df9012a823924830f42408308f7c99446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a0000000000000000000000003b471fa7f62560d0388cd70a264d8200de70f57400000000000000000000000000000000000000000000000000000000001e5ee7a451ddadaa1b7b01eff110c45431862ee198e17667c6f386eaff176d9c07862a00000000000000000000000000000000000000000000000000000000000f65e300000000000000000000000000000000000000000000000000000000000f029e000000000000000000000000000000000000000000000000000000006197f1b837a058f880e7ab04cfd629bea68ce33407167ccc13f1845277b73013925290c8acbca0054b2fd55ca23e1668fd015104850d8a2ad54c77ad93741944975ebcd7ee4d1d000087f88582399d8082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000217caebaa937a03ec26c30ba512aa0de9e3b6a1a839d503b15fa972d03af6d7e1a77ef6d0f7d5fa06bd31fa1012462ff176b6b50a095feaf5cdfc2166f9d6d2ea1e607d922fe460400012df9012a821503830f424083095fb19483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000890a44021f81d58bd40e7fdbbdeb8098873b33750000000000000000000000000000000000000000000000000f611ae5d67e18e0a9fc4642c6abd0b5a976f2a7a1e8ab21ddf190ab5d6f3bfaba69e0a204af7df500000000000000000000000000000000000000000000000000038e381508255b0000000000000000000000000000000000000000000000000f54d929697b91e3000000000000000000000000000000000000000000000000000000006197f2d538a014f574f73d9f7496adacb552c885f2b9fa5f37f7cc9c0b4c33482a42d2377cdca047ac4b0043d71f0ceb0d47d9f48bd38103af3fd4af185a7179c87e9bed849435000087f88582399e8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d9d2e99fe38a00e60a889984ece7e5126034df903ae7ca1914d667eb756d075ab9812e12186a4a0480d4b67afe4af646e5b0f4702f956156c7e7aa9a198c9918a128480f554cbb300012bf9012802830f42408306cb7394aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000018bc91f4ba5ae07f000000000000000000000000000000000000000000000000000000006197f362000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000018fae27693b40000000000000000000000000000000000000000000000000000000000000000000037a05447bb211bcc1480ba0cd9052c92aadf2499bc8262dbce83e87697877e9fa942a04b15c6be5d8f7cdef968432a6e4d1c7c2b0a37594330e41e6895edf1983fbc680000adf8ab8303e088830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cc14e87c37a0d3436c22712cd1c96828e9a15ff661bd6f256a2c18c582ddc3d25e2e98f9ea8ea045f4c24e6121622c113199779c352b351a00b3844afecdd71c7cdd666eb9e1c80001b4f901b180830f42408308997094e592427a0aece92de3edee1f18e0157c058615648802ec02b42e850dc4b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000088888888a9a951671f8faf59da89d626698a72e900000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000002ec02b42e850dc4000000000000000000000000000000000000000000000034668e32d349629bda00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a01986354f4eefd2eb6fb5e230e0b8c044161f9a93d2cbad4a66cde3ae9336a743a01621e438077648005ed0ecf4c07b86b36d370171934a4a0475cbbfe4aa6108ec0000adf8ab83035259830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc16180037a0ed4f113c8242b8cf285da90b108b0a0cbfa9073b576555c2ff1d46e947bb9faba02352015707470781562398867b8e3f6df7dd981637ec5de3f9c0fbcee53838270000adf8ab83028f73830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc2dda0837a0dd91dd2560e1c381b4a1f8e296aeef714275351f85160f3abd5945702303d79ba071e50b52ee625f8d02032331f8eab3840d5d2435e31f5bca36dbc741cd090b500000adf8ab830418c9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc1103a737a0b4ed2d38a30728af31878634950a2592589ed054cdd44e85c7775535434e0804a061e7dac408d3c592db0ebb659a2ec916609ddf757bb0ac0cd949b1acbb634d5e0000adf8ab830347c5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc187eb037a0e9e3ee92111bd5f3c72607140aa023607fd9a426d89aa9824920885a97ae7ba9a018d689e3bf128786fe616c056e8e8eabae559dc9e5ce7f21526dd2feaca0d1710000adf8ab8303e089830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc13668c37a0c18280e0bfa6bfdbdac9b9485e113ec3cb1a324172008e8015d9a257a6b7abd0a0231d1cc5ab1d2a2fe15f845466a636d5c4a6fe7bd9572c883cd0b559865045d60000adf8ab83041bb7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc3187bc38a014dd42465ee8f70e26f96a7068e141fe956e88b072c4bd795bbd096bf757faada04866d71e37b209f8e502003cdf468ecaa02ed53118f40d72bd1cffd71c9d01e80000adf8ab83038edc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc187eb038a085a5541bd1408af49b2e3b8d179b1942ebdf505c1021358eea36faae31fe3c20a022a3b452bb391391d86b39a4c3a5e3606810b89ddbf4840c1c6c21ecaf72e45a0000adf8ab8302bc01830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc16180038a077e8620acafbb8b36d5f834b4be81af3b9813fa2b9b77004683df05d81984529a046d99be41fff222b66dd360d6470bdcc7a92653e966d80800584eaa5bb5f2d980000adf8ab8303780e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc71a58038a02619389ed09267fc35ad32e75da9c4b611a5232924870befe27bebffcaa525f2a0159dcaa320814732a02e3a366058d5391506793258ccecc2683d3f0a3c8b506e00006cf86a80830f42408252089438c44bfa05ea2cf6e32f93a12a118608ac3a5c148801118f178fb480008037a02af9edf9c01685736d5df278ad9426c5974140a27b6cf5320ef8d154b06ba0d7a01aac709c47d0c7071005dcfe7f5972e35b683d5eb7e34ad59d459cda583d77c10000a9f8a701830f424082d2be9494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb00000000000000000000000038c44bfa05ea2cf6e32f93a12a118608ac3a5c140000000000000000000000000000000000000000000000000000000024d4738f37a06e96a45f5081484a9b315a54578d3024f51e5020a4b3311977faa0eed5bccdc5a057b754106000991ba951563c0cf1f4ef635fb11eb4288adb361f2849e9752a820001b4f901b101830f42408308997094e592427a0aece92de3edee1f18e0157c058615648802e74b553a6c1c4eb90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000088888888a9a951671f8faf59da89d626698a72e900000000000000000000000000000000000000000000000000000000618eb80b00000000000000000000000000000000000000000000000002e74b553a6c1c4e00000000000000000000000000000000000000000000003411fa283a6bfd0cbd00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a02f51b3df9029d355f274fb24e36071e9545f2743becc0f0af5f1ff578ec73f15a0248aac01f61d45da9ae9534af509e444c0f7cd0a329527ca5ca20060875d18930001b4f901b128830f42408308855b94e592427a0aece92de3edee1f18e0157c0586156488016345785d8a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dbd0b8b6851ea7bea7b443f4d1bbdf0f2c52478900000000000000000000000000000000000000000000000000000000618eb80b000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000018aa504107dbb3046300000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a0cb2d6ddac839953bbd4f91a895f3697a308bbe5973d08a0739e9c2b0f2c689baa0617a4f5823a36da2a9df40c2540fe36fbd48853ebca00e413a6f94f2775f42320000a9f8a780830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0ef690719d4033895ceb64933fd313d1d611794e507bb9d8665acdb7104d0e826a06fb47ac636bf0934206cff54f6962a90ff3fac925f11a710955fd87edc2d138b00006cf86a80830f42408252089448555c603c89505a28a5cbe6fa4da6b8ce49eba5880f63f59fcfe880008037a0eeca757ad75a0ee92c7574ea4585ec494355366ed4aa976da1ff09cd39d81633a061de2aead197ef28d84d8e2951df7480e926e7b79e465db33426fecf8a324e8900006bf86913830f4240825208944f4e4cb82aed5ea19150b6beb5d2dc8865af55ba875543df729c00008037a0bf3745747330a82c21187c1b6fcdd7e00f8962b54e28d9ec03047a044cbb9580a001ed0f46c2eff649dfa1b7afe56e350a4a47268c557f2d77e41103cb4c5fef2b0001b4f901b101830f42408308b80294e592427a0aece92de3edee1f18e0157c0586156488011996dd7d4f9280b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000da31dd07eda31bfc5b1e75e4446df5279d3d1b9500000000000000000000000000000000000000000000000000000000618eb80b000000000000000000000000000000000000000000000000011996dd7d4f9280000000000000000000000000000000000000000000000013b9a406051d83179d00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a06b51cd8ee0312706054b63eea594ec2e0078b5eb1a712347288b640971093f5ba0458e58d524dba3104abcab4e26449637a1883d75e651cb52c1b3dc76457dd19d0000aaf8a802830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000002935cd347b79c319a6464fe3b1087170f142418cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a011361f8ad5bff2b84a3cd97fa2684d5a1fcea47202bcb32822db8cdff676cfd0a038b6aab99e40dcd591ccbfc28778c4d0f06ce27c70ef807b0f3f147c7ddd14ab0000adf8ab83041bb8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c15d8d5c038a0e2db4345a433a682bdad502851c1c51d7076171dd007b045f9c6578bb0872bcba0750162e9922bcb811919f5fa23dd295ea482ff620b6b3201b677c6ebac3959dd0000adf8ab83041bb9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f531b737a03f75be20df346e1af8f53535396221367d1c18f7a6b200e525070449a7b19390a07802d2781029cce3616b975ab50ddb1e72ac748c3abf361d1111585a38fe49700000adf8ab8302bc02830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c10c9ab4037a0e0f976ed2f6e18bbb092e65faa97b48be5775e10bc9c5afdb4090b75ee2ff3a5a03c2dc4b77bf8ab97807d2469078effaabc4f483690f32120d2acdca1b4ab52990000adf8ab83028f74830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c4b4ff80037a08ca74dff992c365853bd7aadc49626503ab9745f131370e93ac63d8a4651812da00ec1748ca2c0e98d9301df0507d7cf0678ace2978bf8dc2eca6f2cdf6725178a0000adf8ab830418ca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0b3e214438a07f06f4f2f5e51711083e2969daee44ed0031e6e2b144c2b0097ba0dcc8eb354ca055c1f9958864e1455720ebc18cb066b9953491caf12f0d3ea76632d74e065ba900010bf9010829830f4240830f8932948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607355534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018e974e5856074ceac7345544800000000000000000000000000000000000000000000000000000000000000000000000000000000dbd0b8b6851ea7bea7b443f4d1bbdf0f2c5247894b57454e5441000000000000000000000000000000000000000000000000000038a0f70b3b126ebdf1ba28a9ac541042617e862c12c60970957e6cc988f31942ba6da023f00778e5f7e05f9f401d3431ece622cac71a60c803881556c709f215b7e6680000adf8ab83038edd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c037a09ab5912e21b0930dc3e0def2e450b5b33e753dad721d798661267e5a9b5d3a0ca073a334464c277a3bf12b44466fdd4dbb75e97c853dac0ef17bf539ac96ae65af0000adf8ab830418cb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b6000000000000000000000000000000000000000000000000000000003902a25438a050bd19e261b51914a245e8a11835326cefe43352ada99117205ec75442a52b15a074dcac7016a8dbfab1f873b3d45b49fba7220fba50cebcf58008775c0d5b73800000adf8ab8303780f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f531b738a063f803f54f45668c6a3efc65b21715ab5b37717a29c8a6c6a05b1eb29d360ae4a067e8b43abe6248fd0d53ecbca6e2729e9feab24123a00fa338236a4476ba346f0000adf8ab8302a138830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c10b70da038a0e30cf41dc088ed4028b1ad49759b14a2f732616fc312be592396acde6cc5086da03047de833890a15b3fb52908dff02834001f0a9e8c12e19d8056c8720af6ad220000adf8ab83028f75830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc41db2037a0bea6c3dfd488cc9b5950d7da3c45bc21db87b009b799eb02854322947c774ca4a0461fceb6ca821d7545dacef1ee0e9d8434f40890518cfbd2c82ec930494b40c80000adf8ab8303e08a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfcf76364038a005f7672f8a088671371a63517e5577190ddc9a3b0f8f876dbbbc946017d3396fa04c4d6853737075ae910f4466d55cd42686bd4245a34a6a626c550370353069bb0000adf8ab830347c6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfbde7155837a0ddb1d1a0bfdf6e93296e8883602232e5ab0d58eb8178f5796867204b1e4782f6a027c3f46e61f5e5e0381f766d81d03057742b2f06c08f7d92e368c6b8663e8b8a0000adf8ab8302bc03830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfbde7155837a0befa73905ef0916ff93df6736f2919fdb2682e7183230d6832f87339e7b8187ca0099db1c7e9e49b4f4ca41b516ed120ef9ccb54b5e90db4047aab19930c2463b000016cf9016901830f42408307695c947d269d3e0d61a05a0ba976b7dbf8805bf844af3f80b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000008900000000000000000000000038c44bfa05ea2cf6e32f93a12a118608ac3a5c140000000000000000000000000000000000000000000000000000000024d4738f00000000000000000000000000000000000000000000000000000000001136bb0000000000000000000000000000000000000000000000000000000024525941000000000000000000000000000000000000000000000000000000006197f42c0000000000000000000000000000000000000000000000000000000024766ce7000000000000000000000000000000000000000000000000000000006197f42c37a0acd2fada31e1e131b08755fcf155e76df0d57be84c8e353ccbea28633ddd0111a03d9a59fde254d1f680e4caa74420c18784c58f17fe9fe55ee112eaa04cb982b70000adf8ab830418cc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc18a4c738a0b47e43b9a0f5fc10160b44eab117e3d7ec5f6e68a5a69136c9a6d4d4d3a15927a020bbc735eca03e2a7dbf9972f97796e6c867bcefa4c8cc6b684b007d99f642f50000adf8ab8302a139830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf8e99990037a0cee9599bb370a969b9b5938325649e145ba39a7470890afc8f37e0c9b631ccb7a0263aedbfb467b9fa98fa41e6cacc30a561c43e4d0e03d1bf94f779054089c8d40000adf8ab8303525a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf9eb919a037a09096756b8cfd79df625d0917631a91485d7f12d109e6ebe969587102e1170dcca0721fa5eb4e7e9743bb05ae16d8d7bce842af0180225139e1f7ef0ee72c2410260000adf8ab8303525b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf9eb919a037a0d881aac5726723af049940f377b314391cde9a9a068ab24b8c67b782ea5cdd7da001effbfe5755689db3d374095ebacd3097e5d302f469c5a7df85c3298b282ee00000adf8ab83038ede830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a0bf2aeba7677db7a63320d9e3db52c703f830e11ad889d006015c92f8c466a1daa04ca6ade8296e4e1e66a715bef6f067f79dbe613cd2ead184c732f2891a6a93b90000adf8ab8303e08b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f2bb8538a0e26f4089d7e747138d6227bef922e39d3332927bf0974cbb69b7623f4f6b5b9da06ce0195e815764e79ee31d62b879414ce20fb4ac19268009d3a9da36de6f0c390000adf8ab83041bba830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc41795037a0688b4d1681d5e26fcfa92cd795d40daec150e69504f60df6a8aef6c20255e43ca051d3cb42826d7c1873cff78bca49fd5cfb18aec9eda50b811569083d27d5a4a70000adf8ab830347c7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c037a075832896b18830c28b016ff3703f8959925c1b345bebd65e848da6f9460866bea04f0eabddecf190ff39344cd664aca4c6b3bba6fcc68589de033d99adf9db12140000adf8ab83041bbb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d12fff628238a0d717c900e824646d42f9ea63403b32ff01dc02a87b8bd9600969cebbf6d22240a06d2367d27f30d8a0339debb26d29ae15038cebd8117db1de6eefa3bad16c5d1a0000adf8ab830347c8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c038a0d51c1329bcf587b61844594c09f09fa41c49e36724ee31ec2da58cc1e9ded715a053d6215f7dc6e45ee42c748a2e2aa35cda1049f94724d9082eb4b45db3ded6d10000adf8ab83041bbc830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d12fff628237a0a9fc79408ca8dff9ae49b06104a0cb536eec2612130e3961495aa781f6d1d45ea07f2973ac658a428b472ae0edaed32c043cbe7d00a555fd94fc3bd36cf6a452740000adf8ab83038edf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a00fc01f4b7dbc3dc6065321975a45b0bb15855c73b19a971691b045dd7ddf7092a06a13ec689094f317612a8c46490b61325c0443f76c24f755ea579b3b69ef050c0000adf8ab8302cdcc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e8543037a0fa543660513d18eda33c59cf8d4b0cbbdf2f711b9b65fd45f25631bb00a509c5a05daa393906782cdb1d3fe55da4391b4031d8d6b9806f6677280c624a402590810000adf8ab8302cdcd830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e8543038a05d8a608c2a34d063d31a5deb9ffbcd8359bb7306ff405a9aff8d66a73cefe256a04d3994689a4a2e874b3ef8368a9ff49ea4906b8436a9673ac3c1f3bc4bfad16a0000adf8ab8303e08c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c11e2bc6037a02b44277c9a51160149ad54de57210b734d8b2c04c13e8027cdaffd08b088de0ca025e11d2f1cf257b9762c01d3f3f38f2a3e4d2895c5c2cb0f1198f9fe054808a00000adf8ab830347c9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038eb592938a07561c6a9eeda4cf21a75a41bd6b80dc769f1cc30b7f1caff6c6570e307ca6cbba071c6fa67b2d16d7cf1143d9b8521fdd64f91ad89e53fa77edf4e6ea65c0e880c0000adf8ab8302cdce830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7337a0dbb51d410d1bc653f675cd425b7b4ecf8ea5b7fd638f9219165204e235a5baf2a01efec2cc52bf049b37389d462cea3e1ffb5dd4fea866f26d5a4ec1f62a6951c80000adf8ab8303e08d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f2bb8538a0e9379a96558df81e4cb7b9af665a7cf340a129c1a6b4e962ebfde725d65e8531a0466bf5629d61548b8441fa15e4db217947ac9448ae0c4c52ca994dfb31c78bf10000adf8ab8302cdcf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a03c39cf9be2963fe5cfdf3c9545716db587182c1f10b2407f4dc6c47a8fa096cba05ff380ca15032ab1ec101284e4fb33f5f10fd726792ee248cc8e196e8ae9b3390000adf8ab8303e08e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc1b194037a04773162534f51db79208688f3304cdeaa01cdc0e758e67d06cfbdf00832fbc05a05f0dd7df7e4e0ed07f4165730a6e6e11de0ab374034f6db7e527bfd8f5e9ca200000adf8ab83028f76830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d0257f30c037a066660d95db50b5308041fb342fc75f25b9b44f23214746f1c3b73dc4d87c9922a0023f18898975a4d48614d9087002d5d4d633d5884206536ddf33e4308e7bc2e10000acf8aa8303e08f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc202f3438a0e0708039d034b3b381f57b90efe344cb87251d94376aa2b38721795ff38dcedf9fae9c9070839d12ea493afadbc5a7ef7c233d4b56a39ff0d989c90077c4e12c0000adf8ab83028f77830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d0257f30c037a059dc4489479360dbdd5a16cf847e527234bcb014b24565cc65891bff74a28e4aa05a6bc19eabb5e2a65127e86c910f9c69763d66caf1eb0a84c0406f10511254810000adf8ab8302bc04830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc26004437a0258cdcf1146b5f469f385f0283bbeb8ee9298853854986d7d5a2042d50049965a06bafeb10cd92f7a21f26d5a4e290ee962f041694ede6a76ed9ccce6a51e9f0720000adf8ab8302cdd0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cff064b16037a04c8ea650aa5570f1d6a90519a19a5fb5c1101d2c413ba499f07031384a0cd1a9a03be459cc2e29834ad1edc498a9e6ac24f57dee2cf56fb47c0511794ecf2997e80000adf8ab8302bc05830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc26004438a06e578f40476dd5274911d18818da874af8972e72defee0b8c094c0242be86d04a02ff4e49281c03249d3c06e91c0e1fda765436a9468d614df6596b8f9a26c6be40000acf8aa8302cdd1830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cff064b160389f78b7543b5ce7e2b1979f8bdda94c113d8e6b07e3c5b8d44c0733227ad5ed51a01b431a5f27f5e1d9c3fdfacb8c6cb016cfa18529906e81ffafa45f7e709288f50000adf8ab830418cd830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d353a4b4ea38a08f955db01bbd32c2b878bbbd0634b9868fc6786d2e6267ffc2fd30edb29197b3a02db515385a471bf93d860917c5098c1664bb1fedca4be3c88f6f9a9003c740e50000adf8ab830418ce830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d353a4b4ea37a00670f386b05d5ebf12802c468c1ebd7da552113c1c6fc748686a0ae284f942b5a01418100a8994db88886a0844e8e5b4c65158591513d262127c36badb1bd75c950000adf8ab83038ee0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e9178038a09eeea041d1c8ec0ea3e907e0f2ab5cc1ed6a8f396b7000c9996885ab74f96b39a051aac652e2721166a669102184bec2f0146893a8a07bb802af3097876541cca20000adf8ab83038ee1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e9178037a0e18d1d32ced410afc076fae7f10b345ba5bd45b439e015f4b438f31d63bc3149a06879a683b0bfbf6bd026633879d1b063a4e35edf60c1a1bff18309d3492f68a4", - "should_start_at_element": 25534, - "total_elements_to_append": 142, - "contexts": [ - { - "num_sequenced_txs": 38, - "num_subsequent_queue_txs": 0, - "timestamp": 1636742214, - "block_number": 13602940 - }, - { - "num_sequenced_txs": 7, - "num_subsequent_queue_txs": 1, - "timestamp": 1636742522, - "block_number": 13602961 - }, - { - "num_sequenced_txs": 31, - "num_subsequent_queue_txs": 0, - "timestamp": 1636742554, - "block_number": 13602963 - }, - { - "num_sequenced_txs": 65, - "num_subsequent_queue_txs": 0, - "timestamp": 1636742879, - "block_number": 13602983 - } - ], - "txs": [ - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000422571c838a0b578521e7e36ae174d1b4e8124152c9f5c1c1869fff93fcc6e0305d558efa203a05260152a1c41b8b10ded8ed60914ce42516589e3fd30bbb1f79bba038eebb189", - "f86704830f4240830ab076948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a028ce839d218e6765b131444c707dfb3799d08426409b4ba70dbab2e270b48083a07b5585a13ee390009a3ddeaae3ff5770129a788da49563073a0fb5817745b7bc", - "f9010801830f4240830f9a1b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c74efa3a983137da6734554480000000000000000000000000000000000000000000000000000000000000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d4b57454e5441000000000000000000000000000000000000000000000000000037a07c80dce7540eec34d2bb80d16e2deedb69ef48403b4d40e3fe6107e5355a4cb1a00841586d7fc409279ae2f79abb002cfffd6e7782718b5ca5fec28f864e58d0e1", - "f9010748830f4240830f9a1f948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c32fcdb067933003d734c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000089c81dec7ab1601e604d90451f6f101a4482963a4b57454e5441000000000000000000000000000000000000000000000000000038a0fcad6889e6686d5c96c48ce535b82193429bc4c8b55a458d2e4e6015e1eef5789f5c37d62914a2f121a2bddabe8b3045ead2e53894fcea414c14dbb108dedaef", - "f86705830f4240830cc803944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a0442b1586be452b949361e25c5b5c6cadc26dff5e8c72c07fbf3301d79e1c03a1a02df4434d155a261dc73752e7967df0c43d3c94a305dd52ab9e1f1d4a5d152c61", - "f9010802830f4240830ea7cf948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af1b45ad0f783d735553440000000000000000000000000000000000000000000000000000000000000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d4b57454e5441000000000000000000000000000000000000000000000000000038a04ca06ac4582d58a2bc555c1843261a95919b11698f3f4deb271c82f786f36677a04a845e9479f9d25b3e430f37e4440865387f126b32ed21481df543bf8890d710", - "f8848239978082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000235932891038a0540f9012d84a9731defb1092cd26a6b63246809d66ef694135ae05d39a4760ea9f676b2faea4fc1c0547432a663ab35db57e2d876bb3af393da75afe23cd27f8", - "f8ab8302cdcb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cded9538ec37a0f1576e5ff1706b9471b96c866745beed8d12fbc73c3f5cc6e663eaf078c6560ca04d6cb4ae924680478c24c577b2875d550479766d35343d478e47ea529eff8b02", - "f8ab83028f70830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce43112a2238a0ee9cae9e5766b9f152f39c9a44514d5281d78c5cf6ea34284f7b732a24e2e77ba071c291f8c46f38a65e13d1a3fe58fd49e5ec9f94abf3415e70ec2eab5083b715", - "f8ab83035256830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cec8b3706637a099857708f6d707c2ed2c0dc09697d3dd4cb44722c6ae9ae8a747bbcf1151dd52a0199dc203488ed57534260395799ebb18fb36a99609ba7bf903c46202a649f533", - "f8ab830418c6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005d1e4a6761f37a076b82a5e8407651891dcbec735ec15989e0ca1ab2d9913bdae05f01061b6824ba042fba7ca97a7eaca7ebeed1e29945e051b243182b1b92c82478cacc74270d3e7", - "f8ab830347c2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005cec8b3706638a062d3eabced14ab1b507d4904e5f4d57e55c51bf13fcfefbcae32bf2c6c062d95a01f71cf4f57f7674aa3df82be8ccb72ceb55186468d90bb1c54cd73086871d36e", - "f8ab8303e086830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce0b5c4c0037a06f79cc034202204dee6e7a920e328e6abab28bb0286df90c7b7e81eb307ca5d2a07eb4f732ff0f75602c9c0ac3353033579562ef9b40db5ffc21e7d61f79c72772", - "f8ab8302bbfe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce0b5c4c0037a03d5130ee869d344ba4914ec6facf86667777f17212d0a38d1dd9aab28f0dd570a06b5be5008111d4702562adba6e678c6ef4a579812d4d8b827ad5961de3e8c406", - "f8ab83041bb4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005d26d1ce62f37a0847037e8680444e59f0b51d2f24465423dc6069b82a5c78a9445ce2379a6f167a02f1b1d9af869c597a7c9a59bd62c30265555251d5f900edd28638b990249be50", - "f8ab8302a137830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008499000000000000000000000000000000000000000000000000000005ce05997f3238a0c27f2b75e8c9ac4a36996dd71ff9248e6f15b5da99994f30378b61025c24abdba017474d2e27ccd2bfc0b12e8aba0665fbc9742ad828895373a69f0c35a172dab2", - "f9012a823922830f42408308f7e19446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a0000000000000000000000003e70473d7abc7bb4df29e9a1669de5ca8889df3f0000000000000000000000000000000000000000000000000000000024aadbbc79597e1141744f9fabf2c9da12ac6e28d57231746620b9c098e909090367cbf000000000000000000000000000000000000000000000000000000000001107db0000000000000000000000000000000000000000000000000000000024a400be000000000000000000000000000000000000000000000000000000006197f0cf38a0b6dc9fa4f8438908ad73d892086ca8463da46f274b016f3dc491ef2d2873f751a016603ecc90abe0c64371376dfdfd4646f9876d1d402d4d5ed9f7e88255f9c423", - "f8858239988082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001f429630ad38a051d6287c4c7eb010c56b4c71697d2df1c1c024b9df4f437697a25d2a627bd6b5a010715ec86c41f9ae33ed96802bedfc70e869947805b8499cd11d4dcc50c3bdbb", - "f8ab83028f71830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cba4918037a0c7c073f755364e919798645c8f298c54fc70bf8591ee808bff2deaa1159e5661a072c3e596b61a93a5c00069f7721da45c0b585775eb2cb9f64f1da56b6504739d", - "f8ab83038eda830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc08da4f38a07107c15601af10f45d2119b2114b109944bf9fbd31906c28fe6917986ecd50eda00a227c1ca18f6f7e452760c700a973cdaf1a4df4a751fc3c4dfdb336dd90acb4", - "f8ab8302bbff830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbd90f0038a0032dac17e94f42f0b5b084ce7a3d9ada6966c260154f8724a777c0baef7b9c50a01ab53c94db3ed3c1a890a6ea3d707612684d07db8720569bc4d490025d2811e5", - "f8ab830347c3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbdd558538a05c64140112b9ff81f2d02fd33a67803a802e88e352824d92ca149362236b15fea048e1f7e68756bdf795a04806d59865b5b9cca044397859710eaad3e5d1b37073", - "f8ab830418c7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbe9637d38a0826ffa56b404540ef86afb228a8951aef755e90be023a4105feb79382f37b717a02e25730a887f2a7f8a00f83df25721f8d108bc18be1d29b1443929e49f874c4c", - "f8ab83041bb5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc66210a38a06316b971b656c6958e29a1f7b7e6c7ab1789d429e0772840e1ef4deb6bb9fe68a00855a1b144d6c973e476dac6124868292bf47d616d317f190ea75db9e66a73ae", - "f8ab8303780c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cc9f6c4038a091cafb6c1551820d48fb926f824ab3329c58c1d7921a5b37e1e18359c9a395d1a0332f67ef694f3bbc86712ccac2b28c4267bd0ff2cff9f339191fd4542f063eb8", - "f8ab83035257830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbe8514037a0491595be15e516d787ffddea0a30cef59b5425ad1a5c1c50b3a255fdbdff6075a05c99139976524f76e805e0311c5897ba9915a65a1a9ad535bc209aebf51407e9", - "f9027080830f42408305ac8b94e592427a0aece92de3edee1f18e0157c058615648725b28bf53727d5b90204ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104db3e219800000000000000000000000042000000000000000000000000000000000000060000000000000000000000008700daec35af8ff88c16bdf0418774cb3d7599b40000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000006929c90437723cc9c5f682944d778e85c3ea6e0000000000000000000000000000000000000000000000000000000000618eb5720000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000025b28bf53727d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0f6c64c177600052fd0dd621a8785ff7a62123145e40a0e0f3dec987fdae84c4ca04818c45ca4c90334aced38351fb96ddbdf9d6bcf1a4810b1d43f74f700b342b8", - "f901b003830f424083095ae194e592427a0aece92de3edee1f18e0157c05861564870e35fa931a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000365afaeff066c44122cb4fd705ac3b06a117b6300000000000000000000000000000000000000000000000000000000618eb572000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000ff8971972773b6af000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a0c746616a85e7288a44de094de00fdc6ebc8835910d1911b168c174f9410894e2a0514f6b30fc6d6d4916e6e1bb9f6ee7cd19572f6024dd2efa55df7a5e5ea946e6", - "f8858239998082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001b6b5f49b638a02c3ac3a79f0a7c110a831fe80d02a41b213d6c06aecd9786b5bb9d4756706472a0666b9b949d4973995dbadb950a18bd958a667c149b2126f03ad533b1c44c047a", - "f8a711830f424082c867947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b30000000000000000000000002ad09850b0ca4c7c1b33f5acd6cbabcab5d6e796ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0aa02f01d86aaba950d5815ba5136773eb71f865f13539bfc969984fc7aac9962a032762ef7cc6f22951299fc285c62cd96877dabbd0f1ba35e93e771987ed9aaeb", - "f8a803830f42408301bed2948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a09a2eee3a6e6da40b9fd2ccb394e569ddb4c4eb622999ae83c3591add5e95c265a009650a9d875794bc6d6c054efe4eb18042355ca36e3bed001330b30df0d8b7df", - "f86d01830f424082af42944200000000000000000000000000000000000006877c58508723800084d0e30db037a0da4eefdca8f5215d80905496caacd4db2c96f2f53a7f5da451d3c03b31f3e6d0a028874b980943585f775aec07785d2af9c0d2b452ffd60b74fbb09ae8a7addc31", - "f8a702830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b2436231905d698e79206797163e66d5bbe6a0e6e9a3c4e154d028f8cadd2f15a0586c6ec19b6b95d10b851e2e20fa57271276b890bcc6cd5dca36cabac82b4bd6", - "f902a904830f424083077d0494e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb57200000000000000000000000000000000000000000000000c5b79c2942650e48900000000000000000000000000000000000000000000000000aa88c2b43eeba8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000000aa88c2b43eeba800000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d0000000000000000000000000000000000000000000000000000000038a02583eaba0821de0f4361eff138e3ece17d5d51d9896fcdac41a914b53247872ea068cfe38f5cae78b763a589e41639ebbb6aa0bbc4a92de2740f7615c75dbd0ce4", - "f9016912830f42408307cde3942ad09850b0ca4c7c1b33f5acd6cbabcab5d6e79680b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000008900000000000000000000000080f94112f337f33a96684c5a65d92bafd2e418c700000000000000000000000000000000000000000000000000000000096d55d600000000000000000000000000000000000000000000000000000000000f90db00000000000000000000000000000000000000000000000000000000094e07e8000000000000000000000000000000000000000000000000000000006197f2ac00000000000000000000000000000000000000000000000000000000094dfcf7000000000000000000000000000000000000000000000000000000006197f2ac37a03ff6de9f2ec78a43162ac10bfd0b1747444de600eb48487142adf2b1c2269f36a028d696c0071e6a2f72278d4155dce4e46bf276fbf34bb887d9c3f6ce1c447708", - "f901b004830f4240830819fe94e592427a0aece92de3edee1f18e0157c05861564870e35fa931a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000365afaeff066c44122cb4fd705ac3b06a117b6300000000000000000000000000000000000000000000000000000000618eb572000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000ff593b77103da154000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a063fb0bc6c4f16825a1f1c0d7185d886685ca5f6f24822165b90b0cefc2c1c536a012d3a1dcc84225c93ed2662277bc8cc3ae0e3ef9f0ec0a9d88afafd32d60fc23", - "f8ab8303e087830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453d00000000000000000000000000000000000000000000000000000000cbab484038a02c41d7e5b5c3f759420472921b3ce730392a4d8c0015165f9c8b8f8d6b5b095aa06e79bdf90d218329533ddf613b3b266e85ec39dd514a45d8013ec6ae4b722f8c", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a067de89ce85b7d78f8ed4bd034289f2a819408561460ee79bd342012fbd096e0ca04563e1dea15a288a7938bfe49fa4746ece08fe0ec4b89a9da2567a8ed42a784a", - "f902e904830f42408306b37d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb5720000000000000000000000000000000000000000000000000000000001c8508e000000000000000000000000000000000000000000000000001711725c07b18c00000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001711725c07b18c0000000000000000000000000935b870a027861bee3cc0b2ef24f5d194aed16a0000000000000000000000000000000000000000000000000000000037a0bab2439c79b8be76bfea8d7d5f691ad112515b2b0e5108bf65ccd8700cd9f470a06b64286c79a6f9b9abd3b667cfa764549399a2870ed2534a31f96b520109d40c", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0dedf7cfdd3f4f9bf0e28ec06b6b0cf21fe0a4ef9c603c0dd4703b00af92893d0a04a8b40e677caf01eca629e43311a1b9e3871c4554606319101e22217d6162243", - "f9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6a60000000000000000000000000000000000000000000000000000000040503bc00000000000000000000000000000000000000000000000000000000040202b45000000000000000000000000000000000000000000000000000000000000000037a0beb5caa9743f3c38d32a0809380810c6d29bd31617138e27347b59f20a81ca23a01b4106428016d76fe8eb5d0d90625bc1e3cd06b4a868a4e06c814ff1badd20e3", - "f88582399a8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001faae1648338a0269502e2e19ab337bd486f7e2d4de5129258f7cbad238092d1eb6cb742ea49dda048be4fbb3549bdd26401be773d61f8064a285ffa84057462dfc94526db23df30", - "f9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6a600000000000000000000000000000000000000000000000000000000453374400000000000000000000000000000000000000000000000000000000044ffbbac000000000000000000000000000000000000000000000000000000000000000037a0fc0e291d7a200dcf6e68beb9b215fdda74bb404ddd37e71bc5c6dad862fabfbca024fc8fbe8a8b6aac20293b78481298913aecf1870da847109d6e407a5969b981", - "f8ab83041bb6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbdd1cc238a0c38c0cfeac016e833c7ead29f423e619a50868742e8cc0c8bb41ff24008d0cd1a044cfcec32d3ad254f493417fd7e6fe6c5d67b0d034b75a0fa2be6bc26aff8c95", - "f8ab83038edb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbd1d19638a077236400eaad546bfc13e9a775fb6f29e3aab8dd15433c179d6399cd9608dbdea0649923be35867262a71b7c31495df6dea0875cc54d0a2ec1ba3a36245aa472ea", - "f8ab8302bc00830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbba8a8038a017480a24d09bb069ffd80a6630533911351799109c0ac60a2b15e070a598c4a0a04bb7f5e1a759fe35a037de0255a28e061dada213ceb526272c79c01d667ea736", - "f8ab83028f72830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cb899b2837a08b7035d39fce261d9f54da6338d311260192bf13d5cfbbfa4d0ff167c7e48e6ba006ea08de69a53cceef26bcfe9c593e42f4e77e01577cb2c5b2dcdd03bb4896d9", - "f8ab830347c4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbd1d19638a0dc548e8fd3fba07d961cd418e3bedd5c0d3bd8c8c132005fb8e9042247b51662a0458330869beb5154074b9bf51ccdb05d7541f8a7b15e657e98c6c9dd99ec5a68", - "f8ab830418c8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cbef676338a0f64865b59cefa038bdf69d60f461531d98e9df81ebb9086a60661a07e5f564fea02871bce03290706495729a06a0a493d6224f52c5d13ac02e6f8a4bd9b74dd3a3", - "f8ab8303780d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cc9f6c4038a04b35a2ba5a47d209586e0bfbf2b5b97585558affbddfc8a81fe9152af19f13a4a002fc98df3c30e34c38fcb3e0e733c57ba626c65d0961892b7a81aad787be7bfc", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0592e05845637427b426006c78c5c79544f36f8246ad04ec83e6b899d615ff0c6a05eabe7ac14b49ec5e9fd59080206b43f99445ccb9de077e18401d7f6f1311b08", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a084439ef6a836e63816a51b829758b1ecd5e45c92936d5d50f53d2e940880bacca01ed29fb4434805643bdd99e3471f177721ba27f96a16d6bad2eaa85d8394ca5d", - "f8ab83035258830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cb9c060037a0b0021d69d7b9ccad4389df0e68cb919a5a76228ad72632e0c506bbf720be42a8a02128e18c25f6b11c1203eb0830529f8ffa0bca679b6e42a1f9a7a7dc3243f392", - "f902e905830f42408306b37d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eb6a60000000000000000000000000000000000000000000000000000000001c8508e000000000000000000000000000000000000000000000000001711725c07b18c00000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb868f180fcce6836688e9084f035309e29bf0a20950001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001711725c07b18c0000000000000000000000000935b870a027861bee3cc0b2ef24f5d194aed16a0000000000000000000000000000000000000000000000000000000038a0ad9dcc39093b03b9c4fd31dcf32fcf59f6541c0a9d588bfecb94fb0f05fddf75a04fd6318372f78cb02251fdb1bdeb97c26c00bec1b7b124d789f66d69a6e71f93", - "f9012a823923830f42408308f7ed9446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a000000000000000000000000c9374545d87ec30e7d5a04a81bdb0d72e46f7ba30000000000000000000000000000000000000000000000000000000007c97dee0a3e7fbf11f2856fb57c882ad8b3c24db5d42c23d3a5d1ceb5d4177d0202898c00000000000000000000000000000000000000000000000000000000000f3ed30000000000000000000000000000000000000000000000000000000007bcc37e000000000000000000000000000000000000000000000000000000006197f11038a08aa3c89e04a61a6ade5449ac59a3b018966c25fad7f160244214e765572e262ca01fdd7308c9824519363d2cc08a66fd4e1a6838ee15bb8199b276e53606c1acb4", - "f86e80830f424082af429442000000000000000000000000000000000000068818fae27693b4000084d0e30db037a029da297f4e423859bdf1273e8c7cd8ab9295357824c7d450977be4a80a919776a0318b0932c852d966343e77b7fb9c59088333cce722f0ca6361893c894777398f", - "f9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6c60000000000000000000000000000000000000000000000000000000045114b290000000000000000000000000000000000000000000000000000000045101021000000000000000000000000000000000000000000000000000000000000000037a0ac50ddbd635a504e5404125c6b62225a81980d347c1ccc78a067b2bae7bf30c2a06e5e4adf7805ba4ae5477e53858abb5e6f38b221c617c9aca42e4d9ab8b7dda3", - "f9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000000000000403095d000000000000000000000000000000000000000000000000000000000402f71f7000000000000000000000000000000000000000000000000000000000000000037a016586b579888a22105d6515ab63a6401d8aa0b5e187165baadc0c95f0473a0b8a05cb247e8178c6d33f1b5c7a49d4cb5ba4637935db1291ede5e702a567cd85dcd", - "f86701830f4240830b759f948700daec35af8ff88c16bdf0418774cb3d7599b48084af086c7e38a041372fed64784189a74efa02646f5f25ca4c6bd7bf578c5f611e0d79412eec7fa03531528479fcaf1cb3123a2241da9332abeb26750fa4e936676e7d2af91810c2", - "f9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000009fa94b56da734f3aa43d3101ef7a1565ea7b31400000000000000000000000000000000000000000000000000000000618eb6c6000000000000000000000000000000000000000000000000000000004521be3a0000000000000000000000000000000000000000000000000000000044edf882000000000000000000000000000000000000000000000000000000000000000038a05a418c300518ddb0274365c26b672fa429ccb6caedd95d1026e0e5ffdc3047dba06ac2eb4a69792be6e8483d51a1261f19e72666421c4fa267a9d7be9d739107bc", - "f9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000f305175fadb6c03668df9372a02e21a4069c20a500000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000000000000403fc5fa00000000000000000000000000000000000000000000000000000000400fc1c8000000000000000000000000000000000000000000000000000000000000000037a0f68be8b91b89d4b74d4aab25dee9818b3515fa5a87f92908ee3a4321590c1093a073e14e04a48bff22148a1baddd3eaf110e554dd28c0ad3ce9fe063d0d8c16857", - "f88582399b8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000002345d3d02637a0f081136a6efde6f2519297713b0fa50f6abdb5b53e3c1a156a7d08b96fd10c69a00ba4fca325b3605be3e376fb9245a58416c5b0050c7ce2493c681efe82a47988", - "f9017005830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb331287d66d8d9c872800b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d00000000000000000000000000000000000000000000000000d66d8d9c87280000000000000000000000000000000000000000000000000000695a830035c043000000000000000000000000000000000000000000000000006b3bda4b22a5a7000000000000000000000000000000000000000000000000000000006197f3160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037a037e36ecc1a92a0032fddcb0ae80a7cf017e2a298810bd5fdf1efb8e8c3f9b6d6a077e105e54a4ae7c4c5ef6ab5a66bc6143dce46daf468cfb8d6b10ce1da728c8b", - "f88582399c8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001cadc290aa37a0ceea992d5a43222fd7d767cb70e18a967a9755ee4d0daa746f41075aa15a57c8a05f2133ce2d62b1c6f66d18f65e4f2b814cec795af731e353baa2431fc25c3b3f", - "f8a701830f424082acd394420000000000000000000000000000000000000680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0acb956e903f0b93b27006e61b6812bbeb519ae3b3a03d481c503fa1fe078353ea045d879960ff79044c04ca8dc6c7bde54fb0d9846d83d8171862cddabc32cfab6", - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e010000000000000000000000000000000000000000000000000000000040200dbf38a04300f4d2e5f31affc79cc678e6bb518a2e10141dbb83a07291dd1d15a6805a80a06665036d2b027fdc169c15b9ecccdac0003214f7d09ff9aff995614021328c16", - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e010000000000000000000000000000000000000000000000000000000044ffb84538a0aeb1552571d24e93e983be7d7133b87c33bc8984fe080ad892eda023e80d4cfea01149685f9eac9a19bc6747de4db76760a26cf11588eb741b847360fdf7a21b2f", - "f9017080830f424083074abd9486ca30bef97fb651b8d866d45503684b90cb331287a6fa4040718000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb45b0b072b3e8beadb2c70b428416ae058b736000000000000000000000000000000000000000000000000000a6fa4040718000000000000000000000000000000000000000000000000000005e352deba3af530000000000000000000000000000000000000000000000000047561ed0d3329e000000000000000000000000000000000000000000000000000000006197f33e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a0a62d72db4b15c42cef120d2986f3b68d58427e7c98bfec08059423ce2ddd4437a030c7c4a1749a0a2519adb866909f061f9069b75b13f89bab5573bb3bb10dd1e1", - "f86a02830f4240825208943e70473d7abc7bb4df29e9a1669de5ca8889df3f88011fc51222ce80008037a0aefc3d3caedcff6a286aed68c9fd66208e3f6d8e755af41f3c03952481b3440ba016a7607b192fd0fd1e3e5768d7b397af275f21296adc91f5b3a141063ae5e628", - "f9017006830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb3312876a94d74f430000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000005ab8ff4726dfb3d965dcf606e570b734d66254d000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006338e9605efc7b000000000000000000000000000000000000000000000000000671b0e65cadde000000000000000000000000000000000000000000000000000000006197f36d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a0f9dc9103e623e16465036172de3a51e8064bd6f5d45c3022b0d05d7cd042df1ea010de578efcebf3d1bc7309fa40eedc37ac58b426ff5b60907e1cebb3187f49c8", - "f9012a823924830f42408308f7c99446ae9bab8cea96610807a275ebd36f8e916b5c6180b8c43d12a85a0000000000000000000000003b471fa7f62560d0388cd70a264d8200de70f57400000000000000000000000000000000000000000000000000000000001e5ee7a451ddadaa1b7b01eff110c45431862ee198e17667c6f386eaff176d9c07862a00000000000000000000000000000000000000000000000000000000000f65e300000000000000000000000000000000000000000000000000000000000f029e000000000000000000000000000000000000000000000000000000006197f1b837a058f880e7ab04cfd629bea68ce33407167ccc13f1845277b73013925290c8acbca0054b2fd55ca23e1668fd015104850d8a2ad54c77ad93741944975ebcd7ee4d1d", - "f88582399d8082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000217caebaa937a03ec26c30ba512aa0de9e3b6a1a839d503b15fa972d03af6d7e1a77ef6d0f7d5fa06bd31fa1012462ff176b6b50a095feaf5cdfc2166f9d6d2ea1e607d922fe4604", - "f9012a821503830f424083095fb19483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000890a44021f81d58bd40e7fdbbdeb8098873b33750000000000000000000000000000000000000000000000000f611ae5d67e18e0a9fc4642c6abd0b5a976f2a7a1e8ab21ddf190ab5d6f3bfaba69e0a204af7df500000000000000000000000000000000000000000000000000038e381508255b0000000000000000000000000000000000000000000000000f54d929697b91e3000000000000000000000000000000000000000000000000000000006197f2d538a014f574f73d9f7496adacb552c885f2b9fa5f37f7cc9c0b4c33482a42d2377cdca047ac4b0043d71f0ceb0d47d9f48bd38103af3fd4af185a7179c87e9bed849435", - "f88582399e8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d9d2e99fe38a00e60a889984ece7e5126034df903ae7ca1914d667eb756d075ab9812e12186a4a0480d4b67afe4af646e5b0f4702f956156c7e7aa9a198c9918a128480f554cbb3", - "f9012802830f42408306cb7394aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000018bc91f4ba5ae07f000000000000000000000000000000000000000000000000000000006197f362000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000018fae27693b40000000000000000000000000000000000000000000000000000000000000000000037a05447bb211bcc1480ba0cd9052c92aadf2499bc8262dbce83e87697877e9fa942a04b15c6be5d8f7cdef968432a6e4d1c7c2b0a37594330e41e6895edf1983fbc68", - "f8ab8303e088830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453e00000000000000000000000000000000000000000000000000000000cc14e87c37a0d3436c22712cd1c96828e9a15ff661bd6f256a2c18c582ddc3d25e2e98f9ea8ea045f4c24e6121622c113199779c352b351a00b3844afecdd71c7cdd666eb9e1c8", - "f901b180830f42408308997094e592427a0aece92de3edee1f18e0157c058615648802ec02b42e850dc4b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000088888888a9a951671f8faf59da89d626698a72e900000000000000000000000000000000000000000000000000000000618eb6c600000000000000000000000000000000000000000000000002ec02b42e850dc4000000000000000000000000000000000000000000000034668e32d349629bda00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a01986354f4eefd2eb6fb5e230e0b8c044161f9a93d2cbad4a66cde3ae9336a743a01621e438077648005ed0ecf4c07b86b36d370171934a4a0475cbbfe4aa6108ec", - "f8ab83035259830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc16180037a0ed4f113c8242b8cf285da90b108b0a0cbfa9073b576555c2ff1d46e947bb9faba02352015707470781562398867b8e3f6df7dd981637ec5de3f9c0fbcee5383827", - "f8ab83028f73830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc2dda0837a0dd91dd2560e1c381b4a1f8e296aeef714275351f85160f3abd5945702303d79ba071e50b52ee625f8d02032331f8eab3840d5d2435e31f5bca36dbc741cd090b50", - "f8ab830418c9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc1103a737a0b4ed2d38a30728af31878634950a2592589ed054cdd44e85c7775535434e0804a061e7dac408d3c592db0ebb659a2ec916609ddf757bb0ac0cd949b1acbb634d5e", - "f8ab830347c5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc187eb037a0e9e3ee92111bd5f3c72607140aa023607fd9a426d89aa9824920885a97ae7ba9a018d689e3bf128786fe616c056e8e8eabae559dc9e5ce7f21526dd2feaca0d171", - "f8ab8303e089830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc13668c37a0c18280e0bfa6bfdbdac9b9485e113ec3cb1a324172008e8015d9a257a6b7abd0a0231d1cc5ab1d2a2fe15f845466a636d5c4a6fe7bd9572c883cd0b559865045d6", - "f8ab83041bb7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc3187bc38a014dd42465ee8f70e26f96a7068e141fe956e88b072c4bd795bbd096bf757faada04866d71e37b209f8e502003cdf468ecaa02ed53118f40d72bd1cffd71c9d01e8", - "f8ab83038edc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc187eb038a085a5541bd1408af49b2e3b8d179b1942ebdf505c1021358eea36faae31fe3c20a022a3b452bb391391d86b39a4c3a5e3606810b89ddbf4840c1c6c21ecaf72e45a", - "f8ab8302bc01830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc16180038a077e8620acafbb8b36d5f834b4be81af3b9813fa2b9b77004683df05d81984529a046d99be41fff222b66dd360d6470bdcc7a92653e966d80800584eaa5bb5f2d98", - "f8ab8303780e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001453f00000000000000000000000000000000000000000000000000000000cc71a58038a02619389ed09267fc35ad32e75da9c4b611a5232924870befe27bebffcaa525f2a0159dcaa320814732a02e3a366058d5391506793258ccecc2683d3f0a3c8b506e", - "f86a80830f42408252089438c44bfa05ea2cf6e32f93a12a118608ac3a5c148801118f178fb480008037a02af9edf9c01685736d5df278ad9426c5974140a27b6cf5320ef8d154b06ba0d7a01aac709c47d0c7071005dcfe7f5972e35b683d5eb7e34ad59d459cda583d77c1", - "f8a701830f424082d2be9494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb00000000000000000000000038c44bfa05ea2cf6e32f93a12a118608ac3a5c140000000000000000000000000000000000000000000000000000000024d4738f37a06e96a45f5081484a9b315a54578d3024f51e5020a4b3311977faa0eed5bccdc5a057b754106000991ba951563c0cf1f4ef635fb11eb4288adb361f2849e9752a82", - "f901b101830f42408308997094e592427a0aece92de3edee1f18e0157c058615648802e74b553a6c1c4eb90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000088888888a9a951671f8faf59da89d626698a72e900000000000000000000000000000000000000000000000000000000618eb80b00000000000000000000000000000000000000000000000002e74b553a6c1c4e00000000000000000000000000000000000000000000003411fa283a6bfd0cbd00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a02f51b3df9029d355f274fb24e36071e9545f2743becc0f0af5f1ff578ec73f15a0248aac01f61d45da9ae9534af509e444c0f7cd0a329527ca5ca20060875d1893", - "f901b128830f42408308855b94e592427a0aece92de3edee1f18e0157c0586156488016345785d8a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dbd0b8b6851ea7bea7b443f4d1bbdf0f2c52478900000000000000000000000000000000000000000000000000000000618eb80b000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000018aa504107dbb3046300000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000038a0cb2d6ddac839953bbd4f91a895f3697a308bbe5973d08a0739e9c2b0f2c689baa0617a4f5823a36da2a9df40c2540fe36fbd48853ebca00e413a6f94f2775f4232", - "f8a780830f424082ae499494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b30000000000000000000000007d269d3e0d61a05a0ba976b7dbf8805bf844af3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0ef690719d4033895ceb64933fd313d1d611794e507bb9d8665acdb7104d0e826a06fb47ac636bf0934206cff54f6962a90ff3fac925f11a710955fd87edc2d138b", - "f86a80830f42408252089448555c603c89505a28a5cbe6fa4da6b8ce49eba5880f63f59fcfe880008037a0eeca757ad75a0ee92c7574ea4585ec494355366ed4aa976da1ff09cd39d81633a061de2aead197ef28d84d8e2951df7480e926e7b79e465db33426fecf8a324e89", - "f86913830f4240825208944f4e4cb82aed5ea19150b6beb5d2dc8865af55ba875543df729c00008037a0bf3745747330a82c21187c1b6fcdd7e00f8962b54e28d9ec03047a044cbb9580a001ed0f46c2eff649dfa1b7afe56e350a4a47268c557f2d77e41103cb4c5fef2b", - "f901b101830f42408308b80294e592427a0aece92de3edee1f18e0157c0586156488011996dd7d4f9280b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000da31dd07eda31bfc5b1e75e4446df5279d3d1b9500000000000000000000000000000000000000000000000000000000618eb80b000000000000000000000000000000000000000000000000011996dd7d4f9280000000000000000000000000000000000000000000000013b9a406051d83179d00000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a06b51cd8ee0312706054b63eea594ec2e0078b5eb1a712347288b640971093f5ba0458e58d524dba3104abcab4e26449637a1883d75e651cb52c1b3dc76457dd19d", - "f8a802830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000002935cd347b79c319a6464fe3b1087170f142418cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a011361f8ad5bff2b84a3cd97fa2684d5a1fcea47202bcb32822db8cdff676cfd0a038b6aab99e40dcd591ccbfc28778c4d0f06ce27c70ef807b0f3f147c7ddd14ab", - "f8ab83041bb8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c15d8d5c038a0e2db4345a433a682bdad502851c1c51d7076171dd007b045f9c6578bb0872bcba0750162e9922bcb811919f5fa23dd295ea482ff620b6b3201b677c6ebac3959dd", - "f8ab83041bb9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f531b737a03f75be20df346e1af8f53535396221367d1c18f7a6b200e525070449a7b19390a07802d2781029cce3616b975ab50ddb1e72ac748c3abf361d1111585a38fe4970", - "f8ab8302bc02830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c10c9ab4037a0e0f976ed2f6e18bbb092e65faa97b48be5775e10bc9c5afdb4090b75ee2ff3a5a03c2dc4b77bf8ab97807d2469078effaabc4f483690f32120d2acdca1b4ab5299", - "f8ab83028f74830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c4b4ff80037a08ca74dff992c365853bd7aadc49626503ab9745f131370e93ac63d8a4651812da00ec1748ca2c0e98d9301df0507d7cf0678ace2978bf8dc2eca6f2cdf6725178a", - "f8ab830418ca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0b3e214438a07f06f4f2f5e51711083e2969daee44ed0031e6e2b144c2b0097ba0dcc8eb354ca055c1f9958864e1455720ebc18cb066b9953491caf12f0d3ea76632d74e065ba9", - "f9010829830f4240830f8932948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607355534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018e974e5856074ceac7345544800000000000000000000000000000000000000000000000000000000000000000000000000000000dbd0b8b6851ea7bea7b443f4d1bbdf0f2c5247894b57454e5441000000000000000000000000000000000000000000000000000038a0f70b3b126ebdf1ba28a9ac541042617e862c12c60970957e6cc988f31942ba6da023f00778e5f7e05f9f401d3431ece622cac71a60c803881556c709f215b7e668", - "f8ab83038edd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c037a09ab5912e21b0930dc3e0def2e450b5b33e753dad721d798661267e5a9b5d3a0ca073a334464c277a3bf12b44466fdd4dbb75e97c853dac0ef17bf539ac96ae65af", - "f8ab830418cb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b6000000000000000000000000000000000000000000000000000000003902a25438a050bd19e261b51914a245e8a11835326cefe43352ada99117205ec75442a52b15a074dcac7016a8dbfab1f873b3d45b49fba7220fba50cebcf58008775c0d5b7380", - "f8ab8303780f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f531b738a063f803f54f45668c6a3efc65b21715ab5b37717a29c8a6c6a05b1eb29d360ae4a067e8b43abe6248fd0d53ecbca6e2729e9feab24123a00fa338236a4476ba346f", - "f8ab8302a138830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c10b70da038a0e30cf41dc088ed4028b1ad49759b14a2f732616fc312be592396acde6cc5086da03047de833890a15b3fb52908dff02834001f0a9e8c12e19d8056c8720af6ad22", - "f8ab83028f75830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc41db2037a0bea6c3dfd488cc9b5950d7da3c45bc21db87b009b799eb02854322947c774ca4a0461fceb6ca821d7545dacef1ee0e9d8434f40890518cfbd2c82ec930494b40c8", - "f8ab8303e08a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfcf76364038a005f7672f8a088671371a63517e5577190ddc9a3b0f8f876dbbbc946017d3396fa04c4d6853737075ae910f4466d55cd42686bd4245a34a6a626c550370353069bb", - "f8ab830347c6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfbde7155837a0ddb1d1a0bfdf6e93296e8883602232e5ab0d58eb8178f5796867204b1e4782f6a027c3f46e61f5e5e0381f766d81d03057742b2f06c08f7d92e368c6b8663e8b8a", - "f8ab8302bc03830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cfbde7155837a0befa73905ef0916ff93df6736f2919fdb2682e7183230d6832f87339e7b8187ca0099db1c7e9e49b4f4ca41b516ed120ef9ccb54b5e90db4047aab19930c2463b0", - "f9016901830f42408307695c947d269d3e0d61a05a0ba976b7dbf8805bf844af3f80b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000008900000000000000000000000038c44bfa05ea2cf6e32f93a12a118608ac3a5c140000000000000000000000000000000000000000000000000000000024d4738f00000000000000000000000000000000000000000000000000000000001136bb0000000000000000000000000000000000000000000000000000000024525941000000000000000000000000000000000000000000000000000000006197f42c0000000000000000000000000000000000000000000000000000000024766ce7000000000000000000000000000000000000000000000000000000006197f42c37a0acd2fada31e1e131b08755fcf155e76df0d57be84c8e353ccbea28633ddd0111a03d9a59fde254d1f680e4caa74420c18784c58f17fe9fe55ee112eaa04cb982b7", - "f8ab830418cc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc18a4c738a0b47e43b9a0f5fc10160b44eab117e3d7ec5f6e68a5a69136c9a6d4d4d3a15927a020bbc735eca03e2a7dbf9972f97796e6c867bcefa4c8cc6b684b007d99f642f5", - "f8ab8302a139830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf8e99990037a0cee9599bb370a969b9b5938325649e145ba39a7470890afc8f37e0c9b631ccb7a0263aedbfb467b9fa98fa41e6cacc30a561c43e4d0e03d1bf94f779054089c8d4", - "f8ab8303525a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf9eb919a037a09096756b8cfd79df625d0917631a91485d7f12d109e6ebe969587102e1170dcca0721fa5eb4e7e9743bb05ae16d8d7bce842af0180225139e1f7ef0ee72c241026", - "f8ab8303525b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cf9eb919a037a0d881aac5726723af049940f377b314391cde9a9a068ab24b8c67b782ea5cdd7da001effbfe5755689db3d374095ebacd3097e5d302f469c5a7df85c3298b282ee0", - "f8ab83038ede830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a0bf2aeba7677db7a63320d9e3db52c703f830e11ad889d006015c92f8c466a1daa04ca6ade8296e4e1e66a715bef6f067f79dbe613cd2ead184c732f2891a6a93b9", - "f8ab8303e08b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f2bb8538a0e26f4089d7e747138d6227bef922e39d3332927bf0974cbb69b7623f4f6b5b9da06ce0195e815764e79ee31d62b879414ce20fb4ac19268009d3a9da36de6f0c39", - "f8ab83041bba830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc41795037a0688b4d1681d5e26fcfa92cd795d40daec150e69504f60df6a8aef6c20255e43ca051d3cb42826d7c1873cff78bca49fd5cfb18aec9eda50b811569083d27d5a4a7", - "f8ab830347c7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c037a075832896b18830c28b016ff3703f8959925c1b345bebd65e848da6f9460866bea04f0eabddecf190ff39344cd664aca4c6b3bba6fcc68589de033d99adf9db1214", - "f8ab83041bbb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d12fff628238a0d717c900e824646d42f9ea63403b32ff01dc02a87b8bd9600969cebbf6d22240a06d2367d27f30d8a0339debb26d29ae15038cebd8117db1de6eefa3bad16c5d1a", - "f8ab830347c8830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc09a4c038a0d51c1329bcf587b61844594c09f09fa41c49e36724ee31ec2da58cc1e9ded715a053d6215f7dc6e45ee42c748a2e2aa35cda1049f94724d9082eb4b45db3ded6d1", - "f8ab83041bbc830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d12fff628237a0a9fc79408ca8dff9ae49b06104a0cb536eec2612130e3961495aa781f6d1d45ea07f2973ac658a428b472ae0edaed32c043cbe7d00a555fd94fc3bd36cf6a45274", - "f8ab83038edf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a00fc01f4b7dbc3dc6065321975a45b0bb15855c73b19a971691b045dd7ddf7092a06a13ec689094f317612a8c46490b61325c0443f76c24f755ea579b3b69ef050c", - "f8ab8302cdcc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e8543037a0fa543660513d18eda33c59cf8d4b0cbbdf2f711b9b65fd45f25631bb00a509c5a05daa393906782cdb1d3fe55da4391b4031d8d6b9806f6677280c624a40259081", - "f8ab8302cdcd830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e8543038a05d8a608c2a34d063d31a5deb9ffbcd8359bb7306ff405a9aff8d66a73cefe256a04d3994689a4a2e874b3ef8368a9ff49ea4906b8436a9673ac3c1f3bc4bfad16a", - "f8ab8303e08c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c11e2bc6037a02b44277c9a51160149ad54de57210b734d8b2c04c13e8027cdaffd08b088de0ca025e11d2f1cf257b9762c01d3f3f38f2a3e4d2895c5c2cb0f1198f9fe054808a0", - "f8ab830347c9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038eb592938a07561c6a9eeda4cf21a75a41bd6b80dc769f1cc30b7f1caff6c6570e307ca6cbba071c6fa67b2d16d7cf1143d9b8521fdd64f91ad89e53fa77edf4e6ea65c0e880c", - "f8ab8302cdce830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7337a0dbb51d410d1bc653f675cd425b7b4ecf8ea5b7fd638f9219165204e235a5baf2a01efec2cc52bf049b37389d462cea3e1ffb5dd4fea866f26d5a4ec1f62a6951c8", - "f8ab8303e08d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038f2bb8538a0e9379a96558df81e4cb7b9af665a7cf340a129c1a6b4e962ebfde725d65e8531a0466bf5629d61548b8441fa15e4db217947ac9448ae0c4c52ca994dfb31c78bf1", - "f8ab8302cdcf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1aa0000000000000000000000000000000000000000000000000000006c0be4ad7338a03c39cf9be2963fe5cfdf3c9545716db587182c1f10b2407f4dc6c47a8fa096cba05ff380ca15032ab1ec101284e4fb33f5f10fd726792ee248cc8e196e8ae9b339", - "f8ab8303e08e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc1b194037a04773162534f51db79208688f3304cdeaa01cdc0e758e67d06cfbdf00832fbc05a05f0dd7df7e4e0ed07f4165730a6e6e11de0ab374034f6db7e527bfd8f5e9ca20", - "f8ab83028f76830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d0257f30c037a066660d95db50b5308041fb342fc75f25b9b44f23214746f1c3b73dc4d87c9922a0023f18898975a4d48614d9087002d5d4d633d5884206536ddf33e4308e7bc2e1", - "f8aa8303e08f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc202f3438a0e0708039d034b3b381f57b90efe344cb87251d94376aa2b38721795ff38dcedf9fae9c9070839d12ea493afadbc5a7ef7c233d4b56a39ff0d989c90077c4e12c", - "f8ab83028f77830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d0257f30c037a059dc4489479360dbdd5a16cf847e527234bcb014b24565cc65891bff74a28e4aa05a6bc19eabb5e2a65127e86c910f9c69763d66caf1eb0a84c0406f1051125481", - "f8ab8302bc04830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc26004437a0258cdcf1146b5f469f385f0283bbeb8ee9298853854986d7d5a2042d50049965a06bafeb10cd92f7a21f26d5a4e290ee962f041694ede6a76ed9ccce6a51e9f072", - "f8ab8302cdd0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cff064b16037a04c8ea650aa5570f1d6a90519a19a5fb5c1101d2c413ba499f07031384a0cd1a9a03be459cc2e29834ad1edc498a9e6ac24f57dee2cf56fb47c0511794ecf2997e8", - "f8ab8302bc05830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001454000000000000000000000000000000000000000000000000000000000cc26004438a06e578f40476dd5274911d18818da874af8972e72defee0b8c094c0242be86d04a02ff4e49281c03249d3c06e91c0e1fda765436a9468d614df6596b8f9a26c6be4", - "f8aa8302cdd1830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005cff064b160389f78b7543b5ce7e2b1979f8bdda94c113d8e6b07e3c5b8d44c0733227ad5ed51a01b431a5f27f5e1d9c3fdfacb8c6cb016cfa18529906e81ffafa45f7e709288f5", - "f8ab830418cd830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d353a4b4ea38a08f955db01bbd32c2b878bbbd0634b9868fc6786d2e6267ffc2fd30edb29197b3a02db515385a471bf93d860917c5098c1664bb1fedca4be3c88f6f9a9003c740e5", - "f8ab830418ce830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000849a000000000000000000000000000000000000000000000000000005d353a4b4ea37a00670f386b05d5ebf12802c468c1ebd7da552113c1c6fc748686a0ae284f942b5a01418100a8994db88886a0844e8e5b4c65158591513d262127c36badb1bd75c95", - "f8ab83038ee0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e9178038a09eeea041d1c8ec0ea3e907e0f2ab5cc1ed6a8f396b7000c9996885ab74f96b39a051aac652e2721166a669102184bec2f0146893a8a07bb802af3097876541cca2", - "f8ab83038ee1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152b60000000000000000000000000000000000000000000000000000000038e9178037a0e18d1d32ced410afc076fae7f10b345ba5bd45b439e015f4b438f31d63bc3149a06879a683b0bfbf6bd026633879d1b063a4e35edf60c1a1bff18309d3492f68a4" - ], - "error": false - }, - { - "name": "0xcb255253054ee453bb9e042dee9b3cbba1f56f67d39f0f8d164426c051703e40", - "hex_encoding": "000000581200009600000100009600000000618e98c80000cf8e680000adf8ab8302cd4a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069bf4680cd38a08743891fd9ba6c4bbc5855236aadcbebb640b7e2707aa22acf214a16580b92d9a05abf64b2ad9bec48798a62a64b73cf40452121bc3b3bda5302951858b16bb7c90000adf8ab83038e1e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f000000000000000000000000000000000000000000000000000000699b414a9537a0d2b03dc954c1e1252d2939960527f401103f745906443756f3c7c6fd0bd718c0a035359a347c3fd28ea7dc2297e44935eb269e0ecce2852a4eeb76c1f36fc9d3d20000adf8ab83028ec8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069ce9cc74437a0bc5035121c4d991baf2d2666e7b09b26b4e512fdb14d37aec07bd46cc5399213a018ccf361f2f9ba4980af036fc15b53d5dc9f4b0b62a563c050c219751d2c09ac0000adf8ab8302bb53830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069e530f0be37a059b0c3956cd98cab27318223b79e5f6881d2c7594532f163eb465c1426aff77ba01633768d16f63ac00560b2423b2fcc905c66ba5b515c386304d2867d5a5f1b7700010df9010a8201a8830f4240832dc6c094ff4287311138ad3bd051f84524b2ea3a682944a580b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ea6481844d2047f734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000a62deb36a730ac55d7284404a7ebcc2eb6d6380d000000000000000000000000000000000000000000000000000000000000000038a0016920a7f0d0d83e0c7e4fff33707de509cfe288cccf70ca39f5d24461bd853ba04d6f6243ad17b830ea8c664f7bde03caaa0b09bd5763b068d7b7da23321f07950000adf8ab830417f4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f000000000000000000000000000000000000000000000000000000699b414a9538a07e9d207eefdbe9221bbe020a4352f9ba0baf603a3247e03332ddf302158a2fdea02baf0eb5181850b172e06e3af2d47bd35c0e55cf049f3b08c6e0ea8388c2ba260000adf8ab83041ad4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069bb037fa737a04044f8028c7883eeaefb1c6b66ec2366f5afa2d71a8fecbc5bca5196846bc077a0697fe7dacd158183c7b21f063e4230ed6ce86a82a399fff0082d47b645d40ea10000adf8ab8302a0c1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069ee9358c038a0631151286dc0de94507fca11f7265f6c67cf6f70cc53b848eb16c40bd9494866a02e3a02a7dfb916c71d753b1787ea39629681508664ee78cd51c3674bd0f3b85a0002ecf902e90e830f424083060d7094e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f40000000000000000000000000000000000000000000000000000000006ee19b1000000000000000000000000000000000000000000000000005a8b93dd99c33900000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000005a8b93dd99c33900000000000000000000000088a54a10abf08901c0234a14ece5d9b569b4496e0000000000000000000000000000000000000000000000000000000038a0d945bbd65ac54517366e7c9db4dc2768e41c60097570bcc4c825b212e5d04c58a07d648ca34fdd804ad019127ca2a49fa16b732fea59e8dfd3a6c01f8d9f65bf7b0000adf8ab8303774f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069675b3eb137a0d0acb4fc1a44a9507fcb1d93df48dbd26be78b14f3c68b9a030dc7e3c255edeaa01d22baa389c5e68082e8aaeddb69c51c7ca39c9416d840900558250aeae688950000adf8ab8302a0c2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528900000000000000000000000000000000000000000000000000000000379a93ce37a0bcc6fb53c42e5ad7dea27058829a5d5ff7b2ddc46b2501dfaeecb0d586a3275fa0081e2f646f3e6d6bf9f29e7771d79b9c5673eb80e9297fea7f071ccf6a068b680000adf8ab8303dfd2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e200000000000000000000000000000000000000000000000000000000c53b554037a0d815b7fa026831314a69804f0ace8739ced24a35bfba63c84480e2286a5c73bba00b11d018d0bd36f5192ca846cbea9832dab581a2ef314d9798abc1070c1c6eca0002d4f902d102830f4240830ae25594c36442b4a4522e871399cd717abdd847ab11fe88880c7d713b1c78adc5b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001648831645600000000000000000000000042000000000000000000000000000000000000060000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c316070000000000000000000000000000000000000000000000000000000000000bb8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd11c4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd123c0000000000000000000000000000000000000000000000000c7d713b1c78adc5000000000000000000000000000000000000000000000000000000001a4b9cf600000000000000000000000000000000000000000000000006bc0cf7ac7f25f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019f268f7707732fafd894c1ff3aca107bd10b71200000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a09722c826013cf7f98f79487ee93ccb26695ce5783690d1bd61d80004cea8fd96a015a6c83f02ea7f36c15fe3cd63e01a4fe15a6bdb70c3d01a42d9e647b02049040000adf8ab83034715830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000376dc6dc37a02e6e95d6a9e5b1d3f12bfac94dc99a5e325598eca1ebd22f166e98154ae4bd15a02d383b0e3e19ff43c000222c01df91fd2b892eb85e1a18ba2125c13f8991121f0000adf8ab83034716830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4b8638438a0563a98d091c1d3b235b6c84192305009df68544863effee40e702ea9e013bf32a055a23ea7b6511bfa5838af99110351003c29f013e7487a27aa42dad3f12c95f90000adf8ab83028ec9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c547e99037a0cf6965767bc56dbcf065ac8303b368c7052f8ac76520c42c8c5be64ab6643b47a0138f17a859375c82c06b42b85cfb042854066b30315cb67756ddf01a35ec135d0000adf8ab8302cd4b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037abb58038a0a0a1563248ac9e38d57fb9a21fc1d668f2d51a63eb5caee9298d2b4e64d67109a0635560dc1aa39b944708a86b6dfd806793e816bec6ab4bccc7b977f4b8f792120000adf8ab830417f5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4c25bc337a04a492abf21763e21e8f5a05cd7c132331ab24c5ade97734e6f95685103ca6920a0374467296f5cba23ca0226ca8a675b4bb81fd9a923f789200239dcb2904988300000adf8ab83041ad5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000378f0bcd37a0c324e10c9cb269dda614e3e782212b4556c70e0471f6e790b8cad3a50d46ef52a02c93b6ea0cea8ad559fff655dd98679e6bbf92f24c44bcf07847ba5cb91ebfbc0000adf8ab830417f6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000375a926e37a0c836cb1c6e3728ead2e1c54a4bb5bada5cb188f17c7421642e7b5a10cd26b051a00d093e9cd0972f569bd087e59a2d51020a018daebe174fb67bfb798384ff4fd10000adf8ab8303dfd3830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a000000000000000000000000000000000000000000000000000000003783815c37a05c22dd760a70339dd7c9bc73fda90eac44c3ed407915a443e36e755ba3ed00b9a0092df1d1596b89d381c3aaab7234ba3db7637f6e5ec608bddc8710f4f1c79d190000adf8ab83038e1f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000378f0bcd37a034bc114b92081768e6d6858520b6aa05b942b2bd8656171836f1aaf0a383d099a022eed922f98e98193e5320ac3739e43a93827d56971640a0909a9ff0d9c27f430000adf8ab83038e20830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c40dd36337a07671870a4f127238e329e7e12eeb00db3b6e39f9f295db39b2f4c5fe198344ada0796b1eb0a86cac8e2d15a9ae11ce5018d212f50a57e66772806f20b9c2b145e20000adf8ab8302bb54830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4ef0a0038a00a5a6fe4adf5f9f0f2787a0dfd40013a619a747bd2b6e639bfa8fbb7e57d573da0507b60831d1f82418b74899457c470ba4c76198738ba0de513cee980bd71afed0000adf8ab83037750830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037bb332c37a0f5d5a7e1fcfc87c9b70e2017cd9076d39314095a19f8f73fac2f5e524a8f152ea0242ef0901dfd32c8526ffdba9b57e35a8f9d00f9ddd6cb36d5c009ca9ab8f5f70000adf8ab83041ad6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c49f7efb37a002b48dfb8ccf428062a1a2a1918e5b6a1e3f5f2141fa5f12ee747feaf07f4070a018c9d58a14dea579ff9c8819637671251143a383aca67771756aa405696297a70000adf8ab830351a1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c467e6c738a0e59d88dd09a45cb09581e6e3a935940ab6097e0c0d91200f2198f36ef19c35e7a038f613748c9886a388cc3fb4efdf9ceab6e7c7e4cdd655db91b1a4cc988ed7810000adf8ab830351a2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037c2cba837a09188add1c825727a42b13097754322d75d71b1a09ab3c053cd1fe6446ce36979a0035f576513ebf0bfb4e0ff64f6c0ff4eb079eb39ec095a6eaf62fbbf24e1d0160000adf8ab83037751830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c467e6c737a0193604bd51533e36345130b85a4031562b7e1d6c1726d46413b55ae0555bb4e3a0554528ef75cd5b7152e4ca1eae78d335267e3bdd999a541627330c7144761b810000adf8ab83028eca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a088d208037a0d8267a7488b92133abd9b985e4aa3e48457d60f7e64f00797d64da38c2b5fa5fa04e9267e3c45173a2eb0ccaaddab249d2e7c52b478e3ca4fe7dec59bc8b3f3e300000adf8ab830417f7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c180000000000000000000000000000000000000000000000000000000699b414a9538a06b249154286b127568e20f10b4c2100cc40f50273fd4dc96896a82bfec57437ca06e64d29b4c3fd0d4e3ad31f06d37995dff897d2fd65aa2770faa5a3ab320635b0000adf8ab83038e21830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c180000000000000000000000000000000000000000000000000000000699b414a9537a070cbe4cbeba0dda127d98da3a186db3d786267285358bbcd0853785e0550ca5da07ea9ccf3afc590e4c96733df166010a76881f74168878e7e3f9617e431787d9f0000adf8ab8302bb55830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a0525d9a038a04bb82b0733a1746ae830e1e5881064e0a257c604051d2fc8aaacab7a050c5affa056349fccaeb0c5c3a1982b5ea1cbaa7568f188c2a98a91e33b94f5c76b91536f0000adf8ab8302cd4c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069eb9f9e7037a0d8c275f1e13f06761744a8076edd5aa15701c3b39f6e782a0f7c37f93894f6f2a0664c55117239439e120997ed9d42ea8e73ed78057e0c5b76fcb12d63ef07db000000adf8ab83041ad7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069bb037fa738a024ad720b7545895e823b5f99bb9c5f14ece1ef2c56ea44f7ea1198cedb7f3b22a057ae7e35beeb60d29e6576e97935b0ada92f3527073d46383b83278fcb43e1cb0000adf8ab8302a0c3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a04de224037a062069cc7b0ca1404d224c3ba56c0560ce4b3309379a09d8c7ed3c47046df7e1aa066a582c9df0f0978c75a1a9a0e2bfc28ee09dd6dc4c5e79decdbe4374d0342680000adf8ab8302a0c4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68338a011e977917cfe696aac3579bfe20068c3ee0c4defe0e61c351d0b0445b4934f88a03e024f942148ce25c36e73427f36b47f04b8ec8c4230188f0213b2257c4174b50000adf8ab83037752830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069145aa33138a02b7922768514ae26691c5fa6ed86183fbb77582947573044cd5469bc127f940ca02775283f3d23b54e94d525cdc696eabe7341c3676e76c7d016a3eac4bbe558e50000adf8ab8302bb56830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68337a009dc99c4218d2172d175156c4d5e841c629f0bdb5b74dc3a827ee5891bed19f5a034b8e7a9c40a5fc12adff478f7823ae34b93173723834ce81fdfb6a12d636ade0000adf8ab83028ecb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b29474854837a0ea5e88a9ecd1e658520f4263600ecf0c51e0c3164ede137eca68fa2f64083bb4a01f7a19956481387a8f832d58904079b79a9a7321d8d8b8c6040c2878a9d588b90000adf8ab830351a3830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b55a0422dc38a0776d0f43d1ed176fe80ec3c8d2fbfa0ff43f745504908c1f30a4d7897f95bdd0a007784d35c88eed69e05a4567f8637ba2b6d66a6f5eb53cef47cec98f7b9641430000adf8ab8302cd4d830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b0aeae214238a053bf527a1f48885a13280a3497f4d7bd93e5b6ffd16d94e6a83fe4a0a13fa2bba039176d797a2d8b0cf17e0743a710a2e779db9730194e7eeb115a1083594e92ca0000adf8ab830417f8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b5e0c18b8038a0f7d14b553f65812d0dcdb081f26be2fed4ac7a7c6f3d57d09c6a2a81dd8ff248a032e969d733c957d176ed51c7c3633b3a5fd62f4087676c27b3e5f19337446c850000adf8ab83034717830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68337a0f1fec89839f49cf26f0f6cc70aa3e35c681f1230f0e5ba2970086775a7e3aaa0a053a7b7bbc88012a92c316fe1daea558850ba22b34503bddd3199de145874ec620000adf8ab83041ad8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b29474854837a0c1ee68862250edb59fbdd034d89d81657aeae2e975a93aa6a575e99bed61ba54a024287ded52ee8e6ff1643e3c261d9f7c4f43e4eaf9ba86814ad45815cc960e6b0000adf8ab8302a0c5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037a4444638a070cdbb031a884adb6c76afd6bd58a3a103cb49c48883ae895135cc948381e271a06b93ec7a76b103693786ba69b18bc51049d255d180bef37981707ae4a1b16c1100012df9012a823909830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000b5c914b4a0f09bf5fe5b774e5aaaf9afc7ea8bf70000000000000000000000000000000000000000000000000000000008c14aa7fb08345ab77d789b7c989b06554aff6ca37b45806abd5b9cfdd657e71e3670670000000000000000000000000000000000000000000000000000000000163fcb0000000000000000000000000000000000000000000000000000000008a16425000000000000000000000000000000000000000000000000000000006197d22138a0e377c0ddc806cdf7111a812c442a1a689fa1a5b7b5ad21e46dd448e97a239011a020ba68ab9bf3497d2dd39171ffbea4db7fff4f2228ce10ecfc06099040a1f2aa0000adf8ab8303dfd4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b66a49acc038a0ce9d2bddbf3c377a69cbd939b8ccfbd3ddf8a9304014cf496047b29a7cfaa521a0321ee3e3e6a9e642c4e298f793a7780d19414f36168d39b027958e1dcd5b69950000adf8ab8303dfd5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a0b7cc66037a008b1af83c5e29ee189fd9d269628ad07714cda763f348fec925932fe20f60190a005fe3253ebd6f653d33bd0514dd499c481b7d5987356eda759b85ee52371c23f0000adf8ab8303dfd6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037a5c4a538a088de3eaebfbc3b3e265e39614ed1843eedda0ca407180717e71f2de234320045a0710e02377653c77101f2b2c9ae5c4da4a72eb412901ae7eac604068f8929c2ab0000adf8ab8302cd4e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037bc7e6038a0f1b460bdfd01985d86eb92dcd8cf3269406124c00a3c4cfad9c78cd0e528559ba02bab167b99160cd708bef3f41ff353c742f3e968df4b26305de89e9ba1e6e88a0000adf8ab83034718830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000375abbf438a0962587a4386870faf9437a10b40657fd43f770e3d5293f791e097ae8138d574ca0342621f935fa3bac289990bf73cf48d4b496b274cef7f8b2493a98c355702f670000adf8ab830417f9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000376bb41238a054db6391ff7d1bc7ff35ef5125fba14e90948e94d118c99e563d4609ac77a612a0368323dd7aa3cd4ad93db821c7a809dfa5f57a3800a2091d74f52ce86125c4080000adf8ab83041ad9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037b356a037a076ee910151f818b838478a6c1afb7ed94751c3e0eb5df3c8682a2ba4fc682197a0064017dc61c85ee103cd8dcb4befdeebef9f5c3a9644b153246a47168a04d1ff0000adf8ab83037753830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037bb332c38a004521d66d280c54b5b4470cd1e5bc0ee03803ce1f463a2e8dba7cf052cbf0cc8a06cee69fb8fc880680f570dd20764a7db13a80bcbf1c9fbfea010153f72a303300000adf8ab83038e22830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000378f0bcd37a07ea74d57906721a8af2de98fd596eaef951b21820d272aa87d812f0a58d6354aa0612a3eaccbe7ca17ee52530f035ee1e2051b5efa79e3f19da0d850eb2f3cf4da0000adf8ab83037754830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069982496e237a03a5f605e002fcdfed890dc374e7c9e83304fcbbe8af3877f599e90eaceb9f172a0514e005cbbe05937b14c2149c03bbf30157454d46d36bc85a8b8e331acc18be60000adf8ab83038e23830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c181000000000000000000000000000000000000000000000000000000699b414a9538a08f3bbb00df08fc73eac17c30957d536c819199dba0ba7194b307888e46e1a3a6a050e05f1a66b4b46f2ab5a9cfbe2f971220dd5fb08f22a1eba632b0a13d8390410000adf8ab83028ecc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1810000000000000000000000000000000000000000000000000000006a0a84aac038a03f64f020af18a553ef36d90433a76a8d7c6606a62f7ea34e1439ee28d7751728a0581a9a8780872917f2c953ac3d6cb31555bffbc67bea32ec2f7046c6b41894be0000adf8ab8302bb57830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1810000000000000000000000000000000000000000000000000000006a01f0ed6038a08db280ebb30906c0e86fdf90cb8670f8f9352c4006a8cadc6967aefebc8c90dba06886c35f53701cd9a2fe4a7378a00f1ba57a07ab5ac8c3ce019e7df32bfb4efc0000adf8ab8302cd4f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069ef3ca92c38a050145a8e784c4a6a8cf6d7a34543517fea5cbdde28cc984bac1bad70b218e6b7a04cc6c6f87eb0fba47fe92a232700e5915262283528f049af6e019b7642c4fcd60000adf8ab830417fa830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069bb28bce338a035da518a20de9fa7d78d0deba50e6b9998fef55f5299a546538dfda45ced6e5ba03b932813a475aa0bcb49a1832a8639f05f6e6eee4cfb543594841436e552402a0000adf8ab83041ada830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069fee5340038a09e00c8c489c1554d726e6b7c6cba015cf3c45b3d86aa386c0236cec0bd441827a0407bced024564ea0260c856fdba4b227800b0ded2244ee42ff44de9752b72f110000adf8ab8302a0c6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069ffcde65038a0649c6a344eaa7a1550fd22ad0f5e8cdad08265394517ff33ee2756b958660a5ca04a09baeae0cc1e907c422c48479d4531b68c2efd1e39658b7929f001f01508430000adf8ab830351a4830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037d25b2237a0f5fd73010d6b027ffc68df104f1ed075c645f1dd383581f7e09129d08205dc36a03a43cbb108a53fca4d7a72be0455d83b2c64c9a876e3246bfd1e7034b23e7f060000adf8ab83041adb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c5330d7338a010d80f8bc0293f8dc511fd069b6881627ec8c0b006a44eabe8d1260bd35e9da6a02ffc955405fec29ca0a665b06f41a27197a3520fda45206c125abf81c94498630000adf8ab83028ecd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c55bc7e437a022c3831be67c10f3f9cd500d30192e645cdf8ed0ad32ddcf2c3e7ba9d3cdc96fa039efcf6bd4a333720c3b6130dffce9028d3635d8872d73fe9e75c05f454546010000adf8ab83034719830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c5330d7337a03439b6a3d9eb964a511c14438727ccea421279fc37a1af020eba6c89b686ff55a04f0579b1f08b0669264d314e282e57c778f734ea1ed2d699c30777345b8851600000adf8ab830417fb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c50ea70337a0b69c862370ad493c35b87a1b41c17b189b4b1a0757b381e3993ca004ed5908fca01c238bbd61328c7111dc12458aeabef4235e71a27d3a56938657e0a56e137c120000adf8ab83038e24830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c40dd36338a06804d94b37af798fa733b0964e9e5ad5a5305a028e50b359d8f18ff742cc612ba02769fd70864e8a4014aafb37988de8faa0405ebc38b822b11c516a941c3278890000adf8ab8302bb58830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c555082c37a0d0dae27fcb2acb3ee99ac677f8350dfe5268471093e96dd6e2e34049347780d3a016786c4380a88d318aabca1c92620292f093223fb7b677d0d7d22149987afca200012df9012a82390a830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000ca0fd87bdeae64b842f91fe65307b12687159c42000000000000000000000000000000000000000000000000000000003c8ba19db088236de0dd0fa86afdaee3be22188aa9654afedf0b87a0d79ed2f15145c6a800000000000000000000000000000000000000000000000000000000001bf4bb000000000000000000000000000000000000000000000000000000003c2cea35000000000000000000000000000000000000000000000000000000006197d4a137a0f9730a4ed2f6e2535358ee0f44f9a160d1240a81ee2b4cb1c2ae9fde5a57a4a6a06d2267932d66e9b5f17d7a3785ca182a618245606b54e0255fadbca7403fa4650000adf8ab83037755830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c467e6c737a03832e8bfa56a5361e6b7f2791b92dc2d05d78d4c92724e145235d8356500fc89a03c58a225e414e44fb4054bbe20b0a4cbada3447b8ea159c3330203ff8bfcd7d40000aaf8a80a830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000001f6d98638eee9f689684767c3021230dd68df419ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a057cfbafd9f9098a47be1bda66bab91d566faa02434970efd0429375cb8fe23d4a0433abaed7d50d67e9f36cc5972f2b198fb28d8d4ee6263be32ed167f40b1f3a500006cf86a0f830f424082520894e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb880213217539ebc0008037a086bbb6d8a551fdb349889ebd35de00768d78e98c2be79de8addc0c8f1d99492ea06059dec9a2698f03c9a9cb7abbe240862e11af65e0458275e5f7b441b8b9314400012df9012a82390b830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a0000000000000000000000003a769223e4992969bcc7a3de666a02a8709f4b3a000000000000000000000000000000000000000000000000000000000ea337533f423156d9f3515c50eadfb7b781b744344789a5571accd4fd24fd89601274f100000000000000000000000000000000000000000000000000000000000f4e73000000000000000000000000000000000000000000000000000000000e83c640000000000000000000000000000000000000000000000000000000006197d28037a080a99a065508a32979c4b895e8ca2a1ee5fa0d71eac364afc603135700ac334ea04a605169b3c26a37e637e84645c3c5cf859024be4c74542f1cc828c8b24cef610002ecf902e921830f42408309ac1794e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99c900000000000000000000000000000000000000000000003635c9adc5dea00000000000000000000000000000000000000000000000000000030ba68cc3de279f00000000000000000000000000000000000000000000000000000000000000428c6f28f2f1a3c87f0f938b96d27520d9751ec8d90001f4da10009cbd5d07dd0cecc66161fc93d7c9000da1000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000030ba68cc3de279f000000000000000000000000fedd9a52d4d83fbb77b21ed967b8e2e3b79fdfac0000000000000000000000000000000000000000000000000000000037a05df1c382e21bcb39b53a17f3e930061b16850648c471c1585a8ed5cd98e3d27aa05e6d8c61629a88591e9678528e91c9d7b8d575d8ffa8f866cf451f1347f7e14f00012df9012a82390c830f42408309473394a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000dd01b07396eb37e01d2a630dbb64e60a4df75dae00000000000000000000000000000000000000000000000000000000002dbd9ea1dd9b84c5f86adfd051aced1b98adf0781d92b40efed3150dc77214c20d543700000000000000000000000000000000000000000000000000000000000f4e7300000000000000000000000000000000000000000000000000000000001e3cb9000000000000000000000000000000000000000000000000000000006197d36d38a0653553aa632e21fd107f46d608ecded416e34325a366ece677bd6dba46322b3aa05949590245bf2ed8047630c4c0d9e1cd6327621b0e6645feac098c38ddc38a410000adf8ab830351a5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c467e6c738a0ccdb9b53e2f862cd86f0d7758e178de3ca60ee368acbe0cf78a44867cc180eb8a07599e45e46dfc5e33c7793c519427809c5e554b68888c734ac0c478d2b15b4eb0000adf8ab8302a0c7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037c70a5d37a006d30ede7167895cbff5afb88290e5331a5e41e0d1393ed5bea3bf2426fb210ea0011686a465fc892062964482acc7fd07c03a3f1df801e3a76faa37fa31803d260000adf8ab83038e25830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c4909cd937a025fb6d5456c1af0c2534a885b63591cff2bf18e3e11438fd9698644069e7cd4ea061973afb28fff8dc3fbd7f479025ea9bca7718b3bb9b7e14fb20ee72b1a0325f0000adf8ab83038e26830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037b3a0e238a05fcc43a01dec4a3b482e9d0d0ee269e1e275a9e87c74b579777a275f6c71efc6a0031bf7377332a19af46164ffe78f6ab47d595151cd1a8d50d9f2a807669e09ac0000adf8ab8302cd50830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c1124038a0f6ec55225e5ff51bf0f19861806a1150aba5dc1db849d2198c961c09fa17c7a7a06e525a69ab48a1305061c1dc43bab2ba47dd67acc6f4ed0172a12c5a75bf47620000adf8ab8303471a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c00000000000000000000000000000000000000000000000000000000375abbf437a0caa62bd32a8a8c0cbc0f53d7c074f2f6f8bd51541eb5e88faf823ad25c210feaa0355955f31b36310f582099260c377bc87c0293cd61bcf4ab52ca53a8726152d50000adf8ab8303471b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c5330d7337a0dcde300405f75776b8b2003edc24994d95fc364ad1b181d6846cf0285a8c7687a067607bc8cac7bceb1b08d2569e990795d9b6a34f712943e56fa61d90846022150000adf8ab830417fc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c00000000000000000000000000000000000000000000000000000000378a389238a0b67bd20cac602c73ab0c90a3c05591d1d7db30c89bde72b5442fe0180fdd5cb0a023f70eed618b7ab2991de51f32a4ce6e70a6573f644e23a38b6f0bde21ac01720000adf8ab830417fd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c4e0e04337a02bf31b16e6c03309406848fbe612c1ef704fc1b0a84b12e2dae8af6ac27e69c3a06923e4543b1327005f6a4c94a0dc1d7a5ad04fc1ba709db738855d6596adc4620000adf8ab8303dfd7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c53f6c2037a095ca0b04f16d023842b6385f6a9aa0dc52e5261d924340e3eac1534e2e2a2212a04e7182813379feb6fd240127e762f72e8d7802dbabc67a62c8019c30121e3f810000adf8ab83037756830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c6c34837a07b2df559fe2c83071f8876a54eddcb4cae1e7721767292e3cd797160b6a86fd7a06f119d469ae748a0cb49e22ef84bdb2ae9e8e2bb2f27df1c1f618e46b1b16c1c0000adf8ab8302bb59830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c555082c37a01d6ff590c5d0af79f22519f96995bae349c4bcf60ab434b9fd2f84c39063662ca0069d5df855a036b093ba60fd5c9e4842542bbc120ad99026d5b904406cda798e0000adf8ab83028ece830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c53f6c2037a0927e3113212e80c396ac779454492fc3ed82e73eaf101dbb9dbf81a0103f66aca0104e7eea843582d423e3a77b743cbfe36b9618947ef19c7e8d9932489b65cf340000adf8ab83041adc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c298e038a0063fccbd3f91c3f9b881777719dd1888ce8b9739db1ede1da11da1b29ca802b3a021027ea9b28cccb029988d4e8503d372e74d6504f930606088e1bfbe72207c630000adf8ab83041add830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c543186937a093e29a1d3a47c5fc36409e004696545a85e9b9c006756ed6c3f9d0fbebe8115ca07388f0efd6942037649007068fdffec64aa743038b951ecbe58a429a0c8b7b900000adf8ab83037757830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c467e6c738a0e1d7fac186e5c3bdab1759a53be1d806c00e957646308824a2ad23b57d55ed41a06e56f14e86ce4963feed0119efbe018de7c4d7d2b7ca0b47d41173f1a1f79b7f00006af86881a5830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a0bf09aa89cccf5d3b5bc6c8e0c4a8458d85c94f6464f57b2a1fdf284b26646d53a0402f73d28ff9410530d8ac770a1438d01279b04dd5ac7c145e6eccaa8f8dc6de0000adf8ab830351a6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c467e6c738a09063047d6c639b6fc4a848a7909dfa599faf3d244015347a0270ad54290cadbda0389d17e7af61d70862e1f4340493c0aec71c6a973e1388570b89d22155f922040000adf8ab830351a7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037cecde037a0dde38afd95d4dfa9e54c0ca017c18d300e9474d67d5df7b5fc14b8815902f746a043adefb3d885c5e02ec2d8750320326a71ed28767735ff856fdb2d2591fd11180000a9f8a780830f424082d0b69468f180fcce6836688e9084f035309e29bf0a209580b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0655864ca4e3cf752c8b28522b6aed9b622981c3683a5b9683164fc22746a8035a04ad66550a746c5956d09e9e021962d2247d66a78733a327a80a36e2e3542851500028cf902890c830f42408306fa3394c36442b4a4522e871399cd717abdd847ab11fe8880b90224ac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a40c49ccbe000000000000000000000000000000000000000000000000000000000000edb80000000000000000000000000000000000000000000000000000002e7ef7f6d30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fc6f7865000000000000000000000000000000000000000000000000000000000000edb8000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000038a0822c60aeed8d696f9b800719f628b5106a35bc1a8b41f5ca8ad23777c4f2a575a021f3c5496e72d947d528a19e41c3e52bfdd4b4bff3bf833f7429041fc79df07a0000adf8ab8302a0c8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c24f6d38a0105f1cb1cb66472fe6948e99f8b757ef5b52e308b364bb110bbeb255ef3f2532a052a3cfa4cb16f2200a21235f83bed0b997868e264b2e534d64b0bdad0e966d0400006af86881a6830f4240830cc809944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0276846a7669274a25dcf15b68c2d2aa6b7f2db2b72db49c0ee2d0dd42ba891f5a04bb6177c60229117a8386ada9df1150478dbee5387ada3f0205fea46a4dc86860000caf8c80b830f424083142975941f6d98638eee9f689684767c3021230dd68df41980b864862a3394000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000038a0eab6a01927bf55cca3a42a7dba2c4c6abae34bdde43217a560514d797f151924a0758131f3e335a16f32bed22f005f345b1ff19e8d4f40c9961de4d2c5ab5f90c50000adf8ab8303dfd8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c8b36037a0d15bf655cefa5902dec2b7cfc847a37b000fd15d36f359443582c8fe6ce44d7ea00f555e9b09652f6409026917589133959095e4700e969e8455f418125e0dc0460000adf8ab8302cd51830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b53705176038a0efd2a0ab9d3a4c72289161d07205a261bb4b41aaf519d5290c1c5e5762123350a0115db6f669469b4c943d969612705375f4acbf771b09df25e483e516f3cc97bb0000adf8ab83028ecf830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b4b94c057b38a0f77c6d0b38428f9339f68c4fa8b7cf78d52e0dbe0725cf2619781a7abd1afb5ca02d29393a0de6d61c2a54e267b12e1cf334e62d4a4938455e3f79f7f5081bfc610000adf8ab830351a8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b433eb22a038a0f2fb99b5f52b2342bc68d7ad5bdf9c0582fc4f6cf24d7ab238436e2ad8e5b378a00ad9b335793a381936fdd4d55b496a45f3f9308d2543048f11aed7864c5b5d670000adf8ab8303471c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b41beb75d737a08e5b7132e3b3199964c3eb2e48f353e3bb1ba018c2b52245b30d2c5966afa211a00e0ae2e974abdb3a0dfe67636ba4e5e3954115a2e0e3d50c997ed086fa314af30000adf8ab830417fe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b47473d38037a0bdc1c9f0cca72b09b022a0d22e690718dd0ee9c6501485b0d3b34d103c8ec065a05655c2cc0b64fd121867636f777a081d942dd77769ddd255293ffd2014a724bd0000adf8ab8302bb5a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b4ba7ce74037a0e06b565fdf60e93b90f8815f752e6ce247693718e6ba625e8be47eaf831cebc3a01d73fb79fd1cd59a07d24859671567fd42fe85b668ebe088b9740f1b97652fdf0000adf8ab83041ade830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b441c9db0038a0016b0c094348206103444fb183b1d9fc0794bf0bb6ec3c79f1b5c0bdf56e6774a023943dabc00f02889f8d8af4546513a79198f28a10c9889eb05a8263f13477fa0000adf8ab8302a0c9830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b41beb75d737a0b9b758dc1af2e15fe4046b76528990e4018ce27c4318018435e378ac3148edd8a0660b475f7daf5720ab51f9993d7a985dbf801e9e750d4ac79a3f79312e2798840002acf902a90d830f42408303f41a94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000000000000ae46306000000000000000000000000000000000000000000000000008e93014aad6490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000008e93014aad6490000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb0000000000000000000000000000000000000000000000000000000037a04f2325aa243b5c8f094bb3ed5ec013328f69921244e8ac3e3f852f9775bf1b6ea00b390f74ebefb533a55033efbb1f79f5a2201410e5a49b9bc3c11e9d0a758e0e0000adf8ab830417ff830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f242570037a0fcc4c8f7655c1f5cbc575c741ed92aaffd45becb0b90c250249ac2bc9bb4b89aa067f49f2faefc9ad90ce9c6052311f6c5b2955446bd35024017119b51df493bcb0000adf8ab83041800830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037a97dc638a06696836997926188e338172cc2aba7f5bd35ec8ef443e05821fd273e913a3495a017d9f7fa4b1005e2d4b0463924bb108a41e6f7e47e2e67c482316e1ad82d30c40000adf8ab83028ed0830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069eabfbb8037a0d52ebf49a9f60fcd83165303985e34ef2e818f8a643e852df304c8f130c44ba4a05ec5b98191cd4527fbfd581f2365c5f9fbd5b31eb15d07e2cda8f7ee1a84e79f0000adf8ab8302cd52830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c5f44038a05b60f8b5cacd6fd437045e04fbb41b2e65f325cc2ac0c206155dcc7052508c78a05b7d8b2b2a3d63f9515bd6b1f6e892c3bca8e1068e3ae3e693240618408b6ccd0000adf8ab8302cd53830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f5e6597d38a0c7546ad5e0ec31b18987e5ab88558eaf143a334e49ed61924f62db001a22c52ba0600303b7aa6974c6a4a1b71d82a5a8a098cbf572bb5a2b5ee81c62921ec093280000adf8ab8303dfd9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f242570037a0574de0224d10a562449372b58af110ab2d20b8ce16343e6c3cc26a37095bd804a02957c010c58585d71647cc23db2b1cc78f58b75d5f5663e4d3488eafb84cda150000adf8ab8303471d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037a5c4a537a04d5188dc2ce0acfa83cf21cd148d35ed9b8177355d9ef2466ed1be17cd8f3a68a06c53272272f290c72fc458b52af372e9b771995c05fc5a596deb4825cf88843e0000adf8ab83041adf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069fab9168038a01c1cf0db37acb9d84997c2196293ec3dc003f67d9ad3be1a2996ab6b6d2eff19a00a0b412834800c1059a830d84b5aa4868408de58cac7e559804514aa452ff0500000adf8ab83038e27830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c182000000000000000000000000000000000000000000000000000000699b414a9538a085dc1f35a6845faa09edd40243ee47897d19598282f9f082b33affb58e9881eba008f89f36b10bdb6caa02c4cf7bcaa72e5c4ac3c620e99208d4c0eafff8aee2850000adf8ab83041ae0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c298e037a0ba76bc71da166e4f04b989035027ac145a9b5a471c9d5f1cb372a2822a98e5f0a017f42ed35033d1d8f62f64575f19347970daa8864457242f734be05b4d918b7a0000adf8ab8302a0ca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069e1d811c037a04b9b79b02fd9d2d439b88a085d683a7b2cdc6c5084705b2909d2ca1653c755dca06d0e1d9fea0de7740efc4eaf3ae2217e62348b04f6f1e1d654319e3c8caa4f330000adf8ab83037758830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c8615837a040e5d4dec5f2836d5bdf59916eeba1fbb38c352171100477fecf42725b160114a02de61d5486ba0da5e5274544d98d3b13fbf120ad75ea14578de404b24324e5b20000adf8ab83038e28830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037b7ea8037a08ec09204b03becb5bb536e151446f34a8c60ced34406b3aed1dc59649cecc1d3a079b7b88ec6ccccc5aba0d94f3754ffbaaf7ff7f423b03af0cece1ac2dcac41980000adf8ab8302bb5b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1820000000000000000000000000000000000000000000000000000006a0530591837a02d3a44fe87dadd251a68e10b5fcf84a6b474da8df60e7039c9c1f1fa982bf39fa002e3e13d3793ca434417ffe2844e08ce90982fabc514526328524d63c083bdb00000adf8ab83037759830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1820000000000000000000000000000000000000000000000000000006a0530591837a0eeb1c06ad1494d60f672e30467e7b73d8ebe861db34707271a08618517cf57aba047635c8bacefd0bfaeaf4c103f35b00028874fd7fbafaf225b760a37e9f740270000adf8ab830351a9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037ca2eed37a07a8a783a04a55cce6ef7fafefc113e578e8106ba5e40da341be4fa20fd2c92c8a007d377cd2e3c60b65ed17c4a1be53c1ca6ae5f298d7f878ae67112ed452686530000adf8ab8303dfda830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b32b291ec037a06f99fe14bebb9b53320ecee613b12cd95d89db3209b17acdbacb54492b916798a00c0e233483781884cc67f21a8f34d13ef0f470d55ec9e09f466c384768d16b4c0002ecf902e90e830f424083060d8394e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000087df512000000000000000000000000000000000000000000000000006ef13073cd221800000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000006ef13073cd2218000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb0000000000000000000000000000000000000000000000000000000037a0b518272b888fe8e7cf04f9723b63e6dd7301a25e0482140317fa9a4c08a5438da07e2a0ad9da1318d75dd7a518bc30820126f70abf69f38867eff1e880d60b26040000aaf8a803830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000001f6d98638eee9f689684767c3021230dd68df419ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a05dad9ef1f7eab0768b63c2420b46ef80b776d05ab9e3a19efcd1dc28bf12f1c6a0099c868ed725461ebe7cac58483ab73d5c23cc0792b4bf5ef8d14d225176a91000006cf86a11830f4240825208942201b28de5ca508a79fa0c029420a087b8efc31f8818ecac7c009a00008038a0e53b62897a166ccf99ba1bf3647d76bc92f904b28b114e5959813a5998f467c9a0679e8ad7a0a2015ad6f2e0e8da85c822336cab0fa080d949ddd7e297ed75c9bb00006bf869822581830f424083125a20942935cd347b79c319a6464fe3b1087170f142418c80847e8b3f8938a07e04b29c37f6d8c360a98c9916755d694b470872b51097ec18fda011da6e4b3da0508ae7b753aa6f3214ba3c6917a418459d62edc0a2f71618cc60909a29b2d04b0000adf8ab8302a0cb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037d45b9a38a0f1dbe6829972b9e049db53d72da2d58e846b99bbe2582229be806f09de8b106ca04029abe47ff1b1dd00a2350dccbe567325501f91e069bb24cb78734bb632c8b0000069f86757830f4240830a7b39948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a0b400505b35364b4dd695cf1e4ad29b7879aa657e02a8131b9f36b4a1e9aa50c2a007669a9fe6fc3ba9e6aacb437d8a80fc4c89e36e5518887a139830e4776042410001acf901a901830f424083078d3894e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000011384e12d86078d83c6f3d7457b54d2df563890200000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000000493e000000000000000000000000000000000000000000000000110554486bcedbd17000000000000000000000000000000000000000000000000000000000000004268f180fcce6836688e9084f035309e29bf0a20950001f44200000000000000000000000000000000000006000bb88700daec35af8ff88c16bdf0418774cb3d7599b400000000000000000000000000000000000000000000000000000000000038a0c8a538b3da8d0c0fe645ab25702fa7903beb3b88452169e9e7c5b27e360dc16ea02b0385de035b33b939e573252e6892b0c792f7b5d17fc9cacafce4a49b9a60c4000087f8858239388082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000002a5c797b5e38a0f81c9ae27d6bf39069da9c8a0ea3240d36b373fb5828e590940009d092715470a036ccfa546eef61bf763edb2cdc9a5398dcbb6f67218c8d00a15bb5e3cf0b0fbb00006bf8690f830f4240825208942f8338cc58a0fd5fba5bae3fb4aaa8cd49a5b82b8802d84e69f2f480008038a0ee09c72892579516f6387a6d5483d108dd6f7448e7eda93a747d1db50d36108d9f410b28346f443afb4e9bb646b1b44c4557df9da433800e1193edaf9138b8380001b4f901b180830f42408305e6a894e592427a0aece92de3edee1f18e0157c0586156488016345785d8a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000362bd1b647cd433733c93d9d27511175f8e6443f00000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000018a676d09df16cd8e300000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb868f180fcce6836688e9084f035309e29bf0a2095000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0ecd74ab0a1532015aaf386df36ebefc8132e312e529ad1ed14a0ae9c0bd6bf2ea05c6876680e194da33bab9a8d64e1bf2bf79bc68283b3dac583ec2ed3270d695b00010bf9010802830f42408304e9f994aa30d6bba6285d0585722e2440ff89e23ef6886480b8a4916955860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000f68be4c1fcdf25000000000000000000000000000000000000000000000000000000006197d67838a029670f8e0d7a3562bb51525019de801159e6b559ae46dc45ffc4aa1b3ea94b8da00e421b8d2f5a6220fdf67a4b4726382f0e4a5ff21e58b032bbf96dc5ce5cb0070001b3f901b080830f42408306178294e592427a0aece92de3edee1f18e0157c0586156487038d7ea4c68000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d2463a7a3a1366e362e2fc1ce32eff66ad0f16cf00000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000001eb2c1d22eb34b9000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f4da10009cbd5d07dd0cecc66161fc93d7c9000da1000bb8350a791bfc2c21f9ed5d10980dad2e2638ffa7f600000000000000000000000000000000000000000000000000000000000038a0c5dcd3d48cde0cb8df0587516cd14cdd9c15ab0785ad881387f34aa1b9942756a00df63339716b3fd8acd9d928c513687223180b8a6ac1af9ebe691b9cf1652175000069f86758830f4240830d14c6944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a066c85fa5183efd1537906144c339b9a520588424e6c718a5fbd54f1a320c0021a04e51a498fa598f5614a7e482855df1d21f95fbbc8b72efb1e875f598e2a4df650000caf8c80f830f424083142890941f6d98638eee9f689684767c3021230dd68df41980b864862a3394000000000000000000000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000037a00bc891b7c229546420aa3d12f57e8126953a14c82fd719751fcfde0718d4c8a1a04ba23194b952e5d8949e8d5e83405422f2b108463c76ab215c28e3f8d51a57af0000adf8ab8303471e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037d2520438a0bf21b13d6ecc78c67c7be538356ee7c0c49b6f63d793afb4a17cba63f06e6392a07e6c45fbcbc0b2e4509a9099b52ae4556546cd172b5a39d949da9affdeb672e60000adf8ab8302cd54830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037d2520438a065579118214cb34772411e904510a8627dc888b9e1d063feebee4d17475ca48fa02afaee42d40220e36ef858965edb918559a5dd403c8af8e251fe43a697f941f90000adf8ab83041801830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037a07f4238a01f25208845287589a46b0c07aeaa206ad04f3a01a520997dcea322f84e2f183da05c93521e1ad3295bae7ec7fd0f3cd80ecb050801e3c9b836ba87182d30bcdd2e00012df9012a8214e7830f42408308fc7c9483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000e1e77d227cf6258497446ea5239512f3bb0c74ff0000000000000000000000000000000000000000000000000dca3db72e2861b84422b8c87b94056616ce4425eafee6fd65f83615b39342224848317c46af63610000000000000000000000000000000000000000000000000003303b0fea39bb0000000000000000000000000000000000000000000000000dbf533ea0449053000000000000000000000000000000000000000000000000000000006197d4b538a0c14c9fcb8cd6364fe8aeed1d8e17eac9552c793fae5916cd8501d930fee7f708a060313fec673b91bb86a81633deb2965ba0c8d5632e1136789d49c508dd8f65e60000adf8ab83041ae1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037c8b36038a06d37439925e8957b7ab3ce5c510967a17e29ca3b01ba1a68f6f6bbdf6bbf94cfa03696de29eaa349c91d56813cf7cee8393a57128461bfa5a6ff46c9434b77eed20000adf8ab8303775a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037e1f82037a0998e94aa2d2efa1278a93b0c8a1da95f24a01826294ee2dd24437db1474fad0aa014fe3dca11a43dd17ad2e3cc45b27b9e342731ddc9391c433fbfb2f3656951340000adf8ab83038e29830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037b356a038a0f2c4d983ab1bf6c9b716389c11457086f53105544f6da97fa6320fc1c8c2c516a054c3373c6369aeff08efb7aa3038764dd76cee92e3c69b8c281ef2ecdc110f63", - "should_start_at_element": 22546, - "total_elements_to_append": 150, - "contexts": [ - { - "num_sequenced_txs": 150, - "num_subsequent_queue_txs": 0, - "timestamp": 1636735176, - "block_number": 13602408 - } - ], - "txs": [ - "f8ab8302cd4a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069bf4680cd38a08743891fd9ba6c4bbc5855236aadcbebb640b7e2707aa22acf214a16580b92d9a05abf64b2ad9bec48798a62a64b73cf40452121bc3b3bda5302951858b16bb7c9", - "f8ab83038e1e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f000000000000000000000000000000000000000000000000000000699b414a9537a0d2b03dc954c1e1252d2939960527f401103f745906443756f3c7c6fd0bd718c0a035359a347c3fd28ea7dc2297e44935eb269e0ecce2852a4eeb76c1f36fc9d3d2", - "f8ab83028ec8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069ce9cc74437a0bc5035121c4d991baf2d2666e7b09b26b4e512fdb14d37aec07bd46cc5399213a018ccf361f2f9ba4980af036fc15b53d5dc9f4b0b62a563c050c219751d2c09ac", - "f8ab8302bb53830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069e530f0be37a059b0c3956cd98cab27318223b79e5f6881d2c7594532f163eb465c1426aff77ba01633768d16f63ac00560b2423b2fcc905c66ba5b515c386304d2867d5a5f1b77", - "f9010a8201a8830f4240832dc6c094ff4287311138ad3bd051f84524b2ea3a682944a580b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ea6481844d2047f734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000a62deb36a730ac55d7284404a7ebcc2eb6d6380d000000000000000000000000000000000000000000000000000000000000000038a0016920a7f0d0d83e0c7e4fff33707de509cfe288cccf70ca39f5d24461bd853ba04d6f6243ad17b830ea8c664f7bde03caaa0b09bd5763b068d7b7da23321f0795", - "f8ab830417f4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f000000000000000000000000000000000000000000000000000000699b414a9538a07e9d207eefdbe9221bbe020a4352f9ba0baf603a3247e03332ddf302158a2fdea02baf0eb5181850b172e06e3af2d47bd35c0e55cf049f3b08c6e0ea8388c2ba26", - "f8ab83041ad4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069bb037fa737a04044f8028c7883eeaefb1c6b66ec2366f5afa2d71a8fecbc5bca5196846bc077a0697fe7dacd158183c7b21f063e4230ed6ce86a82a399fff0082d47b645d40ea1", - "f8ab8302a0c1830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069ee9358c038a0631151286dc0de94507fca11f7265f6c67cf6f70cc53b848eb16c40bd9494866a02e3a02a7dfb916c71d753b1787ea39629681508664ee78cd51c3674bd0f3b85a", - "f902e90e830f424083060d7094e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f40000000000000000000000000000000000000000000000000000000006ee19b1000000000000000000000000000000000000000000000000005a8b93dd99c33900000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000005a8b93dd99c33900000000000000000000000088a54a10abf08901c0234a14ece5d9b569b4496e0000000000000000000000000000000000000000000000000000000038a0d945bbd65ac54517366e7c9db4dc2768e41c60097570bcc4c825b212e5d04c58a07d648ca34fdd804ad019127ca2a49fa16b732fea59e8dfd3a6c01f8d9f65bf7b", - "f8ab8303774f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c17f00000000000000000000000000000000000000000000000000000069675b3eb137a0d0acb4fc1a44a9507fcb1d93df48dbd26be78b14f3c68b9a030dc7e3c255edeaa01d22baa389c5e68082e8aaeddb69c51c7ca39c9416d840900558250aeae68895", - "f8ab8302a0c2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528900000000000000000000000000000000000000000000000000000000379a93ce37a0bcc6fb53c42e5ad7dea27058829a5d5ff7b2ddc46b2501dfaeecb0d586a3275fa0081e2f646f3e6d6bf9f29e7771d79b9c5673eb80e9297fea7f071ccf6a068b68", - "f8ab8303dfd2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e200000000000000000000000000000000000000000000000000000000c53b554037a0d815b7fa026831314a69804f0ace8739ced24a35bfba63c84480e2286a5c73bba00b11d018d0bd36f5192ca846cbea9832dab581a2ef314d9798abc1070c1c6eca", - "f902d102830f4240830ae25594c36442b4a4522e871399cd717abdd847ab11fe88880c7d713b1c78adc5b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001648831645600000000000000000000000042000000000000000000000000000000000000060000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c316070000000000000000000000000000000000000000000000000000000000000bb8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd11c4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd123c0000000000000000000000000000000000000000000000000c7d713b1c78adc5000000000000000000000000000000000000000000000000000000001a4b9cf600000000000000000000000000000000000000000000000006bc0cf7ac7f25f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019f268f7707732fafd894c1ff3aca107bd10b71200000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a09722c826013cf7f98f79487ee93ccb26695ce5783690d1bd61d80004cea8fd96a015a6c83f02ea7f36c15fe3cd63e01a4fe15a6bdb70c3d01a42d9e647b0204904", - "f8ab83034715830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000376dc6dc37a02e6e95d6a9e5b1d3f12bfac94dc99a5e325598eca1ebd22f166e98154ae4bd15a02d383b0e3e19ff43c000222c01df91fd2b892eb85e1a18ba2125c13f8991121f", - "f8ab83034716830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4b8638438a0563a98d091c1d3b235b6c84192305009df68544863effee40e702ea9e013bf32a055a23ea7b6511bfa5838af99110351003c29f013e7487a27aa42dad3f12c95f9", - "f8ab83028ec9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c547e99037a0cf6965767bc56dbcf065ac8303b368c7052f8ac76520c42c8c5be64ab6643b47a0138f17a859375c82c06b42b85cfb042854066b30315cb67756ddf01a35ec135d", - "f8ab8302cd4b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037abb58038a0a0a1563248ac9e38d57fb9a21fc1d668f2d51a63eb5caee9298d2b4e64d67109a0635560dc1aa39b944708a86b6dfd806793e816bec6ab4bccc7b977f4b8f79212", - "f8ab830417f5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4c25bc337a04a492abf21763e21e8f5a05cd7c132331ab24c5ade97734e6f95685103ca6920a0374467296f5cba23ca0226ca8a675b4bb81fd9a923f789200239dcb290498830", - "f8ab83041ad5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000378f0bcd37a0c324e10c9cb269dda614e3e782212b4556c70e0471f6e790b8cad3a50d46ef52a02c93b6ea0cea8ad559fff655dd98679e6bbf92f24c44bcf07847ba5cb91ebfbc", - "f8ab830417f6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000375a926e37a0c836cb1c6e3728ead2e1c54a4bb5bada5cb188f17c7421642e7b5a10cd26b051a00d093e9cd0972f569bd087e59a2d51020a018daebe174fb67bfb798384ff4fd1", - "f8ab8303dfd3830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a000000000000000000000000000000000000000000000000000000003783815c37a05c22dd760a70339dd7c9bc73fda90eac44c3ed407915a443e36e755ba3ed00b9a0092df1d1596b89d381c3aaab7234ba3db7637f6e5ec608bddc8710f4f1c79d19", - "f8ab83038e1f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a00000000000000000000000000000000000000000000000000000000378f0bcd37a034bc114b92081768e6d6858520b6aa05b942b2bd8656171836f1aaf0a383d099a022eed922f98e98193e5320ac3739e43a93827d56971640a0909a9ff0d9c27f43", - "f8ab83038e20830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c40dd36337a07671870a4f127238e329e7e12eeb00db3b6e39f9f295db39b2f4c5fe198344ada0796b1eb0a86cac8e2d15a9ae11ce5018d212f50a57e66772806f20b9c2b145e2", - "f8ab8302bb54830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c4ef0a0038a00a5a6fe4adf5f9f0f2787a0dfd40013a619a747bd2b6e639bfa8fbb7e57d573da0507b60831d1f82418b74899457c470ba4c76198738ba0de513cee980bd71afed", - "f8ab83037750830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037bb332c37a0f5d5a7e1fcfc87c9b70e2017cd9076d39314095a19f8f73fac2f5e524a8f152ea0242ef0901dfd32c8526ffdba9b57e35a8f9d00f9ddd6cb36d5c009ca9ab8f5f7", - "f8ab83041ad6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c49f7efb37a002b48dfb8ccf428062a1a2a1918e5b6a1e3f5f2141fa5f12ee747feaf07f4070a018c9d58a14dea579ff9c8819637671251143a383aca67771756aa405696297a7", - "f8ab830351a1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c467e6c738a0e59d88dd09a45cb09581e6e3a935940ab6097e0c0d91200f2198f36ef19c35e7a038f613748c9886a388cc3fb4efdf9ceab6e7c7e4cdd655db91b1a4cc988ed781", - "f8ab830351a2830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037c2cba837a09188add1c825727a42b13097754322d75d71b1a09ab3c053cd1fe6446ce36979a0035f576513ebf0bfb4e0ff64f6c0ff4eb079eb39ec095a6eaf62fbbf24e1d016", - "f8ab83037751830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e300000000000000000000000000000000000000000000000000000000c467e6c737a0193604bd51533e36345130b85a4031562b7e1d6c1726d46413b55ae0555bb4e3a0554528ef75cd5b7152e4ca1eae78d335267e3bdd999a541627330c7144761b81", - "f8ab83028eca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a088d208037a0d8267a7488b92133abd9b985e4aa3e48457d60f7e64f00797d64da38c2b5fa5fa04e9267e3c45173a2eb0ccaaddab249d2e7c52b478e3ca4fe7dec59bc8b3f3e30", - "f8ab830417f7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c180000000000000000000000000000000000000000000000000000000699b414a9538a06b249154286b127568e20f10b4c2100cc40f50273fd4dc96896a82bfec57437ca06e64d29b4c3fd0d4e3ad31f06d37995dff897d2fd65aa2770faa5a3ab320635b", - "f8ab83038e21830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c180000000000000000000000000000000000000000000000000000000699b414a9537a070cbe4cbeba0dda127d98da3a186db3d786267285358bbcd0853785e0550ca5da07ea9ccf3afc590e4c96733df166010a76881f74168878e7e3f9617e431787d9f", - "f8ab8302bb55830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a0525d9a038a04bb82b0733a1746ae830e1e5881064e0a257c604051d2fc8aaacab7a050c5affa056349fccaeb0c5c3a1982b5ea1cbaa7568f188c2a98a91e33b94f5c76b91536f", - "f8ab8302cd4c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069eb9f9e7037a0d8c275f1e13f06761744a8076edd5aa15701c3b39f6e782a0f7c37f93894f6f2a0664c55117239439e120997ed9d42ea8e73ed78057e0c5b76fcb12d63ef07db00", - "f8ab83041ad7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069bb037fa738a024ad720b7545895e823b5f99bb9c5f14ece1ef2c56ea44f7ea1198cedb7f3b22a057ae7e35beeb60d29e6576e97935b0ada92f3527073d46383b83278fcb43e1cb", - "f8ab8302a0c3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a04de224037a062069cc7b0ca1404d224c3ba56c0560ce4b3309379a09d8c7ed3c47046df7e1aa066a582c9df0f0978c75a1a9a0e2bfc28ee09dd6dc4c5e79decdbe4374d034268", - "f8ab8302a0c4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68338a011e977917cfe696aac3579bfe20068c3ee0c4defe0e61c351d0b0445b4934f88a03e024f942148ce25c36e73427f36b47f04b8ec8c4230188f0213b2257c4174b5", - "f8ab83037752830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18000000000000000000000000000000000000000000000000000000069145aa33138a02b7922768514ae26691c5fa6ed86183fbb77582947573044cd5469bc127f940ca02775283f3d23b54e94d525cdc696eabe7341c3676e76c7d016a3eac4bbe558e5", - "f8ab8302bb56830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68337a009dc99c4218d2172d175156c4d5e841c629f0bdb5b74dc3a827ee5891bed19f5a034b8e7a9c40a5fc12adff478f7823ae34b93173723834ce81fdfb6a12d636ade", - "f8ab83028ecb830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b29474854837a0ea5e88a9ecd1e658520f4263600ecf0c51e0c3164ede137eca68fa2f64083bb4a01f7a19956481387a8f832d58904079b79a9a7321d8d8b8c6040c2878a9d588b9", - "f8ab830351a3830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b55a0422dc38a0776d0f43d1ed176fe80ec3c8d2fbfa0ff43f745504908c1f30a4d7897f95bdd0a007784d35c88eed69e05a4567f8637ba2b6d66a6f5eb53cef47cec98f7b964143", - "f8ab8302cd4d830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b0aeae214238a053bf527a1f48885a13280a3497f4d7bd93e5b6ffd16d94e6a83fe4a0a13fa2bba039176d797a2d8b0cf17e0743a710a2e779db9730194e7eeb115a1083594e92ca", - "f8ab830417f8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b5e0c18b8038a0f7d14b553f65812d0dcdb081f26be2fed4ac7a7c6f3d57d09c6a2a81dd8ff248a032e969d733c957d176ed51c7c3633b3a5fd62f4087676c27b3e5f19337446c85", - "f8ab83034717830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b4282bb68337a0f1fec89839f49cf26f0f6cc70aa3e35c681f1230f0e5ba2970086775a7e3aaa0a053a7b7bbc88012a92c316fe1daea558850ba22b34503bddd3199de145874ec62", - "f8ab83041ad8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b29474854837a0c1ee68862250edb59fbdd034d89d81657aeae2e975a93aa6a575e99bed61ba54a024287ded52ee8e6ff1643e3c261d9f7c4f43e4eaf9ba86814ad45815cc960e6b", - "f8ab8302a0c5830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528a0000000000000000000000000000000000000000000000000000000037a4444638a070cdbb031a884adb6c76afd6bd58a3a103cb49c48883ae895135cc948381e271a06b93ec7a76b103693786ba69b18bc51049d255d180bef37981707ae4a1b16c11", - "f9012a823909830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000b5c914b4a0f09bf5fe5b774e5aaaf9afc7ea8bf70000000000000000000000000000000000000000000000000000000008c14aa7fb08345ab77d789b7c989b06554aff6ca37b45806abd5b9cfdd657e71e3670670000000000000000000000000000000000000000000000000000000000163fcb0000000000000000000000000000000000000000000000000000000008a16425000000000000000000000000000000000000000000000000000000006197d22138a0e377c0ddc806cdf7111a812c442a1a689fa1a5b7b5ad21e46dd448e97a239011a020ba68ab9bf3497d2dd39171ffbea4db7fff4f2228ce10ecfc06099040a1f2aa", - "f8ab8303dfd4830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847c000000000000000000000000000000000000000000000000000005b66a49acc038a0ce9d2bddbf3c377a69cbd939b8ccfbd3ddf8a9304014cf496047b29a7cfaa521a0321ee3e3e6a9e642c4e298f793a7780d19414f36168d39b027958e1dcd5b6995", - "f8ab8303dfd5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1800000000000000000000000000000000000000000000000000000006a0b7cc66037a008b1af83c5e29ee189fd9d269628ad07714cda763f348fec925932fe20f60190a005fe3253ebd6f653d33bd0514dd499c481b7d5987356eda759b85ee52371c23f", - "f8ab8303dfd6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037a5c4a538a088de3eaebfbc3b3e265e39614ed1843eedda0ca407180717e71f2de234320045a0710e02377653c77101f2b2c9ae5c4da4a72eb412901ae7eac604068f8929c2ab", - "f8ab8302cd4e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037bc7e6038a0f1b460bdfd01985d86eb92dcd8cf3269406124c00a3c4cfad9c78cd0e528559ba02bab167b99160cd708bef3f41ff353c742f3e968df4b26305de89e9ba1e6e88a", - "f8ab83034718830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000375abbf438a0962587a4386870faf9437a10b40657fd43f770e3d5293f791e097ae8138d574ca0342621f935fa3bac289990bf73cf48d4b496b274cef7f8b2493a98c355702f67", - "f8ab830417f9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000376bb41238a054db6391ff7d1bc7ff35ef5125fba14e90948e94d118c99e563d4609ac77a612a0368323dd7aa3cd4ad93db821c7a809dfa5f57a3800a2091d74f52ce86125c408", - "f8ab83041ad9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037b356a037a076ee910151f818b838478a6c1afb7ed94751c3e0eb5df3c8682a2ba4fc682197a0064017dc61c85ee103cd8dcb4befdeebef9f5c3a9644b153246a47168a04d1ff", - "f8ab83037753830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037bb332c38a004521d66d280c54b5b4470cd1e5bc0ee03803ce1f463a2e8dba7cf052cbf0cc8a06cee69fb8fc880680f570dd20764a7db13a80bcbf1c9fbfea010153f72a30330", - "f8ab83038e22830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b00000000000000000000000000000000000000000000000000000000378f0bcd37a07ea74d57906721a8af2de98fd596eaef951b21820d272aa87d812f0a58d6354aa0612a3eaccbe7ca17ee52530f035ee1e2051b5efa79e3f19da0d850eb2f3cf4da", - "f8ab83037754830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069982496e237a03a5f605e002fcdfed890dc374e7c9e83304fcbbe8af3877f599e90eaceb9f172a0514e005cbbe05937b14c2149c03bbf30157454d46d36bc85a8b8e331acc18be6", - "f8ab83038e23830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c181000000000000000000000000000000000000000000000000000000699b414a9538a08f3bbb00df08fc73eac17c30957d536c819199dba0ba7194b307888e46e1a3a6a050e05f1a66b4b46f2ab5a9cfbe2f971220dd5fb08f22a1eba632b0a13d839041", - "f8ab83028ecc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1810000000000000000000000000000000000000000000000000000006a0a84aac038a03f64f020af18a553ef36d90433a76a8d7c6606a62f7ea34e1439ee28d7751728a0581a9a8780872917f2c953ac3d6cb31555bffbc67bea32ec2f7046c6b41894be", - "f8ab8302bb57830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1810000000000000000000000000000000000000000000000000000006a01f0ed6038a08db280ebb30906c0e86fdf90cb8670f8f9352c4006a8cadc6967aefebc8c90dba06886c35f53701cd9a2fe4a7378a00f1ba57a07ab5ac8c3ce019e7df32bfb4efc", - "f8ab8302cd4f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069ef3ca92c38a050145a8e784c4a6a8cf6d7a34543517fea5cbdde28cc984bac1bad70b218e6b7a04cc6c6f87eb0fba47fe92a232700e5915262283528f049af6e019b7642c4fcd6", - "f8ab830417fa830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069bb28bce338a035da518a20de9fa7d78d0deba50e6b9998fef55f5299a546538dfda45ced6e5ba03b932813a475aa0bcb49a1832a8639f05f6e6eee4cfb543594841436e552402a", - "f8ab83041ada830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069fee5340038a09e00c8c489c1554d726e6b7c6cba015cf3c45b3d86aa386c0236cec0bd441827a0407bced024564ea0260c856fdba4b227800b0ded2244ee42ff44de9752b72f11", - "f8ab8302a0c6830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18100000000000000000000000000000000000000000000000000000069ffcde65038a0649c6a344eaa7a1550fd22ad0f5e8cdad08265394517ff33ee2756b958660a5ca04a09baeae0cc1e907c422c48479d4531b68c2efd1e39658b7929f001f0150843", - "f8ab830351a4830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037d25b2237a0f5fd73010d6b027ffc68df104f1ed075c645f1dd383581f7e09129d08205dc36a03a43cbb108a53fca4d7a72be0455d83b2c64c9a876e3246bfd1e7034b23e7f06", - "f8ab83041adb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c5330d7338a010d80f8bc0293f8dc511fd069b6881627ec8c0b006a44eabe8d1260bd35e9da6a02ffc955405fec29ca0a665b06f41a27197a3520fda45206c125abf81c9449863", - "f8ab83028ecd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c55bc7e437a022c3831be67c10f3f9cd500d30192e645cdf8ed0ad32ddcf2c3e7ba9d3cdc96fa039efcf6bd4a333720c3b6130dffce9028d3635d8872d73fe9e75c05f45454601", - "f8ab83034719830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c5330d7337a03439b6a3d9eb964a511c14438727ccea421279fc37a1af020eba6c89b686ff55a04f0579b1f08b0669264d314e282e57c778f734ea1ed2d699c30777345b885160", - "f8ab830417fb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c50ea70337a0b69c862370ad493c35b87a1b41c17b189b4b1a0757b381e3993ca004ed5908fca01c238bbd61328c7111dc12458aeabef4235e71a27d3a56938657e0a56e137c12", - "f8ab83038e24830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c40dd36338a06804d94b37af798fa733b0964e9e5ad5a5305a028e50b359d8f18ff742cc612ba02769fd70864e8a4014aafb37988de8faa0405ebc38b822b11c516a941c327889", - "f8ab8302bb58830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c555082c37a0d0dae27fcb2acb3ee99ac677f8350dfe5268471093e96dd6e2e34049347780d3a016786c4380a88d318aabca1c92620292f093223fb7b677d0d7d22149987afca2", - "f9012a82390a830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000ca0fd87bdeae64b842f91fe65307b12687159c42000000000000000000000000000000000000000000000000000000003c8ba19db088236de0dd0fa86afdaee3be22188aa9654afedf0b87a0d79ed2f15145c6a800000000000000000000000000000000000000000000000000000000001bf4bb000000000000000000000000000000000000000000000000000000003c2cea35000000000000000000000000000000000000000000000000000000006197d4a137a0f9730a4ed2f6e2535358ee0f44f9a160d1240a81ee2b4cb1c2ae9fde5a57a4a6a06d2267932d66e9b5f17d7a3785ca182a618245606b54e0255fadbca7403fa465", - "f8ab83037755830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c467e6c737a03832e8bfa56a5361e6b7f2791b92dc2d05d78d4c92724e145235d8356500fc89a03c58a225e414e44fb4054bbe20b0a4cbada3447b8ea159c3330203ff8bfcd7d4", - "f8a80a830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000001f6d98638eee9f689684767c3021230dd68df419ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a057cfbafd9f9098a47be1bda66bab91d566faa02434970efd0429375cb8fe23d4a0433abaed7d50d67e9f36cc5972f2b198fb28d8d4ee6263be32ed167f40b1f3a5", - "f86a0f830f424082520894e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb880213217539ebc0008037a086bbb6d8a551fdb349889ebd35de00768d78e98c2be79de8addc0c8f1d99492ea06059dec9a2698f03c9a9cb7abbe240862e11af65e0458275e5f7b441b8b93144", - "f9012a82390b830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a0000000000000000000000003a769223e4992969bcc7a3de666a02a8709f4b3a000000000000000000000000000000000000000000000000000000000ea337533f423156d9f3515c50eadfb7b781b744344789a5571accd4fd24fd89601274f100000000000000000000000000000000000000000000000000000000000f4e73000000000000000000000000000000000000000000000000000000000e83c640000000000000000000000000000000000000000000000000000000006197d28037a080a99a065508a32979c4b895e8ca2a1ee5fa0d71eac364afc603135700ac334ea04a605169b3c26a37e637e84645c3c5cf859024be4c74542f1cc828c8b24cef61", - "f902e921830f42408309ac1794e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99c900000000000000000000000000000000000000000000003635c9adc5dea00000000000000000000000000000000000000000000000000000030ba68cc3de279f00000000000000000000000000000000000000000000000000000000000000428c6f28f2f1a3c87f0f938b96d27520d9751ec8d90001f4da10009cbd5d07dd0cecc66161fc93d7c9000da1000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000030ba68cc3de279f000000000000000000000000fedd9a52d4d83fbb77b21ed967b8e2e3b79fdfac0000000000000000000000000000000000000000000000000000000037a05df1c382e21bcb39b53a17f3e930061b16850648c471c1585a8ed5cd98e3d27aa05e6d8c61629a88591e9678528e91c9d7b8d575d8ffa8f866cf451f1347f7e14f", - "f9012a82390c830f42408309473394a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000dd01b07396eb37e01d2a630dbb64e60a4df75dae00000000000000000000000000000000000000000000000000000000002dbd9ea1dd9b84c5f86adfd051aced1b98adf0781d92b40efed3150dc77214c20d543700000000000000000000000000000000000000000000000000000000000f4e7300000000000000000000000000000000000000000000000000000000001e3cb9000000000000000000000000000000000000000000000000000000006197d36d38a0653553aa632e21fd107f46d608ecded416e34325a366ece677bd6dba46322b3aa05949590245bf2ed8047630c4c0d9e1cd6327621b0e6645feac098c38ddc38a41", - "f8ab830351a5830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e400000000000000000000000000000000000000000000000000000000c467e6c738a0ccdb9b53e2f862cd86f0d7758e178de3ca60ee368acbe0cf78a44867cc180eb8a07599e45e46dfc5e33c7793c519427809c5e554b68888c734ac0c478d2b15b4eb", - "f8ab8302a0c7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528b0000000000000000000000000000000000000000000000000000000037c70a5d37a006d30ede7167895cbff5afb88290e5331a5e41e0d1393ed5bea3bf2426fb210ea0011686a465fc892062964482acc7fd07c03a3f1df801e3a76faa37fa31803d26", - "f8ab83038e25830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c4909cd937a025fb6d5456c1af0c2534a885b63591cff2bf18e3e11438fd9698644069e7cd4ea061973afb28fff8dc3fbd7f479025ea9bca7718b3bb9b7e14fb20ee72b1a0325f", - "f8ab83038e26830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037b3a0e238a05fcc43a01dec4a3b482e9d0d0ee269e1e275a9e87c74b579777a275f6c71efc6a0031bf7377332a19af46164ffe78f6ab47d595151cd1a8d50d9f2a807669e09ac", - "f8ab8302cd50830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c1124038a0f6ec55225e5ff51bf0f19861806a1150aba5dc1db849d2198c961c09fa17c7a7a06e525a69ab48a1305061c1dc43bab2ba47dd67acc6f4ed0172a12c5a75bf4762", - "f8ab8303471a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c00000000000000000000000000000000000000000000000000000000375abbf437a0caa62bd32a8a8c0cbc0f53d7c074f2f6f8bd51541eb5e88faf823ad25c210feaa0355955f31b36310f582099260c377bc87c0293cd61bcf4ab52ca53a8726152d5", - "f8ab8303471b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c5330d7337a0dcde300405f75776b8b2003edc24994d95fc364ad1b181d6846cf0285a8c7687a067607bc8cac7bceb1b08d2569e990795d9b6a34f712943e56fa61d9084602215", - "f8ab830417fc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c00000000000000000000000000000000000000000000000000000000378a389238a0b67bd20cac602c73ab0c90a3c05591d1d7db30c89bde72b5442fe0180fdd5cb0a023f70eed618b7ab2991de51f32a4ce6e70a6573f644e23a38b6f0bde21ac0172", - "f8ab830417fd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c4e0e04337a02bf31b16e6c03309406848fbe612c1ef704fc1b0a84b12e2dae8af6ac27e69c3a06923e4543b1327005f6a4c94a0dc1d7a5ad04fc1ba709db738855d6596adc462", - "f8ab8303dfd7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c53f6c2037a095ca0b04f16d023842b6385f6a9aa0dc52e5261d924340e3eac1534e2e2a2212a04e7182813379feb6fd240127e762f72e8d7802dbabc67a62c8019c30121e3f81", - "f8ab83037756830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c6c34837a07b2df559fe2c83071f8876a54eddcb4cae1e7721767292e3cd797160b6a86fd7a06f119d469ae748a0cb49e22ef84bdb2ae9e8e2bb2f27df1c1f618e46b1b16c1c", - "f8ab8302bb59830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c555082c37a01d6ff590c5d0af79f22519f96995bae349c4bcf60ab434b9fd2f84c39063662ca0069d5df855a036b093ba60fd5c9e4842542bbc120ad99026d5b904406cda798e", - "f8ab83028ece830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c53f6c2037a0927e3113212e80c396ac779454492fc3ed82e73eaf101dbb9dbf81a0103f66aca0104e7eea843582d423e3a77b743cbfe36b9618947ef19c7e8d9932489b65cf34", - "f8ab83041adc830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c298e038a0063fccbd3f91c3f9b881777719dd1888ce8b9739db1ede1da11da1b29ca802b3a021027ea9b28cccb029988d4e8503d372e74d6504f930606088e1bfbe72207c63", - "f8ab83041add830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c543186937a093e29a1d3a47c5fc36409e004696545a85e9b9c006756ed6c3f9d0fbebe8115ca07388f0efd6942037649007068fdffec64aa743038b951ecbe58a429a0c8b7b90", - "f8ab83037757830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c467e6c738a0e1d7fac186e5c3bdab1759a53be1d806c00e957646308824a2ad23b57d55ed41a06e56f14e86ce4963feed0119efbe018de7c4d7d2b7ca0b47d41173f1a1f79b7f", - "f86881a5830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a0bf09aa89cccf5d3b5bc6c8e0c4a8458d85c94f6464f57b2a1fdf284b26646d53a0402f73d28ff9410530d8ac770a1438d01279b04dd5ac7c145e6eccaa8f8dc6de", - "f8ab830351a6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed00000000000000000000000000000000000000000000000000000000000144e500000000000000000000000000000000000000000000000000000000c467e6c738a09063047d6c639b6fc4a848a7909dfa599faf3d244015347a0270ad54290cadbda0389d17e7af61d70862e1f4340493c0aec71c6a973e1388570b89d22155f92204", - "f8ab830351a7830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037cecde037a0dde38afd95d4dfa9e54c0ca017c18d300e9474d67d5df7b5fc14b8815902f746a043adefb3d885c5e02ec2d8750320326a71ed28767735ff856fdb2d2591fd1118", - "f8a780830f424082d0b69468f180fcce6836688e9084f035309e29bf0a209580b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0655864ca4e3cf752c8b28522b6aed9b622981c3683a5b9683164fc22746a8035a04ad66550a746c5956d09e9e021962d2247d66a78733a327a80a36e2e35428515", - "f902890c830f42408306fa3394c36442b4a4522e871399cd717abdd847ab11fe8880b90224ac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a40c49ccbe000000000000000000000000000000000000000000000000000000000000edb80000000000000000000000000000000000000000000000000000002e7ef7f6d30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fc6f7865000000000000000000000000000000000000000000000000000000000000edb8000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000038a0822c60aeed8d696f9b800719f628b5106a35bc1a8b41f5ca8ad23777c4f2a575a021f3c5496e72d947d528a19e41c3e52bfdd4b4bff3bf833f7429041fc79df07a", - "f8ab8302a0c8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c24f6d38a0105f1cb1cb66472fe6948e99f8b757ef5b52e308b364bb110bbeb255ef3f2532a052a3cfa4cb16f2200a21235f83bed0b997868e264b2e534d64b0bdad0e966d04", - "f86881a6830f4240830cc809944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0276846a7669274a25dcf15b68c2d2aa6b7f2db2b72db49c0ee2d0dd42ba891f5a04bb6177c60229117a8386ada9df1150478dbee5387ada3f0205fea46a4dc8686", - "f8c80b830f424083142975941f6d98638eee9f689684767c3021230dd68df41980b864862a3394000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000038a0eab6a01927bf55cca3a42a7dba2c4c6abae34bdde43217a560514d797f151924a0758131f3e335a16f32bed22f005f345b1ff19e8d4f40c9961de4d2c5ab5f90c5", - "f8ab8303dfd8830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528c0000000000000000000000000000000000000000000000000000000037c8b36037a0d15bf655cefa5902dec2b7cfc847a37b000fd15d36f359443582c8fe6ce44d7ea00f555e9b09652f6409026917589133959095e4700e969e8455f418125e0dc046", - "f8ab8302cd51830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b53705176038a0efd2a0ab9d3a4c72289161d07205a261bb4b41aaf519d5290c1c5e5762123350a0115db6f669469b4c943d969612705375f4acbf771b09df25e483e516f3cc97bb", - "f8ab83028ecf830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b4b94c057b38a0f77c6d0b38428f9339f68c4fa8b7cf78d52e0dbe0725cf2619781a7abd1afb5ca02d29393a0de6d61c2a54e267b12e1cf334e62d4a4938455e3f79f7f5081bfc61", - "f8ab830351a8830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b433eb22a038a0f2fb99b5f52b2342bc68d7ad5bdf9c0582fc4f6cf24d7ab238436e2ad8e5b378a00ad9b335793a381936fdd4d55b496a45f3f9308d2543048f11aed7864c5b5d67", - "f8ab8303471c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b41beb75d737a08e5b7132e3b3199964c3eb2e48f353e3bb1ba018c2b52245b30d2c5966afa211a00e0ae2e974abdb3a0dfe67636ba4e5e3954115a2e0e3d50c997ed086fa314af3", - "f8ab830417fe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b47473d38037a0bdc1c9f0cca72b09b022a0d22e690718dd0ee9c6501485b0d3b34d103c8ec065a05655c2cc0b64fd121867636f777a081d942dd77769ddd255293ffd2014a724bd", - "f8ab8302bb5a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b4ba7ce74037a0e06b565fdf60e93b90f8815f752e6ce247693718e6ba625e8be47eaf831cebc3a01d73fb79fd1cd59a07d24859671567fd42fe85b668ebe088b9740f1b97652fdf", - "f8ab83041ade830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b441c9db0038a0016b0c094348206103444fb183b1d9fc0794bf0bb6ec3c79f1b5c0bdf56e6774a023943dabc00f02889f8d8af4546513a79198f28a10c9889eb05a8263f13477fa", - "f8ab8302a0c9830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b41beb75d737a0b9b758dc1af2e15fe4046b76528990e4018ce27c4318018435e378ac3148edd8a0660b475f7daf5720ab51f9993d7a985dbf801e9e750d4ac79a3f79312e279884", - "f902a90d830f42408303f41a94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000000000000ae46306000000000000000000000000000000000000000000000000008e93014aad6490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000008e93014aad6490000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb0000000000000000000000000000000000000000000000000000000037a04f2325aa243b5c8f094bb3ed5ec013328f69921244e8ac3e3f852f9775bf1b6ea00b390f74ebefb533a55033efbb1f79f5a2201410e5a49b9bc3c11e9d0a758e0e", - "f8ab830417ff830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f242570037a0fcc4c8f7655c1f5cbc575c741ed92aaffd45becb0b90c250249ac2bc9bb4b89aa067f49f2faefc9ad90ce9c6052311f6c5b2955446bd35024017119b51df493bcb", - "f8ab83041800830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037a97dc638a06696836997926188e338172cc2aba7f5bd35ec8ef443e05821fd273e913a3495a017d9f7fa4b1005e2d4b0463924bb108a41e6f7e47e2e67c482316e1ad82d30c4", - "f8ab83028ed0830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069eabfbb8037a0d52ebf49a9f60fcd83165303985e34ef2e818f8a643e852df304c8f130c44ba4a05ec5b98191cd4527fbfd581f2365c5f9fbd5b31eb15d07e2cda8f7ee1a84e79f", - "f8ab8302cd52830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c5f44038a05b60f8b5cacd6fd437045e04fbb41b2e65f325cc2ac0c206155dcc7052508c78a05b7d8b2b2a3d63f9515bd6b1f6e892c3bca8e1068e3ae3e693240618408b6ccd", - "f8ab8302cd53830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f5e6597d38a0c7546ad5e0ec31b18987e5ab88558eaf143a334e49ed61924f62db001a22c52ba0600303b7aa6974c6a4a1b71d82a5a8a098cbf572bb5a2b5ee81c62921ec09328", - "f8ab8303dfd9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069f242570037a0574de0224d10a562449372b58af110ab2d20b8ce16343e6c3cc26a37095bd804a02957c010c58585d71647cc23db2b1cc78f58b75d5f5663e4d3488eafb84cda15", - "f8ab8303471d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037a5c4a537a04d5188dc2ce0acfa83cf21cd148d35ed9b8177355d9ef2466ed1be17cd8f3a68a06c53272272f290c72fc458b52af372e9b771995c05fc5a596deb4825cf88843e", - "f8ab83041adf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069fab9168038a01c1cf0db37acb9d84997c2196293ec3dc003f67d9ad3be1a2996ab6b6d2eff19a00a0b412834800c1059a830d84b5aa4868408de58cac7e559804514aa452ff050", - "f8ab83038e27830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c182000000000000000000000000000000000000000000000000000000699b414a9538a085dc1f35a6845faa09edd40243ee47897d19598282f9f082b33affb58e9881eba008f89f36b10bdb6caa02c4cf7bcaa72e5c4ac3c620e99208d4c0eafff8aee285", - "f8ab83041ae0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c298e037a0ba76bc71da166e4f04b989035027ac145a9b5a471c9d5f1cb372a2822a98e5f0a017f42ed35033d1d8f62f64575f19347970daa8864457242f734be05b4d918b7a", - "f8ab8302a0ca830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c18200000000000000000000000000000000000000000000000000000069e1d811c037a04b9b79b02fd9d2d439b88a085d683a7b2cdc6c5084705b2909d2ca1653c755dca06d0e1d9fea0de7740efc4eaf3ae2217e62348b04f6f1e1d654319e3c8caa4f33", - "f8ab83037758830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037c8615837a040e5d4dec5f2836d5bdf59916eeba1fbb38c352171100477fecf42725b160114a02de61d5486ba0da5e5274544d98d3b13fbf120ad75ea14578de404b24324e5b2", - "f8ab83038e28830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037b7ea8037a08ec09204b03becb5bb536e151446f34a8c60ced34406b3aed1dc59649cecc1d3a079b7b88ec6ccccc5aba0d94f3754ffbaaf7ff7f423b03af0cece1ac2dcac4198", - "f8ab8302bb5b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1820000000000000000000000000000000000000000000000000000006a0530591837a02d3a44fe87dadd251a68e10b5fcf84a6b474da8df60e7039c9c1f1fa982bf39fa002e3e13d3793ca434417ffe2844e08ce90982fabc514526328524d63c083bdb0", - "f8ab83037759830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1820000000000000000000000000000000000000000000000000000006a0530591837a0eeb1c06ad1494d60f672e30467e7b73d8ebe861db34707271a08618517cf57aba047635c8bacefd0bfaeaf4c103f35b00028874fd7fbafaf225b760a37e9f74027", - "f8ab830351a9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037ca2eed37a07a8a783a04a55cce6ef7fafefc113e578e8106ba5e40da341be4fa20fd2c92c8a007d377cd2e3c60b65ed17c4a1be53c1ca6ae5f298d7f878ae67112ed45268653", - "f8ab8303dfda830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000847d000000000000000000000000000000000000000000000000000005b32b291ec037a06f99fe14bebb9b53320ecee613b12cd95d89db3209b17acdbacb54492b916798a00c0e233483781884cc67f21a8f34d13ef0f470d55ec9e09f466c384768d16b4c", - "f902e90e830f424083060d8394e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000087df512000000000000000000000000000000000000000000000000006ef13073cd221800000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000006ef13073cd2218000000000000000000000000e1910b5ecaebb52fa33f05c8cc1b4e9c9b1072cb0000000000000000000000000000000000000000000000000000000037a0b518272b888fe8e7cf04f9723b63e6dd7301a25e0482140317fa9a4c08a5438da07e2a0ad9da1318d75dd7a518bc30820126f70abf69f38867eff1e880d60b2604", - "f8a803830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000001f6d98638eee9f689684767c3021230dd68df419ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a05dad9ef1f7eab0768b63c2420b46ef80b776d05ab9e3a19efcd1dc28bf12f1c6a0099c868ed725461ebe7cac58483ab73d5c23cc0792b4bf5ef8d14d225176a910", - "f86a11830f4240825208942201b28de5ca508a79fa0c029420a087b8efc31f8818ecac7c009a00008038a0e53b62897a166ccf99ba1bf3647d76bc92f904b28b114e5959813a5998f467c9a0679e8ad7a0a2015ad6f2e0e8da85c822336cab0fa080d949ddd7e297ed75c9bb", - "f869822581830f424083125a20942935cd347b79c319a6464fe3b1087170f142418c80847e8b3f8938a07e04b29c37f6d8c360a98c9916755d694b470872b51097ec18fda011da6e4b3da0508ae7b753aa6f3214ba3c6917a418459d62edc0a2f71618cc60909a29b2d04b", - "f8ab8302a0cb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528d0000000000000000000000000000000000000000000000000000000037d45b9a38a0f1dbe6829972b9e049db53d72da2d58e846b99bbe2582229be806f09de8b106ca04029abe47ff1b1dd00a2350dccbe567325501f91e069bb24cb78734bb632c8b0", - "f86757830f4240830a7b39948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a0b400505b35364b4dd695cf1e4ad29b7879aa657e02a8131b9f36b4a1e9aa50c2a007669a9fe6fc3ba9e6aacb437d8a80fc4c89e36e5518887a139830e477604241", - "f901a901830f424083078d3894e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000011384e12d86078d83c6f3d7457b54d2df563890200000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000000000000493e000000000000000000000000000000000000000000000000110554486bcedbd17000000000000000000000000000000000000000000000000000000000000004268f180fcce6836688e9084f035309e29bf0a20950001f44200000000000000000000000000000000000006000bb88700daec35af8ff88c16bdf0418774cb3d7599b400000000000000000000000000000000000000000000000000000000000038a0c8a538b3da8d0c0fe645ab25702fa7903beb3b88452169e9e7c5b27e360dc16ea02b0385de035b33b939e573252e6892b0c792f7b5d17fc9cacafce4a49b9a60c4", - "f8858239388082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000002a5c797b5e38a0f81c9ae27d6bf39069da9c8a0ea3240d36b373fb5828e590940009d092715470a036ccfa546eef61bf763edb2cdc9a5398dcbb6f67218c8d00a15bb5e3cf0b0fbb", - "f8690f830f4240825208942f8338cc58a0fd5fba5bae3fb4aaa8cd49a5b82b8802d84e69f2f480008038a0ee09c72892579516f6387a6d5483d108dd6f7448e7eda93a747d1db50d36108d9f410b28346f443afb4e9bb646b1b44c4557df9da433800e1193edaf9138b838", - "f901b180830f42408305e6a894e592427a0aece92de3edee1f18e0157c0586156488016345785d8a0000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000362bd1b647cd433733c93d9d27511175f8e6443f00000000000000000000000000000000000000000000000000000000618e99f4000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000018a676d09df16cd8e300000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb868f180fcce6836688e9084f035309e29bf0a2095000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0ecd74ab0a1532015aaf386df36ebefc8132e312e529ad1ed14a0ae9c0bd6bf2ea05c6876680e194da33bab9a8d64e1bf2bf79bc68283b3dac583ec2ed3270d695b", - "f9010802830f42408304e9f994aa30d6bba6285d0585722e2440ff89e23ef6886480b8a4916955860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000f68be4c1fcdf25000000000000000000000000000000000000000000000000000000006197d67838a029670f8e0d7a3562bb51525019de801159e6b559ae46dc45ffc4aa1b3ea94b8da00e421b8d2f5a6220fdf67a4b4726382f0e4a5ff21e58b032bbf96dc5ce5cb007", - "f901b080830f42408306178294e592427a0aece92de3edee1f18e0157c0586156487038d7ea4c68000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d2463a7a3a1366e362e2fc1ce32eff66ad0f16cf00000000000000000000000000000000000000000000000000000000618e99f400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000001eb2c1d22eb34b9000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f4da10009cbd5d07dd0cecc66161fc93d7c9000da1000bb8350a791bfc2c21f9ed5d10980dad2e2638ffa7f600000000000000000000000000000000000000000000000000000000000038a0c5dcd3d48cde0cb8df0587516cd14cdd9c15ab0785ad881387f34aa1b9942756a00df63339716b3fd8acd9d928c513687223180b8a6ac1af9ebe691b9cf1652175", - "f86758830f4240830d14c6944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a066c85fa5183efd1537906144c339b9a520588424e6c718a5fbd54f1a320c0021a04e51a498fa598f5614a7e482855df1d21f95fbbc8b72efb1e875f598e2a4df65", - "f8c80f830f424083142890941f6d98638eee9f689684767c3021230dd68df41980b864862a3394000000000000000000000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000037a00bc891b7c229546420aa3d12f57e8126953a14c82fd719751fcfde0718d4c8a1a04ba23194b952e5d8949e8d5e83405422f2b108463c76ab215c28e3f8d51a57af", - "f8ab8303471e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037d2520438a0bf21b13d6ecc78c67c7be538356ee7c0c49b6f63d793afb4a17cba63f06e6392a07e6c45fbcbc0b2e4509a9099b52ae4556546cd172b5a39d949da9affdeb672e6", - "f8ab8302cd54830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037d2520438a065579118214cb34772411e904510a8627dc888b9e1d063feebee4d17475ca48fa02afaee42d40220e36ef858965edb918559a5dd403c8af8e251fe43a697f941f9", - "f8ab83041801830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037a07f4238a01f25208845287589a46b0c07aeaa206ad04f3a01a520997dcea322f84e2f183da05c93521e1ad3295bae7ec7fd0f3cd80ecb050801e3c9b836ba87182d30bcdd2e", - "f9012a8214e7830f42408308fc7c9483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000e1e77d227cf6258497446ea5239512f3bb0c74ff0000000000000000000000000000000000000000000000000dca3db72e2861b84422b8c87b94056616ce4425eafee6fd65f83615b39342224848317c46af63610000000000000000000000000000000000000000000000000003303b0fea39bb0000000000000000000000000000000000000000000000000dbf533ea0449053000000000000000000000000000000000000000000000000000000006197d4b538a0c14c9fcb8cd6364fe8aeed1d8e17eac9552c793fae5916cd8501d930fee7f708a060313fec673b91bb86a81633deb2965ba0c8d5632e1136789d49c508dd8f65e6", - "f8ab83041ae1830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037c8b36038a06d37439925e8957b7ab3ce5c510967a17e29ca3b01ba1a68f6f6bbdf6bbf94cfa03696de29eaa349c91d56813cf7cee8393a57128461bfa5a6ff46c9434b77eed2", - "f8ab8303775a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037e1f82037a0998e94aa2d2efa1278a93b0c8a1da95f24a01826294ee2dd24437db1474fad0aa014fe3dca11a43dd17ad2e3cc45b27b9e342731ddc9391c433fbfb2f365695134", - "f8ab83038e29830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed000000000000000000000000000000000000000000000000000000000001528e0000000000000000000000000000000000000000000000000000000037b356a038a0f2c4d983ab1bf6c9b716389c11457086f53105544f6da97fa6320fc1c8c2c516a054c3373c6369aeff08efb7aa3038764dd76cee92e3c69b8c281ef2ecdc110f63" - ], - "error": false - }, - { - "name": "0xe172c60a552beed0de63ce562a6eb04e6a912ca8d518fa0e2e3ccb479bc93c59", - "hex_encoding": "0000005ec500008800000300000400000100618ea8030000cf8f7f00002000000100618ea8720000cf8f8a00006200000000618ea8cd0000cf8f910002acf902a908830f42408307585994e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104db3e219800000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea92f0000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000044373de14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000d987a25f26e6f13bb17dc0ac5d30d1eae9d091b0000000000000000000000000000000000000000000000000000000038a0d3a22596c789c5d1ea746e081c16390eb6f65b2916668574ec57743de9fdb81ea01f1e6b7c4caa75e21f33e173fa433c482334ad2e5703e890cafa97e51d97d64d0002cef902cb821229830f424083034ccf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab240000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f905d5e1fa8530c000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a050eab1d99a7f91ac3b2b4003bc0dd56b0e2df449cd229c80d378673cd902c1bfa00a41dfcb68da5b77fedc4027efd4896f010be258f3e801a03201df092dbfbbe5000087f88582396b8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001eb0c04c3538a0717717ebc2788e65fad63240a6c93f26a116a8f10e2de1aef87a793e52b4144ba07ac8752fc9b6635a4f651ec444fe45454831a08467e1db0bd5fbd70428f650fb0002cef902cb82122a830f424083034cc594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab320000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f914e353783aecac00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0b44c1d787cbf076e1e263c6c175893ec61ca13aba2b2f2a9c3bdfa019c8be302a0424f442ae946cea66aa20bdaf3a746ad628003bfa48b73e811ec85d1fc404e260002cef902cb82122b830f424083036bfb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab340000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f923f22265cd3a4c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a051d066a8ab23adfee4c11c313b65117c340b1c0d712bd09ba20e5f443ca51f19a037e45dd45bcceb66d18e2723cf59954eec5b4f5a6a5164ebf7fdae64c856a9ba000087f88582396c8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000018dbad2bda38a0655d1ca35bece296c2272398e0153ac715bd129eb5a696fd5b1c4b756a9a4082a01f7756f7fd0dff2141223305187bbc7cd049827c4e12e3d09259c882ee2085d00002cef902cb82122c830f424083034cbf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab3a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f933024eead0e3c400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a064d19e1e1c3fd0bd3e725704e56aedc881de6b5cd984e0d1d61cbc121339bed2a01f043a53d4e2bc279e6ae9fb1dc6506ea081a672164813806820751834d6ea0b000069f86719830f4240830cc7a1944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0705790bc3b9325d92455a792f9a16754792025124794e16d00fe9ffc3220b04ea078ddd11782c4de1f5b1b8f87bad38f1d3d5911a9501d5e6aae64e61b739033210000adf8ab8303e033830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b67719e4038a05ecbcfbf5b476a844ff9fc3493632c7b34b0a34f158074e05ce30894dbf6435fa03c1b082ec08b18152d8637c28e0502433275c80da92ea0f13d46bddfd73a866d0002cef902cb82122d830f424083034cb794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab410000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f94213d93382cb0000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0542eacdcf473594382b62ca76891bac661fe2fb542863c1ab1601b92a8f76687a06c53c5d365ce4913649d60630edc420317a09d72fecbc66d464187253b833f97000087f88582396d8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001baefc676938a01204510fc3374fa476947d318527fa4ca8c8e98ff19cca8cd8a1647046fc9076a05e60c41c52be6f333f8a368829f9db69581d0cf0e40eee603ee5553a5ae3a7ba00016cf9016901830f42408303286294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000c835a1d8196ef22f2ce001a99e569cbc60533a6600000000000000000000000000000000000000000000000000000000618ea99e000000000000000000000000000000000000000000000000000000004a25ef000000000000000000000000000000000000000000000000000000000049ee50fd000000000000000000000000000000000000000000000000000000000000000037a0c77cc859729b701f66fb7ac4234463854e8066433985441d0897ca5eab2eb83aa056268b24c354552f462c2042d8bf2910dda5f9d85f5f3ad6b3a553804430cdfb0000adf8ab83035205830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d3474837a0e5d680a83f3d9a4cbdbd26fa20d5ce851b2723dc94a8bddd5bd6a489cbf77f7aa077bec9ade3e987f861caf3e99d355c9da20e16963380eed0003eece9756ac4970002cef902cb82122e830f42408303f85494e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab4a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f951158d2d1366fc00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a02b2c9938c3df6d05a0eabe27ade0ac1658b469ffc4bb03076d94e316ee2aa4a9a060e89d0ebed25c1d9c1f8b2a83e6eae4d9f5df510c7b0cfe89e8d653845035db0000adf8ab83028f21830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92a1fec38a0a1b3b49007e107508222d9476a217f8cd02aa09ce2bd41d845e9ed079a324f16a07691c7aaa448104dd8fed73874608647a164274ad1a5136527d393dd244edec70000adf8ab83038e88830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d4ce7e37a093b31c6ed3bfc04017d59a58b1306e48fcb6c532943e6c03a688aecd302f5a36a0497b29f4febcf32500e9193ff246b908f121dfa79d35b2eb3f5271a66761013f0000adf8ab8302bbae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92a1fec38a0d10be53b5eca4f2b1831bb7adf2942b7ec74f01f5583cdffb0edc354c38883fea0548efa238cd861e3451c291b7980e82f2ba90a81c37654d1c413f23420f9d0020000adf8ab8303e034830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92bbc0838a0bbf6bb15cb0294c9f4b759bfa6cb8431ec16a2aa9e4c736a9fd6bcc178917cf4a00ec95e975db82125021ffb63709e3c8b31223a7d4ac936485ffc4de0c8fb4c490000adf8ab83041869830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8f7376437a01fc81a98a57c1144e6d0f0276dc65f14264d84ac8126ed76f021d23d5b0e94d3a05b8465ad06960714174491bf6e1ec43d176384afeedc3bffb45d602892c848670000adf8ab83034774830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d4ce7e38a02c3d626e6daf2f17c045202ccee7267d897a6291cff469b9517aa8360f9f6701a01bd974ed7f249c6a755230923462335d6ebf685184be40e2e44daa354b1c3a050000adf8ab830377b7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8fca30038a08765bc12e88799cfb3816f6a62194a12b351dfb698317335b0c0cf4545f66862a070e9e250fefb84e6c440a9a84f44560a516abd97f0de205864c3a4d97d1b13810000adf8ab83041b51830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c918eb8838a04088ce48e57d0ffa78d8985aacffffb524550a848f4ce75bd5a0b1ccdaee04eea04f5e5456ac3befef38e4d26fbecd639f5fd53eb1e49fefd28173b61644b342830000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0bd932fcaecd78deb73b3024713e44211aab06338fa64ad85111454a5a4e9b2f6a067196b768253fe4ce2f1fc90d26901249b73538862fefecde558c9d4e85b91d00000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a04ace8800c09e2803902bc81cbaa7775fb19eba7086501dcee7f8c38017f9eed1a045ce48b7edce33e71570aeb8573af313e9e93ef399a53f326380df3870d54d9c0002cef902cb82122f830f424083034cc994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab670000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f95fd8da835dc88000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0f758014703710ed418caaf5d82f16c371dfff515d504ad32d4ab60dc94cdcfaba038fd5645d9c4ebe550c206f3130f1450bf42b3d1ba8ac63236413c2354ecc15a000173f9017080830f42408303a5de94e592427a0aece92de3edee1f18e0157c058615648705543df729c000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000350a791bfc2c21f9ed5d10980dad2e2638ffa7f600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000b541f2efb7d58067f281871b1f9343d3a5c7e45800000000000000000000000000000000000000000000000000000000618ea99e0000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000002e44d08a4efa526000000000000000000000000000000000000000000000000000000000000000038a061f668aa2c2e55fa5238d270980f85e80e0c1d2633c40e66321b75ae85f5aef7a025b9fe3a0589c24af1eee64145d17349c5a3d5c82a6e5b7d10c0cba064fd85db0000adf8ab8302bbaf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7e4064d037a0ca3f5bea6b25788df3652d1ff672c15714f1bfdda3547aae85d4937da0b0def7a07e9d7dcd9eca002aa4d960b7b0d4efcb366890aeb46e46dce2b466456c7f10890000adf8ab83038e89830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b67cae42838a04affb7019e8ab9637da1dd2fe7b826267e5bb593809abd0795a382168c66b0a2a0670a3a4baab7f035e7f55ff71715daa8e06527149db652cb7162fcdbb5ec5fd40000adf8ab8304186a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b343ef71537a062451fc5e9099bad08b95fbf4e9e50c2e97fe881ee5a84da4e6fa9d26dc1741ea02a086ab9b0219569e06ccf8a681293c3dd028d2de998c2baa08095b2ce0186dd0000adf8ab83028f22830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b805bcac038a07bc3d34a47e98712bf06fe54de45f31b9456d141084d8e3f1f26250028afbbd6a07380aa2b8da1be114ac26f8acfeb883325e00e569fc82d228d38db88d0b0091e0000adf8ab8302cd96830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b67cae42838a03dedd98f72a086ba80dd61a6a67703aaabc6f29bd61532c125c0b37053d234cda034e242e3ec1f5e584ce2b0a78efddde24aec580107a7a16de07a5e931997009b0000adf8ab8303e035830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7ebc72a038a0d4e66f02e2edb429b0b386534bce2fbde540c609963139291204ceba9e33fe6ea068067dfaf2fbaf077606367084e37b777a799865b81e993b48860962ee0a4acc0000adf8ab8302a108830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7ebc72a037a0caca6bfa4318376dcf1fe3494f825dabe5eb03d82f39db1b86fbf6d739c4efeea018bfa61b8c640f90a3bab7023ff87924aa4948927333dd910320fa62d3755cb70000adf8ab83041b52830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b6d76c18037a062e43b940de4a6ad7b4d9e785cfe40046ba3c459012d65aeb1139ff6a914a7ffa03867d91cbb2768792717276485d3ae1d8d194ffc11d24e94acbc1e0507085ae30000adf8ab830377b8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7adffbc037a01c3cfa5989a8ed171940718cb4cfa47b05c969cfb5b8290f94b62035a8076cbfa079859022f469d038980b30714f92e2efc31e232028e867ec5c25821fec8e56dc0002cef902cb821230830f424083034ccb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab770000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f96e977cd1d5295800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0fb3b6c1f98634124abcc3de6f9dc8bd1be4cd0045db64e54147c2569d769339da01aabb4c64a4b40777a54ba3497290a92a575463cb3174a7312f905e8c97909100002cef902cb821231830f42408303681994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab7f0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f97d576dedea5fe000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a006b456eb47094922820d452b432933ce8bee45ca47877f3761ff68574e8521cca03a97727dd179037c997cb9ccbb0c5828ca6ce2012bdc8243d7082fd487eb88f10002cef902cb821232830f424083034cd394e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab810000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f98c18ae03da4e0400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0c3f1465f7c53fad7c0fe7329091e16b4028bf161b1ecbcd3c86142afe5fc186ba07962879efd3ca545d98187b9ff14665710010fd4f4921b2243e828f088d686e30000adf8ab83041b53830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038d0ad8038a02dc766c905802caeab7ca82e950bdcb80d65e7e3e2d1e04f6ecc0a50ffd846ffa0105e59bc0e8d75dd1b12322542549e945f13ca9ed01cdfb269339f8b004940330000adf8ab830377b9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038cbb02838a0ae7c1405680b377357ed0b89575d979e750b832dc0e8f561d6da81de519eee1aa01d6b4dfe95bcdd0c297fb22709af44fa26e38a5dc4f8ffac66d47ad0c3814afa0000adf8ab83038e8a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038bb045238a08f9d1fbde0b05c00d8ea0a19e5672ef0b1a468cd5a0fb252d56d8393cbed51daa045fa94e3ce6123595e80c8afd96d66ced36c578dccb2398cf3da427a440b03dd0000adf8ab8302cd97830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038c4574237a0421a0f63752bf3cef0a153f9e388d6d08e3dbd466ce39bbb7bd3ae9a845f9beda05f3b4b5d89160825c5ff8aa26bb680c1efd0609b97d450f389b2206ed21f44340000adf8ab83034775830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038bb045237a03a30a5519994bae66952a85c72123ff17b885fa415e0bb58e0498bdb1679e296a04089e7c5bf4dd04828c4493cad5372944e62c7ea325a0a86dcd28ac8b87c79cd0000adf8ab8304186b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038d09ce138a0c95077c12f9805e405ebe8d4a0798033cdbfbce19fe439341edd150916917ebca01886d4738e98a3d93e4cd703f167cdcd2bde4a2a58a2eb67f97beb00a21363450000adf8ab8303e036830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038c4574237a00aa5cef28c634a85fbf0ca3bb6f9fae750a41823b90eae060733bf9c08da5b94a0271e8a095a66e30498588374a5ecf95d3a92bd72b72c2be80a4435e277bbfcc90002cef902cb821233830f424083034cbb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab8d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f99adb3d3691a62000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0e360f7c09a34e4739da235379d2bc7012bf38a6c0e74fa8974fbac92df64b532a00bfa83ac9d2350c118ea60979b2f7a7cf99ee35c4d344062a5d55b081c4ca8b50000adf8ab83035206830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038cbb02838a0a2274d3121e8ab6b4dca37d4eaed91130fa39bd75560aadace0c85913aeea125a022efa3668e392f3f70cbf391998c1f25708d2c67454948ac2e023cd7a7726bdd0000adf8ab8302a109830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038ceb09b38a029f5f3d747d8605bc8b23a9fdb6fe23fdbf4326e66977c8c773da677b3445672a063c086d4c9b250c89f558ec6a8134db9e9d3d0e36072bb0f92a2c6f95d56ec87000087f88582396e8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000020f7b8fdc238a04c5424bd067136cb56a07dab90719925307a7b0e3e3289fb56b96ecbf4a8c5d6a04cb05f3a97ec9a0ffced7edc1892c5f2f4ecd2f0fe898a5afcc51596b7c1602a0000adf8ab83041b54830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c85228be8037a0e6f2f3fe61e9b3bf6df2483198e48803127c00ffd022067d53b1a1dd7aea615aa04d746bc0a27ed04e848ce2258e98b056c881e528b2723eecc43b3ad52ba37fd60000adf8ab8302bbb0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c71265488a38a0ff10bf5bb6c35a73d6ca0cca61940ecd9cb72f47956aab3c1b550f292fd122c8a00e939d4e852e627fec2a9e459e81c7c467e7acdb5d6690d8d131038c4fbe0e010000adf8ab8302cd98830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a037a0275c52d0ab43a23331d750b23a34e64e4dc90948237cdfa2e109693ccb13d8caa02b45a916a1541814a65bf2a00770f5c4e4d66f913f0d99fab417f1e97a28a07f0000adf8ab8304186c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005ca4b02b00038a0b4af9d886ea76bc7de1ff33ca2ba44bbff8118e5c58cf2d198f9dbdc887b5391a002455fba39e4cb5def9966db507943afa38ddc22099afa7ee909edc9e481e1df0000adf8ab83034776830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c71265488a38a0da46d61db07ec8fae08a8853ba973fa72a496412fcfe1688854bdd89bc3b4cb4a00e4753d4bf9aa25ab1a1c67281f13342a93b749887fda4d0f8ab7a0b2e3e52b10000adf8ab8302a10a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a037a092e08a942bda82269ea66d8932db8107e20560aa82e35eaed18206bc4ecfda13a037c6cec91c22e556dd32cb9851c43bf6959987aa1e658d48e20f0cedfe3c38840000adf8ab83028f23830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c7e293eb6537a0b0efccde542ff3e2739fc0e3cd6e2235e238ba73089fd6bc301e46bb666a8fc3a04a96ffc77c72b81570c28b48a5e3e8604933e8a405847c68090e003e10622c960000adf8ab83035207830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a038a0a9220771877e06cde01a9073180e220ced2cf16205138bd760d903ad36f99246a045fd4f39232d56bcee4a4601274b07fd2dd414990a24147843ca2e24d61f168a0000adf8ab83041b55830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c992a24838a0ecfcaaa80583dfa2eef7cd01abe353924ad8f88e59a1fff2d36a2c721ec1f105a046839dff0251904e88fc161f95745846ed9d562d1727da4824076a25a09d29550000adf8ab8302bbb1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c958308037a088ce38955d0da63b83d25d52c38e1ccec2faf5b44c51cd19a89111b27d058b19a017379596a44808b95473b18573dd834310895c1c611e8c0421181e05735013ee0000adf8ab83028f24830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c946919037a0580019d8f73b82b56b20487c31035c0d96cccaa2110ea85db63c1c96e948eb5da03b43595792813f6fec7c8738668bcef6296ccfd8e5ba019238a7a99af53dbfdd0000adf8ab83034777830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c971348238a04b1ddb87cc0d7dec9f1c9fd9345b14dc6619a16bc0d373b2c527f90e71838ea0a03ad8eb070f233765cbe51104e479cc6c25c94d45e33bc7daa8ce2a453f9622710000adf8ab8304186d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c915bbe437a02fc43b33bbc22a5577f9ed7107af2578483e04d5490d454a93de162785e0990fa07e1c82fe00851ce2b19ffa83ccd4f26f2db799a65a61ee1b20d29d29cb9dd7db0000adf8ab83038e8b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8fca30038a00212c21bb03a9429086bb23750f1ed9a06053dd5da2892fa9a6733ab1e6b852ca03dac55df7dc2d3ab90c1ed76a1303ce017b9ed3bdb9ce6d7e7618902c9dfce1a0000adf8ab8303e037830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c948965c38a0366030a566200084b1e24aba874f1677f2544ea00d6f19791b3746ea71eacd35a065479cf4bab7aac037fd506d6a1208084d3c4c51256860d38f27522cdfc589d00000adf8ab830377ba830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8fca30038a0adbcf2dbd46e94c30052287510ffbeec6e521f9cd246dfad662cc7df0b5cb70fa04b3edbb628bda429d02247e57d5a89964a9cbbb0173e60057039984937aead7f000087f88582396f8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d628bac3037a0a49ee7b87730c28c5205aa803390463a58d5d03b0c6342d2040cf1e93b8fb291a073ff73e97bd7ca6fb3f39098d896fa3039e13274a22bb33a71c0f51f8003eadc0000adf8ab83035208830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8d3474838a063bf31fa92bd50f5c90ef49e2776b6678345c9def7a89de7d66a569affc3cb79a01798258c9999988c663bbef876178460d24b58540e2a551e94d785ff783dc82f0000adf8ab8303e038830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c9292bc62037a0cead01642b3f8f84db84c810cd8095acca2c0386ea4f242b37ba5ed9b3676db1a017ad8abdf0b6dedaab24da6e666ffc217858e4fa444246f8571667f312ce4233000069f8670a830f4240830a6ca2948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a040fe236b7cd6f9f7f9867d335b98eb52600abfe1390884b88430784bfcde40dca025b969912420aa019b51fcb137255df25b7c460e5a9346e5ea8ba17729f2daa00000adf8ab830377bb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c8be4037a07632f6f676374e4aeddd0482be2712460fffd2fca2179edf44d0ca9efaab603fa0221d6b820e59155864313f3a621019d365ffc8d1ec584452d592720736869f450000adf8ab8302cd99830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8d18432e037a09e69c334ff0cce2bbbe006da6eeabc44dc0ee237534fa564250a62cff9681e1da057c16db9135b8180a66ad371b49e137f14d737c42ec327633e80959480a7879a0000adf8ab8303e039830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6037a077d4f8a6a9d2c037b52428bbf526ef1292d9036f70da46b91f0c331b3e4c0894a07c9a544bcbc7f1d3a03f90ad646f138f7167ae0008d196cfd16b4d44f98fb0da0000adf8ab8303e03a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6038a09ecaf7171f98487d1ef8accb8514c6a69fe35111c2582129bd48905b6f4c8971a05dc8e546f9b7d4a5a4ece7b5c4e575f60a3f16b2bd741619a7bfc483092bb51a0000adf8ab8304186e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d09ce138a091d172b119461e2f8563c09f5cca835a226d57601fa4ec66b9c596155622b0d7a07d49d0038471be270bb6e6af610f0491f1be2cf9a2c7c35a4b0206e6b935ae9b0000adf8ab83038e8c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0038a0beb5d0826b5caa8d5c3cdaa65d2613cd8ddeeededb3bb050e3e55b3143ddfe81a05e66a43724f4e27a17349f6c843090411e089304da46a6f7582542c6814d26bf0000adf8ab83034778830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f37a0581d573056fa73b1b2e1a3975ed08d149e72a8321befb9d59b62cb159128b751a07c0b4921f55b6806c43cfb47a7e8847cc69496a99a7ff5be1555a96713885da30000adf8ab8302a10b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6038a09f2a5a3655a739899b858d6460009d6289e79fbf30c4cdfeaaa589eaa322beb9a01fc496a5ca024474224ea9bfc85330073cd7a0111fa4996e0b492f9fb38641fb0000adf8ab83028f25830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c974a1c038a0aa265318341adf8e9e1c059216d149175ff92ccd9d06bf1bd6b6fecac420b8a9a003a807b03e5f72b27f8abdd7bd9ca0f46a446c95900ae6b89b33c1a1cfd740e20000adf8ab83028f26830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6538a03ef475728d559983fa9854e8f09c1f7c7763356509d246b52df53058934419a0a032f4042d72f3cb83bc8689adc1aec1f4f03c38ecac375bb05feef73890751c490000adf8ab8302bbb2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e997f28038a02f9cbf8094afde72fb5c2f808171f7c9403660f09aec43aae582fc5e034fe5fda0769c728e5d132bf25b0db37963422179b8ceda87ebeb3b1f8f5e1a7d4c008c420000adf8ab83034779830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f37a0f1e193521e2a94feb14723ac752ea32ef54eea263e2e61686d9d8e157ee29549a00a6007c9db7c7f6d2d08e8a224e9f968e50fba0bb3881f45c183b4f2431f66ae0000adf8ab83028f27830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6537a01c7f45ae704de709f580f0aa06d48f9412203973038dd8edd00855b02c760c36a07ad2494278642fa4c62858983d9fde25c21a78004cdef2c463f3879132d3c5210000adf8ab83035209830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c89a772e6038a04b5f19dab66cbb451b8387160f4a84388fdd708d9a328ffa7f09d513bec53b71a014cb4ab0155c65d53b9cc24199efd7fc71e65c49fcf4f217b8857a066090c1440000adf8ab8304186f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c91d5d0437a0cfdbe7d2d55e8f52227fd3dfdcc4c2f0029abc7bdbdfc3578c5ec0f7581fb81ea06538d68ffb4b148a9d9da21253b0a918b58a32253f9f5257054916a74144d6600000adf8ab8303e03b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b88d87db038a011db0179975a0e6daf4a978715c44e22473a9095cf9150c46ec4333d6846eea3a04b4670795012fb46db8dc24b08242cdd175b8c833465e5908398c5c12ece35350000adf8ab8303520a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c89a772e6037a0626cc56661a70300978b7d36bf7ac06bd861a0f17145fd8576b4cb65d4fd3f6fa05d1589b61eba6f1420f926fa2bcab4481e851b1fad61b64d880ab508b964d3990000adf8ab83028f28830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b92d6044038a08e75c895f174b6f3c0d34c68c3aa8612e9508bd6d3aa93266ba79c88b8c115bea02dee97cab75d5e5262e753f8bf56cb9cf6c934a31d1f43b52fc223623c65ccce0000adf8ab830377bc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0038a042bfc3ec0fd34e9f93ee4aced14d2922d8d409183c376c96ee9dd7175a644c6ea0154737648ce4b00bd34e421a3d2789d65905d756a8a1ccd596e686b230ab80f70000adf8ab83041870830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b4d610cc338a06345b37415f42059ea1fe5d030178263040371c9e60b32bac7e582dfc0ddf0b2a062621ec1500b52e47ac15168ec0f2291da61267094623abef762d239ecd1dd6f0000adf8ab8302cd9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0902a6920a460318da2346dc3f98e5084f14ad69a2aa5dd86653f3f80539478cfa04e754fbb0b565f209f0a52750e9222e8ad84d9eb63486135fe5ad86b3ca6e1d40000adf8ab8302cd9b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0f6cf1468337ab6ea80427ae5180ae044db63b773052bbe32294d00566e8338c7a00ae69ccbc25e6bd2178309b8070594328fec3bae717b3b0529616fe946a219350000adf8ab83041b56830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c85228be8038a00ff3015c2b747e5b4059d37988bef1dd0b53dcbb0b0216cbdef2b63dd13c858ba01e02b06fb38ccc97669135b24211ee68e609069b1039b2a5f65f539df0ef9f660000adf8ab83041b57830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c85228be8038a06afebed56dc2146b17b871a9877c40944d5339701936780c5f0b5cdf2e1e769da076fe6bd7687ed4ff3475e9505e53e4f295383a839202485989cdf59c14b916a80000adf8ab8302bbb3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8960997038a0e2e5f34d59fc6042bb208bd697fc8c714216c5c9e5375046f43f3ecb8ec9b5f1a009faa03d52089aeccd412621705993a52bf02a57850eda9b2c66bfba860ce1930000adf8ab83041b58830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c990f80137a0de31280adf0fa04db0027f0f40966b97078f1cc5d01b1af30e64a2372bffe967a053e3fded5cb6a15e8aaf4aa798b8bf279f9adfb7c6029ea8c72dc4e365d4ab020000adf8ab8302a10c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b88db8af037a0130c51b6ef6395274a7805ac8ee18579288905676607c1f09cbe4ed21c5c8564a015e2071fd43e0e2206d0c420a6728c02ebaf841c69bd2a93040d48a2e2cef3df0000adf8ab83038e8d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0f411fe71d73e89a4e3ed9435366a147f3afc396a68df2efc0b8d43d9b5703ddaa030297f2eff2508ba1ff39b0c59808bf6dc9e1fef2fe7d738bc3d38d6ce3be2b00000adf8ab83038e8e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21837a0b672fa36b7b5e65c982109e282ee8d1c927443ed897045810bcf745c2433fccba0311aeb9e2df5c27f3726107c8207c30f1da0bcf1a13f2b34ef5ca8d00f5b0ad10000adf8ab83041b59830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b98f9ac0037a00735d2932064c8976f8a1806366cf34f3054249517823b9edd5ffa0fe6485b73a03982b4ca3dd80eebf353bd93eff2d08d902c1b4575309f9f25b6e94f76c9a5620000adf8ab83041b5a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b98f9ac0037a009238b399da5ff1ed9420262d74d0d00782adf463ebb4c4edbdfa9b0c8511f68a0753145ba664cb16c6899eb2e95dd9c6b32aef165ecc7ad2365b88c43113ff76b0000adf8ab83041b5b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8037a08de28101e96761b0dddde0e8c454568416e4cd735cf4a9f8d060f8e340e6c86fa00fb48d7cabb463864093b4fabe7ca16114bdc54350c34c195c243f8cdd8363400000adf8ab8302cd9c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c90c6038a094365c20f2a856030cf278476526395352f82126a98e40ac51f76278ecfaefb4a07f15563187e33852b23ed3c6fdac230666a30f89dee036a34d3d2c319987aa940000adf8ab8302cd9d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c90c6038a0fce5ed9a084e13e2cb5e39859c75df1f4f8c450cee0ffbb1f204c0a8789f2782a07ad41e2e80030eed2d1daed00dafe9ecc39a75d4ffdc2c552ae99583c1dcf7ac0000adf8ab83041b5c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8038a094c4ab1668ee6363713f77415fa341424b749b84f0defe8d0aa8df23bcee99d0a0785ac1cc761b340d55511ffcde485b341c70d83cea91d75080d8904b60c1398f0000adf8ab8303e03c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c9952a38a0d99094179fc185a31a127d637762e64a0581af251fc88202ba2481d6deeddf0aa06f4c76a9f0459c86d453b71505ee7c0828ff9636d5b9ce5cd08f1212052abb900000adf8ab8303e03d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c9952a37a0986e59e6a171766ea32dc99d04288e4e755ab8b4c518bde7ea7be909f95e69bba0596bca8096aa83135122a3903a92fb688ccd85bbf236333fc6ba2ba4a99ff22e0000adf8ab8303477a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6537a0fe1c97e979320581e8c038d45fad8932d6023e3115bf085eafc1c3f37066cfe0a038389184d8d510beac8f2ae1d954ccdf5ea33b5ca42603d5c07bdb6ba22a10970000adf8ab830377bd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0037a00466d1b6a918153e3719c682518f56bf29ec599129a5f3e593e88ce90bb68291a04b56a61edb302497547681c74fc7d15d7bdba03bf49dd37b0272f400b435fda80000adf8ab83041b5d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c990f80137a02247e455dcde51390ea05180bbc463b8206bd9c80b5a1765e51a7aa73ae171bba06ea86b881547b207c9ad1e3dc1dd053c2cdd6736f7689323076f1b39b21407490000adf8ab83041871830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005ca4b02b00037a0e9926e0ff4966420130d77fcc64ecbd3b88a56f581ada9e18760e0b4a050dc00a04176e58d4104cd5c94558f4c21fa05dce361f0647d1631cafea47fec3ddd517c0000adf8ab83041872830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005ca4b02b00038a038018415cfa5d3b2c4f08e83cf5af6f649dac06c3790aa75630590c5d6ab1465a022e14e16d74ec8e7ea891e0804f83e280dcf15fe3994883a154b40efcc85db2e0000adf8ab8302bbb4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c97d351037a0a579e538bdc5b99f37f0be98ca498faaaf92ee074f805672d8d6bba1637ff50ea00c30b9c789f344815eb1b34b74e017a75994933bc9732d5386fb512d4e22e95e0000adf8ab83038e8f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8037a09d92c03580c07c5254725e1dc8349987a2a2f72206416b95c0a551a7ff23297ea0775550da1d73dd4cf23e9db3912fe56036f01b363057a70feee4b3f856ea1d1a0000adf8ab83038e90830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8038a0e8e14b2ac26fcc255a3d32dbb619aba989f67935137a1a2cbd0a3b5443f9d1aaa07b1cd2891886fb28b1224503acbcae2c6d618a5e39df3f07e8d3cb8879e35f630000adf8ab8303e03e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c97d351037a004f73873ab5bbe4825bdddc17d555a50f51c54366e14c06fb233eb3bf79607eea04ffbb08cc7ed43764a065ff5a63a049e379b012247287283b41a78ce6168aa130000adf8ab8303477b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c96ddff438a0cb51233ad2f56561e8b7faa3a8121b542cfb2ed659bce487fc7d6a179b14a1d9a0240b72cab8b53f4a06752b5bdbc30740550e28972b6a542993eadedcda65d9e80000adf8ab8303477c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c96ddff438a01d760f566a8711c22d6cc22f0aa8fd447e13e5c191bf2f267c14547ed3769eefa0541cfb787bec713d6bf6c0a20f102bb5a6927194c61ddb42b0824e4a5a736e1a0000adf8ab8303e03f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c976930438a09b9db8b47f05459e7b04e161865a630948198eb45184aac323314a2529650a31a0200b4775cc5e1ffa0fcf951512b7e4a4acf3507adab5bdd310b36226c7ad73cf0000adf8ab830377be830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8db5c2c037a06a7462e997235a86297c022441a4f435d16562b0488a1c9286b26d20afee33f3a048270040a436d11ba83874b12e46c85ad260b53037b612e2e080702d429f920b0000adf8ab830377bf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8db5c2c037a0800aeddd1ba1516735f34e9a7538860bd14f3353c83e72c36e10a59c8903d6e2a07b19ab8087a7613170a95814d2e1d357fa46f21198aa393fe2bff190d24ea31f0000adf8ab8303520b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f38a0236ed1c1a8cbdf5b18b26f9098990cdea8a783a1dfa37d7ba71d8a1095eb0a28a0127031ebf63eb9df3bb61c22910d2edf7a24834334255a36d341c326034521e10000adf8ab8303520c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c8d3474837a04b8ea94b1233bc46f503ad2eb8125565934e2afb5d66419743b63f033bd4559aa02ba3c6beef4d24ae5632fa987e5c07cab1e9dfd8c893d9335ad003a6a264b5340000adf8ab8302a10d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d46b5338a0d3b82f9da57e1d6667f398effc6f3d273b6560a06a9955c0873d50e3dc220f9ca0664146812b560e5a0f7499ecbd9aee4ba16c7b1eb667a9de648163dc0ea56ee00002cef902cb821234830f424083034cc994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabd30000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f9a99f1baff93e3c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a04624f791f23d9d27f0211ca51125202ea1193ae708458a0dba4c5e4a0fc5188da007a1202d771571e5cdfb0994f0c366b8df8d3f91e26c182bb85812eebf04f7b20000adf8ab8303520d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c8d3474837a03743d22da5f5f59200140aea49926a8df856fee7a696e66058e5cbe458bbffb3a048df8ca1cc99569b4d61579db78764fc0040251efc6da177c816fa271f5ef4d00002cef902cb821235830f424083034ce594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabd6000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000004af2f13419742422000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0b260a2f4ca5bc58879887c7655421b996ab45b710bbd3cbfc07802e167e9faeda001f886b3d70de8305b6e3ee8711cade02b09cfe4394645e7bd8e8b82678824ad0000adf8ab8303520e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d2566f37a061780274cec3c4377be38f7637ec56277c13a5136553903cd9674a2beeb589d5a05ccc9065cf0e285240babec0d1a5b93ad980517986649a914e35f76ea5db18910000adf8ab83041873830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d345b437a0ca70f44633b3e2b9777cb02510a2119fa5ad3b9844d343126110c602b5c52765a03e60b52b0f29ef220a3c4fd729d4c8e659fb3b8740e1838bc08862a3900159860000adf8ab8303e040830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d345b437a0e1345fcac1bda7b1bfa0d0bd0eba2f4c738ccaba06adc4be7067288ff7e88587a00eba362554e091040fa5d5b634ee5b6fdd944f610dbaa2280396e8e9c628e5480000adf8ab830377c0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038cbd54438a0b03a259cd231c8956da6465150a1be8d481c0c23395e0f635fbeb64a192f9f48a07fe3bf7566b350a432836342ad22ffeff3b35f201579bef703429f2eb2fcdcdd0000adf8ab83038e91830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d0ad8037a0ed6d6de70780ff3422693044fe55fe081dd70697fe953996020cd44c0a8d2e47a04688a309323de942a9e6f3c427b269b5769e4f84148405974c2f99d08b63cc280000adf8ab8302cd9e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038ce375d38a01820131efa20862bd1d95497194b3149aa3b8148b80ac1fef02699d1088b04e1a03b46a9e5b4b67306fe2e003579e337ffea74a41bb72bb8f4b83c47fb9ebca0990000adf8ab8303477d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d5009a38a09b7dba2287b3fbf8a3866d93bc9855f3a662ec0cc2d05832090815120c73e952a035d391f03ef59cd34775353715711e3ddb64721848aa2639f7122d101274ab830000adf8ab83041b5e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038c5ff2038a09ba7a1f3f2794ba119d56557bc75bf794f2869455b940c57a748b9426f3895bea00fb9a833ac67f9f9322d309442f7759c23e26dfdec3dddf4a077b90288bb58b1", - "should_start_at_element": 24261, - "total_elements_to_append": 136, - "contexts": [ - { - "num_sequenced_txs": 4, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739075, - "block_number": 13602687 - }, - { - "num_sequenced_txs": 32, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739186, - "block_number": 13602698 - }, - { - "num_sequenced_txs": 98, - "num_subsequent_queue_txs": 0, - "timestamp": 1636739277, - "block_number": 13602705 - } - ], - "txs": [ - "f902a908830f42408307585994e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104db3e219800000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea92f0000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000044373de14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000d987a25f26e6f13bb17dc0ac5d30d1eae9d091b0000000000000000000000000000000000000000000000000000000038a0d3a22596c789c5d1ea746e081c16390eb6f65b2916668574ec57743de9fdb81ea01f1e6b7c4caa75e21f33e173fa433c482334ad2e5703e890cafa97e51d97d64d", - "f902cb821229830f424083034ccf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab240000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f905d5e1fa8530c000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a050eab1d99a7f91ac3b2b4003bc0dd56b0e2df449cd229c80d378673cd902c1bfa00a41dfcb68da5b77fedc4027efd4896f010be258f3e801a03201df092dbfbbe5", - "f88582396b8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001eb0c04c3538a0717717ebc2788e65fad63240a6c93f26a116a8f10e2de1aef87a793e52b4144ba07ac8752fc9b6635a4f651ec444fe45454831a08467e1db0bd5fbd70428f650fb", - "f902cb82122a830f424083034cc594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab320000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f914e353783aecac00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0b44c1d787cbf076e1e263c6c175893ec61ca13aba2b2f2a9c3bdfa019c8be302a0424f442ae946cea66aa20bdaf3a746ad628003bfa48b73e811ec85d1fc404e26", - "f902cb82122b830f424083036bfb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab340000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f923f22265cd3a4c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a051d066a8ab23adfee4c11c313b65117c340b1c0d712bd09ba20e5f443ca51f19a037e45dd45bcceb66d18e2723cf59954eec5b4f5a6a5164ebf7fdae64c856a9ba", - "f88582396c8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000018dbad2bda38a0655d1ca35bece296c2272398e0153ac715bd129eb5a696fd5b1c4b756a9a4082a01f7756f7fd0dff2141223305187bbc7cd049827c4e12e3d09259c882ee2085d0", - "f902cb82122c830f424083034cbf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab3a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f933024eead0e3c400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a064d19e1e1c3fd0bd3e725704e56aedc881de6b5cd984e0d1d61cbc121339bed2a01f043a53d4e2bc279e6ae9fb1dc6506ea081a672164813806820751834d6ea0b", - "f86719830f4240830cc7a1944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0705790bc3b9325d92455a792f9a16754792025124794e16d00fe9ffc3220b04ea078ddd11782c4de1f5b1b8f87bad38f1d3d5911a9501d5e6aae64e61b73903321", - "f8ab8303e033830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b67719e4038a05ecbcfbf5b476a844ff9fc3493632c7b34b0a34f158074e05ce30894dbf6435fa03c1b082ec08b18152d8637c28e0502433275c80da92ea0f13d46bddfd73a866d", - "f902cb82122d830f424083034cb794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab410000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f94213d93382cb0000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0542eacdcf473594382b62ca76891bac661fe2fb542863c1ab1601b92a8f76687a06c53c5d365ce4913649d60630edc420317a09d72fecbc66d464187253b833f97", - "f88582396d8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001baefc676938a01204510fc3374fa476947d318527fa4ca8c8e98ff19cca8cd8a1647046fc9076a05e60c41c52be6f333f8a368829f9db69581d0cf0e40eee603ee5553a5ae3a7ba", - "f9016901830f42408303286294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000c835a1d8196ef22f2ce001a99e569cbc60533a6600000000000000000000000000000000000000000000000000000000618ea99e000000000000000000000000000000000000000000000000000000004a25ef000000000000000000000000000000000000000000000000000000000049ee50fd000000000000000000000000000000000000000000000000000000000000000037a0c77cc859729b701f66fb7ac4234463854e8066433985441d0897ca5eab2eb83aa056268b24c354552f462c2042d8bf2910dda5f9d85f5f3ad6b3a553804430cdfb", - "f8ab83035205830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d3474837a0e5d680a83f3d9a4cbdbd26fa20d5ce851b2723dc94a8bddd5bd6a489cbf77f7aa077bec9ade3e987f861caf3e99d355c9da20e16963380eed0003eece9756ac497", - "f902cb82122e830f42408303f85494e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab4a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f951158d2d1366fc00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a02b2c9938c3df6d05a0eabe27ade0ac1658b469ffc4bb03076d94e316ee2aa4a9a060e89d0ebed25c1d9c1f8b2a83e6eae4d9f5df510c7b0cfe89e8d653845035db", - "f8ab83028f21830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92a1fec38a0a1b3b49007e107508222d9476a217f8cd02aa09ce2bd41d845e9ed079a324f16a07691c7aaa448104dd8fed73874608647a164274ad1a5136527d393dd244edec7", - "f8ab83038e88830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d4ce7e37a093b31c6ed3bfc04017d59a58b1306e48fcb6c532943e6c03a688aecd302f5a36a0497b29f4febcf32500e9193ff246b908f121dfa79d35b2eb3f5271a66761013f", - "f8ab8302bbae830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92a1fec38a0d10be53b5eca4f2b1831bb7adf2942b7ec74f01f5583cdffb0edc354c38883fea0548efa238cd861e3451c291b7980e82f2ba90a81c37654d1c413f23420f9d002", - "f8ab8303e034830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c92bbc0838a0bbf6bb15cb0294c9f4b759bfa6cb8431ec16a2aa9e4c736a9fd6bcc178917cf4a00ec95e975db82125021ffb63709e3c8b31223a7d4ac936485ffc4de0c8fb4c49", - "f8ab83041869830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8f7376437a01fc81a98a57c1144e6d0f0276dc65f14264d84ac8126ed76f021d23d5b0e94d3a05b8465ad06960714174491bf6e1ec43d176384afeedc3bffb45d602892c84867", - "f8ab83034774830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8d4ce7e38a02c3d626e6daf2f17c045202ccee7267d897a6291cff469b9517aa8360f9f6701a01bd974ed7f249c6a755230923462335d6ebf685184be40e2e44daa354b1c3a05", - "f8ab830377b7830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c8fca30038a08765bc12e88799cfb3816f6a62194a12b351dfb698317335b0c0cf4545f66862a070e9e250fefb84e6c440a9a84f44560a516abd97f0de205864c3a4d97d1b1381", - "f8ab83041b51830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451000000000000000000000000000000000000000000000000000000000c918eb8838a04088ce48e57d0ffa78d8985aacffffb524550a848f4ce75bd5a0b1ccdaee04eea04f5e5456ac3befef38e4d26fbecd639f5fd53eb1e49fefd28173b61644b34283", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0bd932fcaecd78deb73b3024713e44211aab06338fa64ad85111454a5a4e9b2f6a067196b768253fe4ce2f1fc90d26901249b73538862fefecde558c9d4e85b91d0", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a04ace8800c09e2803902bc81cbaa7775fb19eba7086501dcee7f8c38017f9eed1a045ce48b7edce33e71570aeb8573af313e9e93ef399a53f326380df3870d54d9c", - "f902cb82122f830f424083034cc994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab670000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f95fd8da835dc88000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0f758014703710ed418caaf5d82f16c371dfff515d504ad32d4ab60dc94cdcfaba038fd5645d9c4ebe550c206f3130f1450bf42b3d1ba8ac63236413c2354ecc15a", - "f9017080830f42408303a5de94e592427a0aece92de3edee1f18e0157c058615648705543df729c000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000350a791bfc2c21f9ed5d10980dad2e2638ffa7f600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000b541f2efb7d58067f281871b1f9343d3a5c7e45800000000000000000000000000000000000000000000000000000000618ea99e0000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000002e44d08a4efa526000000000000000000000000000000000000000000000000000000000000000038a061f668aa2c2e55fa5238d270980f85e80e0c1d2633c40e66321b75ae85f5aef7a025b9fe3a0589c24af1eee64145d17349c5a3d5c82a6e5b7d10c0cba064fd85db", - "f8ab8302bbaf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7e4064d037a0ca3f5bea6b25788df3652d1ff672c15714f1bfdda3547aae85d4937da0b0def7a07e9d7dcd9eca002aa4d960b7b0d4efcb366890aeb46e46dce2b466456c7f1089", - "f8ab83038e89830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b67cae42838a04affb7019e8ab9637da1dd2fe7b826267e5bb593809abd0795a382168c66b0a2a0670a3a4baab7f035e7f55ff71715daa8e06527149db652cb7162fcdbb5ec5fd4", - "f8ab8304186a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b343ef71537a062451fc5e9099bad08b95fbf4e9e50c2e97fe881ee5a84da4e6fa9d26dc1741ea02a086ab9b0219569e06ccf8a681293c3dd028d2de998c2baa08095b2ce0186dd", - "f8ab83028f22830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b805bcac038a07bc3d34a47e98712bf06fe54de45f31b9456d141084d8e3f1f26250028afbbd6a07380aa2b8da1be114ac26f8acfeb883325e00e569fc82d228d38db88d0b0091e", - "f8ab8302cd96830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b67cae42838a03dedd98f72a086ba80dd61a6a67703aaabc6f29bd61532c125c0b37053d234cda034e242e3ec1f5e584ce2b0a78efddde24aec580107a7a16de07a5e931997009b", - "f8ab8303e035830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7ebc72a038a0d4e66f02e2edb429b0b386534bce2fbde540c609963139291204ceba9e33fe6ea068067dfaf2fbaf077606367084e37b777a799865b81e993b48860962ee0a4acc", - "f8ab8302a108830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7ebc72a037a0caca6bfa4318376dcf1fe3494f825dabe5eb03d82f39db1b86fbf6d739c4efeea018bfa61b8c640f90a3bab7023ff87924aa4948927333dd910320fa62d3755cb7", - "f8ab83041b52830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b6d76c18037a062e43b940de4a6ad7b4d9e785cfe40046ba3c459012d65aeb1139ff6a914a7ffa03867d91cbb2768792717276485d3ae1d8d194ffc11d24e94acbc1e0507085ae3", - "f8ab830377b8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1980000000000000000000000000000000000000000000000000000006b7adffbc037a01c3cfa5989a8ed171940718cb4cfa47b05c969cfb5b8290f94b62035a8076cbfa079859022f469d038980b30714f92e2efc31e232028e867ec5c25821fec8e56dc", - "f902cb821230830f424083034ccb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab770000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f96e977cd1d5295800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0fb3b6c1f98634124abcc3de6f9dc8bd1be4cd0045db64e54147c2569d769339da01aabb4c64a4b40777a54ba3497290a92a575463cb3174a7312f905e8c9790910", - "f902cb821231830f42408303681994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab7f0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f97d576dedea5fe000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a006b456eb47094922820d452b432933ce8bee45ca47877f3761ff68574e8521cca03a97727dd179037c997cb9ccbb0c5828ca6ce2012bdc8243d7082fd487eb88f1", - "f902cb821232830f424083034cd394e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab810000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f98c18ae03da4e0400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0c3f1465f7c53fad7c0fe7329091e16b4028bf161b1ecbcd3c86142afe5fc186ba07962879efd3ca545d98187b9ff14665710010fd4f4921b2243e828f088d686e3", - "f8ab83041b53830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038d0ad8038a02dc766c905802caeab7ca82e950bdcb80d65e7e3e2d1e04f6ecc0a50ffd846ffa0105e59bc0e8d75dd1b12322542549e945f13ca9ed01cdfb269339f8b00494033", - "f8ab830377b9830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038cbb02838a0ae7c1405680b377357ed0b89575d979e750b832dc0e8f561d6da81de519eee1aa01d6b4dfe95bcdd0c297fb22709af44fa26e38a5dc4f8ffac66d47ad0c3814afa", - "f8ab83038e8a830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038bb045238a08f9d1fbde0b05c00d8ea0a19e5672ef0b1a468cd5a0fb252d56d8393cbed51daa045fa94e3ce6123595e80c8afd96d66ced36c578dccb2398cf3da427a440b03dd", - "f8ab8302cd97830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038c4574237a0421a0f63752bf3cef0a153f9e388d6d08e3dbd466ce39bbb7bd3ae9a845f9beda05f3b4b5d89160825c5ff8aa26bb680c1efd0609b97d450f389b2206ed21f4434", - "f8ab83034775830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038bb045237a03a30a5519994bae66952a85c72123ff17b885fa415e0bb58e0498bdb1679e296a04089e7c5bf4dd04828c4493cad5372944e62c7ea325a0a86dcd28ac8b87c79cd", - "f8ab8304186b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038d09ce138a0c95077c12f9805e405ebe8d4a0798033cdbfbce19fe439341edd150916917ebca01886d4738e98a3d93e4cd703f167cdcd2bde4a2a58a2eb67f97beb00a2136345", - "f8ab8303e036830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038c4574237a00aa5cef28c634a85fbf0ca3bb6f9fae750a41823b90eae060733bf9c08da5b94a0271e8a095a66e30498588374a5ecf95d3a92bd72b72c2be80a4435e277bbfcc9", - "f902cb821233830f424083034cbb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eab8d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f99adb3d3691a62000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0e360f7c09a34e4739da235379d2bc7012bf38a6c0e74fa8974fbac92df64b532a00bfa83ac9d2350c118ea60979b2f7a7cf99ee35c4d344062a5d55b081c4ca8b5", - "f8ab83035206830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038cbb02838a0a2274d3121e8ab6b4dca37d4eaed91130fa39bd75560aadace0c85913aeea125a022efa3668e392f3f70cbf391998c1f25708d2c67454948ac2e023cd7a7726bdd", - "f8ab8302a109830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a70000000000000000000000000000000000000000000000000000000038ceb09b38a029f5f3d747d8605bc8b23a9fdb6fe23fdbf4326e66977c8c773da677b3445672a063c086d4c9b250c89f558ec6a8134db9e9d3d0e36072bb0f92a2c6f95d56ec87", - "f88582396e8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000020f7b8fdc238a04c5424bd067136cb56a07dab90719925307a7b0e3e3289fb56b96ecbf4a8c5d6a04cb05f3a97ec9a0ffced7edc1892c5f2f4ecd2f0fe898a5afcc51596b7c1602a", - "f8ab83041b54830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c85228be8037a0e6f2f3fe61e9b3bf6df2483198e48803127c00ffd022067d53b1a1dd7aea615aa04d746bc0a27ed04e848ce2258e98b056c881e528b2723eecc43b3ad52ba37fd6", - "f8ab8302bbb0830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c71265488a38a0ff10bf5bb6c35a73d6ca0cca61940ecd9cb72f47956aab3c1b550f292fd122c8a00e939d4e852e627fec2a9e459e81c7c467e7acdb5d6690d8d131038c4fbe0e01", - "f8ab8302cd98830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a037a0275c52d0ab43a23331d750b23a34e64e4dc90948237cdfa2e109693ccb13d8caa02b45a916a1541814a65bf2a00770f5c4e4d66f913f0d99fab417f1e97a28a07f", - "f8ab8304186c830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005ca4b02b00038a0b4af9d886ea76bc7de1ff33ca2ba44bbff8118e5c58cf2d198f9dbdc887b5391a002455fba39e4cb5def9966db507943afa38ddc22099afa7ee909edc9e481e1df", - "f8ab83034776830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c71265488a38a0da46d61db07ec8fae08a8853ba973fa72a496412fcfe1688854bdd89bc3b4cb4a00e4753d4bf9aa25ab1a1c67281f13342a93b749887fda4d0f8ab7a0b2e3e52b1", - "f8ab8302a10a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a037a092e08a942bda82269ea66d8932db8107e20560aa82e35eaed18206bc4ecfda13a037c6cec91c22e556dd32cb9851c43bf6959987aa1e658d48e20f0cedfe3c3884", - "f8ab83028f23830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c7e293eb6537a0b0efccde542ff3e2739fc0e3cd6e2235e238ba73089fd6bc301e46bb666a8fc3a04a96ffc77c72b81570c28b48a5e3e8604933e8a405847c68090e003e10622c96", - "f8ab83035207830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c81871a8a038a0a9220771877e06cde01a9073180e220ced2cf16205138bd760d903ad36f99246a045fd4f39232d56bcee4a4601274b07fd2dd414990a24147843ca2e24d61f168a", - "f8ab83041b55830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c992a24838a0ecfcaaa80583dfa2eef7cd01abe353924ad8f88e59a1fff2d36a2c721ec1f105a046839dff0251904e88fc161f95745846ed9d562d1727da4824076a25a09d2955", - "f8ab8302bbb1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c958308037a088ce38955d0da63b83d25d52c38e1ccec2faf5b44c51cd19a89111b27d058b19a017379596a44808b95473b18573dd834310895c1c611e8c0421181e05735013ee", - "f8ab83028f24830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c946919037a0580019d8f73b82b56b20487c31035c0d96cccaa2110ea85db63c1c96e948eb5da03b43595792813f6fec7c8738668bcef6296ccfd8e5ba019238a7a99af53dbfdd", - "f8ab83034777830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c971348238a04b1ddb87cc0d7dec9f1c9fd9345b14dc6619a16bc0d373b2c527f90e71838ea0a03ad8eb070f233765cbe51104e479cc6c25c94d45e33bc7daa8ce2a453f962271", - "f8ab8304186d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c915bbe437a02fc43b33bbc22a5577f9ed7107af2578483e04d5490d454a93de162785e0990fa07e1c82fe00851ce2b19ffa83ccd4f26f2db799a65a61ee1b20d29d29cb9dd7db", - "f8ab83038e8b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8fca30038a00212c21bb03a9429086bb23750f1ed9a06053dd5da2892fa9a6733ab1e6b852ca03dac55df7dc2d3ab90c1ed76a1303ce017b9ed3bdb9ce6d7e7618902c9dfce1a", - "f8ab8303e037830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c948965c38a0366030a566200084b1e24aba874f1677f2544ea00d6f19791b3746ea71eacd35a065479cf4bab7aac037fd506d6a1208084d3c4c51256860d38f27522cdfc589d0", - "f8ab830377ba830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8fca30038a0adbcf2dbd46e94c30052287510ffbeec6e521f9cd246dfad662cc7df0b5cb70fa04b3edbb628bda429d02247e57d5a89964a9cbbb0173e60057039984937aead7f", - "f88582396f8082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001d628bac3037a0a49ee7b87730c28c5205aa803390463a58d5d03b0c6342d2040cf1e93b8fb291a073ff73e97bd7ca6fb3f39098d896fa3039e13274a22bb33a71c0f51f8003eadc", - "f8ab83035208830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451100000000000000000000000000000000000000000000000000000000c8d3474838a063bf31fa92bd50f5c90ef49e2776b6678345c9def7a89de7d66a569affc3cb79a01798258c9999988c663bbef876178460d24b58540e2a551e94d785ff783dc82f", - "f8ab8303e038830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848c000000000000000000000000000000000000000000000000000005c9292bc62037a0cead01642b3f8f84db84c810cd8095acca2c0386ea4f242b37ba5ed9b3676db1a017ad8abdf0b6dedaab24da6e666ffc217858e4fa444246f8571667f312ce4233", - "f8670a830f4240830a6ca2948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a040fe236b7cd6f9f7f9867d335b98eb52600abfe1390884b88430784bfcde40dca025b969912420aa019b51fcb137255df25b7c460e5a9346e5ea8ba17729f2daa0", - "f8ab830377bb830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c8be4037a07632f6f676374e4aeddd0482be2712460fffd2fca2179edf44d0ca9efaab603fa0221d6b820e59155864313f3a621019d365ffc8d1ec584452d592720736869f45", - "f8ab8302cd99830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8d18432e037a09e69c334ff0cce2bbbe006da6eeabc44dc0ee237534fa564250a62cff9681e1da057c16db9135b8180a66ad371b49e137f14d737c42ec327633e80959480a7879a", - "f8ab8303e039830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6037a077d4f8a6a9d2c037b52428bbf526ef1292d9036f70da46b91f0c331b3e4c0894a07c9a544bcbc7f1d3a03f90ad646f138f7167ae0008d196cfd16b4d44f98fb0da", - "f8ab8303e03a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6038a09ecaf7171f98487d1ef8accb8514c6a69fe35111c2582129bd48905b6f4c8971a05dc8e546f9b7d4a5a4ece7b5c4e575f60a3f16b2bd741619a7bfc483092bb51a", - "f8ab8304186e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d09ce138a091d172b119461e2f8563c09f5cca835a226d57601fa4ec66b9c596155622b0d7a07d49d0038471be270bb6e6af610f0491f1be2cf9a2c7c35a4b0206e6b935ae9b", - "f8ab83038e8c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0038a0beb5d0826b5caa8d5c3cdaa65d2613cd8ddeeededb3bb050e3e55b3143ddfe81a05e66a43724f4e27a17349f6c843090411e089304da46a6f7582542c6814d26bf", - "f8ab83034778830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f37a0581d573056fa73b1b2e1a3975ed08d149e72a8321befb9d59b62cb159128b751a07c0b4921f55b6806c43cfb47a7e8847cc69496a99a7ff5be1555a96713885da3", - "f8ab8302a10b830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c8c5cf5f6038a09f2a5a3655a739899b858d6460009d6289e79fbf30c4cdfeaaa589eaa322beb9a01fc496a5ca024474224ea9bfc85330073cd7a0111fa4996e0b492f9fb38641fb", - "f8ab83028f25830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c974a1c038a0aa265318341adf8e9e1c059216d149175ff92ccd9d06bf1bd6b6fecac420b8a9a003a807b03e5f72b27f8abdd7bd9ca0f46a446c95900ae6b89b33c1a1cfd740e2", - "f8ab83028f26830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6538a03ef475728d559983fa9854e8f09c1f7c7763356509d246b52df53058934419a0a032f4042d72f3cb83bc8689adc1aec1f4f03c38ecac375bb05feef73890751c49", - "f8ab8302bbb2830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e997f28038a02f9cbf8094afde72fb5c2f808171f7c9403660f09aec43aae582fc5e034fe5fda0769c728e5d132bf25b0db37963422179b8ceda87ebeb3b1f8f5e1a7d4c008c42", - "f8ab83034779830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f37a0f1e193521e2a94feb14723ac752ea32ef54eea263e2e61686d9d8e157ee29549a00a6007c9db7c7f6d2d08e8a224e9f968e50fba0bb3881f45c183b4f2431f66ae", - "f8ab83028f27830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6537a01c7f45ae704de709f580f0aa06d48f9412203973038dd8edd00855b02c760c36a07ad2494278642fa4c62858983d9fde25c21a78004cdef2c463f3879132d3c521", - "f8ab83035209830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c89a772e6038a04b5f19dab66cbb451b8387160f4a84388fdd708d9a328ffa7f09d513bec53b71a014cb4ab0155c65d53b9cc24199efd7fc71e65c49fcf4f217b8857a066090c144", - "f8ab8304186f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c91d5d0437a0cfdbe7d2d55e8f52227fd3dfdcc4c2f0029abc7bdbdfc3578c5ec0f7581fb81ea06538d68ffb4b148a9d9da21253b0a918b58a32253f9f5257054916a74144d660", - "f8ab8303e03b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b88d87db038a011db0179975a0e6daf4a978715c44e22473a9095cf9150c46ec4333d6846eea3a04b4670795012fb46db8dc24b08242cdd175b8c833465e5908398c5c12ece3535", - "f8ab8303520a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c89a772e6037a0626cc56661a70300978b7d36bf7ac06bd861a0f17145fd8576b4cb65d4fd3f6fa05d1589b61eba6f1420f926fa2bcab4481e851b1fad61b64d880ab508b964d399", - "f8ab83028f28830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b92d6044038a08e75c895f174b6f3c0d34c68c3aa8612e9508bd6d3aa93266ba79c88b8c115bea02dee97cab75d5e5262e753f8bf56cb9cf6c934a31d1f43b52fc223623c65ccce", - "f8ab830377bc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0038a042bfc3ec0fd34e9f93ee4aced14d2922d8d409183c376c96ee9dd7175a644c6ea0154737648ce4b00bd34e421a3d2789d65905d756a8a1ccd596e686b230ab80f7", - "f8ab83041870830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b4d610cc338a06345b37415f42059ea1fe5d030178263040371c9e60b32bac7e582dfc0ddf0b2a062621ec1500b52e47ac15168ec0f2291da61267094623abef762d239ecd1dd6f", - "f8ab8302cd9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0902a6920a460318da2346dc3f98e5084f14ad69a2aa5dd86653f3f80539478cfa04e754fbb0b565f209f0a52750e9222e8ad84d9eb63486135fe5ad86b3ca6e1d4", - "f8ab8302cd9b830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0f6cf1468337ab6ea80427ae5180ae044db63b773052bbe32294d00566e8338c7a00ae69ccbc25e6bd2178309b8070594328fec3bae717b3b0529616fe946a21935", - "f8ab83041b56830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c85228be8038a00ff3015c2b747e5b4059d37988bef1dd0b53dcbb0b0216cbdef2b63dd13c858ba01e02b06fb38ccc97669135b24211ee68e609069b1039b2a5f65f539df0ef9f66", - "f8ab83041b57830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c85228be8038a06afebed56dc2146b17b871a9877c40944d5339701936780c5f0b5cdf2e1e769da076fe6bd7687ed4ff3475e9505e53e4f295383a839202485989cdf59c14b916a8", - "f8ab8302bbb3830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8960997038a0e2e5f34d59fc6042bb208bd697fc8c714216c5c9e5375046f43f3ecb8ec9b5f1a009faa03d52089aeccd412621705993a52bf02a57850eda9b2c66bfba860ce193", - "f8ab83041b58830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c990f80137a0de31280adf0fa04db0027f0f40966b97078f1cc5d01b1af30e64a2372bffe967a053e3fded5cb6a15e8aaf4aa798b8bf279f9adfb7c6029ea8c72dc4e365d4ab02", - "f8ab8302a10c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b88db8af037a0130c51b6ef6395274a7805ac8ee18579288905676607c1f09cbe4ed21c5c8564a015e2071fd43e0e2206d0c420a6728c02ebaf841c69bd2a93040d48a2e2cef3df", - "f8ab83038e8d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21838a0f411fe71d73e89a4e3ed9435366a147f3afc396a68df2efc0b8d43d9b5703ddaa030297f2eff2508ba1ff39b0c59808bf6dc9e1fef2fe7d738bc3d38d6ce3be2b0", - "f8ab83038e8e830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b7999f21837a0b672fa36b7b5e65c982109e282ee8d1c927443ed897045810bcf745c2433fccba0311aeb9e2df5c27f3726107c8207c30f1da0bcf1a13f2b34ef5ca8d00f5b0ad1", - "f8ab83041b59830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b98f9ac0037a00735d2932064c8976f8a1806366cf34f3054249517823b9edd5ffa0fe6485b73a03982b4ca3dd80eebf353bd93eff2d08d902c1b4575309f9f25b6e94f76c9a562", - "f8ab83041b5a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b98f9ac0037a009238b399da5ff1ed9420262d74d0d00782adf463ebb4c4edbdfa9b0c8511f68a0753145ba664cb16c6899eb2e95dd9c6b32aef165ecc7ad2365b88c43113ff76b", - "f8ab83041b5b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8037a08de28101e96761b0dddde0e8c454568416e4cd735cf4a9f8d060f8e340e6c86fa00fb48d7cabb463864093b4fabe7ca16114bdc54350c34c195c243f8cdd836340", - "f8ab8302cd9c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c90c6038a094365c20f2a856030cf278476526395352f82126a98e40ac51f76278ecfaefb4a07f15563187e33852b23ed3c6fdac230666a30f89dee036a34d3d2c319987aa94", - "f8ab8302cd9d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c90c6038a0fce5ed9a084e13e2cb5e39859c75df1f4f8c450cee0ffbb1f204c0a8789f2782a07ad41e2e80030eed2d1daed00dafe9ecc39a75d4ffdc2c552ae99583c1dcf7ac", - "f8ab83041b5c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8038a094c4ab1668ee6363713f77415fa341424b749b84f0defe8d0aa8df23bcee99d0a0785ac1cc761b340d55511ffcde485b341c70d83cea91d75080d8904b60c1398f", - "f8ab8303e03c830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c9952a38a0d99094179fc185a31a127d637762e64a0581af251fc88202ba2481d6deeddf0aa06f4c76a9f0459c86d453b71505ee7c0828ff9636d5b9ce5cd08f1212052abb90", - "f8ab8303e03d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038c9952a37a0986e59e6a171766ea32dc99d04288e4e755ab8b4c518bde7ea7be909f95e69bba0596bca8096aa83135122a3903a92fb688ccd85bbf236333fc6ba2ba4a99ff22e", - "f8ab8303477a830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005c7e293eb6537a0fe1c97e979320581e8c038d45fad8932d6023e3115bf085eafc1c3f37066cfe0a038389184d8d510beac8f2ae1d954ccdf5ea33b5ca42603d5c07bdb6ba22a1097", - "f8ab830377bd830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c939ac0037a00466d1b6a918153e3719c682518f56bf29ec599129a5f3e593e88ce90bb68291a04b56a61edb302497547681c74fc7d15d7bdba03bf49dd37b0272f400b435fda8", - "f8ab83041b5d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c990f80137a02247e455dcde51390ea05180bbc463b8206bd9c80b5a1765e51a7aa73ae171bba06ea86b881547b207c9ad1e3dc1dd053c2cdd6736f7689323076f1b39b2140749", - "f8ab83041871830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005ca4b02b00037a0e9926e0ff4966420130d77fcc64ecbd3b88a56f581ada9e18760e0b4a050dc00a04176e58d4104cd5c94558f4c21fa05dce361f0647d1631cafea47fec3ddd517c", - "f8ab83041872830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848d000000000000000000000000000000000000000000000000000005ca4b02b00038a038018415cfa5d3b2c4f08e83cf5af6f649dac06c3790aa75630590c5d6ab1465a022e14e16d74ec8e7ea891e0804f83e280dcf15fe3994883a154b40efcc85db2e", - "f8ab8302bbb4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c97d351037a0a579e538bdc5b99f37f0be98ca498faaaf92ee074f805672d8d6bba1637ff50ea00c30b9c789f344815eb1b34b74e017a75994933bc9732d5386fb512d4e22e95e", - "f8ab83038e8f830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8037a09d92c03580c07c5254725e1dc8349987a2a2f72206416b95c0a551a7ff23297ea0775550da1d73dd4cf23e9db3912fe56036f01b363057a70feee4b3f856ea1d1a", - "f8ab83038e90830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d0ad8038a0e8e14b2ac26fcc255a3d32dbb619aba989f67935137a1a2cbd0a3b5443f9d1aaa07b1cd2891886fb28b1224503acbcae2c6d618a5e39df3f07e8d3cb8879e35f63", - "f8ab8303e03e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c97d351037a004f73873ab5bbe4825bdddc17d555a50f51c54366e14c06fb233eb3bf79607eea04ffbb08cc7ed43764a065ff5a63a049e379b012247287283b41a78ce6168aa13", - "f8ab8303477b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c96ddff438a0cb51233ad2f56561e8b7faa3a8121b542cfb2ed659bce487fc7d6a179b14a1d9a0240b72cab8b53f4a06752b5bdbc30740550e28972b6a542993eadedcda65d9e8", - "f8ab8303477c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c96ddff438a01d760f566a8711c22d6cc22f0aa8fd447e13e5c191bf2f267c14547ed3769eefa0541cfb787bec713d6bf6c0a20f102bb5a6927194c61ddb42b0824e4a5a736e1a", - "f8ab8303e03f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c976930438a09b9db8b47f05459e7b04e161865a630948198eb45184aac323314a2529650a31a0200b4775cc5e1ffa0fcf951512b7e4a4acf3507adab5bdd310b36226c7ad73cf", - "f8ab830377be830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8db5c2c037a06a7462e997235a86297c022441a4f435d16562b0488a1c9286b26d20afee33f3a048270040a436d11ba83874b12e46c85ad260b53037b612e2e080702d429f920b", - "f8ab830377bf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1990000000000000000000000000000000000000000000000000000006b8db5c2c037a0800aeddd1ba1516735f34e9a7538860bd14f3353c83e72c36e10a59c8903d6e2a07b19ab8087a7613170a95814d2e1d357fa46f21198aa393fe2bff190d24ea31f", - "f8ab8303520b830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d2566f38a0236ed1c1a8cbdf5b18b26f9098990cdea8a783a1dfa37d7ba71d8a1095eb0a28a0127031ebf63eb9df3bb61c22910d2edf7a24834334255a36d341c326034521e1", - "f8ab8303520c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c8d3474837a04b8ea94b1233bc46f503ad2eb8125565934e2afb5d66419743b63f033bd4559aa02ba3c6beef4d24ae5632fa987e5c07cab1e9dfd8c893d9335ad003a6a264b534", - "f8ab8302a10d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a80000000000000000000000000000000000000000000000000000000038d46b5338a0d3b82f9da57e1d6667f398effc6f3d273b6560a06a9955c0873d50e3dc220f9ca0664146812b560e5a0f7499ecbd9aee4ba16c7b1eb667a9de648163dc0ea56ee0", - "f902cb821234830f424083034cc994e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabd30000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f9a99f1baff93e3c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a04624f791f23d9d27f0211ca51125202ea1193ae708458a0dba4c5e4a0fc5188da007a1202d771571e5cdfb0994f0c366b8df8d3f91e26c182bb85812eebf04f7b2", - "f8ab8303520d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451200000000000000000000000000000000000000000000000000000000c8d3474837a03743d22da5f5f59200140aea49926a8df856fee7a696e66058e5cbe458bbffb3a048df8ca1cc99569b4d61579db78764fc0040251efc6da177c816fa271f5ef4d0", - "f902cb821235830f424083034ce594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabd6000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000004af2f13419742422000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0b260a2f4ca5bc58879887c7655421b996ab45b710bbd3cbfc07802e167e9faeda001f886b3d70de8305b6e3ee8711cade02b09cfe4394645e7bd8e8b82678824ad", - "f8ab8303520e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d2566f37a061780274cec3c4377be38f7637ec56277c13a5136553903cd9674a2beeb589d5a05ccc9065cf0e285240babec0d1a5b93ad980517986649a914e35f76ea5db1891", - "f8ab83041873830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d345b437a0ca70f44633b3e2b9777cb02510a2119fa5ad3b9844d343126110c602b5c52765a03e60b52b0f29ef220a3c4fd729d4c8e659fb3b8740e1838bc08862a390015986", - "f8ab8303e040830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d345b437a0e1345fcac1bda7b1bfa0d0bd0eba2f4c738ccaba06adc4be7067288ff7e88587a00eba362554e091040fa5d5b634ee5b6fdd944f610dbaa2280396e8e9c628e548", - "f8ab830377c0830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038cbd54438a0b03a259cd231c8956da6465150a1be8d481c0c23395e0f635fbeb64a192f9f48a07fe3bf7566b350a432836342ad22ffeff3b35f201579bef703429f2eb2fcdcdd", - "f8ab83038e91830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d0ad8037a0ed6d6de70780ff3422693044fe55fe081dd70697fe953996020cd44c0a8d2e47a04688a309323de942a9e6f3c427b269b5769e4f84148405974c2f99d08b63cc28", - "f8ab8302cd9e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038ce375d38a01820131efa20862bd1d95497194b3149aa3b8148b80ac1fef02699d1088b04e1a03b46a9e5b4b67306fe2e003579e337ffea74a41bb72bb8f4b83c47fb9ebca099", - "f8ab8303477d830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038d5009a38a09b7dba2287b3fbf8a3866d93bc9855f3a662ec0cc2d05832090815120c73e952a035d391f03ef59cd34775353715711e3ddb64721848aa2639f7122d101274ab83", - "f8ab83041b5e830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a90000000000000000000000000000000000000000000000000000000038c5ff2038a09ba7a1f3f2794ba119d56557bc75bf794f2869455b940c57a748b9426f3895bea00fb9a833ac67f9f9322d309442f7759c23e26dfdec3dddf4a077b90288bb58b1" - ], - "error": false - }, - { - "name": "0xef6157961c59dfde154e728a3f582e84d1a2a9f991ac1aeba30ae57d8824c54d", - "hex_encoding": "0000005fb500008200000600000000000100618eaa770000cf8fb000003000000100618eaa770000cf8fb000002e00000100618eaac70000cf8fb500001400000100618eaaf90000cf8fb900000a00000100618eab080000cf8fbe00000100000000618eab230000cf8fc10000adf8ab83035213830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152aa0000000000000000000000000000000000000000000000000000000038e84e4638a0a985ef761f60007c4bb0ac5c9bd45e6481aba5ed09686c0ce87d0df8e723ca09a018e8fa370eeeb54c5155d2c51119ea6f133aada784d07097478cfb866c74c3850001b4f901b180830f42408305801494e592427a0aece92de3edee1f18e0157c0586156488022a0a254224741fb90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaabc000000000000000000000000000000000000000000000000022a0a254224741f000000000000000000000000000000000000000000000026e6fd0bda727d9865000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000038a0949c72ca8b73c790b88fa7ac8d5a139522ee8defb9a4c559a5f33bed60ce17f5a06c2663e82cdf4dc4646417ab82ea4c3c2beb73df96b61cbf26862c8cd3f2ef9b000087f8858239758082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001beb82b01537a0921e1727a4add5f020eebadce17c4f86a39172a447fcd7c8e165f23e3ec4d371a063ea3ca6835a33c035c2fa74026a75009373d01194bf3ea53cb782231e976f5e00010bf9010822830f4240830e6b57948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607342544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1bddc3ddfebb735553440000000000000000000000000000000000000000000000000000000000000000000000000000000003c8060e6e38097ea6abb22242f7e2280485c4384b57454e5441000000000000000000000000000000000000000000000000000038a0cb70ce68400587b3ff46116478c0d7311b737cfb9db733c4d2160ade5e06a79ca059365a0bcbfc55afc6ed5bc949c048e6e330ee40af469bc7b094669fd86cb3ae0002acf902a905830f42408304e4cc94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000006fd9d7ad17242c41f7131d257212c54a0e81669100000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaabc000000000000000000000000000000000000000000000001ca62db6857149f94000000000000000000000000000000000000000000000000026ce68f6191d6b5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000026ce68f6191d6b5000000000000000000000000bf603ca8f34276a83d49713d826c63a6bf2621df0000000000000000000000000000000000000000000000000000000037a06e2c3a93d1adbf3a3c4a784285a97215811aea33d716b4c81cf7203652a96e1ea07a3e4bf015a40d147db53da507d853c64e6edc6d7b7f8a83d7766d383c80e3e10000adf8ab83028f2f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca9173d037a0ab64ff6795439d97676c27882c61a63120486fa9d9c1b09da187b8c60f049686a01a190d714b5ffe81cf6196d3590a1823a1d66435b4193d533009f8c3c189c6410000adf8ab83038e97830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000c9e56af037a02c373767bcddef110bb56e153312e5633cd2e21c802faac93cac6e1c38db40c2a02fe7d278f544a5e6ac7242fb2980a1e57c1bc90e342f576b91bae34e5738c1690000adf8ab8302bbbb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000caa7bbe237a00bfc8743882c89b374ebaf3eaa2a8c36fbe464f6c868e9c9bdcd573ea5da53dba05e3cd351c9eda454d5391d9544dfa44f60d7452ec98a9207f5ded0b54291f9150000adf8ab8304187b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca07715b37a05cb81f6d42b02219c0385edb6300f40e63ef6f6062b781e6b7d17e312560ee6da002225a2228ad434cd9a4d88f659f6d064b2091e17424f65a7db3d8acda8455b30000adf8ab83034783830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca11ebf537a0492339c7f9b6088dac9b33004e3401eef039eb007d4f75b5339697c569b37910a03fc357a4db5a560c1cbb8ae0965d5d06b780376cf67573a480e236c58172c00d0000adf8ab8303e047830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca8d7fb438a0e64f33358ef08f06fce2be95e337240cb7fc6d54a976e2488a4d77bc6d8677e5a0599eb80c2c2b95d8a471af2fbaedec05878ada464f50b82b83013dd6effeb9b7000087f8858239768082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000220bccc0c638a0edc50bc441dc5e5e9e65d6160cff0a809a105b9cf3bdda1982bae35f5803bc30a02f3e3712df890dbe5bfb491c088e9c9e96d3e57d6b9914a280672e0db4bc0b1a0000adf8ab83041b66830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca5cd3eb38a0b67f432f6dc8ae1cf5071d2bbea37e6d5547bdbc5c3b8c557142a52b0ee1c4f7a041df8dbb3aa3e6da70a183baf9849f135e3adc5a39d92f90f1b011d1e84529610000adf8ab830377c6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca3d124037a060f293a10b1dd938f7907f8f6b401eb2cf351ebed1b06a9ba6fe70edbd4110f9a07d33c31bbe606f46c71f5704a48123305c66e51f7f51f46a9b31287cc189f3fe0000adf8ab8302a113830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152aa0000000000000000000000000000000000000000000000000000000038f56e0838a02abe126768e8bbaccd3f38d2c1a942d1008f8a899ac13eab4804cb841ad96ca5a027b33b817fb50e82d84d5940a38e613470aa72aa00aaa448713a5618ee9271640002cef902cb821243830f424083036c0394e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead570000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb2e1d61d2fe0c6000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0ff6d2cc6e9baea99f8a5c31be88b1bc37f0c35bd8690d4e7d9928be4b8385df3a06a08bdc489ff838b98030fa24d20a478cce3bdda16b0a9270713653b0355a1c10000adf8ab83035214830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000c9487c3738a058ba34183f49ce05d830138b793d53ec29ceeb15ec7dcc6ff1c13e4af8e90b22a017182688cde104db4ddd7aa4852fd7b68e8e95d6a66966708e807129fe7940cb0000a9f8a701830f424082cfa994da10009cbd5d07dd0cecc66161fc93d7c9000da180b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0fb5e16b09b88fbe51cc1e05eba6922786922715df780450e2b13191b973385e9a01bf4a95815ae8bd048342d227c61d5362cdae810ff21fe47965957f3a291604b0000adf8ab8303e048830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848f000000000000000000000000000000000000000000000000000005cf386c70c037a0b143894e6fee02eaeda5cc48cd362eb021ba2194faf42893ae15bbae828075a1a04d480b036af8fc9319ac0838fc0a7e69fe72a8cad18dd8a3c487c07c0eededcf0002cef902cb821244830f424083034cdf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead600000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb3c9055c640e37400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a095ce378708620ac97ac109326e94386e29e7d64c3a26ffe8bea10f39eb0f6ecca07e92390df7b1181b12fff7641aaed56cde6c73ca40c1fb6d04a2400dc2750f1a0002cef902cb821245830f424083034cdf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead650000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb4b0488ee15e7cc00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a02ee5ce9373d7661038f0972024c621c88049f98294acecd4db5ba96936ac934da03300323c992b04f18af3adcc5f9fb832254edb8fdc2e5503c457045918987b0f0002ecf902e902830f42408306c1bf94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaba3000000000000000000000000000000000000000000000026f0f28c1f04866cc6000000000000000000000000000000000000000000000000022c8e63fafb57440000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000022c8e63fafb57440000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a0164ad7a66574e9e0c1882068ee54604add114d69e83eb2a2d3f99b6876ee88d3a0228010703a06262d29a11bcd45110bc655421704269bebcf8537d8617692263a0000adf8ab83028f30830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c46f613c037a0b1c5e82e8ce73dea450f1a0caba36b7c37f44fc90fa00d84d15c9928d3aa3127a0698fc8e82c06f61f412e6e5660da0ee3abaf6895a6fc72d6fda60a2de76e575d0000adf8ab8302cda4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bf701a16738a0beefae18bc4125eebd47517b3398951929ff85d5a57bb16414c9e44980c37c67a066d60bba675165dc2d0ee2396e23e6d7bf5290fd4d4a76a4d02e973cf86108720000adf8ab8304187c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006becca3a9b37a0e1782f2bf159eff28b4ae86d36609ff5f985e45dc1e5a7f3a106d9cee7585c91a07970bd41bfef0411d8d2bf0d0e346239034cd74547356cd06b6bd17022e00f670000adf8ab83041b67830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c31c8ed6a37a0d94284f97d63a624bd93c5516b5844a7fe65b09e054583b341cbf4d115543fbfa07bc2b0ed7dcd3b60ed0a71a94863c550c4d4e418da0cea45acddd1bb59da82870000adf8ab83038e98830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bb084e4c037a0bca03963596e96217b0d14e0f0b24d5ca2a1c0d53e67ef6fba73f5345cc241c0a023954e024c3681602d34a79ee71a9c1a6b6a520c49727cacb07fab077322fc330000adf8ab8302bbbc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c31c8ed6a38a0aee8f946c85ff0774d311648675499e8994dd28acafa0fe70805a851170ef202a01e7a690df3845470db6d65d35291c3b8042075a02e539f629c0ae7d00a2b48650000adf8ab8302a114830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c3da9188038a082b240d183b7ee592747249cb94d400c0bdbeeb830c39fd31c98217bfaad3675a043af1b6e43753a4d069a08e1c83f3258b664e8749e80aa76321b6ba3811350ca00010bf9010814830f4240830f9a13948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ee4d34dd7f4dd6000073455448000000000000000000000000000000000000000000000000000000000000000000000000000000009f07a0233abc178428aa9a18baef3188f093a7d04b57454e5441000000000000000000000000000000000000000000000000000038a09027b725cac9db6852698747b101eb10998b140bb321fcc74e347a8353bcb9f3a045dc847514a36e6af94a3e94f5333ee72261da78727a9845e0501aed5cc0ca640000adf8ab830377c7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bedbbab8038a05038b87409d37fc3dba608199299cae8ddd952e0d2cba8fa8875efce51790ad7a027de4c5b7adde627502763f661a22d378d3157b8c51e36e88d734a1a69b2e6a30001b3f901b009830f42408308993b94e592427a0aece92de3edee1f18e0157c0586156487b1a2bc2ec50000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe900000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000c676a3b2a5b63e98400000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a0960392fbf281da701bea335ce83c21746e55c1b8865dfee49224257d6f015309a017053df96aa597a41bfeb4550cf987f0d95af95c951ca5018974261998fcf4a00001b4f901b103830f424083057b5394e592427a0aece92de3edee1f18e0157c0586156488018eed31d41284b8b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaba3000000000000000000000000000000000000000000000000018eed31d41284b800000000000000000000000000000000000000000000001c0189107623db7c6b000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0db85f3f8293c1e09408d9d311f88a1a884b8ed0a5b88d0a232869476557c2365a01621da1e46b360583395fc3feb593eb6f82877e35402d75638e58c8f60e596510000adf8ab83038e99830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bedbbab8037a0549efabd23c8b195512feb244f448349a39f11bf49f66f362b2551f15a7c004aa07108e7e7af5a7ac1d58e49272ef7beaebfa05e7cd2547d521215a0907fd5ad030000adf8ab8302cda5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bf701a16737a03108874a8e1cc45b754d4a9d808ac582e27044b3c01123216c7bb9a3676d6821a022df8d556e430532a0fbcc9b01f496644c35b90c4e0ff3d371ffb6fba193ed240000adf8ab8303e049830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c358003d038a08ef4e2e8fe15936115ac955135748a5c4f9a66c04f85a5a65ea499ba971280faa0320feae39e1c676d6b0d85703cd1caa05565e83babc573d0f3636422b4b59dbd0000adf8ab8304187d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006becca3a9b37a0cbfe5cb77f05b3a7739c6a6dcf5c1b377bf8a248536f2006e8a436738bd95860a06814037fae72ff8fffcf6ed04393a65dac42dc2e34bc7e025e3a4a81b85a554b0000adf8ab83041b68830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c31c8ed6a38a0f11805858500069cd49eeea78c9ac40edd19731f4e0b71c28017ff524d9b5139a03acf8be25c38be58ef598c689982e101dd35b298cb3aa25e3c3ecda5b6656e8a0000adf8ab83028f31830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c4ca4855d38a0656969e8ec1035f6c8d070c4c1e17bbead988caa80aa26c0b0a4d86ca14bee0ea0684b5a73cca6755c79e70a882c5e27b6b4c375a4e2e1c40f4e42948ee9e63d520002cef902cb821246830f424083034ced94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead7e0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb58c16f7ac3af2800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a06c2d034d72290669c8754178d8f8370e0d6e8b87843e70dc79cda944b842cf05a04164c0ba8e1c8375c76dbf4ca90aa896bbfc749cc63923f96117470a85f091bb0000adf8ab8302a115830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c3394878038a060d84a0a9eed89fcb3da78cfabeadd5bc0aeec0a4f8b714893faf79662c22992a027114b23df9161484862e4d1d31ec0c4664d54dd84fbfc7d9ef80b89562dd9d30001aef901ab82031b830f424083064d7c94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009aa1df3db80d7a8168fcdcac79d3e9663dc09e4a00000000000000000000000000000000000000000000000000000000618eb1480000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000594200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f47f5c764cbc14f9669b88837ca1490cca17c31607000bb842000000000000000000000000000000000000060000000000000038a0fab006fe9e30627eb8bad7b37cbfce3d0af2cdb6e72386b81965a0f8f1565aa8a023215f207467d01406458895933232f0997254064854fcc54bd54593dd3d6fe30000adf8ab8302bbbd830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c3394878038a0c6f6b74f85a5b482b33ebc5d38b535fcfd31a314223004f15ae5a47c256270eda00589cc3c792038b832ed461e4f96d87ec7baee0e35d455c900111c1338b1a5700000adf8ab830377c8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bedbbab8038a0868b769413db4b2ed42620adaadd1a48072bbced1d7084ca173f9a4cacd423f5a0671d8c638128fcd9415233e62b54ac81ee4fc8b80314ce101813eb190c2b761900006bf86948830f4240825208949c3e706f3653858727ee125592db91700f25931d872386f26fc100008038a0ba3254c388b655040e794a8ca1222f965b6d2531ce3a2b5c4f95535785eeed86a03af8b4cdb93571d76665b060291212d5624c8dd76733d7c0eb576d3bc660d2dc0002ecf902e904830f42408305cbf294e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000001c08b477224a4b10c5000000000000000000000000000000000000000000000000018f86c1f45fd2d50000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000018f86c1f45fd2d50000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a0928834baf2dc72d0f116352cfda85d51d091db3f285ce045ddb0c53d3b898cd0a04793ade03ee60f56743c187498d321275bcfd7ea776e1bf1a0e8afa1eaf2826e0002cef902cb821247830f424083034cbd94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead870000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb6738118c4de86800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0552b2edb3c6ea66e2a3836263de77d9b585e8bb458969a51b035fac700b5d6bda0344adcccb92ce626e42aaee5cfd624bf0aac9242a05932cdd3a6c498f9049b700001aef901ab82031c830f424083064d7c94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009aa1df3db80d7a8168fcdcac79d3e9663dc09e4a00000000000000000000000000000000000000000000000000000000618eb1510000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000594200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f47f5c764cbc14f9669b88837ca1490cca17c31607000bb842000000000000000000000000000000000000060000000000000037a035319e444d4b258884f1982de33438c049797ea6807cee543d165688290c6619a059cdd942598947522e706aab9025bcf2293ef2bd914389a52e8dae9ab5db687d000069f8670e830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a09e81b7bdbe975e0aadcce4a0e2057f2dced9c9fee8fd4dd25e733417c439623ca06f3ea0bb2ac3b5799b90369ef3a44d447d60efa10ff2b00c1a9cb5efc942e51e000087f8858239778082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000027b0ed27a837a0d0681e2d6573fab5e562d340520e7be7da6b79ce185834eae624b5455127fddba00f58322cdcccb4b4bd3f1c891a3cb5e6e4a75337fc79977614462e59067b598e0000adf8ab8302a116830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d0ca28a32c38a0cf7609206d2d2ed1bc72fd1b236cdbeca9c87bea7e139a307ff028c20c593989a02002bbc01d251b42a32592855ffd81009da3987866012f08776b75b652a9d19b0000adf8ab83028f32830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce3a6bc7a838a03ac10037275f7efc08f931923e4440caa095fbec5e699646d96dafd08978070ca0459685e4f08ed0532c034c84da0acf4255c1c9dba43ea076c89c62821242d4da0000adf8ab83035215830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d15293782037a00acedc318eb355c66256d05090b96240dac893f786973b70930093cc19e07569a06e133b4bc05dfc440a349b5bf9fc1a3804672045778bf208d3a15e743627a9370000adf8ab8302cda6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce6a03410037a0da407954cef083c51e47fd5bc71dea89eb0c13ea034f13be18965df2e4e15587a04b1429eca7f994b353d3563680c46ae847f9a0cbef9d0c1dde91ffe2980986d00000adf8ab8304187e830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d1f869ff8037a085de110a3111796b3716ee77a12a0b6a70bea7ba93d74dacb9e2d051c892a7e3a02b5f500d9a720b57e195ce665242a48d1261bc4dc97e90d6691b0e8f5d36f7060000adf8ab83034784830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce3a6bc7a838a0596e9645207b757b0b51535c670822ccf0cf69437e0dc7673a4a396a07b93894a00af599fefb0c4585fb3218a0413cf88b73a4827165ce0d21159e75a1b10ed3fa0000adf8ab83041b69830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005cf1283d9c037a05947057b2c11b54d944ecd929a1c1f89d622523c5b3712bdb89967d92d7c553aa0584fb411417ba58105256eac3e3e5ce249a9675677ebed933946bb91eb80ce2800006bf86949830f424082520894cc1d92f21052a70aacd63ad9f4d10bd319971511872386f26fc100008037a006f65a4bda6b242cff5243ecc03c70da30994298193cae1885a6731915814560a0392f3feb30932c02549075e56c5c77eec01805196ab4820f06a1b6ae521a18130000adf8ab8302bbbe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d0ca28a32c37a0b7eeaad7301ddd5c8ac456f758406f0a04a80e5ecdb29b4d46c80cd53d915fe5a07dce9a5028d82da81fe6273903d56ed5b94d942acc5f4e74253fff5698e494b40000aaf8a80a830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b300000000000000000000000069b4b35504a8c1d6179fef7addcdb37a8c663bc9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0befd275185028b0e7c27f65228a5b88a46ac186390b59cf728ac1e3f0794ef31a016a6a56f0bc8ae3940557a2f3ce4f10d0730cd4749119369ce0ae6b52d34a32400010cf9010981ad830f4240830f5da7948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d63100000734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000037a034af24630d9a13c2c8bbb2e947d52c59716bb1d429ee1d7c69bf0e4791bad9f1a02852544546980372972ac7aae64b202d3e686284e17c77143a0d97555482a8ec000174f9017105830f42408303764b94e592427a0aece92de3edee1f18e0157c058615648801ee8ed09e89585cb90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000000001ee8ed09e89585c000000000000000000000000000000000000000000000022b891c7b5c5f2e52e000000000000000000000000000000000000000000000000000000000000000038a0ba56d9b0ff25674d4ddd4fb566581a18a5a86ab5a695e5cd6d548a7ba11b9ceba02e2f6bb8e5ee0fb1d42ffcece4527c41e782310c103c89d54a703c748f93f16500006bf8694a830f424082520894300613a8e11068c8ce1b830ac0645b682417a48f872386f26fc100008038a024d5fa0ab5f6c553454f0fbd38cde54e6b0255e84a0b8306373df460f154f179a020f52bfd7c112cc259385df7072dfe3ba2bdf8110b8955079a08b9608d79f93c00010bf9010822830f4240830f9a25948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad78ebc5ac6200000734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000005ea073c5f546e0012f8840224266718404e48ee54b57454e5441000000000000000000000000000000000000000000000000000038a040bc5d1496d6fde9567d7cb304b838123d7c33a7066219ae203706ece6b5919da0387b70bfb23e445ab3d04ad19fe91b34e8ddb4a10b2bb1029919c73c9dc6669f0000adf8ab8302cda7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c33e11aa938a08446d7951c338d4a7932362890a864a32a1ccf8501b315421ab9738d976fb0b0a001aa34a4236231fcc2dd6764637e1389b0f6d49bd84ed18348d1a5dc481f5e080000adf8ab83038e9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006bedbbab8037a02e28dfe2e37bfc34e3fd80cb81eec06f6a9637b5959eee5b82776a1653118334a015f51e7b11f6ad0c3728ce2209a97598ee0e3e03078a403131fb451a361206e90000adf8ab83028f33830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3e424b4038a0eb7c0efe5ff516fc80ba53cd192e33faed97c5ab77afaf3e24e11243019241c0a00333b29ed67ed184bbbb7bb9c5ea4487e226240a46345360afe9d4d48b9033920000adf8ab8302bbbf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a0d8eab958329b825da2c818d18a8a5c44696b4d9edd859c0e82e69940cf77d39aa02e49c6f8b66f6f44b13c5d86af3e6248b68701d9bfe0701e6f88bc0856ceb0560000adf8ab8304187f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c33e11aa938a0aa7c0d3b7f147312e19f3d5f210b3cdf0be9d09c9ca0073dab1228238160aa4ca02f3ab453b5b016a38e35997ada1e60732d58f0114542363f07927c735b83beb20000adf8ab8303e04a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a008ec4784bc7d8f9cab09312010f13cb2271738181e1f9623139f53a9a82e4de7a06217dbc03e56d47387ec954d87a9b4ed1f7bb4d288c84187730f3837c0dcd3510000adf8ab83041b6a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3fde480038a0886311855f0620e21ff5252ea0076112087c69783e436e430715783c127769d8a0059f27aaf30630f4cf2a67061721d688231fffce2fffc726fd02aa3e037bb57700010cf9010981ae830f4240830f5d9b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d6310000073455448000000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000037a0d5a14b63c7166e43b95e9d80d6b90a7531fd15f91b9aef52d6c802004b299deda006461aac240d91faef87ea06882f4af2984da60aa5533e9b4bdd36037263a8120000adf8ab8302a117830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a0e86d0bba4dd546ee03f4c2658b9a39e69627ba9a5a74297f5a9b1a540ffffdcfa03038050c6d2f0f24f811f4d8bbdc3adc4cb5ad593f33e1beb4b3c8747ac20b200000adf8ab830377c9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006bedbbab8037a0654aa632aaab9ff3792e1beca256f7300623ac2aef09865bf0c1086323647d19a060744b68dffdd755e44f0df91c62ca83e44b867e978476341e7a0f17731ed8d000006bf8694b830f424082520894088d6bc1811e3dea01c2a97a58d5db466728adf9872386f26fc100008038a0b77f59acd99f4f748ebe130606ee9f3d50554fc2ff4e5f022db03bff40e4ff2ea03e687c93c084511ba5de6d4325b45dff90d1bb405a4f878d0b66ebbe54f2b5180002ecf902e906830f42408306c1ce94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabf3000000000000000000000000000000000000000000000022c17540ff6d50940100000000000000000000000000000000000000000000000001edd7f8082a22300000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000001edd7f8082a22300000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a02dc532ce471b8109a9eeb26c3251f698450b3459ab7c84e4d67e85437de1190aa03c70672b7b8b1e62646d48ce0696e1ec42918e9a72e58608512ae017f16c63f800006bf8694c830f42408252089430329a7ce530939b673bc52476e691b60d40253c872386f26fc100008038a033644afb48cc875c2cc382b2017a8c15d1bfc30d227764d30e399988dbbaa375a02629676fd3e7885a21c3cda1c8a664334d86dba0ceae657e4380e06c7f213e3400010cf9010981af830f4240830f4d33948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d6310000073425443000000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000038a03cae954abc8dc2e80a9e2644793b870e7d2fdb73a4a677886cedb19f83823228a0442531d7086f41fb9a7d22668adf5d3773c9fdf94e3f5fb0560dca4b49dc79080000a9f8a780830f424082c867947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b30000000000000000000000007a512d3609211e719737e82c7bb7271ec05da70dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a039e4d1921d874b6e361fb5f6422c1271fcf164bb65703063bc98909a2446a2a7a00aaf5f7023ac1f5112d817cb05e2a1f9d6cdbf56510946405241a47a5a5787b5000172f9016f1f830f42408303749294e592427a0aece92de3edee1f18e0157c05861564865af3107a4000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000002c5f9400823db2b62ad09cd36fa4faeeb880435b00000000000000000000000000000000000000000000000000000000618eabf300000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000662965fc8c63995000000000000000000000000000000000000000000000000000000000000000037a0e1a05f28d841a890190668ec323d3ecbd5367cb3ccd1cc13abf635140051852ba0770a0656bd757512e93afa94553b9a99c4a369bbd9cdb74b0b6f2155740a739d00006bf8694d830f4240825208941140cdaafb2551fa77a922ea08b6308b297906fe872386f26fc100008038a06b8f8ac5d9609a737a1ac32921877206657d9ea68460bb2f3ae8fcff768a59c4a03d0ffb9da400a502e1b44fc7dae02567f322fc4793f557271f44289a1ef3d4a10000adf8ab83041b6b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000cacc5ae938a02d7ca9b59b22e7eac908f6b8de767dad526402eb4850925677c1df21f7e1bf51a025c6f2da15375f4c87d4d439d261806dcb97aea91aacee885c3541775879111a0000adf8ab83028f34830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000caab534037a0e2707f2a0a36f9e4b4e9d493d51b2ec513c6009f7d6534c42138ccb95d40168ea053c5861c3c9ef708cecf3d166d04d996b05b25f45ad983d2d77a7bfc6336dc200000adf8ab83034785830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca78217138a0a5a8c43e68bcae61fa0839489fae7f8725f57b9fe02f473c481b114c44340c90a070e44de765dfc005a6c47eb0d9ac37ad9860ff6e5f7c3f0e648c24649156967f0000adf8ab8303e04b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000caae5cfc37a0a844ae2c3eb5b7aff15e833e1e4d1f37fee1977c68c25a3319ac1b179fb78392a0133db3dfe38ee5658edfa3357c4e733366731d25ae1b49767b433e79f610a92b0000adf8ab83041880830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca7207e737a0ba3e13875fd5adaf431496695703790014ca93cacf6a0328f040bcf5f62623d9a01d1268c1a91bc620d519beb9589119d99599add54f46f7537c43056831f09ee10000adf8ab83038e9b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca3d124037a0e62f4ae5bd896df41916755710ed993bf914b8b8f3840f5119736333eb1412f0a07eadfeccfc1f463efd88ae5d663758f817dfe3ebe40b16bc6a9f862e9cf31e8d0000adf8ab8302bbc0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000cae4eb0038a01bc2d8f1edd844baced121c1f1779bfce6e7154e902efb8f39066b21d1847840a065733ec71be07c646f896373b68c44fe2c444416a3d4991013f9973834e4ea4b00012df9012a82391c830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a00000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f0350000000000000000000000000000000000000000000000000000000007fffa25ff4dcafe1d0d26afc8ff0bd124c5a5d6ae38785dd7fa382c70251bc12f89972f00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000007e8133a000000000000000000000000000000000000000000000000000000006197e4d938a0f2eb07ae55b3fd42c449514b8ae83533adf11a254d8f89befa04a8b7ecdc9e3ea079b90e022286959e69002e7a303983a6a9f038c9cb1de670c15faa3012590321000069f8673f830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a04021ad93efbe5640c268c594fa3fe205fd6061e1bcd9bf0913ac072cff32e1b4a0558dc6d616f31321b3d8bb74d092f974260802b02080351739da1a92ae16bcec0000adf8ab830377ca830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca3d124037a0d780569a64e7f1f9be8f179bf87efd95909c249d921bba9708a851f45508c47fa022c831571b1e9de72897f4a13355675c975513addaf08d7e24d07e162edc78650000adf8ab83035216830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca1da94e37a0e10cc6d89c9ae17be8f245b2ce2a298c10ef284a05a07e054c41273c4dcc9aaea05ae3cdc05ff229c19bf2777ee64bd8fa61e2132b1eb2c2363adc8ccdf70f389d00006bf8694e830f424082520894ba7bb2db2a3cb433b90089964d7ae32dbfb808a1872386f26fc100008037a044500afe0d9f62a122d0e63b147c160a01408842dab38ccf27b318d9e82d4f74a07add15186b6c9afd10937ce6d1a5f5d40321dd3e697a1616d0c55422d6ac67b300010bf9010823830f4240830e9e13948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005179aa2cc3f2d0b173555344000000000000000000000000000000000000000000000000000000000000000000000000000000005ea073c5f546e0012f8840224266718404e48ee54b57454e5441000000000000000000000000000000000000000000000000000038a08c7de16ac9de99372e71914f510d2a7e9bd0de8808b1c18968959a3cfe2265baa05910d708509cf7e24c25a6bc7cfc2c89c6bc711d69a5f0c83ad5696efcfa793100006bf8694f830f42408252089419e60a2c561a350884eb9990f57f28a181580664872386f26fc100008038a04e229cbd796c7482bada1b524edfb67a2e00cf4f87e9e5471f6983576ec07a0ca019c0eec3278cca2c8858bcc9e04010e5a5b28f2daece4d9417d6f01b95bb3034000069f86740830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a02630a98987843642efa7ce63f7aca7edbb9dfaf3f33260115adeca430e9907a7a025a8feae472e312f2a4fb916c63d1798271558989cea6f5eb3783bafa5a7d7ad0000aaf8a80b830f42408306c3399469b4b35504a8c1d6179fef7addcdb37a8c663bc980b84447e7ef24000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe90000000000000000000000000000000000000000000000056bc75e2d6310000038a066e1729008c41d89e4799f23a004248bdd017dd15d8a9b753fcddde1b112998ca068061e9991b04c99a39bceea58cc97f49bc6adfc0b4c4f35c36ec292e11e4d740001acf901a94d830f42408306adbf94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000de31773811273d94deac36d7858fc145e08b492c00000000000000000000000000000000000000000000000000000000618eabf300000000000000000000000000000000000000000000000000000001982ce9480000000000000000000000000000000000000000000000000000000000a400f000000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb84200000000000000000000000000000000000006000bb868f180fcce6836688e9084f035309e29bf0a209500000000000000000000000000000000000000000000000000000000000038a04217a1fb0504da3a6950ff498bdbb5764a4979512a8d2504f375204e839b589da075ca12a3f37005d666c70a37d7172b5db29fb8e34803b31917b6f4672e5bf71e000174f901712c830f42408303a9a094e592427a0aece92de3edee1f18e0157c05861564888ac7230489e80000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000003f4db615bd9042a21e64e5ff37591d3f44cb351a00000000000000000000000000000000000000000000000000000000618eac250000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000009bca2c6ee862c08c6c8000000000000000000000000000000000000000000000000000000000000000037a05b388644902dc5f4640b0c286f44e1754229cf5ceb21d3bb6d932fd9a576e5c0a06bfcce03655dd48122f6b4f3975172cd55e2d82f872a91a8c48c210fbe226be40002cef902cb821248830f424083034cd794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eadfb000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000004b4c852d086f32cc800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0b5af0de122e415f92c9f786adfbdb12693b42f8b2fb44685dde595530766a8ada062d11bc0e3beaa05f8904a540c021219675875789824604f03a3ce3ca06f88990000aaf8a80c830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000788843de0be1598155bffaab7cfa2ecbd542e7f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a025a8b7532f6be54db1e5807d81d19ab5e501e72cfb2721f2b525eb8e89aa5487a032f7e9fbf912d9ebfdd19c422d6c9c7b46b9be32cc5c36b689983874c92f6b1700010bf9010801830f42408303ecac947a512d3609211e719737e82c7bb7271ec05da70d80b8a41b33d41200000000000000000000000000000000000000000000000000000000003c45b00000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c316070000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000004200000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000037a091c3dd4814d8c22c5fd4c7612e18c93c231b1f2d9428508014d60c901922ee15a016ea6a8d49dd859e614794df8e86280fff3424a5cf6659d4a687b9920285bed20000adf8ab8303e04c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb25c04437a0b6e6571f5c4f5677ad4bfd446141dfe33d29908e314e160a94324c0a93a879e7a02916ddc6d824aeb4dddae04de09b64b80037099c2c0b219cc72151a4d308cfdb0000adf8ab83028f35830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb25c04437a0dcbd7f41a7439e53ed3d7379a7e193852c273818653faf79751f0622020da114a072aef3af010e9062c0df224166b4a53f0577771a40c49a24b37d667a9431edb70000adf8ab83041881830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000caa76fc738a06dcef50013f88a78f02687a7f90b7458a0ee287bc9935f2f0d508af9a4aee9a3a0759a6134028ee2cee70fa3fe82ae88dbe55992a7cb4f53dc353b38ba1d6e77ab0000acf8aa83034786830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca74481e38a0b518ed6cf06777d5f375905ebd774c71fe34b293bc9abcaab3ca55c786fcb45d9f0a3a87bc3b0901847802e567f0dcee3e78117ed4501c9f13487a2584c943270000adf8ab83038e9c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca61ef0338a02177bf5b96d02406ac10072d408379d8e11303c7d1ec352259641366fdf9cf26a07510033b3263e0254ecb297465c0e326d8eed8b63798007aea5906da32c221cf0000adf8ab8302bbc1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb0878a437a09f0cf6fc7bb77b1b6fa511a3a8c8c491d7e7ce3cdb3e84b9859180f1afb358b2a00a6a7250b1f8c88562c2ddc6befd42946bd92f807842c0aa107ee275e568a5450000adf8ab83041b6c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cac4f69e37a083b3edaa2b442b0724b1780ecaa29228bedeaf354a7d437c3cb52bc89cc27e19a02085fd2ace80cb3ff9d24b78f99cb053c85fb190d50d87fc9fd2ee2a6d98d12d0000adf8ab830377cb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca3d124038a0f246b0d0cd0a52ca2e83c429df88e85aace1a1be50eb4e1138db79930e95b45aa050ac34f779c2a93910cc0a469a24e3d296cb79b4dfb695cd53538f03cc083a1800010bf9010815830f4240830f6782948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f0e26e9e8da04b600073455448000000000000000000000000000000000000000000000000000000000000000000000000000000009f07a0233abc178428aa9a18baef3188f093a7d04b57454e5441000000000000000000000000000000000000000000000000000038a06ef52f0972aa116ca1a2439ff3d79c64e027361a4e8b324d5b20d83225a8263aa04072c72147f0fec46806cb7efed578dd43d5f999076c8341dfabe03b2fdbd1e300012df9012a8214f5830f42408308fc589483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a0000000000000000000000007912a2b058a82228c0371168a95cea3c059568dd000000000000000000000000000000000000000000000000004f7c6e10b5df58f6cccc713594f0ff4b496b4d1e278b2ff9d4631dce53f05d3c96d63cf5d00aa50000000000000000000000000000000000000000000000000000c680f5e8a933000000000000000000000000000000000000000000000000004e88b3cd50fbaa000000000000000000000000000000000000000000000000000000006197e6de38a069462de1ef370c33afbf72dd641c492d6c7f5dbaa5b6ead8418dbc79ab275f3aa02147960afbb2671718cd5f59bbe78f9f231545c2d7e8bb8440ecd92323f5055f0000adf8ab83035217830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca1da94e37a0ace380cfdeb9335fc24b22bde0e45720f7543b9dfdd5ffc0d75e855313fe0c4da06f10e6d07da505cd614209f4bfcad78f3b94101bd881b54196ab20306bf535d900010bf901081d830f4240830f891a948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad78ebc5ac6200000734554480000000000000000000000000000000000000000000000000000000000000000000000000000000096d2df0bd28df0ffafbce7065e03638b4cf7648b4b57454e5441000000000000000000000000000000000000000000000000000037a02ab50d08e86948ca6dcf023684f56df8de5fddd9687de05d66a79cd1f7200c5ea0034e73d97b8e3a1baf7ab003ca0f5f4e1c244ae6bc49d510c551ab2e82e91951000087f8858239788082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000022d5fc18cf37a0d74ed5cf2be5891943fee8bbe91fa5b85c74f21b1098ba3ed44ba80e7c424509a00e2781f208119b8b470a00a458e8ea73fd2d22b65b520d37e50a1e4424936137000069f86737830f4240830cc7a7944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a011223f402a5942f23f378008932e850f360c8d2ca23bd9c6f0826361cef25feca079342b373bddc9efc7003aff469d37abe934048d441c3d7077a84a7aaf6a0dc500010bf901081e830f4240830e7c8d948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000984246c46efdc1735553440000000000000000000000000000000000000000000000000000000000000000000000000000000096d2df0bd28df0ffafbce7065e03638b4cf7648b4b57454e5441000000000000000000000000000000000000000000000000000037a0fd89fb9ea77f0c9a4124eacfa9696f88e54c29c94421ec098a5960d6731faccaa07fabac75dfe37ec480b094caa93f6559a1401963a3c1a21fc831b066df17a4c40000adf8ab83034787830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caf0d87a38a0a6ae4f5d41ef43c043f11d57d269bdd624c18205d5620c407a216f63d7004ad0a032e7dc9761f9b1ce640d143d4ab965f90544dac141c8a8eaa9fb85d4957fc59b0000adf8ab83028f36830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000cb14e05837a05afe5446dd4af862d2487f19dab8a280ce611b9b6f2dd445246b772267ab2123a05401b79fad16467956bfdb2282ef8fc069e2d5d9bdc75f61f2dea5a70a5cd13b0000adf8ab83041882830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caa76fc737a0ca8278fc676b264c68558bf096f9112d51d8957bbf707ab0dd3feacb18fc0817a02fc980d4941fcc1406438d70ea03bc18fd169bcab68aeee997dce3f9a389fb3e0000adf8ab83041b6d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caf0d87a38a0b90758a9ab3aed6c20456e8758586ed45ce026fd01015f57c37f36b33474dc53a0112bc8826a0e9b07f41491dd5760943f76d690277c604f779043d24b681758ea0000adf8ab83038e9d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca895d8038a0feeb5be9f3a306d75054735fc1b208a7d41ed8a41150ac93810a97a72d73e427a0311ffc7b6e15dfea811ce2cbac218c8dfc5e31fdbd2816a5572b84fc1692964f0000adf8ab8302bbc2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000cb31364037a08082274ed79b5063f004253365c647b284e2005e03b7c3a5b38ac2d86a4f792fa007a69b852ee2f09d832a8a00640625c10bc4cf3613cb60dc5b430ab270aed0c70000adf8ab830377cc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca53836737a05529bb46630c12dca4e50342529ae38d1fd2d38c6dfd54d11c00efb08ac3552da05d9e9ce68f707fe6f24832e0fda8010e5d4c17fb31a7310879cde40440b88c250000adf8ab83035218830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca1da94e37a00548ff6b1cf5706d1800938c08db09fdc02b1cdf3cd2f5e609f7b8a447b4e648a030d40f14bd657acb38ed07b03fee36b1309a9afe21524a5cfc28b82df0cab33b", - "should_start_at_element": 24501, - "total_elements_to_append": 130, - "contexts": [ - { - "num_sequenced_txs": 0, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739703, - "block_number": 13602736 - }, - { - "num_sequenced_txs": 48, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739703, - "block_number": 13602736 - }, - { - "num_sequenced_txs": 46, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739783, - "block_number": 13602741 - }, - { - "num_sequenced_txs": 20, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739833, - "block_number": 13602745 - }, - { - "num_sequenced_txs": 10, - "num_subsequent_queue_txs": 1, - "timestamp": 1636739848, - "block_number": 13602750 - }, - { - "num_sequenced_txs": 1, - "num_subsequent_queue_txs": 0, - "timestamp": 1636739875, - "block_number": 13602753 - } - ], - "txs": [ - "f8ab83035213830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152aa0000000000000000000000000000000000000000000000000000000038e84e4638a0a985ef761f60007c4bb0ac5c9bd45e6481aba5ed09686c0ce87d0df8e723ca09a018e8fa370eeeb54c5155d2c51119ea6f133aada784d07097478cfb866c74c385", - "f901b180830f42408305801494e592427a0aece92de3edee1f18e0157c0586156488022a0a254224741fb90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaabc000000000000000000000000000000000000000000000000022a0a254224741f000000000000000000000000000000000000000000000026e6fd0bda727d9865000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000038a0949c72ca8b73c790b88fa7ac8d5a139522ee8defb9a4c559a5f33bed60ce17f5a06c2663e82cdf4dc4646417ab82ea4c3c2beb73df96b61cbf26862c8cd3f2ef9b", - "f8858239758082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001beb82b01537a0921e1727a4add5f020eebadce17c4f86a39172a447fcd7c8e165f23e3ec4d371a063ea3ca6835a33c035c2fa74026a75009373d01194bf3ea53cb782231e976f5e", - "f9010822830f4240830e6b57948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607342544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1bddc3ddfebb735553440000000000000000000000000000000000000000000000000000000000000000000000000000000003c8060e6e38097ea6abb22242f7e2280485c4384b57454e5441000000000000000000000000000000000000000000000000000038a0cb70ce68400587b3ff46116478c0d7311b737cfb9db733c4d2160ade5e06a79ca059365a0bcbfc55afc6ed5bc949c048e6e330ee40af469bc7b094669fd86cb3ae", - "f902a905830f42408304e4cc94e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf3890000000000000000000000006fd9d7ad17242c41f7131d257212c54a0e81669100000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaabc000000000000000000000000000000000000000000000001ca62db6857149f94000000000000000000000000000000000000000000000000026ce68f6191d6b5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000026ce68f6191d6b5000000000000000000000000bf603ca8f34276a83d49713d826c63a6bf2621df0000000000000000000000000000000000000000000000000000000037a06e2c3a93d1adbf3a3c4a784285a97215811aea33d716b4c81cf7203652a96e1ea07a3e4bf015a40d147db53da507d853c64e6edc6d7b7f8a83d7766d383c80e3e1", - "f8ab83028f2f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca9173d037a0ab64ff6795439d97676c27882c61a63120486fa9d9c1b09da187b8c60f049686a01a190d714b5ffe81cf6196d3590a1823a1d66435b4193d533009f8c3c189c641", - "f8ab83038e97830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000c9e56af037a02c373767bcddef110bb56e153312e5633cd2e21c802faac93cac6e1c38db40c2a02fe7d278f544a5e6ac7242fb2980a1e57c1bc90e342f576b91bae34e5738c169", - "f8ab8302bbbb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000caa7bbe237a00bfc8743882c89b374ebaf3eaa2a8c36fbe464f6c868e9c9bdcd573ea5da53dba05e3cd351c9eda454d5391d9544dfa44f60d7452ec98a9207f5ded0b54291f915", - "f8ab8304187b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca07715b37a05cb81f6d42b02219c0385edb6300f40e63ef6f6062b781e6b7d17e312560ee6da002225a2228ad434cd9a4d88f659f6d064b2091e17424f65a7db3d8acda8455b3", - "f8ab83034783830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca11ebf537a0492339c7f9b6088dac9b33004e3401eef039eb007d4f75b5339697c569b37910a03fc357a4db5a560c1cbb8ae0965d5d06b780376cf67573a480e236c58172c00d", - "f8ab8303e047830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca8d7fb438a0e64f33358ef08f06fce2be95e337240cb7fc6d54a976e2488a4d77bc6d8677e5a0599eb80c2c2b95d8a471af2fbaedec05878ada464f50b82b83013dd6effeb9b7", - "f8858239768082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000220bccc0c638a0edc50bc441dc5e5e9e65d6160cff0a809a105b9cf3bdda1982bae35f5803bc30a02f3e3712df890dbe5bfb491c088e9c9e96d3e57d6b9914a280672e0db4bc0b1a", - "f8ab83041b66830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca5cd3eb38a0b67f432f6dc8ae1cf5071d2bbea37e6d5547bdbc5c3b8c557142a52b0ee1c4f7a041df8dbb3aa3e6da70a183baf9849f135e3adc5a39d92f90f1b011d1e8452961", - "f8ab830377c6830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000ca3d124037a060f293a10b1dd938f7907f8f6b401eb2cf351ebed1b06a9ba6fe70edbd4110f9a07d33c31bbe606f46c71f5704a48123305c66e51f7f51f46a9b31287cc189f3fe", - "f8ab8302a113830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152aa0000000000000000000000000000000000000000000000000000000038f56e0838a02abe126768e8bbaccd3f38d2c1a942d1008f8a899ac13eab4804cb841ad96ca5a027b33b817fb50e82d84d5940a38e613470aa72aa00aaa448713a5618ee927164", - "f902cb821243830f424083036c0394e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead570000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb2e1d61d2fe0c6000000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0ff6d2cc6e9baea99f8a5c31be88b1bc37f0c35bd8690d4e7d9928be4b8385df3a06a08bdc489ff838b98030fa24d20a478cce3bdda16b0a9270713653b0355a1c1", - "f8ab83035214830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451500000000000000000000000000000000000000000000000000000000c9487c3738a058ba34183f49ce05d830138b793d53ec29ceeb15ec7dcc6ff1c13e4af8e90b22a017182688cde104db4ddd7aa4852fd7b68e8e95d6a66966708e807129fe7940cb", - "f8a701830f424082cfa994da10009cbd5d07dd0cecc66161fc93d7c9000da180b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0fb5e16b09b88fbe51cc1e05eba6922786922715df780450e2b13191b973385e9a01bf4a95815ae8bd048342d227c61d5362cdae810ff21fe47965957f3a291604b", - "f8ab8303e048830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848f000000000000000000000000000000000000000000000000000005cf386c70c037a0b143894e6fee02eaeda5cc48cd362eb021ba2194faf42893ae15bbae828075a1a04d480b036af8fc9319ac0838fc0a7e69fe72a8cad18dd8a3c487c07c0eededcf", - "f902cb821244830f424083034cdf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead600000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb3c9055c640e37400000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a095ce378708620ac97ac109326e94386e29e7d64c3a26ffe8bea10f39eb0f6ecca07e92390df7b1181b12fff7641aaed56cde6c73ca40c1fb6d04a2400dc2750f1a", - "f902cb821245830f424083034cdf94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead650000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb4b0488ee15e7cc00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a02ee5ce9373d7661038f0972024c621c88049f98294acecd4db5ba96936ac934da03300323c992b04f18af3adcc5f9fb832254edb8fdc2e5503c457045918987b0f", - "f902e902830f42408306c1bf94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaba3000000000000000000000000000000000000000000000026f0f28c1f04866cc6000000000000000000000000000000000000000000000000022c8e63fafb57440000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000022c8e63fafb57440000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a0164ad7a66574e9e0c1882068ee54604add114d69e83eb2a2d3f99b6876ee88d3a0228010703a06262d29a11bcd45110bc655421704269bebcf8537d8617692263a", - "f8ab83028f30830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c46f613c037a0b1c5e82e8ce73dea450f1a0caba36b7c37f44fc90fa00d84d15c9928d3aa3127a0698fc8e82c06f61f412e6e5660da0ee3abaf6895a6fc72d6fda60a2de76e575d", - "f8ab8302cda4830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bf701a16738a0beefae18bc4125eebd47517b3398951929ff85d5a57bb16414c9e44980c37c67a066d60bba675165dc2d0ee2396e23e6d7bf5290fd4d4a76a4d02e973cf8610872", - "f8ab8304187c830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006becca3a9b37a0e1782f2bf159eff28b4ae86d36609ff5f985e45dc1e5a7f3a106d9cee7585c91a07970bd41bfef0411d8d2bf0d0e346239034cd74547356cd06b6bd17022e00f67", - "f8ab83041b67830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c31c8ed6a37a0d94284f97d63a624bd93c5516b5844a7fe65b09e054583b341cbf4d115543fbfa07bc2b0ed7dcd3b60ed0a71a94863c550c4d4e418da0cea45acddd1bb59da8287", - "f8ab83038e98830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bb084e4c037a0bca03963596e96217b0d14e0f0b24d5ca2a1c0d53e67ef6fba73f5345cc241c0a023954e024c3681602d34a79ee71a9c1a6b6a520c49727cacb07fab077322fc33", - "f8ab8302bbbc830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c31c8ed6a38a0aee8f946c85ff0774d311648675499e8994dd28acafa0fe70805a851170ef202a01e7a690df3845470db6d65d35291c3b8042075a02e539f629c0ae7d00a2b4865", - "f8ab8302a114830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006c3da9188038a082b240d183b7ee592747249cb94d400c0bdbeeb830c39fd31c98217bfaad3675a043af1b6e43753a4d069a08e1c83f3258b664e8749e80aa76321b6ba3811350ca", - "f9010814830f4240830f9a13948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ee4d34dd7f4dd6000073455448000000000000000000000000000000000000000000000000000000000000000000000000000000009f07a0233abc178428aa9a18baef3188f093a7d04b57454e5441000000000000000000000000000000000000000000000000000038a09027b725cac9db6852698747b101eb10998b140bb321fcc74e347a8353bcb9f3a045dc847514a36e6af94a3e94f5333ee72261da78727a9845e0501aed5cc0ca64", - "f8ab830377c7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19c0000000000000000000000000000000000000000000000000000006bedbbab8038a05038b87409d37fc3dba608199299cae8ddd952e0d2cba8fa8875efce51790ad7a027de4c5b7adde627502763f661a22d378d3157b8c51e36e88d734a1a69b2e6a3", - "f901b009830f42408308993b94e592427a0aece92de3edee1f18e0157c0586156487b1a2bc2ec50000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe900000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000c676a3b2a5b63e98400000000000000000000000000000000000000000000000000000000000000424200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f48c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000037a0960392fbf281da701bea335ce83c21746e55c1b8865dfee49224257d6f015309a017053df96aa597a41bfeb4550cf987f0d95af95c951ca5018974261998fcf4a0", - "f901b103830f424083057b5394e592427a0aece92de3edee1f18e0157c0586156488018eed31d41284b8b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaba3000000000000000000000000000000000000000000000000018eed31d41284b800000000000000000000000000000000000000000000001c0189107623db7c6b000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0db85f3f8293c1e09408d9d311f88a1a884b8ed0a5b88d0a232869476557c2365a01621da1e46b360583395fc3feb593eb6f82877e35402d75638e58c8f60e59651", - "f8ab83038e99830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bedbbab8037a0549efabd23c8b195512feb244f448349a39f11bf49f66f362b2551f15a7c004aa07108e7e7af5a7ac1d58e49272ef7beaebfa05e7cd2547d521215a0907fd5ad03", - "f8ab8302cda5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bf701a16737a03108874a8e1cc45b754d4a9d808ac582e27044b3c01123216c7bb9a3676d6821a022df8d556e430532a0fbcc9b01f496644c35b90c4e0ff3d371ffb6fba193ed24", - "f8ab8303e049830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c358003d038a08ef4e2e8fe15936115ac955135748a5c4f9a66c04f85a5a65ea499ba971280faa0320feae39e1c676d6b0d85703cd1caa05565e83babc573d0f3636422b4b59dbd", - "f8ab8304187d830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006becca3a9b37a0cbfe5cb77f05b3a7739c6a6dcf5c1b377bf8a248536f2006e8a436738bd95860a06814037fae72ff8fffcf6ed04393a65dac42dc2e34bc7e025e3a4a81b85a554b", - "f8ab83041b68830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c31c8ed6a38a0f11805858500069cd49eeea78c9ac40edd19731f4e0b71c28017ff524d9b5139a03acf8be25c38be58ef598c689982e101dd35b298cb3aa25e3c3ecda5b6656e8a", - "f8ab83028f31830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c4ca4855d38a0656969e8ec1035f6c8d070c4c1e17bbead988caa80aa26c0b0a4d86ca14bee0ea0684b5a73cca6755c79e70a882c5e27b6b4c375a4e2e1c40f4e42948ee9e63d52", - "f902cb821246830f424083034ced94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead7e0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb58c16f7ac3af2800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a06c2d034d72290669c8754178d8f8370e0d6e8b87843e70dc79cda944b842cf05a04164c0ba8e1c8375c76dbf4ca90aa896bbfc749cc63923f96117470a85f091bb", - "f8ab8302a115830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c3394878038a060d84a0a9eed89fcb3da78cfabeadd5bc0aeec0a4f8b714893faf79662c22992a027114b23df9161484862e4d1d31ec0c4664d54dd84fbfc7d9ef80b89562dd9d3", - "f901ab82031b830f424083064d7c94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009aa1df3db80d7a8168fcdcac79d3e9663dc09e4a00000000000000000000000000000000000000000000000000000000618eb1480000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000594200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f47f5c764cbc14f9669b88837ca1490cca17c31607000bb842000000000000000000000000000000000000060000000000000038a0fab006fe9e30627eb8bad7b37cbfce3d0af2cdb6e72386b81965a0f8f1565aa8a023215f207467d01406458895933232f0997254064854fcc54bd54593dd3d6fe3", - "f8ab8302bbbd830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006c3394878038a0c6f6b74f85a5b482b33ebc5d38b535fcfd31a314223004f15ae5a47c256270eda00589cc3c792038b832ed461e4f96d87ec7baee0e35d455c900111c1338b1a570", - "f8ab830377c8830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19d0000000000000000000000000000000000000000000000000000006bedbbab8038a0868b769413db4b2ed42620adaadd1a48072bbced1d7084ca173f9a4cacd423f5a0671d8c638128fcd9415233e62b54ac81ee4fc8b80314ce101813eb190c2b7619", - "f86948830f4240825208949c3e706f3653858727ee125592db91700f25931d872386f26fc100008038a0ba3254c388b655040e794a8ca1222f965b6d2531ce3a2b5c4f95535785eeed86a03af8b4cdb93571d76665b060291212d5624c8dd76733d7c0eb576d3bc660d2dc", - "f902e904830f42408305cbf294e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000001c08b477224a4b10c5000000000000000000000000000000000000000000000000018f86c1f45fd2d50000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000018f86c1f45fd2d50000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a0928834baf2dc72d0f116352cfda85d51d091db3f285ce045ddb0c53d3b898cd0a04793ade03ee60f56743c187498d321275bcfd7ea776e1bf1a0e8afa1eaf2826e", - "f902cb821247830f424083034cbd94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ead870000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000fb6738118c4de86800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0552b2edb3c6ea66e2a3836263de77d9b585e8bb458969a51b035fac700b5d6bda0344adcccb92ce626e42aaee5cfd624bf0aac9242a05932cdd3a6c498f9049b70", - "f901ab82031c830f424083064d7c94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009aa1df3db80d7a8168fcdcac79d3e9663dc09e4a00000000000000000000000000000000000000000000000000000000618eb1510000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000594200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da10001f47f5c764cbc14f9669b88837ca1490cca17c31607000bb842000000000000000000000000000000000000060000000000000037a035319e444d4b258884f1982de33438c049797ea6807cee543d165688290c6619a059cdd942598947522e706aab9025bcf2293ef2bd914389a52e8dae9ab5db687d", - "f8670e830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a09e81b7bdbe975e0aadcce4a0e2057f2dced9c9fee8fd4dd25e733417c439623ca06f3ea0bb2ac3b5799b90369ef3a44d447d60efa10ff2b00c1a9cb5efc942e51e", - "f8858239778082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000027b0ed27a837a0d0681e2d6573fab5e562d340520e7be7da6b79ce185834eae624b5455127fddba00f58322cdcccb4b4bd3f1c891a3cb5e6e4a75337fc79977614462e59067b598e", - "f8ab8302a116830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d0ca28a32c38a0cf7609206d2d2ed1bc72fd1b236cdbeca9c87bea7e139a307ff028c20c593989a02002bbc01d251b42a32592855ffd81009da3987866012f08776b75b652a9d19b", - "f8ab83028f32830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce3a6bc7a838a03ac10037275f7efc08f931923e4440caa095fbec5e699646d96dafd08978070ca0459685e4f08ed0532c034c84da0acf4255c1c9dba43ea076c89c62821242d4da", - "f8ab83035215830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d15293782037a00acedc318eb355c66256d05090b96240dac893f786973b70930093cc19e07569a06e133b4bc05dfc440a349b5bf9fc1a3804672045778bf208d3a15e743627a937", - "f8ab8302cda6830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce6a03410037a0da407954cef083c51e47fd5bc71dea89eb0c13ea034f13be18965df2e4e15587a04b1429eca7f994b353d3563680c46ae847f9a0cbef9d0c1dde91ffe2980986d0", - "f8ab8304187e830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d1f869ff8037a085de110a3111796b3716ee77a12a0b6a70bea7ba93d74dacb9e2d051c892a7e3a02b5f500d9a720b57e195ce665242a48d1261bc4dc97e90d6691b0e8f5d36f706", - "f8ab83034784830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005ce3a6bc7a838a0596e9645207b757b0b51535c670822ccf0cf69437e0dc7673a4a396a07b93894a00af599fefb0c4585fb3218a0413cf88b73a4827165ce0d21159e75a1b10ed3fa", - "f8ab83041b69830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005cf1283d9c037a05947057b2c11b54d944ecd929a1c1f89d622523c5b3712bdb89967d92d7c553aa0584fb411417ba58105256eac3e3e5ce249a9675677ebed933946bb91eb80ce28", - "f86949830f424082520894cc1d92f21052a70aacd63ad9f4d10bd319971511872386f26fc100008037a006f65a4bda6b242cff5243ecc03c70da30994298193cae1885a6731915814560a0392f3feb30932c02549075e56c5c77eec01805196ab4820f06a1b6ae521a1813", - "f8ab8302bbbe830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed0000000000000000000000000000000000000000000000000000000000008490000000000000000000000000000000000000000000000000000005d0ca28a32c37a0b7eeaad7301ddd5c8ac456f758406f0a04a80e5ecdb29b4d46c80cd53d915fe5a07dce9a5028d82da81fe6273903d56ed5b94d942acc5f4e74253fff5698e494b4", - "f8a80a830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b300000000000000000000000069b4b35504a8c1d6179fef7addcdb37a8c663bc9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0befd275185028b0e7c27f65228a5b88a46ac186390b59cf728ac1e3f0794ef31a016a6a56f0bc8ae3940557a2f3ce4f10d0730cd4749119369ce0ae6b52d34a324", - "f9010981ad830f4240830f5da7948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d63100000734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000037a034af24630d9a13c2c8bbb2e947d52c59716bb1d429ee1d7c69bf0e4791bad9f1a02852544546980372972ac7aae64b202d3e686284e17c77143a0d97555482a8ec", - "f9017105830f42408303764b94e592427a0aece92de3edee1f18e0157c058615648801ee8ed09e89585cb90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000006ad87503a884071e98950e71d72506b109b54f9300000000000000000000000000000000000000000000000000000000618eaba300000000000000000000000000000000000000000000000001ee8ed09e89585c000000000000000000000000000000000000000000000022b891c7b5c5f2e52e000000000000000000000000000000000000000000000000000000000000000038a0ba56d9b0ff25674d4ddd4fb566581a18a5a86ab5a695e5cd6d548a7ba11b9ceba02e2f6bb8e5ee0fb1d42ffcece4527c41e782310c103c89d54a703c748f93f165", - "f8694a830f424082520894300613a8e11068c8ce1b830ac0645b682417a48f872386f26fc100008038a024d5fa0ab5f6c553454f0fbd38cde54e6b0255e84a0b8306373df460f154f179a020f52bfd7c112cc259385df7072dfe3ba2bdf8110b8955079a08b9608d79f93c", - "f9010822830f4240830f9a25948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad78ebc5ac6200000734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000005ea073c5f546e0012f8840224266718404e48ee54b57454e5441000000000000000000000000000000000000000000000000000038a040bc5d1496d6fde9567d7cb304b838123d7c33a7066219ae203706ece6b5919da0387b70bfb23e445ab3d04ad19fe91b34e8ddb4a10b2bb1029919c73c9dc6669f", - "f8ab8302cda7830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c33e11aa938a08446d7951c338d4a7932362890a864a32a1ccf8501b315421ab9738d976fb0b0a001aa34a4236231fcc2dd6764637e1389b0f6d49bd84ed18348d1a5dc481f5e08", - "f8ab83038e9a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006bedbbab8037a02e28dfe2e37bfc34e3fd80cb81eec06f6a9637b5959eee5b82776a1653118334a015f51e7b11f6ad0c3728ce2209a97598ee0e3e03078a403131fb451a361206e9", - "f8ab83028f33830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3e424b4038a0eb7c0efe5ff516fc80ba53cd192e33faed97c5ab77afaf3e24e11243019241c0a00333b29ed67ed184bbbb7bb9c5ea4487e226240a46345360afe9d4d48b903392", - "f8ab8302bbbf830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a0d8eab958329b825da2c818d18a8a5c44696b4d9edd859c0e82e69940cf77d39aa02e49c6f8b66f6f44b13c5d86af3e6248b68701d9bfe0701e6f88bc0856ceb056", - "f8ab8304187f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c33e11aa938a0aa7c0d3b7f147312e19f3d5f210b3cdf0be9d09c9ca0073dab1228238160aa4ca02f3ab453b5b016a38e35997ada1e60732d58f0114542363f07927c735b83beb2", - "f8ab8303e04a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a008ec4784bc7d8f9cab09312010f13cb2271738181e1f9623139f53a9a82e4de7a06217dbc03e56d47387ec954d87a9b4ed1f7bb4d288c84187730f3837c0dcd351", - "f8ab83041b6a830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3fde480038a0886311855f0620e21ff5252ea0076112087c69783e436e430715783c127769d8a0059f27aaf30630f4cf2a67061721d688231fffce2fffc726fd02aa3e037bb577", - "f9010981ae830f4240830f5d9b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d6310000073455448000000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000037a0d5a14b63c7166e43b95e9d80d6b90a7531fd15f91b9aef52d6c802004b299deda006461aac240d91faef87ea06882f4af2984da60aa5533e9b4bdd36037263a812", - "f8ab8302a117830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006c3849841037a0e86d0bba4dd546ee03f4c2658b9a39e69627ba9a5a74297f5a9b1a540ffffdcfa03038050c6d2f0f24f811f4d8bbdc3adc4cb5ad593f33e1beb4b3c8747ac20b20", - "f8ab830377c9830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c19e0000000000000000000000000000000000000000000000000000006bedbbab8037a0654aa632aaab9ff3792e1beca256f7300623ac2aef09865bf0c1086323647d19a060744b68dffdd755e44f0df91c62ca83e44b867e978476341e7a0f17731ed8d0", - "f8694b830f424082520894088d6bc1811e3dea01c2a97a58d5db466728adf9872386f26fc100008038a0b77f59acd99f4f748ebe130606ee9f3d50554fc2ff4e5f022db03bff40e4ff2ea03e687c93c084511ba5de6d4325b45dff90d1bb405a4f878d0b66ebbe54f2b518", - "f902e906830f42408306c1ce94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eabf3000000000000000000000000000000000000000000000022c17540ff6d50940100000000000000000000000000000000000000000000000001edd7f8082a22300000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e58000bb8420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000001edd7f8082a22300000000000000000000000006ad87503a884071e98950e71d72506b109b54f930000000000000000000000000000000000000000000000000000000038a02dc532ce471b8109a9eeb26c3251f698450b3459ab7c84e4d67e85437de1190aa03c70672b7b8b1e62646d48ce0696e1ec42918e9a72e58608512ae017f16c63f8", - "f8694c830f42408252089430329a7ce530939b673bc52476e691b60d40253c872386f26fc100008038a033644afb48cc875c2cc382b2017a8c15d1bfc30d227764d30e399988dbbaa375a02629676fd3e7885a21c3cda1c8a664334d86dba0ceae657e4380e06c7f213e34", - "f9010981af830f4240830f4d33948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d6310000073425443000000000000000000000000000000000000000000000000000000000000000000000000000000002c98a551551879bffa273a5aa931ae76e8c83ec04b57454e5441000000000000000000000000000000000000000000000000000038a03cae954abc8dc2e80a9e2644793b870e7d2fdb73a4a677886cedb19f83823228a0442531d7086f41fb9a7d22668adf5d3773c9fdf94e3f5fb0560dca4b49dc7908", - "f8a780830f424082c867947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b30000000000000000000000007a512d3609211e719737e82c7bb7271ec05da70dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a039e4d1921d874b6e361fb5f6422c1271fcf164bb65703063bc98909a2446a2a7a00aaf5f7023ac1f5112d817cb05e2a1f9d6cdbf56510946405241a47a5a5787b5", - "f9016f1f830f42408303749294e592427a0aece92de3edee1f18e0157c05861564865af3107a4000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000002c5f9400823db2b62ad09cd36fa4faeeb880435b00000000000000000000000000000000000000000000000000000000618eabf300000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000662965fc8c63995000000000000000000000000000000000000000000000000000000000000000037a0e1a05f28d841a890190668ec323d3ecbd5367cb3ccd1cc13abf635140051852ba0770a0656bd757512e93afa94553b9a99c4a369bbd9cdb74b0b6f2155740a739d", - "f8694d830f4240825208941140cdaafb2551fa77a922ea08b6308b297906fe872386f26fc100008038a06b8f8ac5d9609a737a1ac32921877206657d9ea68460bb2f3ae8fcff768a59c4a03d0ffb9da400a502e1b44fc7dae02567f322fc4793f557271f44289a1ef3d4a1", - "f8ab83041b6b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000cacc5ae938a02d7ca9b59b22e7eac908f6b8de767dad526402eb4850925677c1df21f7e1bf51a025c6f2da15375f4c87d4d439d261806dcb97aea91aacee885c3541775879111a", - "f8ab83028f34830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000caab534037a0e2707f2a0a36f9e4b4e9d493d51b2ec513c6009f7d6534c42138ccb95d40168ea053c5861c3c9ef708cecf3d166d04d996b05b25f45ad983d2d77a7bfc6336dc20", - "f8ab83034785830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca78217138a0a5a8c43e68bcae61fa0839489fae7f8725f57b9fe02f473c481b114c44340c90a070e44de765dfc005a6c47eb0d9ac37ad9860ff6e5f7c3f0e648c24649156967f", - "f8ab8303e04b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000caae5cfc37a0a844ae2c3eb5b7aff15e833e1e4d1f37fee1977c68c25a3319ac1b179fb78392a0133db3dfe38ee5658edfa3357c4e733366731d25ae1b49767b433e79f610a92b", - "f8ab83041880830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca7207e737a0ba3e13875fd5adaf431496695703790014ca93cacf6a0328f040bcf5f62623d9a01d1268c1a91bc620d519beb9589119d99599add54f46f7537c43056831f09ee1", - "f8ab83038e9b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca3d124037a0e62f4ae5bd896df41916755710ed993bf914b8b8f3840f5119736333eb1412f0a07eadfeccfc1f463efd88ae5d663758f817dfe3ebe40b16bc6a9f862e9cf31e8d", - "f8ab8302bbc0830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000cae4eb0038a01bc2d8f1edd844baced121c1f1779bfce6e7154e902efb8f39066b21d1847840a065733ec71be07c646f896373b68c44fe2c444416a3d4991013f9973834e4ea4b", - "f9012a82391c830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a00000000000000000000000094f68749be6c2e1de2a7d2bb0cf6d1d93269f0350000000000000000000000000000000000000000000000000000000007fffa25ff4dcafe1d0d26afc8ff0bd124c5a5d6ae38785dd7fa382c70251bc12f89972f00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000007e8133a000000000000000000000000000000000000000000000000000000006197e4d938a0f2eb07ae55b3fd42c449514b8ae83533adf11a254d8f89befa04a8b7ecdc9e3ea079b90e022286959e69002e7a303983a6a9f038c9cb1de670c15faa3012590321", - "f8673f830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a04021ad93efbe5640c268c594fa3fe205fd6061e1bcd9bf0913ac072cff32e1b4a0558dc6d616f31321b3d8bb74d092f974260802b02080351739da1a92ae16bcec", - "f8ab830377ca830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca3d124037a0d780569a64e7f1f9be8f179bf87efd95909c249d921bba9708a851f45508c47fa022c831571b1e9de72897f4a13355675c975513addaf08d7e24d07e162edc7865", - "f8ab83035216830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451600000000000000000000000000000000000000000000000000000000ca1da94e37a0e10cc6d89c9ae17be8f245b2ce2a298c10ef284a05a07e054c41273c4dcc9aaea05ae3cdc05ff229c19bf2777ee64bd8fa61e2132b1eb2c2363adc8ccdf70f389d", - "f8694e830f424082520894ba7bb2db2a3cb433b90089964d7ae32dbfb808a1872386f26fc100008037a044500afe0d9f62a122d0e63b147c160a01408842dab38ccf27b318d9e82d4f74a07add15186b6c9afd10937ce6d1a5f5d40321dd3e697a1616d0c55422d6ac67b3", - "f9010823830f4240830e9e13948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734c494e4b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005179aa2cc3f2d0b173555344000000000000000000000000000000000000000000000000000000000000000000000000000000005ea073c5f546e0012f8840224266718404e48ee54b57454e5441000000000000000000000000000000000000000000000000000038a08c7de16ac9de99372e71914f510d2a7e9bd0de8808b1c18968959a3cfe2265baa05910d708509cf7e24c25a6bc7cfc2c89c6bc711d69a5f0c83ad5696efcfa7931", - "f8694f830f42408252089419e60a2c561a350884eb9990f57f28a181580664872386f26fc100008038a04e229cbd796c7482bada1b524edfb67a2e00cf4f87e9e5471f6983576ec07a0ca019c0eec3278cca2c8858bcc9e04010e5a5b28f2daece4d9417d6f01b95bb3034", - "f86740830f4240830cc794944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a02630a98987843642efa7ce63f7aca7edbb9dfaf3f33260115adeca430e9907a7a025a8feae472e312f2a4fb916c63d1798271558989cea6f5eb3783bafa5a7d7ad", - "f8a80b830f42408306c3399469b4b35504a8c1d6179fef7addcdb37a8c663bc980b84447e7ef24000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe90000000000000000000000000000000000000000000000056bc75e2d6310000038a066e1729008c41d89e4799f23a004248bdd017dd15d8a9b753fcddde1b112998ca068061e9991b04c99a39bceea58cc97f49bc6adfc0b4c4f35c36ec292e11e4d74", - "f901a94d830f42408306adbf94e592427a0aece92de3edee1f18e0157c0586156480b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000de31773811273d94deac36d7858fc145e08b492c00000000000000000000000000000000000000000000000000000000618eabf300000000000000000000000000000000000000000000000000000001982ce9480000000000000000000000000000000000000000000000000000000000a400f000000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c31607000bb84200000000000000000000000000000000000006000bb868f180fcce6836688e9084f035309e29bf0a209500000000000000000000000000000000000000000000000000000000000038a04217a1fb0504da3a6950ff498bdbb5764a4979512a8d2504f375204e839b589da075ca12a3f37005d666c70a37d7172b5db29fb8e34803b31917b6f4672e5bf71e", - "f901712c830f42408303a9a094e592427a0aece92de3edee1f18e0157c05861564888ac7230489e80000b90104414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000003f4db615bd9042a21e64e5ff37591d3f44cb351a00000000000000000000000000000000000000000000000000000000618eac250000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000009bca2c6ee862c08c6c8000000000000000000000000000000000000000000000000000000000000000037a05b388644902dc5f4640b0c286f44e1754229cf5ceb21d3bb6d932fd9a576e5c0a06bfcce03655dd48122f6b4f3975172cd55e2d82f872a91a8c48c210fbe226be4", - "f902cb821248830f424083034cd794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eadfb000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000004b4c852d086f32cc800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0b5af0de122e415f92c9f786adfbdb12693b42f8b2fb44685dde595530766a8ada062d11bc0e3beaa05f8904a540c021219675875789824604f03a3ce3ca06f8899", - "f8a80c830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b3000000000000000000000000788843de0be1598155bffaab7cfa2ecbd542e7f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a025a8b7532f6be54db1e5807d81d19ab5e501e72cfb2721f2b525eb8e89aa5487a032f7e9fbf912d9ebfdd19c422d6c9c7b46b9be32cc5c36b689983874c92f6b17", - "f9010801830f42408303ecac947a512d3609211e719737e82c7bb7271ec05da70d80b8a41b33d41200000000000000000000000000000000000000000000000000000000003c45b00000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c316070000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000004200000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000037a091c3dd4814d8c22c5fd4c7612e18c93c231b1f2d9428508014d60c901922ee15a016ea6a8d49dd859e614794df8e86280fff3424a5cf6659d4a687b9920285bed2", - "f8ab8303e04c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb25c04437a0b6e6571f5c4f5677ad4bfd446141dfe33d29908e314e160a94324c0a93a879e7a02916ddc6d824aeb4dddae04de09b64b80037099c2c0b219cc72151a4d308cfdb", - "f8ab83028f35830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb25c04437a0dcbd7f41a7439e53ed3d7379a7e193852c273818653faf79751f0622020da114a072aef3af010e9062c0df224166b4a53f0577771a40c49a24b37d667a9431edb7", - "f8ab83041881830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000caa76fc738a06dcef50013f88a78f02687a7f90b7458a0ee287bc9935f2f0d508af9a4aee9a3a0759a6134028ee2cee70fa3fe82ae88dbe55992a7cb4f53dc353b38ba1d6e77ab", - "f8aa83034786830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca74481e38a0b518ed6cf06777d5f375905ebd774c71fe34b293bc9abcaab3ca55c786fcb45d9f0a3a87bc3b0901847802e567f0dcee3e78117ed4501c9f13487a2584c94327", - "f8ab83038e9c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca61ef0338a02177bf5b96d02406ac10072d408379d8e11303c7d1ec352259641366fdf9cf26a07510033b3263e0254ecb297465c0e326d8eed8b63798007aea5906da32c221cf", - "f8ab8302bbc1830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cb0878a437a09f0cf6fc7bb77b1b6fa511a3a8c8c491d7e7ce3cdb3e84b9859180f1afb358b2a00a6a7250b1f8c88562c2ddc6befd42946bd92f807842c0aa107ee275e568a545", - "f8ab83041b6c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000cac4f69e37a083b3edaa2b442b0724b1780ecaa29228bedeaf354a7d437c3cb52bc89cc27e19a02085fd2ace80cb3ff9d24b78f99cb053c85fb190d50d87fc9fd2ee2a6d98d12d", - "f8ab830377cb830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca3d124038a0f246b0d0cd0a52ca2e83c429df88e85aace1a1be50eb4e1138db79930e95b45aa050ac34f779c2a93910cc0a469a24e3d296cb79b4dfb695cd53538f03cc083a18", - "f9010815830f4240830f6782948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f0e26e9e8da04b600073455448000000000000000000000000000000000000000000000000000000000000000000000000000000009f07a0233abc178428aa9a18baef3188f093a7d04b57454e5441000000000000000000000000000000000000000000000000000038a06ef52f0972aa116ca1a2439ff3d79c64e027361a4e8b324d5b20d83225a8263aa04072c72147f0fec46806cb7efed578dd43d5f999076c8341dfabe03b2fdbd1e3", - "f9012a8214f5830f42408308fc589483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a0000000000000000000000007912a2b058a82228c0371168a95cea3c059568dd000000000000000000000000000000000000000000000000004f7c6e10b5df58f6cccc713594f0ff4b496b4d1e278b2ff9d4631dce53f05d3c96d63cf5d00aa50000000000000000000000000000000000000000000000000000c680f5e8a933000000000000000000000000000000000000000000000000004e88b3cd50fbaa000000000000000000000000000000000000000000000000000000006197e6de38a069462de1ef370c33afbf72dd641c492d6c7f5dbaa5b6ead8418dbc79ab275f3aa02147960afbb2671718cd5f59bbe78f9f231545c2d7e8bb8440ecd92323f5055f", - "f8ab83035217830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451700000000000000000000000000000000000000000000000000000000ca1da94e37a0ace380cfdeb9335fc24b22bde0e45720f7543b9dfdd5ffc0d75e855313fe0c4da06f10e6d07da505cd614209f4bfcad78f3b94101bd881b54196ab20306bf535d9", - "f901081d830f4240830f891a948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760735553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad78ebc5ac6200000734554480000000000000000000000000000000000000000000000000000000000000000000000000000000096d2df0bd28df0ffafbce7065e03638b4cf7648b4b57454e5441000000000000000000000000000000000000000000000000000037a02ab50d08e86948ca6dcf023684f56df8de5fddd9687de05d66a79cd1f7200c5ea0034e73d97b8e3a1baf7ab003ca0f5f4e1c244ae6bc49d510c551ab2e82e91951", - "f8858239788082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000022d5fc18cf37a0d74ed5cf2be5891943fee8bbe91fa5b85c74f21b1098ba3ed44ba80e7c424509a00e2781f208119b8b470a00a458e8ea73fd2d22b65b520d37e50a1e4424936137", - "f86737830f4240830cc7a7944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a011223f402a5942f23f378008932e850f360c8d2ca23bd9c6f0826361cef25feca079342b373bddc9efc7003aff469d37abe934048d441c3d7077a84a7aaf6a0dc5", - "f901081e830f4240830e7c8d948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000984246c46efdc1735553440000000000000000000000000000000000000000000000000000000000000000000000000000000096d2df0bd28df0ffafbce7065e03638b4cf7648b4b57454e5441000000000000000000000000000000000000000000000000000037a0fd89fb9ea77f0c9a4124eacfa9696f88e54c29c94421ec098a5960d6731faccaa07fabac75dfe37ec480b094caa93f6559a1401963a3c1a21fc831b066df17a4c4", - "f8ab83034787830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caf0d87a38a0a6ae4f5d41ef43c043f11d57d269bdd624c18205d5620c407a216f63d7004ad0a032e7dc9761f9b1ce640d143d4ab965f90544dac141c8a8eaa9fb85d4957fc59b", - "f8ab83028f36830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000cb14e05837a05afe5446dd4af862d2487f19dab8a280ce611b9b6f2dd445246b772267ab2123a05401b79fad16467956bfdb2282ef8fc069e2d5d9bdc75f61f2dea5a70a5cd13b", - "f8ab83041882830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caa76fc737a0ca8278fc676b264c68558bf096f9112d51d8957bbf707ab0dd3feacb18fc0817a02fc980d4941fcc1406438d70ea03bc18fd169bcab68aeee997dce3f9a389fb3e", - "f8ab83041b6d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000caf0d87a38a0b90758a9ab3aed6c20456e8758586ed45ce026fd01015f57c37f36b33474dc53a0112bc8826a0e9b07f41491dd5760943f76d690277c604f779043d24b681758ea", - "f8ab83038e9d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca895d8038a0feeb5be9f3a306d75054735fc1b208a7d41ed8a41150ac93810a97a72d73e427a0311ffc7b6e15dfea811ce2cbac218c8dfc5e31fdbd2816a5572b84fc1692964f", - "f8ab8302bbc2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000cb31364037a08082274ed79b5063f004253365c647b284e2005e03b7c3a5b38ac2d86a4f792fa007a69b852ee2f09d832a8a00640625c10bc4cf3613cb60dc5b430ab270aed0c7", - "f8ab830377cc830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca53836737a05529bb46630c12dca4e50342529ae38d1fd2d38c6dfd54d11c00efb08ac3552da05d9e9ce68f707fe6f24832e0fda8010e5d4c17fb31a7310879cde40440b88c25", - "f8ab83035218830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001451800000000000000000000000000000000000000000000000000000000ca1da94e37a00548ff6b1cf5706d1800938c08db09fdc02b1cdf3cd2f5e609f7b8a447b4e648a030d40f14bd657acb38ed07b03fee36b1309a9afe21524a5cfc28b82df0cab33b" - ], - "error": false - }, - { - "name": "0xff835143b39c47563bf7a051471d1c4df1bff1d43e6eb9268b63c22c66b1d0fe", - "hex_encoding": "0000005e4400008100000500000400000100618ea4bd0000cf8f4a00000b00000100618ea5750000cf8f5600002000000100618ea61c0000cf8f6100002800000100618ea7130000cf8f6a00002600000000618ea8030000cf8f7f0000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e01000000000000000000000000000000000000000000000000000000003fc501f937a0769193d646615d33a4dc5408edb3e73dd399a8c8d76d868fc80fba1779390627a011fb4fbe6a3ea9c5d41bc3df0e0bef59434d38a55fe98a56eafb17f9a87fbe810002ecf902e904830f42408306162d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea5e900000000000000000000000000000000000000000000000000000000365c76d200000000000000000000000000000000000000000000000002c46a194c07a42300000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000002c46a194c07a423000000000000000000000000d6359d8053de01c5e0c62e9ee657f501e7d93a3c0000000000000000000000000000000000000000000000000000000037a0238cc65884c84ad2136479ccb020a1ec1e9688f7b0f615d6d8791603c4c05212a02336630e0c31ef562e461b572bb012e240c81e66ece078d5efc511f0b94580000000a9f8a703830f424082ad4894e38faf9040c7f09958c638bbdb977083722c515680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0814ec665e875baa65f82daf863813803dd24154d838d29d4c4bb26bb856b2567a0229e6022181f060e87d109d9bacca5e0bab1c457ac833f18c314d422e69b51ae00012bf9012804830f42408307f39194aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000151aef7af546e4000000000000000000000000000000000000000000000000000000006197e2f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a9ee448ec2b9f38a01081127b13891f6b2ae7a15314e0fd3d54e6398cc02ec618aa921b89266d6c19a07d0657572e5c59c9d8678026760855c615c3ce662fe7fd53146c293ada40a6a7000087f8858239628082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001b5c5da5e038a01ae64919f48355f3a089b0412322ff2534971a580a49587b38d065e2d7880043a07674c59cd42d76545225989653650fd5379ea953b42c50157e76a03be5640a710000adf8ab83041b4b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c83c520d37a05c623b92f7edd01534d63b2ae53b6362ae2cc41bcd5fb9ffee0b78b5a922955ca0415d8b156802a7a33d3528859cb5f95846738765969ce88452c9d6de29bd99940000adf8ab83038e83830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c862e32e37a0090f19c9ba19a9160f8d80fc454e5f30e0db1996573f08121d6dca63d2dfed5fa073e073ef0d0b3ba3c6929397d5e80831e1672bd73544740c4cf88fa10d2d970e0000adf8ab83028f1c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c829ca7038a04a3441b092241f8652b870846c4e19941dc9b5b9c6332049e5d6df970b4ff4fea03d21aa4c84a9f5a3615d8d27ab88125f9e1e130c2332a7aa60463e2354b77dc90000adf8ab8302bba9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c83645c038a0481229e26ed0001c9861f349d348896d2eacef1272ad25403d438b8815a7a2a0a019777c4d6c52ad480ed94369fdd100e7af6157eeaeafd79281428e9bf5d1bcfb0000adf8ab8303476f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c862e32e37a0e54f001631ad96bf295db85c78a039f2a8cea8828e939573036ba95e3eb08e29a06e2046d59e58d04cd1b167a900e28e01d5488c9e79925287bc3fb24ef84c42ca0000adf8ab83041863830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c80fe38b37a0e8c8498fae1c61cc23c5a44ed686993b8b6bb0d923b138e0b55b3c7d49844ee6a07567ca4fd2b4d5b1179050ec27731aa7b4d8885063a06fc905ae9c47e85ed8ca0000adf8ab830377b2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c8cedc4038a0febc9608dec20a27019843bc6aaaf197bad33b1145952675581dde000053a23aa070427b32fd20ac14f17c0994f3252efd9e52ba9580d41c47eeef5e6f22158c4f0000adf8ab83035200830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c817c14038a0865546b00bba7670523fabe11abe4195939a870039f5d32d085076326951528ca016acf3ee4db150b68c6369d658928e566ae2425e9696d47ae56714671b7ff4d400012df9012a823918830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000fc4892372e224fb6966364163bb8b9e12472114a0000000000000000000000000000000000000000000000000000000005f4a93712c70f1f77517b248106f1158954e70d89828fd2e8b24898923c981e93b3a41c00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000005defdd0000000000000000000000000000000000000000000000000000000006197e09e37a08a0faa2f77eefaa5d0ee71daa82e15f6dfda18679a3c38fdf9cd61a93ffaf42ba044277cdaa1ae771eaaada03986f3850ecdae547c92dec160ad0713125b52d9f2000087f8858239638082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000021e34a927b38a07732e74ba4b788688b3ee07640e3cd11bc484199dea9bd632ccfeeb8e1b018b8a03c59ea494b69ab21fe60c7338f1465920382f99d3014d9a0c600af8efb417b1a00012bf9012837830f42408306445d943c0ffaca566fccfd9cc95139fef6cba14379596380b8c44d49e87d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000660165c84acdd55c0b000000000000000000000000000000000000000000000000000000006197e371000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000713fb300000000000000000000000000000000000000000000000000000000000000000037a0bb07844385f1cd06fad001aa5a0a083bd28e1cc8ce0a0f968918402bb5ff4e7ba05a4f0e40b942cbe58bfaa7ad5ea1adafcb429abed4835b3287b4ea9a3b11bd2c00012df9012a8214f4830f42408308fc589483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000d4374b5e114318095b9ea8edc68bcf411e32a11b000000000000000000000000000000000000000000000000000ff60291ab9343c8d6346041d9be431394812e2df58aa27f13259cb0c7355823d7f2e953fa25290000000000000000000000000000000000000000000000000000c6b65dde6f6b000000000000000000000000000000000000000000000000000f2619fb37bb2d000000000000000000000000000000000000000000000000000000006197e2c838a035d6ff2aba7a2c4e2567a0ac4e35b250837d1e6fd7040089ec91f13a7ccdc5efa03df5130aae66da3fb36c6d0a41a7500684941078195d786a210202ec6c2d554a000174f9017107830f424083074b599486ca30bef97fb651b8d866d45503684b90cb33128830927f74c9de0000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000ba6fec652fb0a5340b9a68b77650584f09094a4a00000000000000000000000000000000000000000000000030927f74c9de0000000000000000000000000000000000000000000000000000000b27d4936d6473000000000000000000000000000000000000000000000000301cea695480e7db000000000000000000000000000000000000000000000000000000006197e37f0000000000000000000000000000000000000000000000003011c826628fe908000000000000000000000000000000000000000000000000000000006197e37f38a09ea0173c918a738eb505da96b93aa0c96f368f4b13e80c3667c2e4ec93cce3d5a06c7e67499021c605a8a60bc86139c0bc88d46e4c71d4bbbc6faa798ac368cdf900010bf9010803830f4240830f9a2b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607355534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004edd884b41b602bbd7345544800000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000038a0c817a3e33a9406c6e375b39177af263c21f7fd9579171e8f56785db703a34a80a02f01bbf9c95b2759231839f175dc42adfe855e1d0eea4fa8b42e4494ffc3e0ce000174f9017105830f424083074b719486ca30bef97fb651b8d866d45503684b90cb33128806c22beb759d8000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000a4b10000000000000000000000001cf54b443cecda6e802806b675bb5d525cc1c3d300000000000000000000000000000000000000000000000006c22beb759d80000000000000000000000000000000000000000000000000000007de314fd9c0e300000000000000000000000000000000000000000000000006ab87c12b8c9ba4000000000000000000000000000000000000000000000000000000006197e3a100000000000000000000000000000000000000000000000006acfcee9b3dedcd000000000000000000000000000000000000000000000000000000006197e3a138a094894d2f242aae06b4bfccb428bc87813092066d39a6db87559d8f2673e18508a00fc459ea200ae2c85d347c405002399a8caf22b54cc7cb6ee42e88eb382e961a00008bf889822588830f424083252c8094bbaa63be0e3feacb3a3798cb101962b8608fca9980a460e3ecc9000000000000000000000000000000000000000000000000000000000000000538a01aacf870df4b05689aa33e3c0ce01a01ec1a4f909934100b382ac8c6032514f2a055811a90cc241d0e2a21f821d035d53a773a6c902429d162e04144586c23a88400008bf889822589830f42408324bd5c941f80f640a9d53d8cc339b1314061b6d14a24c78c80a460e3ecc9000000000000000000000000000000000000000000000000000000000000000237a06581695f40fbe738f042f330d8bbaf3c449e8133d62a4d74871b683848b8c1d5a06e3dc12db96df5d760dda2220ec5ce190cf9b32462d8f205da68b9cb4b0e01f900008bf88982258a830f42408321079894a5a20f41f367a7ed71d7a617a708de965cc80db580a460e3ecc9000000000000000000000000000000000000000000000000000000000000000537a07524dc3561e1966951049d788cdcb11b7e1a64b8b8040eb960275dd8f883b666a060bad9ed7d1ae58e291f1b817f623f69dd1a8edac446e7f8548154499133c0b8000173f9017005830f424083074b299486ca30bef97fb651b8d866d45503684b90cb3312876a94d74f430000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000b5c914b4a0f09bf5fe5b774e5aaaf9afc7ea8bf7000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000c60bd81c7b430000000000000000000000000000000000000000000000000068e5e6b0404ca0000000000000000000000000000000000000000000000000000000006197e3a60000000000000000000000000000000000000000000000000068ce1c3a2771c8000000000000000000000000000000000000000000000000000000006197e3a638a0bd6bf11b07ba943773e0f54860ac9c7b8dd618e9b0ad2d7217b4b650f4a4f176a075cf2ce1dc93bfe233844b7bc3a95b2eeb63ce2d29d7b3258dfe5ff16dfb17af0000adf8ab8303e02f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c8734ec038a0f653ec038f5ef3d9a54ce3a622eb9451acc8c539d0890d2e7c8251cacb4d7389a07a0a6bd885b4025c0eda3714aae77f188115294e769866586205a638435d46f10000adf8ab8302bbaa830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1acf637a045e3570a0cc0c01a694cbf8e9300df43360e86453f3199d0e357426f222fd638a039d8455c38ca3016a059f566e48408f6bd7b1e7441c524aeb55e783bb085f3400000adf8ab83034770830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c81ea83038a076e889662cd573106564007c96167b13752a4b6e67c4b866c03138d3d198af8aa00473b2c5a10ecbd72664a88c9ce6d31387f4e555b0a37b9dacced6b33169b04e0000adf8ab83041864830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c870d25138a0acd43ce0f8b9b50693dc8e9900cca222dd43764205382b98542ce69aa1a0c370a029620db60f1e3af7672e50f9e6386b59068a2dcb57c6bead3f1efc846243da5b0000adf8ab83038e84830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c81ea83037a03d0404e0bf8134d320924702741bc447823be0d3fce975f7b21e9d96f8cc3fb3a058c100e0024560745ac0af0e6235dbc2d2dd4a7f2c4bae8e8349aade1102fb210000adf8ab83028f1d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8b0077838a0405de762cfc99d62ca10f26cf27fc5f6fe4cf027ac215473cc8aa9d74fb89ecca01ca367e4d3e1132ccae5e637a503a0c29873478326583052980502201397dea200010bf9010804830f4240831138e8948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045f6113c6c14467342544300000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000037a08313dfb045c7d1e9f0676077df9ffea3cd7d11192f77e3aa0e83ecdfa25a1ebda07ec12fece61e17bd68a5f7e6d417bae866f7b5afc22e9220ec1330590de7d8000000adf8ab83041b4c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1158038a0eb2161bbc4521813df7d605ee8f9e29822b7b69e8c568c9ad19df2ad12b6bf20a072ed3c95350f3e18d40c58ce6cefb62b07c9d69a4812c2466d8b4688106316c70000a9f8a703830f424082ad4894e38faf9040c7f09958c638bbdb977083722c515680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a061e7e6f77a3e4a82eacf0bd6632fa7f88ab1727e5e7d0f8cb36c7f8596ec7aafa0356e4a0697a424c678774f30ef356ca52118b6ab5fe29785e7181c4da9a143d30000adf8ab830377b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1158037a0aff25f3a52b14c2541ae6999c119993845928aa8e2a5141cf9ce4e961ee18119a049567ff07c8825e80ada6a13d818486002abd33fc7e4ab1a7b8a4028acf5a0180000adf8ab83035201830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8314ce338a02f9f2ba08c2f8bb80adab289978e384a0ade46fe3521f4402e93e0035f40faa8a0333e1b06ca13fdfb29a3ba4bd4009a8e1c5d1b60ae991b5d69758ac14ac6487c000087f8858239648082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000280d80198938a0eb4834166db134cee5034de89ad987b8f5168933dfa511da5a76d09462f70d6da07d8d4ddbbeab78130ae036763162424668f5e96c88076bccc2f6d9550f7c2b3700012bf9012804830f42408307f38594aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000009ddd57c9276b7000000000000000000000000000000000000000000000000000000006197e3dc00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af800037a06532a3f7371981a07626898e8774c83479487c4db2bb3bcd060e2d89093cca58a035269c9b7ed69176aca001b37919aa0d1c3725cfedd1ee93868134e13eb884f70000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a05b6b87056c5fae5adb5f10e432a97dd9a12cc81a2480d6e0ac58add70a8d606ca02982413404dfcaad076297d1ce0352c306c516760386663bdc0079dc907c7d4f0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a00ac5df9e1ceb1974fbfcedeb7a695e8b7378e98d5f532245b3afe0d2a773b5c7a01f24168309f7725e6515dac48252900157d438e6b86504121b3ef537f57036d900016cf9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea7480000000000000000000000000000000000000000000000000000000047a5108000000000000000000000000000000000000000000000000000000000476fae15000000000000000000000000000000000000000000000000000000000000000038a026fd655a1ac85196df31987b77be27b85f4ea9ab90c1d912eee075b03041bfe4a0367e0140bafb7c3d1d6b5e0e1c19f1bac0272ebb509e6d41de87da2f335f4f2000016cf9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000000000000457fbf8000000000000000000000000000000000000000000000000000000000454bd94c000000000000000000000000000000000000000000000000000000000000000038a0e68e8c762a17fe9dbd32184c0fb658801c5b42cf040a46669e59eba8f3c24496a0662f8ccc886c935a4d597eb5de583c615b5de9b236678a1d53e41f659819959700010bf9010805830f4240831138f4948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050fb25a6a7850734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000038a046133e8e7c81489e7c34f2ee46b8cfdd214130d4373a0d19cd14932a0a60a31da0326c56c9fdfe7af12b59f0bc95d5ee2e3907c81d38a53f9dcccc08d2f9bddc47000173f9017006830f424083074b419486ca30bef97fb651b8d866d45503684b90cb331287b1a2bc2ec50000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000fc33df79ea1010c826860cbbd045718b26d6218c00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000007166fc0ae5d3b00000000000000000000000000000000000000000000000000a905ad540df214000000000000000000000000000000000000000000000000000000006197e40300000000000000000000000000000000000000000000000000a92beebc059ea0000000000000000000000000000000000000000000000000000000006197e40337a0c94ffaba01e74be0d989e2e73fed011e5714a8f980c7b22961d6774ec5003267a0522e729f9f4140f21de66ea6330543d86f1f56a8cd47d4a63dae866cb86198a3000087f8858239658082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000023e761f09137a0e382e535f978216171a6717b377dd7710daf3a3a72c434483bedb362c1cb0824a0596457ff7e398caa2f319fe4af2eca1907b49ca2be0e69b1d2585158d77ef4090002acf902a906830f42408303f0c194e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002569ae0d9d687000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000002569ae0d9d6870000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d712140000000000000000000000000000000000000000000000000000000037a08d2395be022c8f4597bd414a3a92df759802f4270500b6ad8ead8f28f71f32e9a03d66c9533b8fe97489a072a91d56aaf2cce52ca82c9e3540ed280c188f65c0e60000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a01339a3837a8ab563fe06758d8cc985effc0bce08bf4cd862938fe78cbbcd10aea0162fe8247add387ba943bb8e2058ea35c159fac59e3549a6b80bcbcc3cc1128a0000a9f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0ff90d55f17178adb9ae9492335ec7982339eb6f76386e1272ed8b8740f9869c1a044945324fa4fdee1ff2c272210d9ed20e36cd0bd8392e0d0e6c18a275e1eaf9b00016cf9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea748000000000000000000000000000000000000000000000000000000004781f7bb00000000000000000000000000000000000000000000000000000000478089ff000000000000000000000000000000000000000000000000000000000000000038a00fa8087aa886cd74b74fbb1b08d8415471b4a2a8ab3751fd209e9aeac2144c71a064a86512369fe73fd1c034dd0f1ba6536e9ca0e429840597b2cb4bdfa5371e4400016cf9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000000000000455d96b300000000000000000000000000000000000000000000000000000000455c345d000000000000000000000000000000000000000000000000000000000000000037a074b9d22ada3682af06ef524c51b9d40cf1dc20f2e0590dc07476320fbd4fa9f4a01153a3d335848bc0f8d2aaedc85a6493ea50daac3bf1292837c61f2aa12a66240002b3f902b007830f42408305899c94e592427a0aece92de3edee1f18e0157c058615648702574227afea6db90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d7121400000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002574227afea6d0000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0caef2cee61b685f31f49d0e9f7488ef8dd99e98635a0001d7cb444a74a37b3bba0195e094c0ab0496f3344a6ddbe4193fed859e1ec86e67a67b413bf26b0e3e5ea00010bf9010806830f4240830eb91d948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000250eae0632ecb5f97355534400000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000037a05253f933d8762bf1bc0f5dc10b04c8bf7815d1d5d77b6766006d77f9e7248b22a01636c9ab76d22c1353694779acc5c49a1387d1cea07af3221194677ddb9fd36100016cf9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000000000000456dd85f00000000000000000000000000000000000000000000000000000000453a1d07000000000000000000000000000000000000000000000000000000000000000038a0a85d12482100b286a46524154d8a15be24b8fd18e1f2d3344fb01048c0560d3ea069e0b6d21d419d19978e92a129bdecf48035872fa0e7669ee5cc9669746e7f1c00016cf9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000000000000004792d7f600000000000000000000000000000000000000000000000000000000475d831b000000000000000000000000000000000000000000000000000000000000000037a0653dc81fbece15b1bfcebfff6ee184e858f99e8d699d966317889fd8368053b2a008a5318eed7593805b6cf368b7cfbf7b7abfa99c4073a41b5d99d20b2e4ba7850002acf902a908830f42408303f0d994e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002567e47fd6e3d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000002567e47fd6e3d0000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d712140000000000000000000000000000000000000000000000000000000038a0bc89a5fcdc7d4566c956493ee17048dfa25591786be61b3dfe4ad486283c3771a06dbaecbfe278b960a5e9c460b834b85bf5c08631af0bd0fc82ff39a9c7db93120000a9f8a702830f424082d04794350a791bfc2c21f9ed5d10980dad2e2638ffa7f680b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a05a037e504d6266c10526d6fcc10193b3dafd5a38989effd68a21e7cfdb902ef7a04b12b235f906e0cee7e6d14fb8705d6a0788c7e8ee768c35ff606c3430c57bab0002acf902a903830f4240830415c294e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000350a791bfc2c21f9ed5d10980dad2e2638ffa7f6000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000011119801e6e1128a000000000000000000000000000000000000000000000000001f727160f23028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001f727160f23028000000000000000000000000d4374b5e114318095b9ea8edc68bcf411e32a11b0000000000000000000000000000000000000000000000000000000038a00afd583826020c2b69457b93c674037bdcb402159fc33a44e2ab28220a9095d7a07a1a8a7dbdeb602aeb5f55fa9f2ee85f57e7ad10012a5c127d09f3a91406d78b0001b4f901b18186830f42408305a54c94e592427a0aece92de3edee1f18e0157c0586156487f8b0a10e470000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000001146de9edee70d46a1000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0baa06dd972062f6b7d147861be9e2b0241f0beb851241325881161c9cf4f7fb7a05217bb2962e054df981feb6d5254ad153e4cfc898be2dbe0f29cecb340d543cb0000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000476faa9837a0b24328ba261a109ddd53cbe9453abc03ed32818458e56f9a1e6cb8a207ac1fdda024b04a6d75f8e0fae6cb048809f7bf710608eb88ac8c45b0ddeee53f72b594ef0000a9f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000454bd5e438a07ea3cff33ff20488005a9a83f06596a7e2a8e08d41116f0d0e3052cce40b05cca039fb2bf86f1b9f0837e7a64738c093a1a3a86f3798a163a89a284d992eed9dc2000174f9017105830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb3312881b33519d8fc40000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000072e41004dec35381adb453dc63523197001c97010000000000000000000000000000000000000000000000001b33519d8fc400000000000000000000000000000000000000000000000000000082d0bb6700e1eb0000000000000000000000000000000000000000000000001a5248cc48395e7a000000000000000000000000000000000000000000000000000000006197e4630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a063fe9e2b79079f4a643a8f63e8ec804fee29315ee265e478f6ca663456d8b14ba021e1f732845186ebafe90f76c5d49ffafb6e34eabddcf68b0c382cd65af70e86000069f86705830f4240830db5bf944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a031d94d808793e98a06abe9ccd2fae80111e0a7ffa9e800e05f21343b1a30f4d1a05815e0809b1fa645e567ce8cca042cdafc04d89fc495f5ad9efc94a68828f29a0000adf8ab83034771830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c88589f538a02068ea56dfafd2ecd60151d8f7048091aa42429ab72bf06928dfe6ad47f17a5da060142329ebcb6b79ccc74f2f8f4c306a75ef3732e267e0cf0a64b8dcac23d9950000adf8ab83028f1e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8af0e4838a09959db5520e6014cbbafc89a83a359a8b89ad8737ed902150b2c018f82210db5a02258fe80a03db3cd2b9e16ad88f873d001271bcf200ee5149366b3cbf549181d0000adf8ab83041865830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8882ae938a0b0f6c069c51e599358c2034ad35d47f6d7c62878fc017715f7f35db6657bd9d8a015dcd048fee7c4005f5084cca977e012a9e7f18297002750943df4d1ca42223c0000adf8ab83041b4d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8bf9a0037a097ab0d99a456cbbe05db43af165ce01938753b97b5b649b50ebe6ffeb3c7c4d5a009ff5fc1405a16fce5ec3e977a93d9ddf937bcd11bcf858ad0b54afadf3612830000adf8ab83038e85830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c88337ba38a06da97dacb50a03c228aa0de8c5ecc841027b2c3e3b5cdb0988a2de6e5188c425a0480f09a3c3724a99bc7055ee12e5111444fc018d63a4fa5def242a89a8e835640000adf8ab8302bbab830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c89a1e4c37a006c43ddc9b3cdfdb0f7972035465e0038e9080e0731f19176509c8822651bb10a0302e6c0d1fb2735641b3ca2dd05606fe1f0ee2fabc28d9f65330fa0f5e0f2a950000adf8ab830377b4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8976d2937a0d3dbf8b901b643141445a8c0bb214bb9b8a2abf20049350e89fbddccc0092087a036b944345ec43147fdd1476dfe3664aee4e2b20d8075a89c14cf2da3e38b5e370000adf8ab83035202830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8314ce337a00742617d6bf9f39fd2cc2678afed9717b8d3b681f9d6974e48091906d10b192aa078bff6ae138633cc51a522bb28faa9518e1da2b78f096948faa80fd9d6cf3d6a0001b4f901b18187830f424083052b5194e592427a0aece92de3edee1f18e0157c05861564872386f26fc10000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000277cd94df31003f70000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000038a0356e458f5d6954e84c0178a6d0b0a9cda540601441f214e103c4536dd5d13893a02fdd8005ae4f5a49a4d5325641a2dc0ee2153ce5b186f3d374f359e79065524f000087f8858239668082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000204db1f5cc38a0df2591c637801eb4c0b70e57dee934ba89242fd5050595920390ec4d219bbb4fa022bb24b8122c261eddd8532fa8c3c28f9c2c6ee58a77f311bd9fd39dfaca35ad0002cef902cb821225830f424083036bf594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaa8a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8c9adbf027eb6ac00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0288b00b1c86f9d534503a0c92b5b5a46f3f4c251c2cdfe2168b43592e73c16fca074efc51450d553ae0685c1fe5397b222373488aaf737a32aa3caa4ad1b4e428900016ef9016b820288830f42408302958f94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000dee1f836998bcc736022f314df906588d4480800000000000000000000000000000000000000000000000000000000618eaae6000000000000000000000000000000000000000000000000000000009246fa86000000000000000000000000000000000000000000000000076d08b62fb56bc0000000000000000000000000000000000000000000000000000000000000000038a0c696c48ad7f711af818c3dad9f8e665fc720a67df9e934048b694a8db940bdbba06a9732fdfd1b648a593400a44e2f79a3ea655b3ee04a79b72b2e32d925c5ebae000087f8858239678082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001cc8cda1c537a0639d2ba55a0350879b074e724e167fda36b157a6243adefe971157114f1877ada0141e2fbad1ccdbceb1cf9c69813cd221f29cbb96b1f3e1d62c968ef26fadc1010002cef902cb821226830f424083034ce194e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaaa10000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8d8b5bc6d2ab7a800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a08ea0cdf09267e832867ba3a3e3c4f134104b6377b1139bfbbac58a5b7251d35ca06878ef3c6c187fb3862a22603659c07849d12e512302f7a373a9dadc6c5118400002cef902cb821227830f424083034cdb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaaa50000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8e7bf16a00ff23800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a096d5eb89a9e5a6ac618c9600a72c4f5c31a54fab351ed2d511aa52f53dfdce61a0735343958948f6c8b5c61c67c23328e4865e1b59da81ffd690e4d34139f9a251000069f8671f830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a027390b1fa3ade9c8af3b2e9812c8a46fe03dc12cf2358e4c61ef34b5a74f3192a0627d1b96c78867acb91f552000dae27c392b385a0a69a5cc300c94983ce03ba800012df9012a823919830f42408309473f94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000fd081e035af27eb39ed875ec818b3347d72ef88d000000000000000000000000000000000000000000000000000000000130efc5c9de855e035f97b5ebc2b3195b93dbfd4877a900b62a3c79c661ef51e57e117a00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000001207ac8000000000000000000000000000000000000000000000000000000006197e1ec37a0f032a8891691e76af818d56a244701c660652072f195a8e784e1c6214fd5f4f4a032054491aaeb3af50d2fb64ba78b6ec6faeb9ae6f3030d18227fdc62a76ce8110000adf8ab83035203830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c51cf1b9e038a0078ff70df395aea0316bf5c3faba0e0545796c3473056679d7c32fa4d2e2b84ba01f94e81ba982135624e85c6524f3fd05aac925a3b942e395a061350aa4e32d280000adf8ab83041866830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c81a50e48d38a01b96ac57ce4b8ec0a7040c547ab875990f4c768681659d79ce6900435bfb193ca041750cae3dd10f751223fd757fa95865425e232e6c0f4b3031a99cef01b4926e0000adf8ab8302bbac830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c3f0bbab1e37a0ffe7fcdc740bcf34825253dd8bccca3ab5f4504d03627865d445e5a1af29d69ba03a2410a2badbff30a36d3af0ef95cdd97d16d048fa14781a6cfe6e3779e65e970000adf8ab8302a105830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c50fc0f4c038a0523492465d5318c48e1e7bf2ade135a5fce4b3c7a9fb4d3a0663414e04bc963da0553ea30fb49192be0a07c437bce9c600a6c4f2d8d012d40f7b1c43a918a5e8b10000adf8ab8302cd93830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c50fc0f4c037a006d7934c006f8e2b418c0e5025d2366b4398587ed8cb3fe6d0932dd27c879148a056b1fd872a9afadd3bdcedf8df8d770858dba3e448a79f2758537c8440a36be70000adf8ab83034772830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4afcbbaa138a07dd8a9bbaf1be965040597a14b690fec241dcd8c14bc8844daa0a79134d0cabca02f07b6b97021d5ac77cad48b4fbe87f37ed6aba60198863e47f4e054df58140f0000adf8ab83041b4e830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c52aa2ab8037a059f36a1f1bbd40c72f52e6928c6a6efffecc86f733460913ebe567777238144ba02332541dcc4b323c22c95bfd5e21e7586f46bffcec2de8405caa7ad44e5c8e350000adf8ab83028f1f830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4afcbbaa137a06f661eb6f12a1ad78bfd935f6be02904e730ccad5c0be8c581fc6c33cee6127da0371124359ff67dc8c9218c501ca77b29942931a6b5d0ce8e538b7119464c586a00016df9016a8188830f42408305bc0b94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000013c3ba32c532305a6d000000000000000000000000000000000000000000000013a59d55f46947da0b000000000000000000000000000000000000000000000000000000000000000037a082ceda6061c083db5f91d95a70c51ee17e96aaee2faba338fea5c52fca43a342a07cb78ef2a1d0ee0139ed72257dcf4f95d9c5809c2b6068b5e142b40fd22c69ee000069f86722830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a0e9633c465b87fc9386a2e1690b15d008af78d13ce27bf093277c16501da6884ba014d2c9eadbb088c608f2edb811cb9e939e78e40d1cf8c8b672a3bcd64036dae60000adf8ab8303e030830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4cdbdd8e038a01ffe05ced6784656dd36191cb80cd40d0a7188c96bf9914a6085da78f5fbef2aa04a9df6708dcb52107456c5312e1567c2b66a7bdba72ef691ce38b3968ff45be8000069f86720830f4240830d14c0944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0caae5eff0d29749332e66dbe6be6d93f37c313f9bedc67e98c0582ef164e6db9a06fe560e928a3af78d1978fb81ac2dd95ff675213caa49e17cc0d8495fbed3592000069f86723830f4240830d14ba944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a0e956038014445df6d0f1a3a8e119a00facd8c2d305ab75bc0c44260f6fed757da00a4b018b151b1fc3ce1d9a2062b889efc97b2a8ce697ab26fc242b53a5ac89ab0000abf8a98189830f4240830688b994788843de0be1598155bffaab7cfa2ecbd542e7f180b84447e7ef24000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd000000000000000000000000000000000000000000000013aaa4eac6d4e7ec7038a08d3df86c7842fa91ab9cf6b632ad811126b788479035b78256eb62602be84216a06ee81666a448d420088516d7a676cef8f2931beba24b3c438c7dd3ce5868b1ac000087f8858239688082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000019d3641fce37a0f0dbd0bbb4331c28979ecfe184158dd5e50e3196a5eea820a79992377b81a7a1a01e46a0841bba1518282ef67a9bf3c3e69389ccc23f53b9c9c68e13ae5f977b0c0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b1adb22637a6f1b726a20bd8f6448749afa202355539350e168f3ee8c2656418a017bed78090189ea3fd286efec51bcea0b750297b032d083a2013e92cc923dfee00016cf9016938830f42408302b10294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000475a4b2c54cdb975278a8ba5977ebf07df8f03300000000000000000000000000000000000000000000000000000000618ea92f000000000000000000000000000000000000000000000028a857425466f80000000000000000000000000000000000000000000000000000000000002cac8eef000000000000000000000000000000000000000000000000000000000000000037a05eb777bc54d95a513327430e4c01b011fe6d0c2f1b32b5e45b4e6ce64b8c30e0a028f49b7b72006602d312d73d4716419fa0ef9b9180b53dbdc274be103d2ce1a90000aaf8a807830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000002935cd347b79c319a6464fe3b1087170f142418cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0c5d78c50cf0217bf554a7c42b55f0de186eba9a8cfdd60d1a71d6a8f512ef1c5a0181f174faeca807775a6652b5a0730fbb99f24466be45fa6c2d7ce223f8777fa0002cef902cb821228830f424083036c0794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaae30000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8f6c9cdc06f249c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0761212faf58f4f65cb212bef885ab4de31a4925799a4513b04159453ef415800a0158d689b21d4a3e14a646f8fd702d376845708ca829637f87cf452ff6325240c0000a9f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a02d6d9dd930f227143d02a50a26e7b426e56e7d850b6a7795171e19ec945cadefa064104e17e5046f2f11d775f0fb2d4ad722f954832df1da3a0af8fb9cf3d76e5b00010af9010706830f4240830226e294420000000000000000000000000000000000001080b8a432b7006d000000000000000000000000deaddeaddeaddeaddeaddeaddeaddeaddead000000000000000000000000000000000000000000000000000003dcf93f33c8559500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000037a07ba53aa9f4d3ec339c5fe27ad69e29048665497e889d68e2fa0951c567cb700e9f9515f71bad60987a957eafa3bad67c0705b472db6c549f9c2f8eebe76194740000adf8ab8303e031830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8de1e8037a06b543da5babb4f4121cfefcef4ac9266f853fac0b5a696b8c8267b8420a8576ea014fde7d0902bbd0a855a7e6984a62fe860d19c2ac26d98b01509fdac280cbbf10000adf8ab8302cd94830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b39fc5fc438a04340237d177e4b8588250432535cd2ae6a50cf13d202d78e65b9a34c429e41cfa022b4180ebebbc59bec176333d948b168bc807d06f542fc3a1b03d6f3e6f984e10000adf8ab83028f20830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b6bea070038a022388313c4ac313c68a016d1c2f727a3a6cc8317217c603f04683a870854bf9fa05ccf196e777a6c6986ef6a61564e2962eb7a2264450525a7b38c85a01e39e9920000adf8ab83041867830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b1fad44b837a05068502dad118ca981a99ee2608c2eb642b12b4213312b65a631d937186d6496a07afdd2357be8321d4cca876f80bf29a3ee4d79b3e4837963d2d46d7ededebd570000acf8aa83041b4f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b490ba2c038a06d6be069554992032e7c4421fc5c9e0c1d4c64229a4c6d3ea721fa1ecffac9e19f09603637eb883669fa1ceec3a93978aef1923f98fd1ddd17d7190945b18a120000adf8ab8302a106830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b46eba8f037a07bde8df9eb7877feba7340023c9f88677389b3ef1afcaea6cfaa7976eee9bd14a0293c8ac18e4f66e6506ba08014071c6de437b2c4689e0c051f9ff623944f19f90000adf8ab83038e86830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b32512d8b38a0d6bd73899355a53ea92105e387a7e1d3ab5fe8f6848dde75c59716b07f70844ea00d244b7d08f8c43c51df6a0efea80847e9e130f4bdba191fba856c22169bd7bc0000adf8ab8302bbad830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b46eba8f038a0a961af81580155cdea3046bda94a2646e174ad33ae87acfbf9d09062a2ce6933a051769facc6033e004865cc13a39672001220cca623926945589a097c055867bc0000adf8ab830377b5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b6bea070038a0dc5a1b6bfe695f1b5777e27f5d3a7b808e26131e667c2d0e632798738282319ba03651c5efefe65df2f63c916d254a262256bb95b5f310928a3db4fd5776053be1000069f86721830f4240830d14d2944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0b72585fc812d03a5288f6b9645583535eb02cae2f1c117f0e3fd915c989a0d82a018d06fa89da19222fb9bb2a69666152e12fd50e8f80dd14f14ed90e70c01889a00006cf86a81af830f424082520894b541f2efb7d58067f281871b1f9343d3a5c7e458870aa87bee5380008038a004677188a4b4fc77111201bdd8c25a19e15410db2eda6b20d4c5ebbf9d4320f5a04005d807004028482ba1ed24ca0abe6bce4badb1c6f57d0e7ed4b3e7b3add8b60000aaf8a808830f42408306c351942935cd347b79c319a6464fe3b1087170f142418c80b84447e7ef24000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe9000000000000000000000000000000000000000000000004d9c6ed34d493d23f37a0c360671c713b73c3e898c6944ea77cd8ba960bafeb1ff79422e3982e9649def9a06c02efee3dce68e09b32d401fd447a396634b096feb5849aaa8f08a076c6e91500016cf9016901830f42408303286294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000075d1615c066a16beb2eaaff9540fb1377b865f5600000000000000000000000000000000000000000000000000000000618ea92f0000000000000000000000000000000000000000000000000000000047868c00000000000000000000000000000000000000000000000000000000004751047e000000000000000000000000000000000000000000000000000000000000000037a00797edf756ade02a9cd73f8ef1927edf36460e19fff35d0af642d7a9089618b0a032fa3a7758acac71e127504b95d87bb4729630eb648ea3bbe8ab4c99ca36b35a000087f8858239698082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001f1eb95a8c37a006ff1406cefb447f1cc3e60d86f64633c6a15cb10d554084e9dca6350aacc082a059b5d626972ea59d6c93a935287d345bf4f6d8df6d3db89d3efa3e97aaf23c3d0000adf8ab8302a107830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038c15eaf37a0df8309ab4c21d17938cba9ebe0fb244bef98110fba34f9cd8b88b5a5cd321553a05ebc1de247c44e4e12682e40c1d129118e20e876f153defd87b8ca044ce812c70000adf8ab8302cd95830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038af1bc038a0e6bd71ac77d7a5746bee5c0fcfe2859d2666e4f2cd5812ec92957e2d89ef82d6a00447b8d0928f7eb63c5679699b24cbbaa6ef0bf9974ee86af8966daafb4925a80000adf8ab83034773830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b4183a37a078071295c01ab65fbbb6242e8db019f6ff740e9247ca1937bd3f0d0a1da0c97fa077a539e8828e6e3cfc45e83f5c53c02946c26d1862abce22b30c1ea65ee647800000adf8ab83041868830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038bd691e38a0249ba2f2f0ed9c89a0b8f554fa174eee34fb927923627c8adbe7db453dafd174a01c9871b08b5208464dd975a03280fb2153b75bb9fdd339f42fe3684f112a01360000adf8ab83041b50830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b0a26037a04207c0a0a8193a089375380730ba918fe5c47e451399513134b43d63b7615406a01f5dd9104fd9d02e4b4df42c2098b260e16ca576e51d62dc26828b39ccbfe5540000adf8ab8303e032830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b33a7038a09976cc7d54deab8d418f9f08282bd9d515a772e846b57900f4e356af1a6279cea063bc8c257bb837fe669170e6e9d595ae0e260a5bb93b9f2dae3e68b87e9f41d00000adf8ab83038e87830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038ae050a37a0ddf4014d7c624a31a85d54bc374248e29a09c58180f80445a2f04da955fda612a03ffa4496d41704da561709e444ca7e22c6cb969ff326ca106839d00b3db1c5830000adf8ab830377b6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b6939638a05e54de191f31b1e449bc830ae08164012755a27d271f9bc9b055407ce97ef704a04f0aaa1cae37d5d1e8324b1558183abf68a246db21324915759377377995f131000069f86718830f4240830cc7a1944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a07d607917f5226d579298cd0d96272d30d9d89926cb0a5c95130f24886de679b3a076404fd4105acdb015d18c19b9c13e14ca12f77f068cac5f28b1f1313b97b2a80000adf8ab83035204830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b6939637a0e9507e997b6ff66941bbccc170f328ca2982f51dc78c2311ceb91ce9b27345d6a0212b2486fb47a3063681c9f68b631ff2e2b183606b574f2114e47ce4da9ee6fe000087f88582396a8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000024591d85e838a0f7b1567af6e3cd659b57ec02aa9fefc46bf1112078f11985d07ff33b78f87587a0363a7393f6e07ade4c177dcd494b8cf0567e94a9d392ad5e975be6ba5a568fd00001ccf901c939830f42408309554094c36442b4a4522e871399cd717abdd847ab11fe8880b90164883164560000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000004372e000000000000000000000000000000000000000000000000000000000004379200000000000000000000000000000000000000000000000000000001046cc5d10000000000000000000000000000000000000000000000c6a58a64c0220d298b00000000000000000000000000000000000000000000000000000000a4a374f400000000000000000000000000000000000000000000006f6daa29279b1eae1b0000000000000000000000000475a4b2c54cdb975278a8ba5977ebf07df8f03300000000000000000000000000000000000000000000000000000000618ea92f37a0f67dd980d6a025ce0280fa0dbb59808e45747df310dc275ec08a854cb39e79eba00e47cda49995b948d73f2f2c29e44a9332f6d61629d3127a167cbccd1b908e62", - "should_start_at_element": 24132, - "total_elements_to_append": 129, - "contexts": [ - { - "num_sequenced_txs": 4, - "num_subsequent_queue_txs": 1, - "timestamp": 1636738237, - "block_number": 13602634 - }, - { - "num_sequenced_txs": 11, - "num_subsequent_queue_txs": 1, - "timestamp": 1636738421, - "block_number": 13602646 - }, - { - "num_sequenced_txs": 32, - "num_subsequent_queue_txs": 1, - "timestamp": 1636738588, - "block_number": 13602657 - }, - { - "num_sequenced_txs": 40, - "num_subsequent_queue_txs": 1, - "timestamp": 1636738835, - "block_number": 13602666 - }, - { - "num_sequenced_txs": 38, - "num_subsequent_queue_txs": 0, - "timestamp": 1636739075, - "block_number": 13602687 - } - ], - "txs": [ - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e01000000000000000000000000000000000000000000000000000000003fc501f937a0769193d646615d33a4dc5408edb3e73dd399a8c8d76d868fc80fba1779390627a011fb4fbe6a3ea9c5d41bc3df0e0bef59434d38a55fe98a56eafb17f9a87fbe81", - "f902e904830f42408306162d94e592427a0aece92de3edee1f18e0157c0586156480b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea5e900000000000000000000000000000000000000000000000000000000365c76d200000000000000000000000000000000000000000000000002c46a194c07a42300000000000000000000000000000000000000000000000000000000000000427f5c764cbc14f9669b88837ca1490cca17c316070001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000002c46a194c07a423000000000000000000000000d6359d8053de01c5e0c62e9ee657f501e7d93a3c0000000000000000000000000000000000000000000000000000000037a0238cc65884c84ad2136479ccb020a1ec1e9688f7b0f615d6d8791603c4c05212a02336630e0c31ef562e461b572bb012e240c81e66ece078d5efc511f0b9458000", - "f8a703830f424082ad4894e38faf9040c7f09958c638bbdb977083722c515680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0814ec665e875baa65f82daf863813803dd24154d838d29d4c4bb26bb856b2567a0229e6022181f060e87d109d9bacca5e0bab1c457ac833f18c314d422e69b51ae", - "f9012804830f42408307f39194aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000151aef7af546e4000000000000000000000000000000000000000000000000000000006197e2f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a9ee448ec2b9f38a01081127b13891f6b2ae7a15314e0fd3d54e6398cc02ec618aa921b89266d6c19a07d0657572e5c59c9d8678026760855c615c3ce662fe7fd53146c293ada40a6a7", - "f8858239628082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001b5c5da5e038a01ae64919f48355f3a089b0412322ff2534971a580a49587b38d065e2d7880043a07674c59cd42d76545225989653650fd5379ea953b42c50157e76a03be5640a71", - "f8ab83041b4b830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c83c520d37a05c623b92f7edd01534d63b2ae53b6362ae2cc41bcd5fb9ffee0b78b5a922955ca0415d8b156802a7a33d3528859cb5f95846738765969ce88452c9d6de29bd9994", - "f8ab83038e83830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c862e32e37a0090f19c9ba19a9160f8d80fc454e5f30e0db1996573f08121d6dca63d2dfed5fa073e073ef0d0b3ba3c6929397d5e80831e1672bd73544740c4cf88fa10d2d970e", - "f8ab83028f1c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c829ca7038a04a3441b092241f8652b870846c4e19941dc9b5b9c6332049e5d6df970b4ff4fea03d21aa4c84a9f5a3615d8d27ab88125f9e1e130c2332a7aa60463e2354b77dc9", - "f8ab8302bba9830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c83645c038a0481229e26ed0001c9861f349d348896d2eacef1272ad25403d438b8815a7a2a0a019777c4d6c52ad480ed94369fdd100e7af6157eeaeafd79281428e9bf5d1bcfb", - "f8ab8303476f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c862e32e37a0e54f001631ad96bf295db85c78a039f2a8cea8828e939573036ba95e3eb08e29a06e2046d59e58d04cd1b167a900e28e01d5488c9e79925287bc3fb24ef84c42ca", - "f8ab83041863830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c80fe38b37a0e8c8498fae1c61cc23c5a44ed686993b8b6bb0d923b138e0b55b3c7d49844ee6a07567ca4fd2b4d5b1179050ec27731aa7b4d8885063a06fc905ae9c47e85ed8ca", - "f8ab830377b2830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c8cedc4038a0febc9608dec20a27019843bc6aaaf197bad33b1145952675581dde000053a23aa070427b32fd20ac14f17c0994f3252efd9e52ba9580d41c47eeef5e6f22158c4f", - "f8ab83035200830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c817c14038a0865546b00bba7670523fabe11abe4195939a870039f5d32d085076326951528ca016acf3ee4db150b68c6369d658928e566ae2425e9696d47ae56714671b7ff4d4", - "f9012a823918830f42408309474b94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000fc4892372e224fb6966364163bb8b9e12472114a0000000000000000000000000000000000000000000000000000000005f4a93712c70f1f77517b248106f1158954e70d89828fd2e8b24898923c981e93b3a41c00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000005defdd0000000000000000000000000000000000000000000000000000000006197e09e37a08a0faa2f77eefaa5d0ee71daa82e15f6dfda18679a3c38fdf9cd61a93ffaf42ba044277cdaa1ae771eaaada03986f3850ecdae547c92dec160ad0713125b52d9f2", - "f8858239638082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000021e34a927b38a07732e74ba4b788688b3ee07640e3cd11bc484199dea9bd632ccfeeb8e1b018b8a03c59ea494b69ab21fe60c7338f1465920382f99d3014d9a0c600af8efb417b1a", - "f9012837830f42408306445d943c0ffaca566fccfd9cc95139fef6cba14379596380b8c44d49e87d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000660165c84acdd55c0b000000000000000000000000000000000000000000000000000000006197e371000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000713fb300000000000000000000000000000000000000000000000000000000000000000037a0bb07844385f1cd06fad001aa5a0a083bd28e1cc8ce0a0f968918402bb5ff4e7ba05a4f0e40b942cbe58bfaa7ad5ea1adafcb429abed4835b3287b4ea9a3b11bd2c", - "f9012a8214f4830f42408308fc589483f6244bd87662118d96d9a6d44f09dfff14b30e80b8c43d12a85a000000000000000000000000d4374b5e114318095b9ea8edc68bcf411e32a11b000000000000000000000000000000000000000000000000000ff60291ab9343c8d6346041d9be431394812e2df58aa27f13259cb0c7355823d7f2e953fa25290000000000000000000000000000000000000000000000000000c6b65dde6f6b000000000000000000000000000000000000000000000000000f2619fb37bb2d000000000000000000000000000000000000000000000000000000006197e2c838a035d6ff2aba7a2c4e2567a0ac4e35b250837d1e6fd7040089ec91f13a7ccdc5efa03df5130aae66da3fb36c6d0a41a7500684941078195d786a210202ec6c2d554a", - "f9017107830f424083074b599486ca30bef97fb651b8d866d45503684b90cb33128830927f74c9de0000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000ba6fec652fb0a5340b9a68b77650584f09094a4a00000000000000000000000000000000000000000000000030927f74c9de0000000000000000000000000000000000000000000000000000000b27d4936d6473000000000000000000000000000000000000000000000000301cea695480e7db000000000000000000000000000000000000000000000000000000006197e37f0000000000000000000000000000000000000000000000003011c826628fe908000000000000000000000000000000000000000000000000000000006197e37f38a09ea0173c918a738eb505da96b93aa0c96f368f4b13e80c3667c2e4ec93cce3d5a06c7e67499021c605a8a60bc86139c0bc88d46e4c71d4bbbc6faa798ac368cdf9", - "f9010803830f4240830f9a2b948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead7607355534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004edd884b41b602bbd7345544800000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000038a0c817a3e33a9406c6e375b39177af263c21f7fd9579171e8f56785db703a34a80a02f01bbf9c95b2759231839f175dc42adfe855e1d0eea4fa8b42e4494ffc3e0ce", - "f9017105830f424083074b719486ca30bef97fb651b8d866d45503684b90cb33128806c22beb759d8000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000a4b10000000000000000000000001cf54b443cecda6e802806b675bb5d525cc1c3d300000000000000000000000000000000000000000000000006c22beb759d80000000000000000000000000000000000000000000000000000007de314fd9c0e300000000000000000000000000000000000000000000000006ab87c12b8c9ba4000000000000000000000000000000000000000000000000000000006197e3a100000000000000000000000000000000000000000000000006acfcee9b3dedcd000000000000000000000000000000000000000000000000000000006197e3a138a094894d2f242aae06b4bfccb428bc87813092066d39a6db87559d8f2673e18508a00fc459ea200ae2c85d347c405002399a8caf22b54cc7cb6ee42e88eb382e961a", - "f889822588830f424083252c8094bbaa63be0e3feacb3a3798cb101962b8608fca9980a460e3ecc9000000000000000000000000000000000000000000000000000000000000000538a01aacf870df4b05689aa33e3c0ce01a01ec1a4f909934100b382ac8c6032514f2a055811a90cc241d0e2a21f821d035d53a773a6c902429d162e04144586c23a884", - "f889822589830f42408324bd5c941f80f640a9d53d8cc339b1314061b6d14a24c78c80a460e3ecc9000000000000000000000000000000000000000000000000000000000000000237a06581695f40fbe738f042f330d8bbaf3c449e8133d62a4d74871b683848b8c1d5a06e3dc12db96df5d760dda2220ec5ce190cf9b32462d8f205da68b9cb4b0e01f9", - "f88982258a830f42408321079894a5a20f41f367a7ed71d7a617a708de965cc80db580a460e3ecc9000000000000000000000000000000000000000000000000000000000000000537a07524dc3561e1966951049d788cdcb11b7e1a64b8b8040eb960275dd8f883b666a060bad9ed7d1ae58e291f1b817f623f69dd1a8edac446e7f8548154499133c0b8", - "f9017005830f424083074b299486ca30bef97fb651b8d866d45503684b90cb3312876a94d74f430000b90104eea0d7b20000000000000000000000000000000000000000000000000000000000000089000000000000000000000000b5c914b4a0f09bf5fe5b774e5aaaf9afc7ea8bf7000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000c60bd81c7b430000000000000000000000000000000000000000000000000068e5e6b0404ca0000000000000000000000000000000000000000000000000000000006197e3a60000000000000000000000000000000000000000000000000068ce1c3a2771c8000000000000000000000000000000000000000000000000000000006197e3a638a0bd6bf11b07ba943773e0f54860ac9c7b8dd618e9b0ad2d7217b4b650f4a4f176a075cf2ce1dc93bfe233844b7bc3a95b2eeb63ce2d29d7b3258dfe5ff16dfb17af", - "f8ab8303e02f830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450d00000000000000000000000000000000000000000000000000000000c8734ec038a0f653ec038f5ef3d9a54ce3a622eb9451acc8c539d0890d2e7c8251cacb4d7389a07a0a6bd885b4025c0eda3714aae77f188115294e769866586205a638435d46f1", - "f8ab8302bbaa830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1acf637a045e3570a0cc0c01a694cbf8e9300df43360e86453f3199d0e357426f222fd638a039d8455c38ca3016a059f566e48408f6bd7b1e7441c524aeb55e783bb085f340", - "f8ab83034770830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c81ea83038a076e889662cd573106564007c96167b13752a4b6e67c4b866c03138d3d198af8aa00473b2c5a10ecbd72664a88c9ce6d31387f4e555b0a37b9dacced6b33169b04e", - "f8ab83041864830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c870d25138a0acd43ce0f8b9b50693dc8e9900cca222dd43764205382b98542ce69aa1a0c370a029620db60f1e3af7672e50f9e6386b59068a2dcb57c6bead3f1efc846243da5b", - "f8ab83038e84830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c81ea83037a03d0404e0bf8134d320924702741bc447823be0d3fce975f7b21e9d96f8cc3fb3a058c100e0024560745ac0af0e6235dbc2d2dd4a7f2c4bae8e8349aade1102fb21", - "f8ab83028f1d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8b0077838a0405de762cfc99d62ca10f26cf27fc5f6fe4cf027ac215473cc8aa9d74fb89ecca01ca367e4d3e1132ccae5e637a503a0c29873478326583052980502201397dea2", - "f9010804830f4240831138e8948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead76073455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045f6113c6c14467342544300000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000037a08313dfb045c7d1e9f0676077df9ffea3cd7d11192f77e3aa0e83ecdfa25a1ebda07ec12fece61e17bd68a5f7e6d417bae866f7b5afc22e9220ec1330590de7d800", - "f8ab83041b4c830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1158038a0eb2161bbc4521813df7d605ee8f9e29822b7b69e8c568c9ad19df2ad12b6bf20a072ed3c95350f3e18d40c58ce6cefb62b07c9d69a4812c2466d8b4688106316c7", - "f8a703830f424082ad4894e38faf9040c7f09958c638bbdb977083722c515680b844095ea7b3000000000000000000000000aa30d6bba6285d0585722e2440ff89e23ef68864ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a061e7e6f77a3e4a82eacf0bd6632fa7f88ab1727e5e7d0f8cb36c7f8596ec7aafa0356e4a0697a424c678774f30ef356ca52118b6ab5fe29785e7181c4da9a143d3", - "f8ab830377b3830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8a1158037a0aff25f3a52b14c2541ae6999c119993845928aa8e2a5141cf9ce4e961ee18119a049567ff07c8825e80ada6a13d818486002abd33fc7e4ab1a7b8a4028acf5a018", - "f8ab83035201830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450e00000000000000000000000000000000000000000000000000000000c8314ce338a02f9f2ba08c2f8bb80adab289978e384a0ade46fe3521f4402e93e0035f40faa8a0333e1b06ca13fdfb29a3ba4bd4009a8e1c5d1b60ae991b5d69758ac14ac6487c", - "f8858239648082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000280d80198938a0eb4834166db134cee5034de89ad987b8f5168933dfa511da5a76d09462f70d6da07d8d4ddbbeab78130ae036763162424668f5e96c88076bccc2f6d9550f7c2b37", - "f9012804830f42408307f38594aa30d6bba6285d0585722e2440ff89e23ef6886480b8c44d49e87d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000009ddd57c9276b7000000000000000000000000000000000000000000000000000000006197e3dc00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af800037a06532a3f7371981a07626898e8774c83479487c4db2bb3bcd060e2d89093cca58a035269c9b7ed69176aca001b37919aa0d1c3725cfedd1ee93868134e13eb884f7", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a05b6b87056c5fae5adb5f10e432a97dd9a12cc81a2480d6e0ac58add70a8d606ca02982413404dfcaad076297d1ce0352c306c516760386663bdc0079dc907c7d4f", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a00ac5df9e1ceb1974fbfcedeb7a695e8b7378e98d5f532245b3afe0d2a773b5c7a01f24168309f7725e6515dac48252900157d438e6b86504121b3ef537f57036d9", - "f9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea7480000000000000000000000000000000000000000000000000000000047a5108000000000000000000000000000000000000000000000000000000000476fae15000000000000000000000000000000000000000000000000000000000000000038a026fd655a1ac85196df31987b77be27b85f4ea9ab90c1d912eee075b03041bfe4a0367e0140bafb7c3d1d6b5e0e1c19f1bac0272ebb509e6d41de87da2f335f4f20", - "f9016901830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000000000000457fbf8000000000000000000000000000000000000000000000000000000000454bd94c000000000000000000000000000000000000000000000000000000000000000038a0e68e8c762a17fe9dbd32184c0fb658801c5b42cf040a46669e59eba8f3c24496a0662f8ccc886c935a4d597eb5de583c615b5de9b236678a1d53e41f6598199597", - "f9010805830f4240831138f4948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050fb25a6a7850734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000038a046133e8e7c81489e7c34f2ee46b8cfdd214130d4373a0d19cd14932a0a60a31da0326c56c9fdfe7af12b59f0bc95d5ee2e3907c81d38a53f9dcccc08d2f9bddc47", - "f9017006830f424083074b419486ca30bef97fb651b8d866d45503684b90cb331287b1a2bc2ec50000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000fc33df79ea1010c826860cbbd045718b26d6218c00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000007166fc0ae5d3b00000000000000000000000000000000000000000000000000a905ad540df214000000000000000000000000000000000000000000000000000000006197e40300000000000000000000000000000000000000000000000000a92beebc059ea0000000000000000000000000000000000000000000000000000000006197e40337a0c94ffaba01e74be0d989e2e73fed011e5714a8f980c7b22961d6774ec5003267a0522e729f9f4140f21de66ea6330543d86f1f56a8cd47d4a63dae866cb86198a3", - "f8858239658082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000023e761f09137a0e382e535f978216171a6717b377dd7710daf3a3a72c434483bedb362c1cb0824a0596457ff7e398caa2f319fe4af2eca1907b49ca2be0e69b1d2585158d77ef409", - "f902a906830f42408303f0c194e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002569ae0d9d687000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000002569ae0d9d6870000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d712140000000000000000000000000000000000000000000000000000000037a08d2395be022c8f4597bd414a3a92df759802f4270500b6ad8ead8f28f71f32e9a03d66c9533b8fe97489a072a91d56aaf2cce52ca82c9e3540ed280c188f65c0e6", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a01339a3837a8ab563fe06758d8cc985effc0bce08bf4cd862938fe78cbbcd10aea0162fe8247add387ba943bb8e2058ea35c159fac59e3549a6b80bcbcc3cc1128a", - "f8a702830f424082d1249494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0ff90d55f17178adb9ae9492335ec7982339eb6f76386e1272ed8b8740f9869c1a044945324fa4fdee1ff2c272210d9ed20e36cd0bd8392e0d0e6c18a275e1eaf9b", - "f9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea748000000000000000000000000000000000000000000000000000000004781f7bb00000000000000000000000000000000000000000000000000000000478089ff000000000000000000000000000000000000000000000000000000000000000038a00fa8087aa886cd74b74fbb1b08d8415471b4a2a8ab3751fd209e9aeac2144c71a064a86512369fe73fd1c034dd0f1ba6536e9ca0e429840597b2cb4bdfa5371e44", - "f9016903830f42408302f91394e592427a0aece92de3edee1f18e0157c0586156480b90104414bf38900000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea74800000000000000000000000000000000000000000000000000000000455d96b300000000000000000000000000000000000000000000000000000000455c345d000000000000000000000000000000000000000000000000000000000000000037a074b9d22ada3682af06ef524c51b9d40cf1dc20f2e0590dc07476320fbd4fa9f4a01153a3d335848bc0f8d2aaedc85a6493ea50daac3bf1292837c61f2aa12a6624", - "f902b007830f42408305899c94e592427a0aece92de3edee1f18e0157c058615648702574227afea6db90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000144f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d7121400000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002574227afea6d0000000000000000000000000000000000000000000000000000000000000042da10009cbd5d07dd0cecc66161fc93d7c9000da10001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000037a0caef2cee61b685f31f49d0e9f7488ef8dd99e98635a0001d7cb444a74a37b3bba0195e094c0ab0496f3344a6ddbe4193fed859e1ec86e67a67b413bf26b0e3e5ea", - "f9010806830f4240830eb91d948700daec35af8ff88c16bdf0418774cb3d7599b480b8a430ead760734c494e4b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000250eae0632ecb5f97355534400000000000000000000000000000000000000000000000000000000000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe94b57454e5441000000000000000000000000000000000000000000000000000037a05253f933d8762bf1bc0f5dc10b04c8bf7815d1d5d77b6766006d77f9e7248b22a01636c9ab76d22c1353694779acc5c49a1387d1cea07af3221194677ddb9fd361", - "f9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f40000000000000000000000009ed57e7b2425a574d9af51e84ae03792be7b7fcf00000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000000000000456dd85f00000000000000000000000000000000000000000000000000000000453a1d07000000000000000000000000000000000000000000000000000000000000000038a0a85d12482100b286a46524154d8a15be24b8fd18e1f2d3344fb01048c0560d3ea069e0b6d21d419d19978e92a129bdecf48035872fa0e7669ee5cc9669746e7f1c", - "f9016904830f42408303287094e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000d83b738989de3bbd9a3a5987cf99f450c876e92d00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000000000000004792d7f600000000000000000000000000000000000000000000000000000000475d831b000000000000000000000000000000000000000000000000000000000000000037a0653dc81fbece15b1bfcebfff6ee184e858f99e8d699d966317889fd8368053b2a008a5318eed7593805b6cf368b7cfbf7b7abfa99c4073a41b5d99d20b2e4ba785", - "f902a908830f42408303f0d994e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000002567e47fd6e3d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000002567e47fd6e3d0000000000000000000000009f40a6386340f3e149cc96749e2a8003c4d712140000000000000000000000000000000000000000000000000000000038a0bc89a5fcdc7d4566c956493ee17048dfa25591786be61b3dfe4ad486283c3771a06dbaecbfe278b960a5e9c460b834b85bf5c08631af0bd0fc82ff39a9c7db9312", - "f8a702830f424082d04794350a791bfc2c21f9ed5d10980dad2e2638ffa7f680b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a05a037e504d6266c10526d6fcc10193b3dafd5a38989effd68a21e7cfdb902ef7a04b12b235f906e0cee7e6d14fb8705d6a0788c7e8ee768c35ff606c3430c57bab", - "f902a903830f4240830415c294e592427a0aece92de3edee1f18e0157c0586156480b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000350a791bfc2c21f9ed5d10980dad2e2638ffa7f6000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000011119801e6e1128a000000000000000000000000000000000000000000000000001f727160f23028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000000001f727160f23028000000000000000000000000d4374b5e114318095b9ea8edc68bcf411e32a11b0000000000000000000000000000000000000000000000000000000038a00afd583826020c2b69457b93c674037bdcb402159fc33a44e2ab28220a9095d7a07a1a8a7dbdeb602aeb5f55fa9f2ee85f57e7ad10012a5c127d09f3a91406d78b", - "f901b18186830f42408305a54c94e592427a0aece92de3edee1f18e0157c0586156487f8b0a10e470000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f00000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000001146de9edee70d46a1000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000037a0baa06dd972062f6b7d147861be9e2b0241f0beb851241325881161c9cf4f7fb7a05217bb2962e054df981feb6d5254ad153e4cfc898be2dbe0f29cecb340d543cb", - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000476faa9837a0b24328ba261a109ddd53cbe9453abc03ed32818458e56f9a1e6cb8a207ac1fdda024b04a6d75f8e0fae6cb048809f7bf710608eb88ac8c45b0ddeee53f72b594ef", - "f8a705830f42408298269494b008aa00579c1307b0ef2c499ad98a8ce58e5880b844a9059cbb0000000000000000000000001b31bf34c8c9b6653f88e08a61816654a13f3e0100000000000000000000000000000000000000000000000000000000454bd5e438a07ea3cff33ff20488005a9a83f06596a7e2a8e08d41116f0d0e3052cce40b05cca039fb2bf86f1b9f0837e7a64738c093a1a3a86f3798a163a89a284d992eed9dc2", - "f9017105830f424083074ab19486ca30bef97fb651b8d866d45503684b90cb3312881b33519d8fc40000b90104eea0d7b2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000072e41004dec35381adb453dc63523197001c97010000000000000000000000000000000000000000000000001b33519d8fc400000000000000000000000000000000000000000000000000000082d0bb6700e1eb0000000000000000000000000000000000000000000000001a5248cc48395e7a000000000000000000000000000000000000000000000000000000006197e4630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038a063fe9e2b79079f4a643a8f63e8ec804fee29315ee265e478f6ca663456d8b14ba021e1f732845186ebafe90f76c5d49ffafb6e34eabddcf68b0c382cd65af70e86", - "f86705830f4240830db5bf944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a031d94d808793e98a06abe9ccd2fae80111e0a7ffa9e800e05f21343b1a30f4d1a05815e0809b1fa645e567ce8cca042cdafc04d89fc495f5ad9efc94a68828f29a", - "f8ab83034771830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c88589f538a02068ea56dfafd2ecd60151d8f7048091aa42429ab72bf06928dfe6ad47f17a5da060142329ebcb6b79ccc74f2f8f4c306a75ef3732e267e0cf0a64b8dcac23d995", - "f8ab83028f1e830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8af0e4838a09959db5520e6014cbbafc89a83a359a8b89ad8737ed902150b2c018f82210db5a02258fe80a03db3cd2b9e16ad88f873d001271bcf200ee5149366b3cbf549181d", - "f8ab83041865830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8882ae938a0b0f6c069c51e599358c2034ad35d47f6d7c62878fc017715f7f35db6657bd9d8a015dcd048fee7c4005f5084cca977e012a9e7f18297002750943df4d1ca42223c", - "f8ab83041b4d830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8bf9a0037a097ab0d99a456cbbe05db43af165ce01938753b97b5b649b50ebe6ffeb3c7c4d5a009ff5fc1405a16fce5ec3e977a93d9ddf937bcd11bcf858ad0b54afadf361283", - "f8ab83038e85830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c88337ba38a06da97dacb50a03c228aa0de8c5ecc841027b2c3e3b5cdb0988a2de6e5188c425a0480f09a3c3724a99bc7055ee12e5111444fc018d63a4fa5def242a89a8e83564", - "f8ab8302bbab830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c89a1e4c37a006c43ddc9b3cdfdb0f7972035465e0038e9080e0731f19176509c8822651bb10a0302e6c0d1fb2735641b3ca2dd05606fe1f0ee2fabc28d9f65330fa0f5e0f2a95", - "f8ab830377b4830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8976d2937a0d3dbf8b901b643141445a8c0bb214bb9b8a2abf20049350e89fbddccc0092087a036b944345ec43147fdd1476dfe3664aee4e2b20d8075a89c14cf2da3e38b5e37", - "f8ab83035202830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8314ce337a00742617d6bf9f39fd2cc2678afed9717b8d3b681f9d6974e48091906d10b192aa078bff6ae138633cc51a522bb28faa9518e1da2b78f096948faa80fd9d6cf3d6a", - "f901b18187830f424083052b5194e592427a0aece92de3edee1f18e0157c05861564872386f26fc10000b90144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000277cd94df31003f70000000000000000000000000000000000000000000000000000000000000004242000000000000000000000000000000000000060001f494b008aa00579c1307b0ef2c499ad98a8ce58e580001f4da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000038a0356e458f5d6954e84c0178a6d0b0a9cda540601441f214e103c4536dd5d13893a02fdd8005ae4f5a49a4d5325641a2dc0ee2153ce5b186f3d374f359e79065524f", - "f8858239668082743494420000000000000000000000000000000000000f80a4bede39b5000000000000000000000000000000000000000000000000000000204db1f5cc38a0df2591c637801eb4c0b70e57dee934ba89242fd5050595920390ec4d219bbb4fa022bb24b8122c261eddd8532fa8c3c28f9c2c6ee58a77f311bd9fd39dfaca35ad", - "f902cb821225830f424083036bf594e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaa8a0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8c9adbf027eb6ac00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a0288b00b1c86f9d534503a0c92b5b5a46f3f4c251c2cdfe2168b43592e73c16fca074efc51450d553ae0685c1fe5397b222373488aaf737a32aa3caa4ad1b4e4289", - "f9016b820288830f42408302958f94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000dee1f836998bcc736022f314df906588d4480800000000000000000000000000000000000000000000000000000000618eaae6000000000000000000000000000000000000000000000000000000009246fa86000000000000000000000000000000000000000000000000076d08b62fb56bc0000000000000000000000000000000000000000000000000000000000000000038a0c696c48ad7f711af818c3dad9f8e665fc720a67df9e934048b694a8db940bdbba06a9732fdfd1b648a593400a44e2f79a3ea655b3ee04a79b72b2e32d925c5ebae", - "f8858239678082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001cc8cda1c537a0639d2ba55a0350879b074e724e167fda36b157a6243adefe971157114f1877ada0141e2fbad1ccdbceb1cf9c69813cd221f29cbb96b1f3e1d62c968ef26fadc101", - "f902cb821226830f424083034ce194e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaaa10000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8d8b5bc6d2ab7a800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a08ea0cdf09267e832867ba3a3e3c4f134104b6377b1139bfbbac58a5b7251d35ca06878ef3c6c187fb3862a22603659c07849d12e512302f7a373a9dadc6c511840", - "f902cb821227830f424083034cdb94e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaaa50000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8e7bf16a00ff23800000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000038a096d5eb89a9e5a6ac618c9600a72c4f5c31a54fab351ed2d511aa52f53dfdce61a0735343958948f6c8b5c61c67c23328e4865e1b59da81ffd690e4d34139f9a251", - "f8671f830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2237a027390b1fa3ade9c8af3b2e9812c8a46fe03dc12cf2358e4c61ef34b5a74f3192a0627d1b96c78867acb91f552000dae27c392b385a0a69a5cc300c94983ce03ba8", - "f9012a823919830f42408309473f94a81d244a1814468c734e5b4101f7b9c0c577a8fc80b8c43d12a85a000000000000000000000000fd081e035af27eb39ed875ec818b3347d72ef88d000000000000000000000000000000000000000000000000000000000130efc5c9de855e035f97b5ebc2b3195b93dbfd4877a900b62a3c79c661ef51e57e117a00000000000000000000000000000000000000000000000000000000000f27630000000000000000000000000000000000000000000000000000000001207ac8000000000000000000000000000000000000000000000000000000006197e1ec37a0f032a8891691e76af818d56a244701c660652072f195a8e784e1c6214fd5f4f4a032054491aaeb3af50d2fb64ba78b6ec6faeb9ae6f3030d18227fdc62a76ce811", - "f8ab83035203830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c51cf1b9e038a0078ff70df395aea0316bf5c3faba0e0545796c3473056679d7c32fa4d2e2b84ba01f94e81ba982135624e85c6524f3fd05aac925a3b942e395a061350aa4e32d28", - "f8ab83041866830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c81a50e48d38a01b96ac57ce4b8ec0a7040c547ab875990f4c768681659d79ce6900435bfb193ca041750cae3dd10f751223fd757fa95865425e232e6c0f4b3031a99cef01b4926e", - "f8ab8302bbac830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c3f0bbab1e37a0ffe7fcdc740bcf34825253dd8bccca3ab5f4504d03627865d445e5a1af29d69ba03a2410a2badbff30a36d3af0ef95cdd97d16d048fa14781a6cfe6e3779e65e97", - "f8ab8302a105830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c50fc0f4c038a0523492465d5318c48e1e7bf2ade135a5fce4b3c7a9fb4d3a0663414e04bc963da0553ea30fb49192be0a07c437bce9c600a6c4f2d8d012d40f7b1c43a918a5e8b1", - "f8ab8302cd93830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c50fc0f4c037a006d7934c006f8e2b418c0e5025d2366b4398587ed8cb3fe6d0932dd27c879148a056b1fd872a9afadd3bdcedf8df8d770858dba3e448a79f2758537c8440a36be7", - "f8ab83034772830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4afcbbaa138a07dd8a9bbaf1be965040597a14b690fec241dcd8c14bc8844daa0a79134d0cabca02f07b6b97021d5ac77cad48b4fbe87f37ed6aba60198863e47f4e054df58140f", - "f8ab83041b4e830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c52aa2ab8037a059f36a1f1bbd40c72f52e6928c6a6efffecc86f733460913ebe567777238144ba02332541dcc4b323c22c95bfd5e21e7586f46bffcec2de8405caa7ad44e5c8e35", - "f8ab83028f1f830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4afcbbaa137a06f661eb6f12a1ad78bfd935f6be02904e730ccad5c0be8c581fc6c33cee6127da0371124359ff67dc8c9218c501ca77b29942931a6b5d0ce8e538b7119464c586a", - "f9016a8188830f42408305bc0b94e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d900000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd00000000000000000000000000000000000000000000000000000000618ea83f000000000000000000000000000000000000000000000013c3ba32c532305a6d000000000000000000000000000000000000000000000013a59d55f46947da0b000000000000000000000000000000000000000000000000000000000000000037a082ceda6061c083db5f91d95a70c51ee17e96aaee2faba338fea5c52fca43a342a07cb78ef2a1d0ee0139ed72257dcf4f95d9c5809c2b6068b5e142b40fd22c69ee", - "f86722830f4240830a7b2c948700daec35af8ff88c16bdf0418774cb3d7599b480849741fb2238a0e9633c465b87fc9386a2e1690b15d008af78d13ce27bf093277c16501da6884ba014d2c9eadbb088c608f2edb811cb9e939e78e40d1cf8c8b672a3bcd64036dae6", - "f8ab8303e030830f42408307a12094ad3dfa54004f0f5d296002bb091cac10eb8a489180b844202ee0ed000000000000000000000000000000000000000000000000000000000000848b000000000000000000000000000000000000000000000000000005c4cdbdd8e038a01ffe05ced6784656dd36191cb80cd40d0a7188c96bf9914a6085da78f5fbef2aa04a9df6708dcb52107456c5312e1567c2b66a7bdba72ef691ce38b3968ff45be8", - "f86720830f4240830d14c0944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0caae5eff0d29749332e66dbe6be6d93f37c313f9bedc67e98c0582ef164e6db9a06fe560e928a3af78d1978fb81ac2dd95ff675213caa49e17cc0d8495fbed3592", - "f86723830f4240830d14ba944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a0e956038014445df6d0f1a3a8e119a00facd8c2d305ab75bc0c44260f6fed757da00a4b018b151b1fc3ce1d9a2062b889efc97b2a8ce697ab26fc242b53a5ac89ab", - "f8a98189830f4240830688b994788843de0be1598155bffaab7cfa2ecbd542e7f180b84447e7ef24000000000000000000000000dda42f12b8b2ccc6717c053a2b772bad24b08cbd000000000000000000000000000000000000000000000013aaa4eac6d4e7ec7038a08d3df86c7842fa91ab9cf6b632ad811126b788479035b78256eb62602be84216a06ee81666a448d420088516d7a676cef8f2931beba24b3c438c7dd3ce5868b1ac", - "f8858239688082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000019d3641fce37a0f0dbd0bbb4331c28979ecfe184158dd5e50e3196a5eea820a79992377b81a7a1a01e46a0841bba1518282ef67a9bf3c3e69389ccc23f53b9c9c68e13ae5f977b0c", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff37a0b1adb22637a6f1b726a20bd8f6448749afa202355539350e168f3ee8c2656418a017bed78090189ea3fd286efec51bcea0b750297b032d083a2013e92cc923dfee", - "f9016938830f42408302b10294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da10000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000475a4b2c54cdb975278a8ba5977ebf07df8f03300000000000000000000000000000000000000000000000000000000618ea92f000000000000000000000000000000000000000000000028a857425466f80000000000000000000000000000000000000000000000000000000000002cac8eef000000000000000000000000000000000000000000000000000000000000000037a05eb777bc54d95a513327430e4c01b011fe6d0c2f1b32b5e45b4e6ce64b8c30e0a028f49b7b72006602d312d73d4716419fa0ef9b9180b53dbdc274be103d2ce1a9", - "f8a807830f42408301745a948c6f28f2f1a3c87f0f938b96d27520d9751ec8d980b844095ea7b30000000000000000000000002935cd347b79c319a6464fe3b1087170f142418cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a0c5d78c50cf0217bf554a7c42b55f0de186eba9a8cfdd60d1a71d6a8f512ef1c5a0181f174faeca807775a6652b5a0730fbb99f24466be45fa6c2d7ce223f8777fa", - "f902cb821228830f424083036c0794e592427a0aece92de3edee1f18e0157c0586156480b90264ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124f28c0498000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000618eaae30000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000f8f6c9cdc06f249c00000000000000000000000000000000000000000000000000000000000000002b4200000000000000000000000000000000000006000bb8da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000097a2f280ce5da160f44cf9d6734438acb7723b00000000000000000000000000000000000000000000000000000000037a0761212faf58f4f65cb212bef885ab4de31a4925799a4513b04159453ef415800a0158d689b21d4a3e14a646f8fd702d376845708ca829637f87cf452ff6325240c", - "f8a780830f424082f07b947f5c764cbc14f9669b88837ca1490cca17c3160780b844095ea7b3000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff38a02d6d9dd930f227143d02a50a26e7b426e56e7d850b6a7795171e19ec945cadefa064104e17e5046f2f11d775f0fb2d4ad722f954832df1da3a0af8fb9cf3d76e5b", - "f9010706830f4240830226e294420000000000000000000000000000000000001080b8a432b7006d000000000000000000000000deaddeaddeaddeaddeaddeaddeaddeaddead000000000000000000000000000000000000000000000000000003dcf93f33c8559500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000037a07ba53aa9f4d3ec339c5fe27ad69e29048665497e889d68e2fa0951c567cb700e9f9515f71bad60987a957eafa3bad67c0705b472db6c549f9c2f8eebe7619474", - "f8ab8303e031830f42408307a120948ce8c13d816fe6daf12d6fd9e4952e1fc88850af80b844202ee0ed000000000000000000000000000000000000000000000000000000000001450f00000000000000000000000000000000000000000000000000000000c8de1e8037a06b543da5babb4f4121cfefcef4ac9266f853fac0b5a696b8c8267b8420a8576ea014fde7d0902bbd0a855a7e6984a62fe860d19c2ac26d98b01509fdac280cbbf1", - "f8ab8302cd94830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b39fc5fc438a04340237d177e4b8588250432535cd2ae6a50cf13d202d78e65b9a34c429e41cfa022b4180ebebbc59bec176333d948b168bc807d06f542fc3a1b03d6f3e6f984e1", - "f8ab83028f20830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b6bea070038a022388313c4ac313c68a016d1c2f727a3a6cc8317217c603f04683a870854bf9fa05ccf196e777a6c6986ef6a61564e2962eb7a2264450525a7b38c85a01e39e992", - "f8ab83041867830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b1fad44b837a05068502dad118ca981a99ee2608c2eb642b12b4213312b65a631d937186d6496a07afdd2357be8321d4cca876f80bf29a3ee4d79b3e4837963d2d46d7ededebd57", - "f8aa83041b4f830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b490ba2c038a06d6be069554992032e7c4421fc5c9e0c1d4c64229a4c6d3ea721fa1ecffac9e19f09603637eb883669fa1ceec3a93978aef1923f98fd1ddd17d7190945b18a12", - "f8ab8302a106830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b46eba8f037a07bde8df9eb7877feba7340023c9f88677389b3ef1afcaea6cfaa7976eee9bd14a0293c8ac18e4f66e6506ba08014071c6de437b2c4689e0c051f9ff623944f19f9", - "f8ab83038e86830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b32512d8b38a0d6bd73899355a53ea92105e387a7e1d3ab5fe8f6848dde75c59716b07f70844ea00d244b7d08f8c43c51df6a0efea80847e9e130f4bdba191fba856c22169bd7bc", - "f8ab8302bbad830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b46eba8f038a0a961af81580155cdea3046bda94a2646e174ad33ae87acfbf9d09062a2ce6933a051769facc6033e004865cc13a39672001220cca623926945589a097c055867bc", - "f8ab830377b5830f42408307a1209425e1c58040f27ecf20bbd4ca83a09290326896b380b844202ee0ed000000000000000000000000000000000000000000000000000000000000c1970000000000000000000000000000000000000000000000000000006b6bea070038a0dc5a1b6bfe695f1b5777e27f5d3a7b808e26131e667c2d0e632798738282319ba03651c5efefe65df2f63c916d254a262256bb95b5f310928a3db4fd5776053be1", - "f86721830f4240830d14d2944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09337a0b72585fc812d03a5288f6b9645583535eb02cae2f1c117f0e3fd915c989a0d82a018d06fa89da19222fb9bb2a69666152e12fd50e8f80dd14f14ed90e70c01889a", - "f86a81af830f424082520894b541f2efb7d58067f281871b1f9343d3a5c7e458870aa87bee5380008038a004677188a4b4fc77111201bdd8c25a19e15410db2eda6b20d4c5ebbf9d4320f5a04005d807004028482ba1ed24ca0abe6bce4badb1c6f57d0e7ed4b3e7b3add8b6", - "f8a808830f42408306c351942935cd347b79c319a6464fe3b1087170f142418c80b84447e7ef24000000000000000000000000205e1675b4d56dd3aabfe380e869906e60280fe9000000000000000000000000000000000000000000000004d9c6ed34d493d23f37a0c360671c713b73c3e898c6944ea77cd8ba960bafeb1ff79422e3982e9649def9a06c02efee3dce68e09b32d401fd447a396634b096feb5849aaa8f08a076c6e915", - "f9016901830f42408303286294e592427a0aece92de3edee1f18e0157c0586156480b90104414bf3890000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e5800000000000000000000000000000000000000000000000000000000000001f400000000000000000000000075d1615c066a16beb2eaaff9540fb1377b865f5600000000000000000000000000000000000000000000000000000000618ea92f0000000000000000000000000000000000000000000000000000000047868c00000000000000000000000000000000000000000000000000000000004751047e000000000000000000000000000000000000000000000000000000000000000037a00797edf756ade02a9cd73f8ef1927edf36460e19fff35d0af642d7a9089618b0a032fa3a7758acac71e127504b95d87bb4729630eb648ea3bbe8ab4c99ca36b35a", - "f8858239698082743494420000000000000000000000000000000000000f80a4bede39b50000000000000000000000000000000000000000000000000000001f1eb95a8c37a006ff1406cefb447f1cc3e60d86f64633c6a15cb10d554084e9dca6350aacc082a059b5d626972ea59d6c93a935287d345bf4f6d8df6d3db89d3efa3e97aaf23c3d", - "f8ab8302a107830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038c15eaf37a0df8309ab4c21d17938cba9ebe0fb244bef98110fba34f9cd8b88b5a5cd321553a05ebc1de247c44e4e12682e40c1d129118e20e876f153defd87b8ca044ce812c7", - "f8ab8302cd95830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038af1bc038a0e6bd71ac77d7a5746bee5c0fcfe2859d2666e4f2cd5812ec92957e2d89ef82d6a00447b8d0928f7eb63c5679699b24cbbaa6ef0bf9974ee86af8966daafb4925a8", - "f8ab83034773830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b4183a37a078071295c01ab65fbbb6242e8db019f6ff740e9247ca1937bd3f0d0a1da0c97fa077a539e8828e6e3cfc45e83f5c53c02946c26d1862abce22b30c1ea65ee64780", - "f8ab83041868830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038bd691e38a0249ba2f2f0ed9c89a0b8f554fa174eee34fb927923627c8adbe7db453dafd174a01c9871b08b5208464dd975a03280fb2153b75bb9fdd339f42fe3684f112a0136", - "f8ab83041b50830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b0a26037a04207c0a0a8193a089375380730ba918fe5c47e451399513134b43d63b7615406a01f5dd9104fd9d02e4b4df42c2098b260e16ca576e51d62dc26828b39ccbfe554", - "f8ab8303e032830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b33a7038a09976cc7d54deab8d418f9f08282bd9d515a772e846b57900f4e356af1a6279cea063bc8c257bb837fe669170e6e9d595ae0e260a5bb93b9f2dae3e68b87e9f41d0", - "f8ab83038e87830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038ae050a37a0ddf4014d7c624a31a85d54bc374248e29a09c58180f80445a2f04da955fda612a03ffa4496d41704da561709e444ca7e22c6cb969ff326ca106839d00b3db1c583", - "f8ab830377b6830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b6939638a05e54de191f31b1e449bc830ae08164012755a27d271f9bc9b055407ce97ef704a04f0aaa1cae37d5d1e8324b1558183abf68a246db21324915759377377995f131", - "f86718830f4240830cc7a1944a16a42407aa491564643e1dfc1fd50af29794ef8084d294f09338a07d607917f5226d579298cd0d96272d30d9d89926cb0a5c95130f24886de679b3a076404fd4105acdb015d18c19b9c13e14ca12f77f068cac5f28b1f1313b97b2a8", - "f8ab83035204830f42408307a120942e4a187732166a0282e52527b931c96146ac7c5880b844202ee0ed00000000000000000000000000000000000000000000000000000000000152a60000000000000000000000000000000000000000000000000000000038b6939637a0e9507e997b6ff66941bbccc170f328ca2982f51dc78c2311ceb91ce9b27345d6a0212b2486fb47a3063681c9f68b631ff2e2b183606b574f2114e47ce4da9ee6fe", - "f88582396a8082743494420000000000000000000000000000000000000f80a4bede39b500000000000000000000000000000000000000000000000000000024591d85e838a0f7b1567af6e3cd659b57ec02aa9fefc46bf1112078f11985d07ff33b78f87587a0363a7393f6e07ade4c177dcd494b8cf0567e94a9d392ad5e975be6ba5a568fd0", - "f901c939830f42408309554094c36442b4a4522e871399cd717abdd847ab11fe8880b90164883164560000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da100000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000004372e000000000000000000000000000000000000000000000000000000000004379200000000000000000000000000000000000000000000000000000001046cc5d10000000000000000000000000000000000000000000000c6a58a64c0220d298b00000000000000000000000000000000000000000000000000000000a4a374f400000000000000000000000000000000000000000000006f6daa29279b1eae1b0000000000000000000000000475a4b2c54cdb975278a8ba5977ebf07df8f03300000000000000000000000000000000000000000000000000000000618ea92f37a0f67dd980d6a025ce0280fa0dbb59808e45747df310dc275ec08a854cb39e79eba00e47cda49995b948d73f2f2c29e44a9332f6d61629d3127a167cbccd1b908e62" - ], - "error": false - } - ] -} diff --git a/batch-submitter/flags/flags.go b/batch-submitter/flags/flags.go deleted file mode 100644 index 18dfdc1b2894..000000000000 --- a/batch-submitter/flags/flags.go +++ /dev/null @@ -1,299 +0,0 @@ -package flags - -import ( - "time" - - "github.com/urfave/cli" -) - -const envVarPrefix = "BATCH_SUBMITTER_" - -func prefixEnvVar(name string) string { - return envVarPrefix + name -} - -var ( - /* Required Flags */ - - BuildEnvFlag = cli.StringFlag{ - Name: "build-env", - Usage: "Build environment for which the binary is produced, " + - "e.g. production or development", - Required: true, - EnvVar: "BUILD_ENV", - } - EthNetworkNameFlag = cli.StringFlag{ - Name: "eth-network-name", - Usage: "Ethereum network name", - Required: true, - EnvVar: "ETH_NETWORK_NAME", - } - L1EthRpcFlag = cli.StringFlag{ - Name: "l1-eth-rpc", - Usage: "HTTP provider URL for L1", - Required: true, - EnvVar: "L1_ETH_RPC", - } - L2EthRpcFlag = cli.StringFlag{ - Name: "l2-eth-rpc", - Usage: "HTTP provider URL for L2", - Required: true, - EnvVar: "L2_ETH_RPC", - } - CTCAddressFlag = cli.StringFlag{ - Name: "ctc-address", - Usage: "Address of the CTC contract", - Required: true, - EnvVar: "CTC_ADDRESS", - } - SCCAddressFlag = cli.StringFlag{ - Name: "scc-address", - Usage: "Address of the SCC contract", - Required: true, - EnvVar: "SCC_ADDRESS", - } - MinL1TxSizeFlag = cli.Uint64Flag{ - Name: "min-l1-tx-size", - Usage: "Minimum size in bytes of any L1 transaction that gets " + - "generated by the batch submitter", - Required: true, - EnvVar: prefixEnvVar("MIN_L1_TX_SIZE"), - } - MaxL1TxSizeFlag = cli.Uint64Flag{ - Name: "max-l1-tx-size", - Usage: "Maximum size in bytes of any L1 transaction that gets " + - "generated by the batch submitter", - Required: true, - EnvVar: prefixEnvVar("MAX_L1_TX_SIZE"), - } - MaxPlaintextBatchSizeFlag = cli.Uint64Flag{ - Name: "max-plaintext-batch-size", - Usage: "Maximum size in bytes of of the plaintext tx data " + - "encoded in batches", - Required: true, - EnvVar: prefixEnvVar("MAX_PLAINTEXT_BATCH_SIZE"), - } - MinStateRootElementsFlag = cli.Uint64Flag{ - Name: "min-state-root-elements", - Usage: "Minimum number of elements required to submit a state " + - "root batch", - Required: true, - EnvVar: prefixEnvVar("MIN_STATE_ROOT_ELEMENTS"), - } - MaxStateRootElementsFlag = cli.Uint64Flag{ - Name: "max-state-root-elements", - Usage: "Maximum number of elements required to submit a state " + - "root batch", - Required: true, - EnvVar: prefixEnvVar("MAX_STATE_ROOT_ELEMENTS"), - } - MaxBatchSubmissionTimeFlag = cli.DurationFlag{ - Name: "max-batch-submission-time", - Usage: "Maximum amount of time that we will wait before " + - "submitting an under-sized batch", - Required: true, - EnvVar: prefixEnvVar("MAX_BATCH_SUBMISSION_TIME"), - } - PollIntervalFlag = cli.DurationFlag{ - Name: "poll-interval", - Usage: "Delay between querying L2 for more transactions and " + - "creating a new batch", - Required: true, - EnvVar: prefixEnvVar("POLL_INTERVAL"), - } - NumConfirmationsFlag = cli.Uint64Flag{ - Name: "num-confirmations", - Usage: "Number of confirmations which we will wait after " + - "appending a new batch", - Required: true, - EnvVar: prefixEnvVar("NUM_CONFIRMATIONS"), - } - SafeAbortNonceTooLowCountFlag = cli.Uint64Flag{ - Name: "safe-abort-nonce-too-low-count", - Usage: "Number of ErrNonceTooLow observations required to " + - "give up on a tx at a particular nonce without receiving " + - "confirmation", - Required: true, - EnvVar: prefixEnvVar("SAFE_ABORT_NONCE_TOO_LOW_COUNT"), - } - ResubmissionTimeoutFlag = cli.DurationFlag{ - Name: "resubmission-timeout", - Usage: "Duration we will wait before resubmitting a " + - "transaction to L1", - Required: true, - EnvVar: prefixEnvVar("RESUBMISSION_TIMEOUT"), - } - FinalityConfirmationsFlag = cli.Uint64Flag{ - Name: "finality-confirmations", - Usage: "Number of confirmations that we should wait before " + - "submitting state roots for CTC elements", - Required: true, - EnvVar: prefixEnvVar("FINALITY_CONFIRMATIONS"), - } - RunTxBatchSubmitterFlag = cli.BoolFlag{ - Name: "run-tx-batch-submitter", - Usage: "Determines whether or not to run the tx batch submitter", - Required: true, - EnvVar: prefixEnvVar("RUN_TX_BATCH_SUBMITTER"), - } - RunStateBatchSubmitterFlag = cli.BoolFlag{ - Name: "run-state-batch-submitter", - Usage: "Determines whether or not to run the state batch submitter", - Required: true, - EnvVar: prefixEnvVar("RUN_STATE_BATCH_SUBMITTER"), - } - SafeMinimumEtherBalanceFlag = cli.Uint64Flag{ - Name: "safe-minimum-ether-balance", - Usage: "Safe minimum amount of ether the batch submitter key " + - "should hold before it starts to log errors", - Required: true, - EnvVar: prefixEnvVar("SAFE_MINIMUM_ETHER_BALANCE"), - } - ClearPendingTxsFlag = cli.BoolFlag{ - Name: "clear-pending-txs", - Usage: "Whether or not to clear pending transaction in the " + - "mempool on startup", - Required: true, - EnvVar: prefixEnvVar("CLEAR_PENDING_TXS"), - } - - /* Optional Flags */ - - LogLevelFlag = cli.StringFlag{ - Name: "log-level", - Usage: "The lowest log level that will be output", - Value: "info", - EnvVar: prefixEnvVar("LOG_LEVEL"), - } - LogTerminalFlag = cli.BoolFlag{ - Name: "log-terminal", - Usage: "If true, outputs logs in terminal format, otherwise prints " + - "in JSON format. If SENTRY_ENABLE is set to true, this flag is " + - "ignored and logs are printed using JSON", - EnvVar: prefixEnvVar("LOG_TERMINAL"), - } - SentryEnableFlag = cli.BoolFlag{ - Name: "sentry-enable", - Usage: "Whether or not to enable Sentry. If true, sentry-dsn must also be set", - EnvVar: prefixEnvVar("SENTRY_ENABLE"), - } - SentryDsnFlag = cli.StringFlag{ - Name: "sentry-dsn", - Usage: "Sentry data source name", - EnvVar: prefixEnvVar("SENTRY_DSN"), - } - SentryTraceRateFlag = cli.DurationFlag{ - Name: "sentry-trace-rate", - Usage: "Sentry trace rate", - Value: 50 * time.Millisecond, - EnvVar: prefixEnvVar("SENTRY_TRACE_RATE"), - } - BlockOffsetFlag = cli.Uint64Flag{ - Name: "block-offset", - Usage: "The offset between the CTC contract start and the L2 geth blocks", - Value: 1, - EnvVar: prefixEnvVar("BLOCK_OFFSET"), - } - SequencerPrivateKeyFlag = cli.StringFlag{ - Name: "sequencer-private-key", - Usage: "The private key to use for sending to the sequencer contract", - EnvVar: prefixEnvVar("SEQUENCER_PRIVATE_KEY"), - } - ProposerPrivateKeyFlag = cli.StringFlag{ - Name: "proposer-private-key", - Usage: "The private key to use for sending to the proposer contract", - EnvVar: prefixEnvVar("PROPOSER_PRIVATE_KEY"), - } - MnemonicFlag = cli.StringFlag{ - Name: "mnemonic", - Usage: "The mnemonic used to derive the wallets for either the " + - "sequencer or the proposer", - EnvVar: prefixEnvVar("MNEMONIC"), - } - SequencerHDPathFlag = cli.StringFlag{ - Name: "sequencer-hd-path", - Usage: "The HD path used to derive the sequencer wallet from the " + - "mnemonic. The mnemonic flag must also be set.", - EnvVar: prefixEnvVar("SEQUENCER_HD_PATH"), - } - ProposerHDPathFlag = cli.StringFlag{ - Name: "proposer-hd-path", - Usage: "The HD path used to derive the proposer wallet from the " + - "mnemonic. The mnemonic flag must also be set.", - EnvVar: prefixEnvVar("PROPOSER_HD_PATH"), - } - SequencerBatchType = cli.StringFlag{ - Name: "sequencer-batch-type", - Usage: "The type of sequencer batch to be submitted. Valid arguments are legacy or zlib.", - Value: "legacy", - EnvVar: prefixEnvVar("SEQUENCER_BATCH_TYPE"), - } - MetricsServerEnableFlag = cli.BoolFlag{ - Name: "metrics-server-enable", - Usage: "Whether or not to run the embedded metrics server", - EnvVar: prefixEnvVar("METRICS_SERVER_ENABLE"), - } - MetricsHostnameFlag = cli.StringFlag{ - Name: "metrics-hostname", - Usage: "The hostname of the metrics server", - Value: "127.0.0.1", - EnvVar: prefixEnvVar("METRICS_HOSTNAME"), - } - MetricsPortFlag = cli.Uint64Flag{ - Name: "metrics-port", - Usage: "The port of the metrics server", - Value: 7300, - EnvVar: prefixEnvVar("METRICS_PORT"), - } - HTTP2DisableFlag = cli.BoolFlag{ - Name: "http2-disable", - Usage: "Whether or not to disable HTTP/2 support.", - EnvVar: prefixEnvVar("HTTP2_DISABLE"), - } -) - -var requiredFlags = []cli.Flag{ - BuildEnvFlag, - EthNetworkNameFlag, - L1EthRpcFlag, - L2EthRpcFlag, - CTCAddressFlag, - SCCAddressFlag, - MinL1TxSizeFlag, - MaxL1TxSizeFlag, - MaxPlaintextBatchSizeFlag, - MinStateRootElementsFlag, - MaxStateRootElementsFlag, - MaxBatchSubmissionTimeFlag, - PollIntervalFlag, - NumConfirmationsFlag, - SafeAbortNonceTooLowCountFlag, - ResubmissionTimeoutFlag, - FinalityConfirmationsFlag, - RunTxBatchSubmitterFlag, - RunStateBatchSubmitterFlag, - SafeMinimumEtherBalanceFlag, - ClearPendingTxsFlag, -} - -var optionalFlags = []cli.Flag{ - LogLevelFlag, - LogTerminalFlag, - SentryEnableFlag, - SentryDsnFlag, - SentryTraceRateFlag, - BlockOffsetFlag, - SequencerBatchType, - SequencerPrivateKeyFlag, - ProposerPrivateKeyFlag, - MnemonicFlag, - SequencerHDPathFlag, - ProposerHDPathFlag, - MetricsServerEnableFlag, - MetricsHostnameFlag, - MetricsPortFlag, - HTTP2DisableFlag, -} - -// Flags contains the list of configuration options available to the binary. -var Flags = append(requiredFlags, optionalFlags...) diff --git a/batch-submitter/flags/flags_test.go b/batch-submitter/flags/flags_test.go deleted file mode 100644 index ae0bc3d02e37..000000000000 --- a/batch-submitter/flags/flags_test.go +++ /dev/null @@ -1,28 +0,0 @@ -package flags - -import ( - "testing" - - "github.com/stretchr/testify/require" - "github.com/urfave/cli" -) - -// TestRequiredFlagsSetRequired asserts that all flags deemed required properly -// have the Required field set to true. -func TestRequiredFlagsSetRequired(t *testing.T) { - for _, flag := range requiredFlags { - reqFlag, ok := flag.(cli.RequiredFlag) - require.True(t, ok) - require.True(t, reqFlag.IsRequired()) - } -} - -// TestOptionalFlagsDontSetRequired asserts that all flags deemed optional set -// the Required field to false. -func TestOptionalFlagsDontSetRequired(t *testing.T) { - for _, flag := range optionalFlags { - reqFlag, ok := flag.(cli.RequiredFlag) - require.True(t, ok) - require.False(t, reqFlag.IsRequired()) - } -} diff --git a/batch-submitter/go.mod b/batch-submitter/go.mod deleted file mode 100644 index fc2d04911ff7..000000000000 --- a/batch-submitter/go.mod +++ /dev/null @@ -1,72 +0,0 @@ -module github.com/ethereum-optimism/optimism/batch-submitter - -go 1.18 - -replace github.com/ethereum-optimism/optimism/bss-core v0.0.0 => ../bss-core - -replace github.com/ethereum-optimism/optimism/l2geth v0.0.0 => ../l2geth - -require ( - github.com/ethereum-optimism/optimism/bss-core v0.0.0 - github.com/ethereum-optimism/optimism/l2geth v0.0.0 - github.com/ethereum/go-ethereum v1.10.26 - github.com/getsentry/sentry-go v0.12.0 - github.com/prometheus/client_golang v1.11.1 - github.com/stretchr/testify v1.7.2 - github.com/urfave/cli v1.22.5 -) - -require ( - github.com/VictoriaMetrics/fastcache v1.9.0 // indirect - github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect - github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/deckarep/golang-set v1.8.0 // indirect - github.com/decred/base58 v1.0.3 // indirect - github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect - github.com/decred/dcrd/crypto/ripemd160 v1.0.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect - github.com/decred/dcrd/hdkeychain/v3 v3.0.0 // indirect - github.com/elastic/gosigar v0.12.0 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-stack/stack v1.8.1 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/holiman/bloomfilter/v2 v2.0.3 // indirect - github.com/holiman/uint256 v1.2.0 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/mitchellh/pointerstructure v1.2.1 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.30.0 // indirect - github.com/prometheus/procfs v0.7.3 // indirect - github.com/prometheus/tsdb v0.10.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - github.com/rjeczalik/notify v0.9.2 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/shirou/gopsutil v3.21.11+incompatible // indirect - github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 // indirect - github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tklauser/go-sysconf v0.3.10 // indirect - github.com/tklauser/numcpus v0.4.0 // indirect - github.com/tyler-smith/go-bip39 v1.1.0 // indirect - github.com/yusufpapurcu/wmi v1.2.2 // indirect - golang.org/x/crypto v0.1.0 // indirect - golang.org/x/sys v0.1.0 // indirect - google.golang.org/protobuf v1.27.1 // indirect - gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/batch-submitter/go.sum b/batch-submitter/go.sum deleted file mode 100644 index e72e3ed5e522..000000000000 --- a/batch-submitter/go.sum +++ /dev/null @@ -1,1235 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= -github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= -github.com/VictoriaMetrics/fastcache v1.9.0 h1:oMwsS6c8abz98B7ytAewQ7M1ZN/Im/iwKoE1euaFvhs= -github.com/VictoriaMetrics/fastcache v1.9.0/go.mod h1:otoTS3xu+6IzF/qByjqzjp3rTuzM3Qf0ScU1UTj97iU= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= -github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847 h1:rtI0fD4oG/8eVokGVPYJEW1F88p1ZNgXiEIs9thEE4A= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.42.6/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= -github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= -github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= -github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= -github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= -github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= -github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= -github.com/decred/base58 v1.0.3 h1:KGZuh8d1WEMIrK0leQRM47W85KqCAdl2N+uagbctdDI= -github.com/decred/base58 v1.0.3/go.mod h1:pXP9cXCfM2sFLb2viz2FNIdeMWmZDBKG3ZBYbiSM78E= -github.com/decred/dcrd/chaincfg/chainhash v1.0.2 h1:rt5Vlq/jM3ZawwiacWjPa+smINyLRN07EO0cNBV6DGU= -github.com/decred/dcrd/chaincfg/chainhash v1.0.2/go.mod h1:BpbrGgrPTr3YJYRN3Bm+D9NuaFd+zGyNeIKgrhCXK60= -github.com/decred/dcrd/chaincfg/v3 v3.0.0 h1:+TFbu7ZmvBwM+SZz5mrj6cun9ts/6DAL5sqnsaFBHGQ= -github.com/decred/dcrd/chaincfg/v3 v3.0.0/go.mod h1:EspyubQ7D2w6tjP7rBGDIE7OTbuMgBjR2F2kZFnh31A= -github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/crypto/ripemd160 v1.0.1 h1:TjRL4LfftzTjXzaufov96iDAkbY2R3aTvH2YMYa1IOc= -github.com/decred/dcrd/crypto/ripemd160 v1.0.1/go.mod h1:F0H8cjIuWTRoixr/LM3REB8obcWkmYx0gbxpQWR8RPg= -github.com/decred/dcrd/dcrec v1.0.0 h1:W+z6Es+Rai3MXYVoPAxYr5U1DGis0Co33scJ6uH2J6o= -github.com/decred/dcrd/dcrec v1.0.0/go.mod h1:HIaqbEJQ+PDzQcORxnqen5/V1FR3B4VpIfmePklt8Q8= -github.com/decred/dcrd/dcrec/edwards/v2 v2.0.1 h1:V6eqU1crZzuoFT4KG2LhaU5xDSdkHuvLQsj25wd7Wb4= -github.com/decred/dcrd/dcrec/edwards/v2 v2.0.1/go.mod h1:d0H8xGMWbiIQP7gN3v2rByWUcuZPm9YsgmnfoxgbINc= -github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 h1:sgNeV1VRMDzs6rzyPpxyM0jp317hnwiq58Filgag2xw= -github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0/go.mod h1:J70FGZSbzsjecRTiTzER+3f1KZLNaXkuv+yeFTKoxM8= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/dcrutil/v3 v3.0.0 h1:n6uQaTQynIhCY89XsoDk2WQqcUcnbD+zUM9rnZcIOZo= -github.com/decred/dcrd/dcrutil/v3 v3.0.0/go.mod h1:iVsjcqVzLmYFGCZLet2H7Nq+7imV9tYcuY+0lC2mNsY= -github.com/decred/dcrd/hdkeychain/v3 v3.0.0 h1:hOPb4c8+K6bE3a/qFtzt2Z2yzK4SpmXmxvCTFp8vMxI= -github.com/decred/dcrd/hdkeychain/v3 v3.0.0/go.mod h1:Vz7PJSlLzhqmOR2lmjGD9JqAZgmUnM8P6r8hg7U4Zho= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/decred/dcrd/wire v1.4.0 h1:KmSo6eTQIvhXS0fLBQ/l7hG7QLcSJQKSwSyzSqJYDk0= -github.com/decred/dcrd/wire v1.4.0/go.mod h1:WxC/0K+cCAnBh+SKsRjIX9YPgvrjhmE+6pZlel1G7Ro= -github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= -github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= -github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.10+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= -github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= -github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= -github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= -github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= -github.com/elastic/gosigar v0.12.0 h1:AsdhYCJlTudhfOYQyFNgx+fIVTfrDO0V1ST0vHgiapU= -github.com/elastic/gosigar v0.12.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= -github.com/ethereum/go-ethereum v1.10.4/go.mod h1:nEE0TP5MtxGzOMd7egIrbPJMQBnhVU3ELNxhBglIzhg= -github.com/ethereum/go-ethereum v1.10.16/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y= -github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= -github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= -github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ= -github.com/fjl/memsize v0.0.1/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 h1:f6D9Hr8xV8uYKlyuj8XIruxlh9WjVjdh1gIicAS7ays= -github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getsentry/sentry-go v0.12.0 h1:era7g0re5iY13bHSdN/xMkyV+5zZppjRVQhZrXCaEIk= -github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= -github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= -github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= -github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= -github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-resty/resty/v2 v2.4.0/go.mod h1:B88+xCTEwvfD94NOuE6GS1wMlnoKNY8eEiNizfNwOwA= -github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= -github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= -github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= -github.com/hashicorp/go-bexpr v0.1.11 h1:6DqdA/KBjurGby9yTY0bmkathya0lfwF2SeuubCI7dY= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= -github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= -github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.1-0.20210310174557-0ca763054c88/go.mod h1:nNs7wvRfN1eKaMknBydLNQU6146XQim8t4h+q90biWo= -github.com/huin/goupnp v1.0.2/go.mod h1:0dxJBVBHqTMjIUMkESDTNgOOx/Mw5wYIfyFmdzSamkM= -github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= -github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= -github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= -github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= -github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= -github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= -github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= -github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= -github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= -github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= -github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= -github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= -github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= -github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= -github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= -github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= -github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= -github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= -github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c= -github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= -github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= -github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/prometheus/tsdb v0.10.0 h1:If5rVCMTp6W2SiRAQFlbpJNgVlgMEd+U2GZckwK38ic= -github.com/prometheus/tsdb v0.10.0/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= -github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= -github.com/robertkrimen/otto v0.0.0-20191219234010-c382bd3c16ff/go.mod h1:xvqspoSXJTIpemEonrMDFq6XzwHYYgToXWj5eRX1OtY= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= -github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/status-im/keycard-go v0.0.0-20211109104530-b0e0482ba91d h1:vmirMegf1vqPJ+lDBxLQ0MAt3tz+JL57UPxu44JBOjA= -github.com/status-im/keycard-go v0.0.0-20211109104530-b0e0482ba91d/go.mod h1:97vT0Rym0wCnK4B++hNA3nCetr0Mh1KXaVxzSt1arjg= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 h1:gIlAHnH1vJb5vwEjIp5kBj/eu99p/bl0Ay2goiPe5xE= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 h1:njlZPzLwU639dk2kqnCPPv+wNjq7Xb6EfUxe/oX0/NM= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= -github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= -github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= -github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= -github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU= -github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= -github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 h1:M73Iuj3xbbb9Uk1DYhzydthsj6oOd6l9bpuFcNoUvTs= -golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= -gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= -gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/batch-submitter/package.json b/batch-submitter/package.json deleted file mode 100644 index efaac5f6d0ec..000000000000 --- a/batch-submitter/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@eth-optimism/batch-submitter-service", - "version": "0.1.16", - "private": true, - "devDependencies": {} -} diff --git a/ops/docker-compose.yml b/ops/docker-compose.yml index 36e3bdff1a57..b9296badf016 100644 --- a/ops/docker-compose.yml +++ b/ops/docker-compose.yml @@ -219,23 +219,3 @@ services: GAS_PRICE_ORACLE_LAYER_TWO_HTTP_URL: http://l2geth:8545 # Default hardhat account 5 GAS_PRICE_ORACLE_PRIVATE_KEY: '0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba' - - batch_submitter: - depends_on: - - l1_chain - - deployer - - l2geth - build: - context: .. - dockerfile: ./batch-submitter/Dockerfile - image: ethereumoptimism/batch-submitter-service:${DOCKER_TAG_BATCH_SUBMITTER_SERVICE:-latest} - entrypoint: ./batch-submitter.sh - env_file: - - ./envs/batch-submitter.env - environment: - L1_ETH_RPC: http://l1_chain:8545 - L2_ETH_RPC: http://l2geth:8545 - URL: http://deployer:8081/addresses.json - BATCH_SUBMITTER_SEQUENCER_PRIVATE_KEY: '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d' - BATCH_SUBMITTER_PROPOSER_PRIVATE_KEY: '0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a' - BATCH_SUBMITTER_SEQUENCER_BATCH_TYPE: ${BATCH_SUBMITTER_SEQUENCER_BATCH_TYPE:-zlib} diff --git a/package.json b/package.json index ad56053f477d..cc1381e23995 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "workspaces": { "packages": [ "packages/*", - "batch-submitter", "bss-core", "gas-oracle", "l2geth",