taiko-geth

+2148
-63

This is an overview of the changes between taiko-geth (taiko branch) and go-ethereum (v1.12.2 tag).

this show modification to beacon files

diff --git ethereum/go-ethereum/beacon/engine/gen_blockmetadata.go taikoxyz/taiko-geth/beacon/engine/gen_blockmetadata.go new file mode 100644 index 0000000000000000000000000000000000000000..082b3004ce5ebcc38931643e8d72d63f01c27754 --- /dev/null +++ taikoxyz/taiko-geth/beacon/engine/gen_blockmetadata.go @@ -0,0 +1,75 @@ +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. + +package engine + +import ( + "encoding/json" + "errors" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/hexutil" +) + +var _ = (*blockMetadataMarshaling)(nil) + +// MarshalJSON marshals as JSON. +func (b BlockMetadata) MarshalJSON() ([]byte, error) { + type BlockMetadata struct { + Beneficiary common.Address `json:"beneficiary" gencodec:"required"` + GasLimit uint64 `json:"gasLimit" gencodec:"required"` + Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` + MixHash common.Hash `json:"mixHash" gencodec:"required"` + TxList hexutil.Bytes `json:"txList" gencodec:"required"` + HighestBlockID *big.Int `json:"highestBlockID" gencodec:"required"` + } + var enc BlockMetadata + enc.Beneficiary = b.Beneficiary + enc.GasLimit = b.GasLimit + enc.Timestamp = hexutil.Uint64(b.Timestamp) + enc.MixHash = b.MixHash + enc.TxList = b.TxList + enc.HighestBlockID = b.HighestBlockID + return json.Marshal(&enc) +} + +// UnmarshalJSON unmarshals from JSON. +func (b *BlockMetadata) UnmarshalJSON(input []byte) error { + type BlockMetadata struct { + Beneficiary *common.Address `json:"beneficiary" gencodec:"required"` + GasLimit *uint64 `json:"gasLimit" gencodec:"required"` + Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` + MixHash *common.Hash `json:"mixHash" gencodec:"required"` + TxList *hexutil.Bytes `json:"txList" gencodec:"required"` + HighestBlockID *big.Int `json:"highestBlockID" gencodec:"required"` + } + var dec BlockMetadata + if err := json.Unmarshal(input, &dec); err != nil { + return err + } + if dec.Beneficiary == nil { + return errors.New("missing required field 'beneficiary' for BlockMetadata") + } + b.Beneficiary = *dec.Beneficiary + if dec.GasLimit == nil { + return errors.New("missing required field 'gasLimit' for BlockMetadata") + } + b.GasLimit = *dec.GasLimit + if dec.Timestamp == nil { + return errors.New("missing required field 'timestamp' for BlockMetadata") + } + b.Timestamp = uint64(*dec.Timestamp) + if dec.MixHash == nil { + return errors.New("missing required field 'mixHash' for BlockMetadata") + } + b.MixHash = *dec.MixHash + if dec.TxList == nil { + return errors.New("missing required field 'txList' for BlockMetadata") + } + b.TxList = *dec.TxList + if dec.HighestBlockID == nil { + return errors.New("missing required field 'highestBlockID' for BlockMetadata") + } + b.HighestBlockID = dec.HighestBlockID + return nil +}
diff --git ethereum/go-ethereum/beacon/engine/gen_ed.go taikoxyz/taiko-geth/beacon/engine/gen_ed.go index 6893d64a1626a8e172a80865a5ccec6e4e0f53f6..adf754f65b81adc3fce30d8d209eff9c0bfe49e5 100644 --- ethereum/go-ethereum/beacon/engine/gen_ed.go +++ taikoxyz/taiko-geth/beacon/engine/gen_ed.go @@ -17,23 +17,24 @@ // MarshalJSON marshals as JSON. func (e ExecutableData) MarshalJSON() ([]byte, error) { type ExecutableData struct { - ParentHash common.Hash `json:"parentHash" gencodec:"required"` - FeeRecipient common.Address `json:"feeRecipient" gencodec:"required"` - StateRoot common.Hash `json:"stateRoot" gencodec:"required"` - ReceiptsRoot common.Hash `json:"receiptsRoot" gencodec:"required"` - LogsBloom hexutil.Bytes `json:"logsBloom" gencodec:"required"` - Random common.Hash `json:"prevRandao" gencodec:"required"` - Number hexutil.Uint64 `json:"blockNumber" gencodec:"required"` - GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"` - GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"` - Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` - ExtraData hexutil.Bytes `json:"extraData" gencodec:"required"` - BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` - BlockHash common.Hash `json:"blockHash" gencodec:"required"` - Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` - Withdrawals []*types.Withdrawal `json:"withdrawals"` - BlobGasUsed *hexutil.Uint64 `json:"blobGasUsed"` - ExcessBlobGas *hexutil.Uint64 `json:"excessBlobGas"` + ParentHash common.Hash `json:"parentHash" gencodec:"required"` + FeeRecipient common.Address `json:"feeRecipient" gencodec:"required"` + StateRoot common.Hash `json:"stateRoot" gencodec:"required"` + ReceiptsRoot common.Hash `json:"receiptsRoot" gencodec:"required"` + LogsBloom hexutil.Bytes `json:"logsBloom" gencodec:"required"` + Random common.Hash `json:"prevRandao" gencodec:"required"` + Number hexutil.Uint64 `json:"blockNumber" gencodec:"required"` + GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"` + GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"` + Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` + ExtraData hexutil.Bytes `json:"extraData" gencodec:"required"` + BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` + BlockHash common.Hash `json:"blockHash" gencodec:"required"` + Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` + Withdrawals []*types.Withdrawal `json:"withdrawals"` + TxHash common.Hash `json:"txHash"` + WithdrawalsHash common.Hash `json:"withdrawalsHash"` + TaikoBlock bool } var enc ExecutableData enc.ParentHash = e.ParentHash @@ -56,31 +57,33 @@ enc.Transactions[k] = v } } enc.Withdrawals = e.Withdrawals - enc.BlobGasUsed = (*hexutil.Uint64)(e.BlobGasUsed) - enc.ExcessBlobGas = (*hexutil.Uint64)(e.ExcessBlobGas) + enc.TxHash = e.TxHash + enc.WithdrawalsHash = e.WithdrawalsHash + enc.TaikoBlock = e.TaikoBlock return json.Marshal(&enc) }   // UnmarshalJSON unmarshals from JSON. func (e *ExecutableData) UnmarshalJSON(input []byte) error { type ExecutableData struct { - ParentHash *common.Hash `json:"parentHash" gencodec:"required"` - FeeRecipient *common.Address `json:"feeRecipient" gencodec:"required"` - StateRoot *common.Hash `json:"stateRoot" gencodec:"required"` - ReceiptsRoot *common.Hash `json:"receiptsRoot" gencodec:"required"` - LogsBloom *hexutil.Bytes `json:"logsBloom" gencodec:"required"` - Random *common.Hash `json:"prevRandao" gencodec:"required"` - Number *hexutil.Uint64 `json:"blockNumber" gencodec:"required"` - GasLimit *hexutil.Uint64 `json:"gasLimit" gencodec:"required"` - GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"` - Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` - ExtraData *hexutil.Bytes `json:"extraData" gencodec:"required"` - BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` - BlockHash *common.Hash `json:"blockHash" gencodec:"required"` - Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` - Withdrawals []*types.Withdrawal `json:"withdrawals"` - BlobGasUsed *hexutil.Uint64 `json:"blobGasUsed"` - ExcessBlobGas *hexutil.Uint64 `json:"excessBlobGas"` + ParentHash *common.Hash `json:"parentHash" gencodec:"required"` + FeeRecipient *common.Address `json:"feeRecipient" gencodec:"required"` + StateRoot *common.Hash `json:"stateRoot" gencodec:"required"` + ReceiptsRoot *common.Hash `json:"receiptsRoot" gencodec:"required"` + LogsBloom *hexutil.Bytes `json:"logsBloom" gencodec:"required"` + Random *common.Hash `json:"prevRandao" gencodec:"required"` + Number *hexutil.Uint64 `json:"blockNumber" gencodec:"required"` + GasLimit *hexutil.Uint64 `json:"gasLimit" gencodec:"required"` + GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"` + Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` + ExtraData *hexutil.Bytes `json:"extraData" gencodec:"required"` + BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` + BlockHash *common.Hash `json:"blockHash" gencodec:"required"` + Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` + Withdrawals []*types.Withdrawal `json:"withdrawals"` + TxHash *common.Hash `json:"txHash"` + WithdrawalsHash *common.Hash `json:"withdrawalsHash"` + TaikoBlock *bool } var dec ExecutableData if err := json.Unmarshal(input, &dec); err != nil { @@ -148,11 +151,14 @@ } if dec.Withdrawals != nil { e.Withdrawals = dec.Withdrawals } - if dec.BlobGasUsed != nil { - e.BlobGasUsed = (*uint64)(dec.BlobGasUsed) + if dec.TxHash != nil { + e.TxHash = *dec.TxHash + } + if dec.WithdrawalsHash != nil { + e.WithdrawalsHash = *dec.WithdrawalsHash } - if dec.ExcessBlobGas != nil { - e.ExcessBlobGas = (*uint64)(dec.ExcessBlobGas) + if dec.TaikoBlock != nil { + e.TaikoBlock = *dec.TaikoBlock } return nil }
diff --git ethereum/go-ethereum/beacon/engine/gen_blockparams.go taikoxyz/taiko-geth/beacon/engine/gen_blockparams.go index 0dd2b52597ad5ddc7fc46d97c6c8878edf29d471..1e339ba893cdd219360a423c2da5aeaf006e8de9 100644 --- ethereum/go-ethereum/beacon/engine/gen_blockparams.go +++ taikoxyz/taiko-geth/beacon/engine/gen_blockparams.go @@ -5,9 +5,11 @@ import ( "encoding/json" "errors" + "math/big"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/types" )   @@ -20,12 +22,18 @@ Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` Random common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` } var enc PayloadAttributes enc.Timestamp = hexutil.Uint64(p.Timestamp) enc.Random = p.Random enc.SuggestedFeeRecipient = p.SuggestedFeeRecipient enc.Withdrawals = p.Withdrawals + enc.BaseFeePerGas = p.BaseFeePerGas + enc.BlockMetadata = p.BlockMetadata + enc.L1Origin = p.L1Origin return json.Marshal(&enc) }   @@ -36,6 +44,9 @@ Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` Random *common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient *common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` } var dec PayloadAttributes if err := json.Unmarshal(input, &dec); err != nil { @@ -56,5 +67,17 @@ p.SuggestedFeeRecipient = *dec.SuggestedFeeRecipient if dec.Withdrawals != nil { p.Withdrawals = dec.Withdrawals } + if dec.BaseFeePerGas == nil { + return errors.New("missing required field 'baseFeePerGas' for PayloadAttributes") + } + p.BaseFeePerGas = dec.BaseFeePerGas + if dec.BlockMetadata == nil { + return errors.New("missing required field 'blockMetadata' for PayloadAttributes") + } + p.BlockMetadata = dec.BlockMetadata + if dec.L1Origin == nil { + return errors.New("missing required field 'l1Origin' for PayloadAttributes") + } + p.L1Origin = dec.L1Origin return nil }
diff --git ethereum/go-ethereum/beacon/engine/types.go taikoxyz/taiko-geth/beacon/engine/types.go index f1801edd1a93c548936c7db378e0905db9b155cd..d1c0a8e7b1101c3c46795935f9399432de3d4b4e 100644 --- ethereum/go-ethereum/beacon/engine/types.go +++ taikoxyz/taiko-geth/beacon/engine/types.go @@ -22,6 +22,7 @@ "math/big"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/crypto/kzg4844" "github.com/ethereum/go-ethereum/trie" @@ -36,6 +37,10 @@ Timestamp uint64 `json:"timestamp" gencodec:"required"` Random common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` + // CHANGE(taiko): extra fields. + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` }   // JSON type overrides for PayloadAttributes. @@ -43,6 +48,28 @@ type payloadAttributesMarshaling struct { Timestamp hexutil.Uint64 }   +//go:generate go run github.com/fjl/gencodec -type BlockMetadata -field-override blockMetadataMarshaling -out gen_blockmetadata.go + +// CHANGE(taiko): BlockMetadata represents a `BlockMetadata` struct defined in +// protocol. +type BlockMetadata struct { + // Fields defined in `LibData.blockMetadata`. + Beneficiary common.Address `json:"beneficiary" gencodec:"required"` + GasLimit uint64 `json:"gasLimit" gencodec:"required"` + Timestamp uint64 `json:"timestamp" gencodec:"required"` + MixHash common.Hash `json:"mixHash" gencodec:"required"` + + // Extra fields required in go-taiko. + TxList []byte `json:"txList" gencodec:"required"` + HighestBlockID *big.Int `json:"highestBlockID" gencodec:"required"` +} + +// CHANGE(taiko): JSON type overrides for BlockMetadata. +type blockMetadataMarshaling struct { + Timestamp hexutil.Uint64 + TxList hexutil.Bytes +} + //go:generate go run github.com/fjl/gencodec -type ExecutableData -field-override executableDataMarshaling -out gen_ed.go   // ExecutableData is the data necessary to execute an EL payload. @@ -64,6 +91,10 @@ Transactions [][]byte `json:"transactions" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BlobGasUsed *uint64 `json:"blobGasUsed"` ExcessBlobGas *uint64 `json:"excessBlobGas"` + + TxHash common.Hash `json:"txHash"` // CHANGE(taiko): allow passing txHash directly instead of transactions list + WithdrawalsHash common.Hash `json:"withdrawalsHash"` // CHANGE(taiko): allow passing WithdrawalsHash directly instead of withdrawals + TaikoBlock bool // CHANGE(taiko): whether this is a Taiko L2 block, only used by ExecutableDataToBlock }   // JSON type overrides for executableData.

This shows modifications to cmd files

These changes are for registering our RPC APIs and custom genesis settings.

diff --git ethereum/go-ethereum/cmd/geth/main.go taikoxyz/taiko-geth/cmd/geth/main.go index 568aec4b8b7a8204ea0e49be3b123b51f39b7d66..08d9a2a876269b8d70f3023d3bd3697e94a9f8ad 100644 --- ethereum/go-ethereum/cmd/geth/main.go +++ taikoxyz/taiko-geth/cmd/geth/main.go @@ -242,6 +242,9 @@ debug.Flags, metricsFlags, )   + // CHANGE(taiko): append Taiko flags into the original GETH flags + app.Flags = append(app.Flags, &utils.TaikoFlag) + app.Before = func(ctx *cli.Context) error { maxprocs.Set() // Automatically set GOMAXPROCS to match Linux container CPU quota. flags.MigrateGlobalFlags(ctx)
diff --git ethereum/go-ethereum/cmd/utils/taiko_flags.go taikoxyz/taiko-geth/cmd/utils/taiko_flags.go new file mode 100644 index 0000000000000000000000000000000000000000..d6d23c96cfbe517dc2264ff5d367bb87d62ebf78 --- /dev/null +++ taikoxyz/taiko-geth/cmd/utils/taiko_flags.go @@ -0,0 +1,35 @@ +package utils + +import ( + "os" + + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/urfave/cli/v2" +) + +var ( + TaikoFlag = cli.BoolFlag{ + Name: "taiko", + Usage: "Taiko network", + } +) + +// RegisterTaikoAPIs initializes and registers the Taiko RPC APIs. +func RegisterTaikoAPIs(stack *node.Node, cfg *ethconfig.Config, backend *eth.Ethereum) { + if os.Getenv("TAIKO_TEST") != "" { + return + } + // Add methods under "taiko_" RPC namespace to the available APIs list + stack.RegisterAPIs([]rpc.API{ + { + Namespace: "taiko", + Version: params.VersionWithMeta, + Service: eth.NewTaikoAPIBackend(backend), + Public: true, + }, + }) +}
diff --git ethereum/go-ethereum/cmd/utils/flags.go taikoxyz/taiko-geth/cmd/utils/flags.go index e0c7a42670e1549224ce8df8fadd6ee80eefb2de..8c70eb10b0583177a00d45ba9c649b6d1f6a55d0 100644 --- ethereum/go-ethereum/cmd/utils/flags.go +++ taikoxyz/taiko-geth/cmd/utils/flags.go @@ -1745,6 +1745,9 @@ } } // Override any default configs for hard coded networks. switch { + // CHANGE(taiko): when --taiko flag is set, use the Taiko genesis. + case ctx.IsSet(TaikoFlag.Name): + cfg.Genesis = core.TaikoGenesisBlock(cfg.NetworkId) case ctx.Bool(MainnetFlag.Name): if !ctx.IsSet(NetworkIdFlag.Name) { cfg.NetworkId = 1
diff --git ethereum/go-ethereum/cmd/geth/config.go taikoxyz/taiko-geth/cmd/geth/config.go index 1a3de04bd4d2ad68682ee3495c08c3f7357cb7ea..9901ee919ebea87743bac36f7ae8395520ba7692 100644 --- ethereum/go-ethereum/cmd/geth/config.go +++ taikoxyz/taiko-geth/cmd/geth/config.go @@ -177,6 +177,9 @@ cfg.Eth.OverrideVerkle = &v } backend, eth := utils.RegisterEthService(stack, &cfg.Eth)   + // CHANGE(TAIKO): register Taiko RPC APIs. + utils.RegisterTaikoAPIs(stack, &cfg.Eth, eth) + // Configure log filter RPC API. filterSystem := utils.RegisterFilterAPI(stack, backend, &cfg.Eth)

This shows modifications to consensus files

This is our Taiko consensus engine, built for L2 rollup.

diff --git ethereum/go-ethereum/consensus/taiko/consensus.go taikoxyz/taiko-geth/consensus/taiko/consensus.go new file mode 100644 index 0000000000000000000000000000000000000000..dabf9fe2bc5d748e41ca516cabd78bafa047f865 --- /dev/null +++ taikoxyz/taiko-geth/consensus/taiko/consensus.go @@ -0,0 +1,347 @@ +package taiko + +import ( + "bytes" + "errors" + "fmt" + "math/big" + "runtime" + "strings" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus" + "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/ethereum/go-ethereum/trie" +) + +var ( + ErrOlderBlockTime = errors.New("timestamp older than parent") + ErrUnclesNotEmpty = errors.New("uncles not empty") + ErrEmptyBasefee = errors.New("empty base fee") + ErrEmptyWithdrawalsHash = errors.New("withdrawals hash missing") + ErrAnchorTxNotFound = errors.New("anchor transaction not found") + + GoldenTouchAccount = common.HexToAddress("0x0000777735367b36bC9B61C50022d9D0700dB4Ec") + AnchorSelector = crypto.Keccak256([]byte("anchor(bytes32,bytes32,uint64,uint32)"))[:4] + AnchorGasLimit = uint64(180_000) + TaikoL2Address = common.HexToAddress("0x1000777700000000000000000000000000000001") +) + +// Taiko is a consensus engine used by L2 rollup. +type Taiko struct { + chainConfig *params.ChainConfig +} + +var _ = new(Taiko) + +func New(chainConfig *params.ChainConfig) *Taiko { + crypto.Keccak256() + return &Taiko{chainConfig} +} + +// check all method stubs for interface `Engine` without affect performance. +var _ consensus.Engine = (*Taiko)(nil) + +// Author retrieves the Ethereum address of the account that minted the given +// block, who proposes the block (not the prover). +func (t *Taiko) Author(header *types.Header) (common.Address, error) { + return header.Coinbase, nil +} + +// VerifyHeader checks whether a header conforms to the consensus rules of a +// given engine. Verifying the seal may be done optionally here, or explicitly +// via the VerifySeal method. +func (t *Taiko) VerifyHeader(chain consensus.ChainHeaderReader, header *types.Header) error { + // Short circuit if the header is known, or its parent not + number := header.Number.Uint64() + if chain.GetHeader(header.Hash(), number) != nil { + return nil + } + parent := chain.GetHeader(header.ParentHash, number-1) + if parent == nil { + return consensus.ErrUnknownAncestor + } + // Sanity checks passed, do a proper verification + return t.verifyHeader(chain, header, parent, time.Now().Unix()) +} + +// VerifyHeaders is similar to VerifyHeader, but verifies a batch of headers +// concurrently. The method returns a quit channel to abort the operations and +// a results channel to retrieve the async verifications (the order is that of +// the input slice). +func (t *Taiko) VerifyHeaders(chain consensus.ChainHeaderReader, headers []*types.Header) (chan<- struct{}, <-chan error) { + // Spawn as many workers as allowed threads + workers := runtime.GOMAXPROCS(0) + if len(headers) < workers { + workers = len(headers) + } + + // Create a task channel and spawn the verifiers + var ( + inputs = make(chan int) + done = make(chan int, workers) + errors = make([]error, len(headers)) + abort = make(chan struct{}) + unixNow = time.Now().Unix() + ) + for i := 0; i < workers; i++ { + go func() { + for index := range inputs { + errors[index] = t.verifyHeaderWorker(chain, headers, index, unixNow) + done <- index + } + }() + } + + errorsOut := make(chan error, len(headers)) + go func() { + defer close(inputs) + var ( + in, out = 0, 0 + checked = make([]bool, len(headers)) + inputs = inputs + ) + for { + select { + case inputs <- in: + if in++; in == len(headers) { + // Reached end of headers. Stop sending to workers. + inputs = nil + } + case index := <-done: + for checked[index] = true; checked[out]; out++ { + errorsOut <- errors[out] + if out == len(headers)-1 { + return + } + } + case <-abort: + return + } + } + }() + return abort, errorsOut +} + +func (t *Taiko) verifyHeader(chain consensus.ChainHeaderReader, header, parent *types.Header, unixNow int64) error { + if header.Time > uint64(unixNow) { + return consensus.ErrFutureBlock + } + + // Ensure that the header's extra-data section is of a reasonable size (<= 32 bytes) + if uint64(len(header.Extra)) > params.MaximumExtraDataSize { + return fmt.Errorf("extra-data too long: %d > %d", len(header.Extra), params.MaximumExtraDataSize) + } + + // Timestamp should later than or equal to parent (when many L2 blocks included in one L1 block) + if header.Time < parent.Time { + return ErrOlderBlockTime + } + + // Verify that the block number is parent's +1 + if diff := new(big.Int).Sub(header.Number, parent.Number); diff.Cmp(big.NewInt(1)) != 0 { + return consensus.ErrInvalidNumber + } + + // Difficulty should always be zero + if header.Difficulty != nil && header.Difficulty.Cmp(common.Big0) != 0 { + return fmt.Errorf("invalid difficulty: have %v, want %v", header.Difficulty, common.Big0) + } + + // Verify that the gas limit is <= 2^63-1 + if header.GasLimit > params.MaxGasLimit { + return fmt.Errorf("invalid gasLimit: have %v, max %v", header.GasLimit, params.MaxGasLimit) + } + + // Verify that the gasUsed is <= gasLimit + if header.GasUsed > header.GasLimit { + return fmt.Errorf("invalid gasUsed: have %d, gasLimit %d", header.GasUsed, header.GasLimit) + } + + // Uncles should be empty + if header.UncleHash != types.CalcUncleHash(nil) { + return ErrUnclesNotEmpty + } + + // BaseFee should not be empty + if header.BaseFee == nil { + return ErrEmptyBasefee + } + + // WithdrawalsHash should not be empty + if header.WithdrawalsHash == nil { + return ErrEmptyWithdrawalsHash + } + + return nil +} + +func (t *Taiko) verifyHeaderWorker(chain consensus.ChainHeaderReader, headers []*types.Header, index int, unixNow int64) error { + var parent *types.Header + if index == 0 { + parent = chain.GetHeader(headers[0].ParentHash, headers[0].Number.Uint64()-1) + } else if headers[index-1].Hash() == headers[index].ParentHash { + parent = headers[index-1] + } + if parent == nil { + return consensus.ErrUnknownAncestor + } + + return t.verifyHeader(chain, headers[index], parent, unixNow) +} + +// VerifyUncles verifies that the given block's uncles conform to the consensus +// rules of a given engine. +// +// always returning an error for any uncles as this consensus mechanism doesn't permit uncles. +func (t *Taiko) VerifyUncles(chain consensus.ChainReader, block *types.Block) error { + if len(block.Uncles()) > 0 { + return ErrUnclesNotEmpty + } + + return nil +} + +// Prepare initializes the consensus fields of a block header according to the +// rules of a particular engine. The changes are executed inline. +func (t *Taiko) Prepare(chain consensus.ChainHeaderReader, header *types.Header) error { + parent := chain.GetHeader(header.ParentHash, header.Number.Uint64()-1) + if parent == nil { + return consensus.ErrUnknownAncestor + } + header.Difficulty = common.Big0 + return nil +} + +// Finalize runs any post-transaction state modifications (e.g. block rewards) +// but does not assemble the block. +// +// Note: The block header and state database might be updated to reflect any +// consensus rules that happen at finalization (e.g. block rewards). +func (t *Taiko) Finalize(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, withdrawals []*types.Withdrawal) { + // no block rewards in l2 + header.UncleHash = types.CalcUncleHash(nil) + header.Difficulty = common.Big0 + // Withdrawals processing. + for _, w := range withdrawals { + state.AddBalance(w.Address, new(big.Int).SetUint64(w.Amount)) + } + header.Root = state.IntermediateRoot(true) +} + +// FinalizeAndAssemble runs any post-transaction state modifications (e.g. block +// rewards) and assembles the final block. +// +// Note: The block header and state database might be updated to reflect any +// consensus rules that happen at finalization (e.g. block rewards). +func (t *Taiko) FinalizeAndAssemble(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, receipts []*types.Receipt, withdrawals []*types.Withdrawal) (*types.Block, error) { + if withdrawals == nil { + withdrawals = make([]*types.Withdrawal, 0) + } + + // Verify anchor transaction + if len(txs) != 0 { // Transactions list might be empty when building empty payload. + isAnchor, err := t.ValidateAnchorTx(txs[0], header) + if err != nil { + return nil, err + } + if !isAnchor { + return nil, ErrAnchorTxNotFound + } + } + + // Finalize block + t.Finalize(chain, header, state, txs, uncles, withdrawals) + return types.NewBlockWithWithdrawals( + header, txs, nil /* ignore uncles */, receipts, withdrawals, trie.NewStackTrie(nil), + ), nil +} + +// Seal generates a new sealing request for the given input block and pushes +// the result into the given channel. +// +// Note, the method returns immediately and will send the result async. More +// than one result may also be returned depending on the consensus algorithm. +func (t *Taiko) Seal(chain consensus.ChainHeaderReader, block *types.Block, results chan<- *types.Block, stop <-chan struct{}) error { + header := block.Header() + + // Sealing the genesis block is not supported + number := header.Number.Uint64() + if number == 0 { + return consensus.ErrInvalidNumber + } + + select { + case results <- block.WithSeal(header): + case <-stop: + return nil + default: + log.Warn("Sealing result is not read by miner", "sealHash", t.SealHash(header)) + } + + return nil +} + +// SealHash returns the hash of a block prior to it being sealed. +func (t *Taiko) SealHash(header *types.Header) common.Hash { + // Keccak(rlp(header)) + return header.Hash() +} + +// CalcDifficulty is the difficulty adjustment algorithm. It returns the difficulty +// that a new block should have. +func (t *Taiko) CalcDifficulty(chain consensus.ChainHeaderReader, time uint64, parent *types.Header) *big.Int { + return common.Big0 +} + +// ValidateAnchorTx checks if the given transaction is a valid TaikoL2.anchor transaction. +func (t *Taiko) ValidateAnchorTx(tx *types.Transaction, header *types.Header) (bool, error) { + if tx.Type() != types.DynamicFeeTxType { + return false, nil + } + + if tx.To() == nil || *tx.To() != TaikoL2Address { + return false, nil + } + + if !bytes.HasPrefix(tx.Data(), AnchorSelector) { + return false, nil + } + + if tx.Value().Cmp(common.Big0) != 0 { + return false, nil + } + + if tx.Gas() != AnchorGasLimit { + return false, nil + } + + if tx.GasFeeCap().Cmp(header.BaseFee) != 0 { + return false, nil + } + + s := types.MakeSigner(t.chainConfig, header.Number, header.Time) + + addr, err := s.Sender(tx) + if err != nil { + return false, err + } + + return strings.EqualFold(addr.String(), GoldenTouchAccount.String()), nil +} + +// APIs returns the RPC APIs this consensus engine provides. +func (t *Taiko) APIs(chain consensus.ChainHeaderReader) []rpc.API { + return nil +} + +// Close terminates any background threads maintained by the consensus engine. +func (t *Taiko) Close() error { + return nil +}
diff --git ethereum/go-ethereum/consensus/taiko/consensus_test.go taikoxyz/taiko-geth/consensus/taiko/consensus_test.go new file mode 100644 index 0000000000000000000000000000000000000000..5f1615878cd6214e07ae7d69374dd2fdad70124a --- /dev/null +++ taikoxyz/taiko-geth/consensus/taiko/consensus_test.go @@ -0,0 +1,226 @@ +package taiko_test + +import ( + "bytes" + "math/big" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus" + "github.com/ethereum/go-ethereum/consensus/taiko" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/stretchr/testify/assert" +) + +var ( + testL2RollupAddress = common.HexToAddress("0x79fcdef22feed20eddacbb2587640e45491b757f") + testKey, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") + goldenTouchKey, _ = crypto.HexToECDSA("92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce38") + testAddr = crypto.PubkeyToAddress(testKey.PublicKey) + + genesis *core.Genesis + txs []*types.Transaction + testEngine *taiko.Taiko +) + +func init() { + config := params.TestChainConfig + config.GrayGlacierBlock = nil + config.ArrowGlacierBlock = nil + config.Ethash = nil + config.Taiko = true + testEngine = taiko.New(config) + + genesis = &core.Genesis{ + Config: config, + Alloc: core.GenesisAlloc{testAddr: {Balance: big.NewInt(2e15)}}, + ExtraData: []byte("test genesis"), + Timestamp: 9000, + Difficulty: common.Big0, + BaseFee: big.NewInt(params.InitialBaseFee), + } + + txs = []*types.Transaction{ + types.MustSignNewTx(goldenTouchKey, types.LatestSigner(genesis.Config), &types.DynamicFeeTx{ + Nonce: 0, + GasTipCap: common.Big0, + GasFeeCap: new(big.Int).SetUint64(875_000_000), + Data: taiko.AnchorSelector, + Gas: taiko.AnchorGasLimit, + To: &taiko.TaikoL2Address, + }), + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 0, + Value: big.NewInt(12), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &common.Address{2}, + }), + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 1, + Value: big.NewInt(8), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &common.Address{2}, + }), + // prepareBlockTx + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 2, + Value: big.NewInt(8), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &testL2RollupAddress, + }), + } +} + +func newTestBackend(t *testing.T) (*eth.Ethereum, []*types.Block) { + // Generate test chain. + blocks := generateTestChain() + + // Create node + n, err := node.New(&node.Config{}) + if err != nil { + t.Fatalf("can't create new node: %v", err) + } + + // Create Ethereum Service + config := &ethconfig.Config{ + Genesis: genesis, + } + + ethservice, err := eth.New(n, config) + if err != nil { + t.Fatalf("can't create new ethereum service: %v", err) + } + + // Import the test chain. + if err := n.Start(); err != nil { + t.Fatalf("can't start test node: %v", err) + } + + if _, err := ethservice.BlockChain().InsertChain(blocks[1:]); err != nil { + t.Fatalf("can't import test blocks: %v", err) + } + + if _, ok := ethservice.Engine().(*taiko.Taiko); !ok { + t.Fatalf("not use taiko engine") + } + + return ethservice, blocks +} + +func generateTestChain() []*types.Block { + db := rawdb.NewMemoryDatabase() + generate := func(i int, g *core.BlockGen) { + g.OffsetTime(5) + + g.SetExtra([]byte("test_taiko")) + g.SetDifficulty(common.Big0) + + for i, tx := range txs { + if i == 0 { + if err := tx.MarkAsAnchor(); err != nil { + panic(err) + } + } + g.AddTx(tx) + } + } + + gblock := genesis.MustCommit(db) + + blocks, _ := core.GenerateChain(genesis.Config, gblock, testEngine, db, 1, generate) + + blocks = append([]*types.Block{gblock}, blocks...) + return blocks +} + +func TestVerifyHeader(t *testing.T) { + ethService, blocks := newTestBackend(t) + + for _, b := range blocks { + err := testEngine.VerifyHeader(ethService.BlockChain(), b.Header()) + assert.NoErrorf(t, err, "VerifyHeader error: %s", err) + } + + err := testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + Number: common.Big1, + Time: uint64(time.Now().Unix()), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorIs(t, err, consensus.ErrUnknownAncestor, "VerifyHeader should throw ErrUnknownAncestor when parentHash is unknown") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: common.Big0, + Time: uint64(time.Now().Unix()), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorIs(t, err, consensus.ErrInvalidNumber, "VerifyHeader should throw ErrInvalidNumber when the block number is wrong") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + Extra: bytes.Repeat([]byte{1}, int(params.MaximumExtraDataSize+1)), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "extra-data too long", "VerifyHeader should throw ErrExtraDataTooLong when the block has too much extra data") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + Difficulty: common.Big1, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "invalid difficulty", "VerifyHeader should throw ErrInvalidDifficulty when difficulty is not 0") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit + 1, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "invalid gasLimit", "VerifyHeader should throw ErrInvalidGasLimit when gasLimit is higher than the limit") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit, + BaseFee: big.NewInt(params.InitialBaseFee), + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "withdrawals hash missing", "VerifyHeader should throw ErrWithdrawalsHashMissing withdrawalshash is nil") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + }) + assert.ErrorContains(t, err, "uncles not empty", "VerifyHeader should throw ErrUnclesNotEmpty if uncles is not the empty hash") +}

This shows modifications to core files

diff --git ethereum/go-ethereum/core/state_processor.go taikoxyz/taiko-geth/core/state_processor.go index fcaf5a8ff3c9bd36cd741f5a3d413521ff8ab2d2..828f841145929c2abb6f758b94aaccc8fbcd164e 100644 --- ethereum/go-ethereum/core/state_processor.go +++ taikoxyz/taiko-geth/core/state_processor.go @@ -78,6 +78,11 @@ signer = types.MakeSigner(p.config, header.Number, header.Time) ) // Iterate over and process the individual transactions for i, tx := range block.Transactions() { + if i == 0 && p.config.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, nil, 0, err + } + } msg, err := TransactionToMessage(tx, signer, header.BaseFee) if err != nil { return nil, nil, 0, fmt.Errorf("could not apply tx %d [%v]: %w", i, tx.Hash().Hex(), err)
diff --git ethereum/go-ethereum/core/taiko_genesis.go taikoxyz/taiko-geth/core/taiko_genesis.go new file mode 100644 index 0000000000000000000000000000000000000000..b04cac1b5cfa78d77ab2042de9f9d61da6f2fc08 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis.go @@ -0,0 +1,58 @@ +package core + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + taikoGenesis "github.com/ethereum/go-ethereum/core/taiko_genesis" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" +) + +// TaikoGenesisBlock returns the Taiko network genesis block configs. +func TaikoGenesisBlock(networkID uint64) *Genesis { + chainConfig := params.TaikoChainConfig + + var allocJSON []byte + switch networkID { + case params.TaikoInternalNetworkID.Uint64(): + chainConfig.ChainID = params.TaikoInternalNetworkID + allocJSON = taikoGenesis.InternalGenesisAllocJSON + case params.TaikoInternalL3NetworkID.Uint64(): + chainConfig.ChainID = params.TaikoInternalL3NetworkID + allocJSON = taikoGenesis.InternalL3GenesisAllocJSON + case params.SnaefellsjokullNetworkID.Uint64(): + chainConfig.ChainID = params.SnaefellsjokullNetworkID + allocJSON = taikoGenesis.SnaefellsjokullGenesisAllocJSON + case params.AskjaNetworkID.Uint64(): + chainConfig.ChainID = params.AskjaNetworkID + allocJSON = taikoGenesis.AskjaGenesisAllocJSON + case params.GrimsvotnNetworkID.Uint64(): + chainConfig.ChainID = params.GrimsvotnNetworkID + allocJSON = taikoGenesis.GrimsvotnGenesisAllocJSON + case params.EldfellNetworkID.Uint64(): + chainConfig.ChainID = params.EldfellNetworkID + allocJSON = taikoGenesis.EldfellGenesisAllocJSON + case params.JolnirNetworkID.Uint64(): + chainConfig.ChainID = params.JolnirNetworkID + allocJSON = taikoGenesis.JolnirGenesisAllocJSON + default: + chainConfig.ChainID = params.TaikoInternalNetworkID + allocJSON = taikoGenesis.InternalGenesisAllocJSON + } + + var alloc GenesisAlloc + if err := alloc.UnmarshalJSON(allocJSON); err != nil { + log.Crit("unmarshal alloc json error", "error", err) + } + + return &Genesis{ + Config: chainConfig, + ExtraData: []byte{}, + GasLimit: uint64(8000000), + Difficulty: common.Big0, + Alloc: alloc, + GasUsed: 0, + BaseFee: new(big.Int).SetUint64(10000000), + } +}
diff --git ethereum/go-ethereum/core/state_transition.go taikoxyz/taiko-geth/core/state_transition.go index f84757be781fba4beec4d64c5fa832c259a80a3e..13a9852a8b5840b7180622fbeaccf0828cfbcb56 100644 --- ethereum/go-ethereum/core/state_transition.go +++ taikoxyz/taiko-geth/core/state_transition.go @@ -30,6 +30,10 @@ "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" )   +var ( + treasury = common.HexToAddress("0xdf09A0afD09a63fb04ab3573922437e1e637dE8b") +) + // ExecutionResult includes all output after executing given evm // message no matter the execution itself is successful or not. type ExecutionResult struct { @@ -144,6 +148,9 @@ // When SkipAccountChecks is true, the message nonce is not checked against the // account nonce in state. It also disables checking that the sender is an EOA. // This field will be set to true for operations like RPC eth_call. SkipAccountChecks bool + + // CHANGE(taiko): whether the current transaction is the first TaikoL2.anchor transaction in a block. + IsAnchor bool }   // TransactionToMessage converts a transaction into a Message. @@ -161,6 +168,7 @@ AccessList: tx.AccessList(), SkipAccountChecks: false, BlobHashes: tx.BlobHashes(), BlobGasFeeCap: tx.BlobGasFeeCap(), + IsAnchor: tx.IsAnchor(), } // If baseFee provided, set gasPrice to effectiveGasPrice. if baseFee != nil { @@ -252,6 +260,11 @@ blobFee.Mul(blobFee, eip4844.CalcBlobFee(*st.evm.Context.ExcessBlobGas)) mgval.Add(mgval, blobFee) } } + // CHANGE(taiko): skip balance check for TaikoL2.anchor transaction. + if st.msg.IsAnchor { + balanceCheck = common.Big0 + mgval = common.Big0 + } if have, want := st.state.GetBalance(st.msg.From), balanceCheck; have.Cmp(want) < 0 { return fmt.Errorf("%w: address %v have %v want %v", ErrInsufficientFunds, st.msg.From.Hex(), have, want) } @@ -292,7 +305,7 @@ // Make sure that transaction gasFeeCap is greater than the baseFee (post london) if st.evm.ChainConfig().IsLondon(st.evm.Context.BlockNumber) { // Skip the checks if gas fields are zero and baseFee was explicitly disabled (eth_call) - if !st.evm.Config.NoBaseFee || msg.GasFeeCap.BitLen() > 0 || msg.GasTipCap.BitLen() > 0 { + if (!st.evm.Config.NoBaseFee || msg.GasFeeCap.BitLen() > 0 || msg.GasTipCap.BitLen() > 0) && !st.msg.IsAnchor { if l := msg.GasFeeCap.BitLen(); l > 256 { return fmt.Errorf("%w: address %v, maxFeePerGas bit length: %d", ErrFeeCapVeryHigh, msg.From.Hex(), l) @@ -436,6 +449,13 @@ } else { fee := new(big.Int).SetUint64(st.gasUsed()) fee.Mul(fee, effectiveTip) st.state.AddBalance(st.evm.Context.Coinbase, fee) + // CHANGE(taiko): basefee is not burnt, but sent to a treasury instead. + if st.evm.ChainConfig().Taiko && st.evm.Context.BaseFee != nil && !st.msg.IsAnchor { + st.state.AddBalance( + treasury, + new(big.Int).Mul(st.evm.Context.BaseFee, new(big.Int).SetUint64(st.gasUsed())), + ) + } }   return &ExecutionResult{
diff --git ethereum/go-ethereum/core/types/taiko_transaction.go taikoxyz/taiko-geth/core/types/taiko_transaction.go new file mode 100644 index 0000000000000000000000000000000000000000..d9cd9fb4a42d96124b3a338a18cf7280db17e420 --- /dev/null +++ taikoxyz/taiko-geth/core/types/taiko_transaction.go @@ -0,0 +1,42 @@ +package types + +func (tx *Transaction) MarkAsAnchor() error { + return tx.inner.markAsAnchor() +} + +func (tx *Transaction) IsAnchor() bool { + return tx.inner.isAnchor() +} + +func (tx *DynamicFeeTx) isAnchor() bool { + return tx.isAnhcor +} + +func (tx *LegacyTx) isAnchor() bool { + return false +} + +func (tx *AccessListTx) isAnchor() bool { + return false +} + +func (tx *BlobTx) isAnchor() bool { + return false +} + +func (tx *DynamicFeeTx) markAsAnchor() error { + tx.isAnhcor = true + return nil +} + +func (tx *LegacyTx) markAsAnchor() error { + return ErrInvalidTxType +} + +func (tx *AccessListTx) markAsAnchor() error { + return ErrInvalidTxType +} + +func (tx *BlobTx) markAsAnchor() error { + return ErrInvalidTxType +}
diff --git ethereum/go-ethereum/core/rawdb/gen_taiko_l1_origin.go taikoxyz/taiko-geth/core/rawdb/gen_taiko_l1_origin.go new file mode 100644 index 0000000000000000000000000000000000000000..6cbd6c3cdbc0a1f87d5e816e6103b2a2d082354b --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/gen_taiko_l1_origin.go @@ -0,0 +1,60 @@ +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. + +package rawdb + +import ( + "encoding/json" + "errors" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" +) + +var _ = (*l1OriginMarshaling)(nil) + +// MarshalJSON marshals as JSON. +func (l L1Origin) MarshalJSON() ([]byte, error) { + type L1Origin struct { + BlockID *math.HexOrDecimal256 `json:"blockID" gencodec:"required"` + L2BlockHash common.Hash `json:"l2BlockHash"` + L1BlockHeight *math.HexOrDecimal256 `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash common.Hash `json:"l1BlockHash" gencodec:"required"` + } + var enc L1Origin + enc.BlockID = (*math.HexOrDecimal256)(l.BlockID) + enc.L2BlockHash = l.L2BlockHash + enc.L1BlockHeight = (*math.HexOrDecimal256)(l.L1BlockHeight) + enc.L1BlockHash = l.L1BlockHash + return json.Marshal(&enc) +} + +// UnmarshalJSON unmarshals from JSON. +func (l *L1Origin) UnmarshalJSON(input []byte) error { + type L1Origin struct { + BlockID *math.HexOrDecimal256 `json:"blockID" gencodec:"required"` + L2BlockHash *common.Hash `json:"l2BlockHash"` + L1BlockHeight *math.HexOrDecimal256 `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash *common.Hash `json:"l1BlockHash" gencodec:"required"` + } + var dec L1Origin + if err := json.Unmarshal(input, &dec); err != nil { + return err + } + if dec.BlockID == nil { + return errors.New("missing required field 'blockID' for L1Origin") + } + l.BlockID = (*big.Int)(dec.BlockID) + if dec.L2BlockHash != nil { + l.L2BlockHash = *dec.L2BlockHash + } + if dec.L1BlockHeight == nil { + return errors.New("missing required field 'l1BlockHeight' for L1Origin") + } + l.L1BlockHeight = (*big.Int)(dec.L1BlockHeight) + if dec.L1BlockHash == nil { + return errors.New("missing required field 'l1BlockHash' for L1Origin") + } + l.L1BlockHash = *dec.L1BlockHash + return nil +}
diff --git ethereum/go-ethereum/core/types/tx_dynamic_fee.go taikoxyz/taiko-geth/core/types/tx_dynamic_fee.go index 47b870abbf5c028fef7984dc00b320a1b5848ec8..2676dc74ac3566a1a158db978d7abb991a404183 100644 --- ethereum/go-ethereum/core/types/tx_dynamic_fee.go +++ taikoxyz/taiko-geth/core/types/tx_dynamic_fee.go @@ -38,6 +38,9 @@ // Signature values V *big.Int `json:"v" gencodec:"required"` R *big.Int `json:"r" gencodec:"required"` S *big.Int `json:"s" gencodec:"required"` + + // CHANGE(taiko): if this transaction is the first TaikoL2.anchor transaction in a block + isAnhcor bool }   // copy creates a deep copy of the transaction data and initializes all fields. @@ -56,6 +59,7 @@ GasFeeCap: new(big.Int), V: new(big.Int), R: new(big.Int), S: new(big.Int), + isAnhcor: tx.isAnhcor, } copy(cpy.AccessList, tx.AccessList) if tx.Value != nil {
diff --git ethereum/go-ethereum/core/rawdb/taiko_l1_origin_test.go taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin_test.go new file mode 100644 index 0000000000000000000000000000000000000000..dae37a354fa5a6f9afae623e30cc2e9e8e1d69e8 --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin_test.go @@ -0,0 +1,59 @@ +package rawdb + +import ( + "crypto/rand" + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/log" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// randomBigInt generates a random big integer. +func randomBigInt() *big.Int { + randomBigInt, err := rand.Int(rand.Reader, common.Big256) + if err != nil { + log.Crit(err.Error()) + } + + return randomBigInt +} + +// randomHash generates a random blob of data and returns it as a hash. +func randomHash() common.Hash { + var hash common.Hash + if n, err := rand.Read(hash[:]); n != common.HashLength || err != nil { + panic(err) + } + return hash +} + +func TestL1Origin(t *testing.T) { + db := NewMemoryDatabase() + testL1Origin := &L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: randomHash(), + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + l1Origin, err := ReadL1Origin(db, testL1Origin.BlockID) + require.Nil(t, err) + require.NotNil(t, l1Origin) + assert.Equal(t, testL1Origin.BlockID, l1Origin.BlockID) + assert.Equal(t, testL1Origin.L2BlockHash, l1Origin.L2BlockHash) + assert.Equal(t, testL1Origin.L1BlockHeight, l1Origin.L1BlockHeight) + assert.Equal(t, testL1Origin.L1BlockHash, l1Origin.L1BlockHash) +} + +func TestHeadL1Origin(t *testing.T) { + db := NewMemoryDatabase() + testBlockID := randomBigInt() + WriteHeadL1Origin(db, testBlockID) + blockID, err := ReadHeadL1Origin(db) + require.Nil(t, err) + require.NotNil(t, blockID) + assert.Equal(t, testBlockID, blockID) +}
diff --git ethereum/go-ethereum/core/taiko_genesis/genesis_alloc.go taikoxyz/taiko-geth/core/taiko_genesis/genesis_alloc.go new file mode 100644 index 0000000000000000000000000000000000000000..763ef7550e676883b515b911d27e7a8f6fb332ad --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/genesis_alloc.go @@ -0,0 +1,26 @@ +package taiko_genesis + +import ( + _ "embed" +) + +//go:embed internal.json +var InternalGenesisAllocJSON []byte + +//go:embed internal_l3.json +var InternalL3GenesisAllocJSON []byte + +//go:embed snaefellsjokull.json +var SnaefellsjokullGenesisAllocJSON []byte + +//go:embed askja.json +var AskjaGenesisAllocJSON []byte + +//go:embed grimsvotn.json +var GrimsvotnGenesisAllocJSON []byte + +//go:embed eldfell.json +var EldfellGenesisAllocJSON []byte + +//go:embed jolnir.json +var JolnirGenesisAllocJSON []byte
diff --git ethereum/go-ethereum/core/txpool/validation.go taikoxyz/taiko-geth/core/txpool/validation.go index e1c0f314c789ee2da09c6fe32508b924c8c1309b..72c0b16ea6c1ce7f245e6326b9e1a7252ac22d77 100644 --- ethereum/go-ethereum/core/txpool/validation.go +++ taikoxyz/taiko-geth/core/txpool/validation.go @@ -18,8 +18,10 @@ package txpool   import ( "crypto/sha256" + "errors" "fmt" "math/big" + "os"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" @@ -90,6 +92,11 @@ // Ensure gasFeeCap is greater than or equal to gasTipCap if tx.GasFeeCapIntCmp(tx.GasTipCap()) < 0 { return core.ErrTipAboveFeeCap } + // CHANGE(taiko): ensure gasFeeCap fee cap is not zero + if os.Getenv("TAIKO_TEST") == "" && tx.GasFeeCap().Cmp(common.Big0) == 0 { + return errors.New("max fee per gas is zero") + } + // Make sure the transaction is signed properly if _, err := types.Sender(signer, tx); err != nil { return ErrInvalidSender
diff --git ethereum/go-ethereum/core/types/transaction.go taikoxyz/taiko-geth/core/types/transaction.go index e774809c29d97392171f70bb3cfe5c33d65834f8..ffdacadf0e64070e066db21ea8463f3125b5b606 100644 --- ethereum/go-ethereum/core/types/transaction.go +++ taikoxyz/taiko-geth/core/types/transaction.go @@ -85,6 +85,8 @@ to() *common.Address blobGas() uint64 blobGasFeeCap() *big.Int blobHashes() []common.Hash + isAnchor() bool + markAsAnchor() error   rawSignatureValues() (v, r, s *big.Int) setSignatureValues(chainID, v, r, s *big.Int)
diff --git ethereum/go-ethereum/core/rawdb/taiko_l1_origin.go taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin.go new file mode 100644 index 0000000000000000000000000000000000000000..aaa5c14832f39b524e863ad9ef0a64c044a9a1d6 --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin.go @@ -0,0 +1,92 @@ +package rawdb + +import ( + "bytes" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/rlp" +) + +var ( + // Database key prefix for L2 block's L1Origin. + l1OriginPrefix = []byte("TKO:L1O") + headL1OriginKey = []byte("TKO:LastL1O") +) + +// l1OriginKey calculates the L1Origin key. +// l1OriginPrefix + l2HeaderHash -> l1OriginKey +func l1OriginKey(blockID *big.Int) []byte { + data, _ := (*math.HexOrDecimal256)(blockID).MarshalText() + return append(l1OriginPrefix, data...) +} + +//go:generate go run github.com/fjl/gencodec -type L1Origin -field-override l1OriginMarshaling -out gen_taiko_l1_origin.go + +// L1Origin represents a L1Origin of a L2 block. +type L1Origin struct { + BlockID *big.Int `json:"blockID" gencodec:"required"` + L2BlockHash common.Hash `json:"l2BlockHash"` + L1BlockHeight *big.Int `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash common.Hash `json:"l1BlockHash" gencodec:"required"` +} + +type l1OriginMarshaling struct { + BlockID *math.HexOrDecimal256 + L1BlockHeight *math.HexOrDecimal256 +} + +// WriteL1Origin stores a L1Origin into the database. +func WriteL1Origin(db ethdb.KeyValueWriter, blockID *big.Int, l1Origin *L1Origin) { + data, err := rlp.EncodeToBytes(l1Origin) + if err != nil { + log.Crit("Failed to encode L1Origin", "err", err) + } + + if err := db.Put(l1OriginKey(blockID), data); err != nil { + log.Crit("Failed to store L1Origin", "err", err) + } +} + +// ReadL1Origin retrieves the given L2 block's L1Origin from database. +func ReadL1Origin(db ethdb.KeyValueReader, blockID *big.Int) (*L1Origin, error) { + data, _ := db.Get(l1OriginKey(blockID)) + if len(data) == 0 { + return nil, nil + } + + l1Origin := new(L1Origin) + if err := rlp.Decode(bytes.NewReader(data), l1Origin); err != nil { + return nil, fmt.Errorf("invalid L1Origin RLP bytes: %w", err) + } + + return l1Origin, nil +} + +// WriteHeadL1Origin stores the given L1Origin as the last L1Origin. +func WriteHeadL1Origin(db ethdb.KeyValueWriter, blockID *big.Int) { + data, _ := (*math.HexOrDecimal256)(blockID).MarshalText() + if err := db.Put(headL1OriginKey, data); err != nil { + log.Crit("Failed to store head L1Origin", "error", err) + } +} + +// ReadHeadL1Origin retrieves the last L1Origin from database. +func ReadHeadL1Origin(db ethdb.KeyValueReader) (*big.Int, error) { + data, _ := db.Get(headL1OriginKey) + if len(data) == 0 { + return nil, nil + } + + blockID := new(math.HexOrDecimal256) + if err := blockID.UnmarshalText(data); err != nil { + log.Error("Unmarshal L1Origin unmarshal error", "error", err) + return nil, fmt.Errorf("invalid L1Origin unmarshal: %w", err) + } + + return (*big.Int)(blockID), nil +}

This shows changes to eth files

This is our API backend, it handles l2 node related RPC calls.

diff --git ethereum/go-ethereum/eth/taiko_api_backend.go taikoxyz/taiko-geth/eth/taiko_api_backend.go new file mode 100644 index 0000000000000000000000000000000000000000..49e8580b664fe7c9a43be5493942ee1d2345817f --- /dev/null +++ taikoxyz/taiko-geth/eth/taiko_api_backend.go @@ -0,0 +1,91 @@ +package eth + +import ( + "math/big" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/log" +) + +// TaikoAPIBackend handles l2 node related RPC calls. +type TaikoAPIBackend struct { + eth *Ethereum +} + +// NewTaikoAPIBackend creates a new TaikoAPIBackend instance. +func NewTaikoAPIBackend(eth *Ethereum) *TaikoAPIBackend { + return &TaikoAPIBackend{ + eth: eth, + } +} + +// HeadL1Origin returns the latest L2 block's corresponding L1 origin. +func (s *TaikoAPIBackend) HeadL1Origin() (*rawdb.L1Origin, error) { + blockID, err := rawdb.ReadHeadL1Origin(s.eth.ChainDb()) + if err != nil { + return nil, err + } + + if blockID == nil { + return nil, ethereum.NotFound + } + + l1Origin, err := rawdb.ReadL1Origin(s.eth.ChainDb(), blockID) + if err != nil { + return nil, err + } + + if l1Origin == nil { + return nil, ethereum.NotFound + } + + return l1Origin, nil +} + +// L1OriginByID returns the L2 block's corresponding L1 origin. +func (s *TaikoAPIBackend) L1OriginByID(blockID *math.HexOrDecimal256) (*rawdb.L1Origin, error) { + l1Origin, err := rawdb.ReadL1Origin(s.eth.ChainDb(), (*big.Int)(blockID)) + if err != nil { + return nil, err + } + + if l1Origin == nil { + return nil, ethereum.NotFound + } + + return l1Origin, nil +} + +// TxPoolContent retrieves the transaction pool content with the given upper limits. +func (s *TaikoAPIBackend) TxPoolContent( + beneficiary common.Address, + baseFee *big.Int, + maxTransactionsPerBlock uint64, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, +) ([]types.Transactions, error) { + log.Info( + "Fetching L2 pending transactions finished", + "maxTransactionsPerBlock", maxTransactionsPerBlock, + "blockMaxGasLimit", blockMaxGasLimit, + "maxBytesPerTxList", maxBytesPerTxList, + "maxTransactions", maxTransactionsLists, + "locals", locals, + ) + + return s.eth.Miner().BuildTransactionsLists( + beneficiary, + baseFee, + maxTransactionsPerBlock, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + ) +}

This adds Taiko protocol specific logic into the API.

diff --git ethereum/go-ethereum/eth/catalyst/api.go taikoxyz/taiko-geth/eth/catalyst/api.go index 1a221941427a0c935fc8a69d1be6c7ab534ac75c..3eb625227094c7e0c6f14cde8aa8952968017b8c 100644 --- ethereum/go-ethereum/eth/catalyst/api.go +++ taikoxyz/taiko-geth/eth/catalyst/api.go @@ -286,6 +286,10 @@ PayloadStatus: engine.PayloadStatusV1{Status: engine.VALID, LatestValidHash: &update.HeadBlockHash}, PayloadID: id, } } + + // CHANGE(taiko): check whether --taiko flag is set. + isTaiko := api.eth.BlockChain().Config().Taiko + if rawdb.ReadCanonicalHash(api.eth.ChainDb(), block.NumberU64()) != update.HeadBlockHash { // Block is not canonical, set head. if latestValid, err := api.eth.BlockChain().SetCanonical(block); err != nil { @@ -295,6 +299,10 @@ } else if api.eth.BlockChain().CurrentBlock().Hash() == update.HeadBlockHash { // If the specified head matches with our local head, do nothing and keep // generating the payload. It's a special corner case that a few slots are // missing and we are requested to generate the payload in slot. + } else if isTaiko { // CHANGE(taiko): reorg is allowed in L2. + if latestValid, err := api.eth.BlockChain().SetCanonical(block); err != nil { + return engine.ForkChoiceResponse{PayloadStatus: engine.PayloadStatusV1{Status: engine.INVALID, LatestValidHash: &latestValid}}, err + } } else { // If the head block is already in our canonical chain, the beacon client is // probably resyncing. Ignore the update. @@ -339,6 +347,55 @@ // If payload generation was requested, create a new block to be potentially // sealed by the beacon client. The payload will be requested later, and we // will replace it arbitrarily many times in between. if payloadAttributes != nil { + // CHANGE(taiko): create a L2 block by Taiko protocol. + if isTaiko { + // No need to check payloadAttribute here, because all its fields are + // marked as required. + block, err := api.eth.Miner().SealBlockWith( + update.HeadBlockHash, + payloadAttributes.Timestamp, + payloadAttributes.BlockMetadata, + payloadAttributes.BaseFeePerGas, + payloadAttributes.Withdrawals, + ) + if err != nil { + log.Error("Failed to create sealing block", "err", err) + return valid(nil), engine.InvalidPayloadAttributes.With(err) + } + + // Cache the mined block for later use. + args := &miner.BuildPayloadArgs{ + Parent: block.ParentHash(), + Timestamp: block.Time(), + FeeRecipient: block.Coinbase(), + Random: block.MixDigest(), + Withdrawals: block.Withdrawals(), + } + id := args.Id() + payload, err := api.eth.Miner().BuildPayload(args) + if err != nil { + log.Error("Failed to build payload", "err", err) + return valid(nil), engine.InvalidPayloadAttributes.With(err) + } + + payload.SetFullBlock(block, common.Big0) + + api.localBlocks.put(id, payload) + + // L1Origin **MUST NOT** be nil, it's a required field in PayloadAttributesV1. + l1Origin := payloadAttributes.L1Origin + + // Set the block hash before inserting the L1Origin into database. + l1Origin.L2BlockHash = block.Hash() + + // Write L1Origin. + rawdb.WriteL1Origin(api.eth.ChainDb(), l1Origin.BlockID, l1Origin) + // Write the head L1Origin. + rawdb.WriteHeadL1Origin(api.eth.ChainDb(), l1Origin.BlockID) + + return valid(&id), nil + } + args := &miner.BuildPayloadArgs{ Parent: update.HeadBlockHash, Timestamp: payloadAttributes.Timestamp, @@ -432,7 +489,8 @@ // NewPayloadV2 creates an Eth1 block, inserts it in the chain, and returns the status of the chain. func (api *ConsensusAPI) NewPayloadV2(params engine.ExecutableData) (engine.PayloadStatusV1, error) { if api.eth.BlockChain().Config().IsShanghai(new(big.Int).SetUint64(params.Number), params.Timestamp) { - if params.Withdrawals == nil { + if params.Withdrawals == nil && + (api.eth.BlockChain().Config().Taiko && params.WithdrawalsHash == (common.Hash{})) { // CHANGE(taiko): allow only passing `WithdrawalsHash` return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawals post-shanghai")) } } else if params.Withdrawals != nil { @@ -478,10 +536,37 @@ api.newPayloadLock.Lock() defer api.newPayloadLock.Unlock()   log.Trace("Engine API request received", "method", "NewPayload", "number", params.Number, "hash", params.BlockHash) - block, err := engine.ExecutableDataToBlock(params, versionedHashes) - if err != nil { - log.Warn("Invalid NewPayload params", "params", params, "error", err) - return engine.PayloadStatusV1{Status: engine.INVALID}, nil + // CHANGE(taiko): allow passing the executable data with txHash instead of all transactions. + var ( + block *types.Block + err error + ) + params.TaikoBlock = api.eth.BlockChain().Config().Taiko + if api.eth.BlockChain().Config().Taiko && params.Transactions == nil && params.Withdrawals == nil { + block = types.NewBlockWithHeader(&types.Header{ + ParentHash: params.ParentHash, + UncleHash: types.EmptyUncleHash, + Coinbase: params.FeeRecipient, + Root: params.StateRoot, + TxHash: params.TxHash, + ReceiptHash: params.ReceiptsRoot, + Bloom: types.BytesToBloom(params.LogsBloom), + Difficulty: common.Big0, + Number: new(big.Int).SetUint64(params.Number), + GasLimit: params.GasLimit, + GasUsed: params.GasUsed, + Time: params.Timestamp, + BaseFee: params.BaseFeePerGas, + Extra: params.ExtraData, + MixDigest: params.Random, + WithdrawalsHash: &params.WithdrawalsHash, + }) + } else { + block, err = engine.ExecutableDataToBlock(params, versionedHashes) + if err != nil { + log.Debug("Invalid NewPayload params", "params", params, "error", err) + return engine.PayloadStatusV1{Status: engine.INVALID}, nil + } } // Stash away the last update to warn the user if the beacon client goes offline api.lastNewPayloadLock.Lock() @@ -524,9 +609,18 @@ if parent.Difficulty().BitLen() > 0 && gptd != nil && gptd.Cmp(ttd) >= 0 { log.Error("Ignoring pre-merge parent block", "number", params.Number, "hash", params.BlockHash, "td", ptd, "ttd", ttd) return engine.INVALID_TERMINAL_BLOCK, nil } - if block.Time() <= parent.Time() { - log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) - return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + // CHANGE(taiko): a block that has the same timestamp as its parents is + // allowed in Taiko protocol. + if api.eth.BlockChain().Config().Taiko { + if block.Time() < parent.Time() { + log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) + return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + } + } else { + if block.Time() <= parent.Time() { + log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) + return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + } } // Another cornercase: if the node is in snap sync mode, but the CL client // tries to make it import a block. That should be denied as pushing something
diff --git ethereum/go-ethereum/eth/tracers/api.go taikoxyz/taiko-geth/eth/tracers/api.go index 740a38ab9fbfbda86f350519d2db321d7d17fe78..fe0edab1502593eff4578dd05922b0cd42095498 100644 --- ethereum/go-ethereum/eth/tracers/api.go +++ taikoxyz/taiko-geth/eth/tracers/api.go @@ -270,6 +270,13 @@ blockCtx = core.NewEVMBlockContext(task.block.Header(), api.chainContext(ctx), nil) ) // Trace all the transactions contained within for i, tx := range task.block.Transactions() { + if i == 0 && api.backend.ChainConfig().Taiko { + if err := tx.MarkAsAnchor(); err != nil { + log.Warn("Mark anchor transaction error", "error", err) + task.results[i] = &txTraceResult{TxHash: tx.Hash(), Error: err.Error()} + break + } + } msg, _ := core.TransactionToMessage(tx, signer, task.block.BaseFee()) txctx := &Context{ BlockHash: task.block.Hash(), @@ -527,6 +534,11 @@ vmctx = core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil) deleteEmptyObjects = chainConfig.IsEIP158(block.Number()) ) for i, tx := range block.Transactions() { + if i == 0 && chainConfig.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } if err := ctx.Err(); err != nil { return nil, err } @@ -604,6 +616,11 @@ signer = types.MakeSigner(api.backend.ChainConfig(), block.Number(), block.Time()) results = make([]*txTraceResult, len(txs)) ) for i, tx := range txs { + if i == 0 && api.backend.ChainConfig().Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } // Generate the next state snapshot fast without tracing msg, _ := core.TransactionToMessage(tx, signer, block.BaseFee()) txctx := &Context{ @@ -757,6 +774,11 @@ // Note: This copies the config, to not screw up the main config chainConfig, canon = overrideConfig(chainConfig, config.Overrides) } for i, tx := range block.Transactions() { + if i == 0 && chainConfig.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } // Prepare the transaction for un-traced execution var ( msg, _ = core.TransactionToMessage(tx, signer, block.BaseFee())
diff --git ethereum/go-ethereum/eth/ethconfig/config.go taikoxyz/taiko-geth/eth/ethconfig/config.go index 4bc8b8dc6c6e5c0ad63855d38290742f1b1f6b7f..b570fe8f2aff7c9e38f335594af6ffd77d086eb6 100644 --- ethereum/go-ethereum/eth/ethconfig/config.go +++ taikoxyz/taiko-geth/eth/ethconfig/config.go @@ -26,6 +26,7 @@ "github.com/ethereum/go-ethereum/consensus" "github.com/ethereum/go-ethereum/consensus/beacon" "github.com/ethereum/go-ethereum/consensus/clique" "github.com/ethereum/go-ethereum/consensus/ethash" + "github.com/ethereum/go-ethereum/consensus/taiko" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/txpool/blobpool" "github.com/ethereum/go-ethereum/core/txpool/legacypool" @@ -164,6 +165,10 @@ // CreateConsensusEngine creates a consensus engine for the given chain config. // Clique is allowed for now to live standalone, but ethash is forbidden and can // only exist on already merged networks. func CreateConsensusEngine(config *params.ChainConfig, db ethdb.Database) (consensus.Engine, error) { + // CHANGE(taiko): use Taiko consensus engine when the --taiko flag is set. + if config.Taiko { + return taiko.New(config), nil + } // If proof-of-authority is requested, set it up if config.Clique != nil { return beacon.New(clique.New(config.Clique, db)), nil

This shows changes to ethclient files

This provides API calls for L1 and L2 Origins, as well as Throwaway Block Receipts.

diff --git ethereum/go-ethereum/ethclient/taiko_api_test.go taikoxyz/taiko-geth/ethclient/taiko_api_test.go new file mode 100644 index 0000000000000000000000000000000000000000..7a7cfc7dcd4c61b12dda671fe45d2a078e290b70 --- /dev/null +++ taikoxyz/taiko-geth/ethclient/taiko_api_test.go @@ -0,0 +1,124 @@ +package ethclient + +import ( + "context" + "crypto/rand" + "math/big" + "testing" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/stretchr/testify/require" +) + +func newTaikoAPITestClient(t *testing.T) (*Client, []*types.Block, ethdb.Database) { + // Generate test chain. + blocks := generateTestChain() + + // Create node + n, err := node.New(&node.Config{}) + + require.Nil(t, err) + + // Create Ethereum Service + config := &ethconfig.Config{Genesis: genesis} + ethservice, err := eth.New(n, config) + require.Nil(t, err) + + n.RegisterAPIs([]rpc.API{ + { + Namespace: "taiko", + Version: params.VersionWithMeta, + Service: eth.NewTaikoAPIBackend(ethservice), + Public: true, + }, + }) + + // Start node + require.Nil(t, n.Start()) + + // Insert test blocks + _, err = ethservice.BlockChain().InsertChain(blocks[1:]) + + require.Nil(t, err) + + return NewClient(n.Attach()), blocks, ethservice.ChainDb() +} + +func TestHeadL1Origin(t *testing.T) { + ec, blocks, db := newTaikoAPITestClient(t) + + headerHash := blocks[len(blocks)-1].Hash() + + l1OriginFound, err := ec.HeadL1Origin(context.Background()) + + require.Equal(t, ethereum.NotFound.Error(), err.Error()) + require.Nil(t, l1OriginFound) + + testL1Origin := &rawdb.L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: headerHash, + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + + rawdb.WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + rawdb.WriteHeadL1Origin(db, testL1Origin.BlockID) + + l1OriginFound, err = ec.HeadL1Origin(context.Background()) + + require.Nil(t, err) + require.Equal(t, testL1Origin, l1OriginFound) +} + +func TestL1OriginByID(t *testing.T) { + ec, blocks, db := newTaikoAPITestClient(t) + + headerHash := blocks[len(blocks)-1].Hash() + testL1Origin := &rawdb.L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: headerHash, + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + + l1OriginFound, err := ec.L1OriginByID(context.Background(), testL1Origin.BlockID) + require.Equal(t, ethereum.NotFound.Error(), err.Error()) + require.Nil(t, l1OriginFound) + + rawdb.WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + rawdb.WriteHeadL1Origin(db, testL1Origin.BlockID) + + l1OriginFound, err = ec.L1OriginByID(context.Background(), testL1Origin.BlockID) + + require.Nil(t, err) + require.Equal(t, testL1Origin, l1OriginFound) +} + +// randomHash generates a random blob of data and returns it as a hash. +func randomHash() common.Hash { + var hash common.Hash + if n, err := rand.Read(hash[:]); n != common.HashLength || err != nil { + panic(err) + } + return hash +} + +// randomBigInt generates a random big integer. +func randomBigInt() *big.Int { + randomBigInt, err := rand.Int(rand.Reader, common.Big256) + if err != nil { + log.Crit(err.Error()) + } + + return randomBigInt +}
diff --git ethereum/go-ethereum/ethclient/taiko_api.go taikoxyz/taiko-geth/ethclient/taiko_api.go new file mode 100644 index 0000000000000000000000000000000000000000..9637608d062f16bbc7e855d81647e8babe3c8ab9 --- /dev/null +++ taikoxyz/taiko-geth/ethclient/taiko_api.go @@ -0,0 +1,31 @@ +package ethclient + +import ( + "context" + "math/big" + + "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" +) + +// HeadL1Origin returns the latest L2 block's corresponding L1 origin. +func (ec *Client) HeadL1Origin(ctx context.Context) (*rawdb.L1Origin, error) { + var res *rawdb.L1Origin + + if err := ec.c.CallContext(ctx, &res, "taiko_headL1Origin"); err != nil { + return nil, err + } + + return res, nil +} + +// L1OriginByID returns the L2 block's corresponding L1 origin. +func (ec *Client) L1OriginByID(ctx context.Context, blockID *big.Int) (*rawdb.L1Origin, error) { + var res *rawdb.L1Origin + + if err := ec.c.CallContext(ctx, &res, "taiko_l1OriginByID", hexutil.EncodeBig(blockID)); err != nil { + return nil, err + } + + return res, nil +}

This shows changes to les files

diff --git ethereum/go-ethereum/les/state_accessor.go taikoxyz/taiko-geth/les/state_accessor.go index 9a8214ac2f8f044493965fe989c54316a690a883..25c78f46ae85b6bd73e323beff1190192e37c054 100644 --- ethereum/go-ethereum/les/state_accessor.go +++ taikoxyz/taiko-geth/les/state_accessor.go @@ -59,6 +59,11 @@ } // Recompute transactions up to the target index. signer := types.MakeSigner(leth.blockchain.Config(), block.Number(), block.Time()) for idx, tx := range block.Transactions() { + if idx == 0 && leth.chainConfig.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, vm.BlockContext{}, nil, nil, err + } + } // Assemble the transaction call message and return if the requested offset msg, _ := core.TransactionToMessage(tx, signer, block.BaseFee()) txContext := core.NewEVMTxContext(msg)

This shows changes to miner files

This adds Taiko-specific miner changes.

diff --git ethereum/go-ethereum/miner/taiko_worker.go taikoxyz/taiko-geth/miner/taiko_worker.go new file mode 100644 index 0000000000000000000000000000000000000000..df14d908680a5f30df0ddd9a24890efcafc06c7d --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_worker.go @@ -0,0 +1,290 @@ +package miner + +import ( + "errors" + "fmt" + "math/big" + "time" + + "github.com/ethereum/go-ethereum/beacon/engine" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/core/txpool" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/core/vm" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rlp" +) + +// BuildTransactionsLists builds multiple transactions lists which satisfy all the given limits. +func (w *worker) BuildTransactionsLists( + beneficiary common.Address, + baseFee *big.Int, + maxTransactionsPerBlock uint64, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + localAccounts []string, + maxTransactionsLists uint64, +) ([]types.Transactions, error) { + var ( + txsLists []types.Transactions + currentHead = w.chain.CurrentBlock() + ) + + if currentHead == nil { + return nil, fmt.Errorf("failed to find current head") + } + + // Split the pending transactions into locals and remotes, then + // fill the block with all available pending transactions. + pending := w.eth.TxPool().Pending(false) + localTxs, remoteTxs := make(map[common.Address][]*txpool.LazyTransaction), pending + for _, local := range localAccounts { + account := common.HexToAddress(local) + if txs := remoteTxs[account]; len(txs) > 0 { + delete(remoteTxs, account) + localTxs[account] = txs + } + } + + if len(pending) == 0 { + return txsLists, nil + } + + var ( + signer = types.MakeSigner(w.chainConfig, new(big.Int).Add(currentHead.Number, common.Big1), currentHead.Time) + locals = newTransactionsByPriceAndNonce(signer, localTxs, baseFee) + remotes = newTransactionsByPriceAndNonce(signer, remoteTxs, baseFee) + ) + + params := &generateParams{ + timestamp: uint64(time.Now().Unix()), + forceTime: true, + parentHash: currentHead.Hash(), + coinbase: beneficiary, + random: currentHead.MixDigest, + noTxs: false, + baseFeePerGas: baseFee, + } + + env, err := w.prepareWork(params) + if err != nil { + return nil, err + } + defer env.discard() + + commitTxs := func() (types.Transactions, bool, error) { + env.tcount = 0 + env.txs = []*types.Transaction{} + env.gasPool = new(core.GasPool).AddGas(blockMaxGasLimit) + env.header.GasLimit = blockMaxGasLimit + + allTxsCommitted := w.commitL2Transactions(env, locals, remotes, maxTransactionsPerBlock, maxBytesPerTxList) + + return env.txs, allTxsCommitted, nil + } + + for i := 0; i < int(maxTransactionsLists); i++ { + txs, allCommitted, err := commitTxs() + if err != nil { + return nil, err + } + + txsLists = append(txsLists, txs) + + if allCommitted { + break + } + } + + return txsLists, nil +} + +// sealBlockWith mines and seals a block with the given block metadata. +func (w *worker) sealBlockWith( + parent common.Hash, + timestamp uint64, + blkMeta *engine.BlockMetadata, + baseFeePerGas *big.Int, + withdrawals types.Withdrawals, +) (*types.Block, error) { + // Decode transactions bytes. + var txs types.Transactions + if err := rlp.DecodeBytes(blkMeta.TxList, &txs); err != nil { + return nil, fmt.Errorf("failed to decode txList: %w", err) + } + + if len(txs) == 0 { + // A L2 block needs to have have at least one `V1TaikoL2.anchor` or + // `V1TaikoL2.invalidateBlock` transaction. + return nil, fmt.Errorf("too less transactions in the block") + } + + params := &generateParams{ + timestamp: timestamp, + forceTime: true, + parentHash: parent, + coinbase: blkMeta.Beneficiary, + random: blkMeta.MixHash, + withdrawals: withdrawals, + noTxs: false, + baseFeePerGas: baseFeePerGas, + } + + env, err := w.prepareWork(params) + if err != nil { + return nil, err + } + defer env.discard() + + env.header.GasLimit = blkMeta.GasLimit + + // Commit transactions. + gasLimit := env.header.GasLimit + rules := w.chain.Config().Rules(env.header.Number, true, timestamp) + + env.gasPool = new(core.GasPool).AddGas(gasLimit) + + for i, tx := range txs { + if i == 0 { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } + sender, err := types.LatestSignerForChainID(tx.ChainId()).Sender(tx) + if err != nil { + log.Info("Skip an invalid proposed transaction", "hash", tx.Hash(), "reason", err) + continue + } + + env.state.Prepare(rules, sender, blkMeta.Beneficiary, tx.To(), vm.ActivePrecompiles(rules), tx.AccessList()) + env.state.SetTxContext(tx.Hash(), env.tcount) + if _, err := w.commitTransaction(env, &txpool.Transaction{Tx: tx}); err != nil { + log.Info("Skip an invalid proposed transaction", "hash", tx.Hash(), "reason", err) + continue + } + env.tcount++ + } + + block, err := w.engine.FinalizeAndAssemble(w.chain, env.header, env.state, env.txs, nil, env.receipts, withdrawals) + if err != nil { + return nil, err + } + + results := make(chan *types.Block, 1) + if err := w.engine.Seal(w.chain, block, results, nil); err != nil { + return nil, err + } + block = <-results + + return block, nil +} + +// commitL2Transactions tries to commit the transactions into the given state. +func (w *worker) commitL2Transactions( + env *environment, + txsLocal *transactionsByPriceAndNonce, + txsRemote *transactionsByPriceAndNonce, + maxTransactionsPerBlock uint64, + maxBytesPerTxList uint64, +) bool { + var ( + txs = txsLocal + isLocal = true + allTxsCommitted bool + accTxListBytes int + ) + +loop: + for { + // If we don't have enough gas for any further transactions then we're done. + if env.gasPool.Gas() < params.TxGas { + log.Trace("Not enough gas for further transactions", "have", env.gasPool, "want", params.TxGas) + break + } + + // Retrieve the next transaction and abort if all done. + ltx := txs.Peek() + if ltx == nil { + if isLocal { + txs = txsRemote + isLocal = false + continue + } + allTxsCommitted = true + break + } + tx := ltx.Resolve() + if tx == nil { + log.Warn("Ignoring evicted transaction") + + txs.Pop() + continue + } + // Error may be ignored here. The error has already been checked + // during transaction acceptance is the transaction pool. + from, _ := types.Sender(env.signer, tx.Tx) + + b, err := rlp.EncodeToBytes(tx) + if err != nil { + log.Trace("Failed to rlp encode the pending transaction %s: %w", tx.Tx.Hash(), err) + txs.Pop() + continue + } + if accTxListBytes+len(b) >= int(maxBytesPerTxList) { + break + } + + // Check whether the tx is replay protected. If we're not in the EIP155 hf + // phase, start ignoring the sender until we do. + if tx.Tx.Protected() && !w.chainConfig.IsEIP155(env.header.Number) { + log.Trace("Ignoring reply protected transaction", "hash", tx.Tx.Hash(), "eip155", w.chainConfig.EIP155Block) + + txs.Pop() + continue + } + // Start executing the transaction + env.state.SetTxContext(tx.Tx.Hash(), env.tcount) + + _, err = w.commitTransaction(env, tx) + switch { + case errors.Is(err, core.ErrGasLimitReached): + // Pop the current out-of-gas transaction without shifting in the next from the account + log.Trace("Gas limit exceeded for current block", "sender", from) + txs.Pop() + + case errors.Is(err, core.ErrNonceTooLow): + // New head notification data race between the transaction pool and miner, shift + log.Trace("Skipping transaction with low nonce", "sender", from, "nonce", tx.Tx.Nonce()) + txs.Shift() + + case errors.Is(err, core.ErrNonceTooHigh): + // Reorg notification data race between the transaction pool and miner, skip account = + log.Trace("Skipping account with hight nonce", "sender", from, "nonce", tx.Tx.Nonce()) + txs.Pop() + + case errors.Is(err, nil): + // Everything ok, shift in the next transaction from the same account + env.tcount++ + if env.tcount >= int(maxTransactionsPerBlock) { + break loop + } + accTxListBytes += len(b) + txs.Shift() + + case errors.Is(err, types.ErrTxTypeNotSupported): + // Pop the unsupported transaction without shifting in the next from the account + log.Trace("Skipping unsupported transaction type", "sender", from, "type", tx.Tx.Type()) + txs.Pop() + + default: + // Strange error, discard the transaction and get the next in line (note, the + // nonce-too-high clause will prevent us from executing in vain). + log.Debug("Transaction failed, account skipped", "hash", tx.Tx.Hash(), "err", err) + txs.Shift() + } + } + + return allTxsCommitted +}
diff --git ethereum/go-ethereum/miner/taiko_miner.go taikoxyz/taiko-geth/miner/taiko_miner.go new file mode 100644 index 0000000000000000000000000000000000000000..a5374f6ee2a1f9967a7c05fb92ab46d29a869bb6 --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_miner.go @@ -0,0 +1,41 @@ +package miner + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/beacon/engine" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" +) + +// SealBlockWith mines and seals a block without changing the canonical chain. +func (miner *Miner) SealBlockWith( + parent common.Hash, + timestamp uint64, + blkMeta *engine.BlockMetadata, + baseFeePerGas *big.Int, + withdrawals types.Withdrawals, +) (*types.Block, error) { + return miner.worker.sealBlockWith(parent, timestamp, blkMeta, baseFeePerGas, withdrawals) +} + +// BuildTransactionsLists builds multiple transactions lists which satisfy all the given limits. +func (miner *Miner) BuildTransactionsLists( + beneficiary common.Address, + baseFee *big.Int, + maxTransactionsPerBlock uint64, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, +) ([]types.Transactions, error) { + return miner.worker.BuildTransactionsLists( + beneficiary, + baseFee, + maxTransactionsPerBlock, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + ) +}
diff --git ethereum/go-ethereum/miner/payload_building.go taikoxyz/taiko-geth/miner/payload_building.go index 299196a3cdf3fcc872508859a7b0193ba47ded20..d0d36fdee9158dbc4e599fce3e698af9cddaebf0 100644 --- ethereum/go-ethereum/miner/payload_building.go +++ taikoxyz/taiko-geth/miner/payload_building.go @@ -69,6 +69,7 @@ fullFees *big.Int stop chan struct{} lock sync.Mutex cond *sync.Cond + done chan struct{} // CHANGE(taiko): done channel to communicate we shouldnt write to `stop` channel. }   // newPayload initializes the payload object. @@ -77,6 +78,7 @@ payload := &Payload{ id: id, empty: empty, stop: make(chan struct{}), + done: make(chan struct{}, 1), // CHANGE(taiko): buffered channel to communicate done to taiko payload builder } log.Info("Starting work on payload", "id", payload.id) payload.cond = sync.NewCond(&payload.lock) @@ -117,6 +119,7 @@ select { case <-payload.stop: default: + payload.done <- struct{}{} // CHANGE(taiko): signal to taiko payload builder to not write to `payload.stop` channel close(payload.stop) } if payload.full != nil { @@ -188,6 +191,10 @@ for { select { case <-timer.C: + // CHANGE(taiko): do not update payload. + if w.chainConfig.Taiko { + continue + } start := time.Now() block, fees, err := w.getSealingBlock(args.Parent, args.Timestamp, args.FeeRecipient, args.Random, args.Withdrawals, false) if err == nil {
diff --git ethereum/go-ethereum/miner/taiko_payload_building.go taikoxyz/taiko-geth/miner/taiko_payload_building.go new file mode 100644 index 0000000000000000000000000000000000000000..7458ee1ae2cba0b306fd5b570ed6706ffd9bd6bb --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_payload_building.go @@ -0,0 +1,44 @@ +package miner + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" +) + +// SetFullBlock updates the full-block to the given block. +func (payload *Payload) SetFullBlock(block *types.Block, fees *big.Int) { + payload.lock.Lock() + defer payload.lock.Unlock() + + go payload.afterSetFullBlock() + + payload.full = block + payload.fullFees = fees + + feesInEther := new(big.Float).Quo(new(big.Float).SetInt(fees), big.NewFloat(params.Ether)) + log.Info("Updated payload", "id", payload.id, "number", block.NumberU64(), "hash", block.Hash(), + "txs", len(block.Transactions()), "gas", block.GasUsed(), "fees", feesInEther, + "root", block.Root()) + + payload.cond.Broadcast() // fire signal for notifying full block +} + +func (payload *Payload) afterSetFullBlock() { + payload.lock.Lock() + defer payload.lock.Unlock() + + select { + case <-payload.done: + log.Info("SetFullBlock payload done received", "id", payload.id) + return + default: + } + + select { + case payload.stop <- struct{}{}: + default: + } +}
diff --git ethereum/go-ethereum/miner/worker.go taikoxyz/taiko-geth/miner/worker.go index 97967ea2f18bd787961c9d6cb9add18b77c7af06..34a53dcb68cbb4814a6e54024c6d7a649e4089d9 100644 --- ethereum/go-ethereum/miner/worker.go +++ taikoxyz/taiko-geth/miner/worker.go @@ -837,13 +837,14 @@ }   // generateParams wraps various of settings for generating sealing task. type generateParams struct { - timestamp uint64 // The timstamp for sealing task - forceTime bool // Flag whether the given timestamp is immutable or not - parentHash common.Hash // Parent block hash, empty means the latest chain head - coinbase common.Address // The fee recipient address for including transaction - random common.Hash // The randomness generated by beacon chain, empty before the merge - withdrawals types.Withdrawals // List of withdrawals to include in block. - noTxs bool // Flag whether an empty block without any transaction is expected + timestamp uint64 // The timstamp for sealing task + forceTime bool // Flag whether the given timestamp is immutable or not + parentHash common.Hash // Parent block hash, empty means the latest chain head + coinbase common.Address // The fee recipient address for including transaction + random common.Hash // The randomness generated by beacon chain, empty before the merge + withdrawals types.Withdrawals // List of withdrawals to include in block. + noTxs bool // Flag whether an empty block without any transaction is expected + baseFeePerGas *big.Int // CHANGE(taiko): The base fee per gas for the next block }   // prepareWork constructs the sealing task according to the given parameters, @@ -866,10 +867,17 @@ // Sanity check the timestamp correctness, recap the timestamp // to parent+1 if the mutation is allowed. timestamp := genParams.timestamp if parent.Time >= timestamp { - if genParams.forceTime { - return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + // CHANGE(taiko): block.timestamp == parent.timestamp is allowed in Taiko protocol. + if !w.chainConfig.Taiko { + if genParams.forceTime { + return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + } + timestamp = parent.Time + 1 + } else { + if parent.Time > timestamp { + return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + } } - timestamp = parent.Time + 1 } // Construct the sealing block header. header := &types.Header{ @@ -889,10 +897,14 @@ header.MixDigest = genParams.random } // Set baseFee and GasLimit if we are on an EIP-1559 chain if w.chainConfig.IsLondon(header.Number) { - header.BaseFee = eip1559.CalcBaseFee(w.chainConfig, parent) - if !w.chainConfig.IsLondon(parent.Number) { - parentGasLimit := parent.GasLimit * w.chainConfig.ElasticityMultiplier() - header.GasLimit = core.CalcGasLimit(parentGasLimit, w.config.GasCeil) + if w.chainConfig.Taiko && genParams.baseFeePerGas != nil { + header.BaseFee = genParams.baseFeePerGas + } else { + header.BaseFee = eip1559.CalcBaseFee(w.chainConfig, parent) + if !w.chainConfig.IsLondon(parent.Number) { + parentGasLimit := parent.GasLimit * w.chainConfig.ElasticityMultiplier() + header.GasLimit = core.CalcGasLimit(parentGasLimit, w.config.GasCeil) + } } } // Run the consensus preparation with the default or customized consensus engine.
diff --git ethereum/go-ethereum/miner/taiko_payload_building_test.go taikoxyz/taiko-geth/miner/taiko_payload_building_test.go new file mode 100644 index 0000000000000000000000000000000000000000..6b7118c3a86045c2f5a089a0bd169642ce85d5d1 --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_payload_building_test.go @@ -0,0 +1,140 @@ +package miner + +import ( + "math/big" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus/ethash" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/trie" + "github.com/stretchr/testify/assert" +) + +func newTestBlock() *types.Block { + tx1 := types.NewTransaction(1, common.BytesToAddress([]byte{0x11}), big.NewInt(111), 1111, big.NewInt(11111), []byte{0x11, 0x11, 0x11}) + txs := []*types.Transaction{tx1} + + block := types.NewBlock(&types.Header{Number: big.NewInt(314)}, txs, nil, nil, trie.NewStackTrie(nil)) + return block +} + +func TestSetFullBlock_AvoidPanic(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + defer w.close() + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + fees := big.NewInt(1) + + payload.done <- struct{}{} + close(payload.stop) + + block := newTestBlock() + // expect not to panic sending to payload.stop + // now that done is closed + payload.SetFullBlock(block, fees) +} + +func TestAfterSetFullBlock_Panic_DoneChannelNotSent(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + defer w.close() + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + // dont send on done channel, but close stop channel. + // should panic when sent on. + close(payload.stop) + + assert.Panics(t, func() { + payload.afterSetFullBlock() + }) +} + +func TestAfterSetFullBlock_AvoidPanic_DoneChannelSent(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + defer w.close() + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + payload.done <- struct{}{} + close(payload.stop) + + assert.NotPanics(t, func() { + payload.afterSetFullBlock() + }) +} + +func TestSetFullBlock(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + defer w.close() + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + fees := big.NewInt(1) + + block := newTestBlock() + payload.SetFullBlock(block, fees) + + assert.Equal(t, block, payload.full) + assert.Equal(t, fees, payload.fullFees) +}

This shows changes to params files

This adds Taiko config values such as chainIds/Network Ids.

diff --git ethereum/go-ethereum/params/config.go taikoxyz/taiko-geth/params/config.go index 75c8fd89d09fa946dca42be0ca940233aea6d7b6..2d70ee4f295a9c6147e076d6c247650035c3162a 100644 --- ethereum/go-ethereum/params/config.go +++ taikoxyz/taiko-geth/params/config.go @@ -253,6 +253,13 @@ var NetworkNames = map[string]string{ MainnetChainConfig.ChainID.String(): "mainnet", GoerliChainConfig.ChainID.String(): "goerli", SepoliaChainConfig.ChainID.String(): "sepolia", + // CHANGE(taiko): add Taiko network name. + TaikoInternalNetworkID.String(): "Taiko Internal Devnet", + SnaefellsjokullNetworkID.String(): "Taiko Alpha-1 (Snæfellsjökull)", + AskjaNetworkID.String(): "Taiko Alpha-2 (Askja)", + GrimsvotnNetworkID.String(): "Taiko Alpha-3 L2 (Grimsvotn)", + EldfellNetworkID.String(): "Taiko Alpha-4 L3 (Eldfell)", + JolnirNetworkID.String(): "Taiko Alpha-5 L3 (Jolnir)", }   // ChainConfig is the core config which determines the blockchain settings. @@ -304,6 +311,9 @@ // Various consensus engines Ethash *EthashConfig `json:"ethash,omitempty"` Clique *CliqueConfig `json:"clique,omitempty"` IsDevMode bool `json:"isDev,omitempty"` + + // CHANGE(taiko): Taiko network flag. + Taiko bool `json:"taiko"` }   // EthashConfig is the consensus engine configs for proof-of-work based sealing. @@ -336,6 +346,9 @@ network = "unknown" } banner += fmt.Sprintf("Chain ID: %v (%s)\n", c.ChainID, network) switch { + // CHANGE(taiko): print Taiko consensus engine in banner. + case c.Taiko: + banner += "Consensus: Taiko\n" case c.Ethash != nil: if c.TerminalTotalDifficulty == nil { banner += "Consensus: Ethash (proof-of-work)\n"
diff --git ethereum/go-ethereum/params/taiko_config.go taikoxyz/taiko-geth/params/taiko_config.go new file mode 100644 index 0000000000000000000000000000000000000000..351a161e76e4a3f091e0763d72ce61b00f4d5ac9 --- /dev/null +++ taikoxyz/taiko-geth/params/taiko_config.go @@ -0,0 +1,39 @@ +package params + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" +) + +func u64(val uint64) *uint64 { return &val } + +// Network IDs +var ( + TaikoInternalNetworkID = big.NewInt(167001) + TaikoInternalL3NetworkID = big.NewInt(167002) + SnaefellsjokullNetworkID = big.NewInt(167003) + AskjaNetworkID = big.NewInt(167004) + GrimsvotnNetworkID = big.NewInt(167005) + EldfellNetworkID = big.NewInt(167006) + JolnirNetworkID = big.NewInt(167007) +) + +var TaikoChainConfig = &ChainConfig{ + ChainID: TaikoInternalNetworkID, // Use Internal Devnet network ID by default. + HomesteadBlock: common.Big0, + EIP150Block: common.Big0, + EIP155Block: common.Big0, + EIP158Block: common.Big0, + ByzantiumBlock: common.Big0, + ConstantinopleBlock: common.Big0, + PetersburgBlock: common.Big0, + IstanbulBlock: common.Big0, + BerlinBlock: common.Big0, + LondonBlock: common.Big0, + ShanghaiTime: u64(0), + MergeNetsplitBlock: nil, + TerminalTotalDifficulty: common.Big0, + TerminalTotalDifficultyPassed: true, + Taiko: true, +}
diff --git ethereum/go-ethereum/.github/workflows/ci.yml taikoxyz/taiko-geth/.github/workflows/ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..7c213a35b1b4cffb6a92ec7bec727749a3a1d12d --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: "Unit tests" + +on: + pull_request: + branches: [taiko] + push: + branches: [taiko] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.11.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@v3 + with: + repository: taikoxyz/taiko-geth + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + + - name: Lint + run: make lint + + - name: Test + env: + ANDROID_HOME: "" + TAIKO_TEST: true + run: make test
diff --git ethereum/go-ethereum/.github/workflows/docker.yml taikoxyz/taiko-geth/.github/workflows/docker.yml new file mode 100644 index 0000000000000000000000000000000000000000..b8183c3e538c102f441e32b3f89806ec21c0cbc8 --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/docker.yml @@ -0,0 +1,47 @@ +name: "Push docker image to GCR" + +on: + push: + branches: [taiko] + tags: + - "v*" + +jobs: + push-docker-image: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Login to GCR + uses: docker/login-action@v2 + with: + registry: gcr.io + username: _json_key + password: ${{ secrets.GCR_JSON_KEY }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + gcr.io/evmchain/taiko-geth + tags: | + type=ref,event=branch + type=ref,event=pr + type=ref,event=tag + type=sha + - name: Build and push + uses: docker/build-push-action@v2 + with: + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}
diff --git ethereum/go-ethereum/.github/workflows/lint-pr.yml taikoxyz/taiko-geth/.github/workflows/lint-pr.yml new file mode 100644 index 0000000000000000000000000000000000000000..ce00cc6b1e4f71c72816be78d787197a0450419e --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/lint-pr.yml @@ -0,0 +1,14 @@ +name: "Lint PR" + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git ethereum/go-ethereum/.github/workflows/openai-review.yml taikoxyz/taiko-geth/.github/workflows/openai-review.yml new file mode 100644 index 0000000000000000000000000000000000000000..25d3c99cf7bdb1b8c74e1eb9fa6e97745fae885b --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/openai-review.yml @@ -0,0 +1,36 @@ +on: [pull_request] + +jobs: + add_pr_comment: + permissions: write-all + runs-on: ubuntu-latest + name: OpenAI PR Comment + if: "contains(github.event.pull_request.labels.*.name, 'option.review-by-ai')" + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 2 + - id: patch + run: | + patch_output=$(curl --silent --request GET \ + --url https://api.github.com/repos/$PATCH_REPO/pulls/$PATCH_PR \ + --header "Accept: application/vnd.github.v3.patch" \ + --header "Authorization: Bearer $PATCH_GITHUB_TOKEN") + echo $patch_output + echo "GIT_PATCH_OUTPUT=$(echo $patch_output)" >> $GITHUB_ENV + env: + PATCH_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PATCH_PR: ${{ github.event.pull_request.number }} + PATCH_REPO: ${{ github.repository }} + - id: review + uses: taikoxyz/openai-review-action@main + with: + GIT_COMMIT_HASH: ${{ github.event.pull_request.head.sha }} + GIT_PATCH_OUTPUT: ${{ env.GIT_PATCH_OUTPUT }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + OPENAI_ORG_KEY: ${{ secrets.OPENAI_ORG_KEY }} + PR_NUMBER: ${{ github.event.pull_request.number }} + PR_TITLE: ${{ github.event.pull_request.title }} + REPOSITORY_NAME: ${{ github.repository }}
diff --git ethereum/go-ethereum/README.md taikoxyz/taiko-geth/README.md index 77317090c17ef7315d12c2b61de6889c9daef620..c6c9dce92253839d00a046711080c700c60fe43a 100644 --- ethereum/go-ethereum/README.md +++ taikoxyz/taiko-geth/README.md @@ -1,3 +1,13 @@ +# taiko-geth + +[![CI](https://github.com/taikoxyz/taiko-geth/actions/workflows/ci.yml/badge.svg)](https://github.com/taikoxyz/taiko-geth/actions/workflows/ci.yml) + +The codebase is based on [go-ethereum v1.12.2](https://github.com/ethereum/go-ethereum/releases/tag/v1.12.2). + +## Tracing changes + +All source code changes by [taiko](https://taiko.xyz) team are commented with `"CHANGE(taiko): ...."`, and the filenames of all additional files have the prefix `"taiko_"` (`taiko_*.go`). + ## Go Ethereum   Official Golang execution layer implementation of the Ethereum protocol. @@ -83,7 +93,7 @@ * Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag), causing it to download more data in exchange for avoiding processing the entire history of the Ethereum network, which is very CPU intensive. * Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console), - (via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md) + (via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md) (note: the `web3` version bundled within `geth` is very old, and not up to date with official docs), as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc). This tool is optional and if you leave it out you can always attach it to an already running @@ -344,7 +354,7 @@ ### Contributing to geth.ethereum.org   For contributions to the [go-ethereum website](https://geth.ethereum.org), please checkout and raise pull requests against the `website` branch. -For more detailed instructions please see the `website` branch [README](https://github.com/ethereum/go-ethereum/tree/website#readme) or the +For more detailed instructions please see the `website` branch [README](https://github.com/ethereum/go-ethereum/tree/website#readme) or the [contributing](https://geth.ethereum.org/docs/developers/geth-developer/contributing) page of the website.   ## License
diff --git ethereum/go-ethereum/core/taiko_genesis/askja.json taikoxyz/taiko-geth/core/taiko_genesis/askja.json new file mode 100644 index 0000000000000000000000000000000000000000..24a016d8300dc14b6151fe35b12342c9938b9fef --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/askja.json @@ -0,0 +1,117 @@ +{ + "0x6C671d2C641CE1b99F17755fd45441fa4326C3B1": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x09d4121CD4123F039390c7f5e99b15BED5e07222": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9E5da4B6D25Ee5A68aa8c29B6B87C82f7F463893": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xB51f0f2bdCbf6cfabB35239921A5c672519F74ba": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063960304391461003a575b600080fd5b61004d610048366004611938565b610061565b604051901515815260200160405180910390f35b6000808061007184860186611acc565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608c901b166020820152919350915060009081906100c790603401604051602081830303815290604052858d610197565b915091508161011d5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610128826101c0565b9050600061014f8260028151811061014257610142611b30565b60200260200101516101f9565b90506101868b60405160200161016791815260200190565b60405160208183030381529060405261017f8c6102fc565b878461030f565b9d9c50505050505050505050505050565b6000606060006101a686610329565b90506101b381868661035b565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101f390610436565b92915050565b60006021826000015111156102505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610114565b600080600061025e85610635565b91945092509050600081600181111561027957610279611b5f565b146102c65760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610114565b60008386602001516102d89190611bbd565b805190915060208410156102f25760208490036101000a90045b9695505050505050565b60606101f361030a83610986565b610aea565b60008061031b86610329565b90506102f281868686610b59565b6060818051906020012060405160200161034591815260200190565b6040516020818303038152906040529050919050565b60006060600061036a85610b96565b9050600080600061037c848a89610c8f565b815192955090935091501580806103905750815b6103dc5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610114565b6000816103f85760405180602001604052806000815250610424565b61042486610407600188611bd0565b8151811061041757610417611b30565b6020026020010151611144565b919b919a509098505050505050505050565b606060008061044484610635565b9193509091506001905081600181111561046057610460611b5f565b146104ad5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610114565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104c65790505090506000835b865181101561062a57602082106105725760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610114565b6000806105af6040518060400160405280858c600001516105939190611bd0565b8152602001858c602001516105a89190611bbd565b9052610635565b5091509150604051806040016040528083836105cb9190611bbd565b8152602001848b602001516105e09190611bbd565b8152508585815181106105f5576105f5611b30565b602090810291909101015261060b600185611bbd565b93506106178183611bbd565b6106219084611bbd565b925050506104f3565b508152949350505050565b60008060008084600001511161068d5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610114565b6020840151805160001a607f81116106b257600060016000945094509450505061097f565b60b7811161072e5760006106c7608083611bd0565b90508087600001511161071c5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610114565b6001955093506000925061097f915050565b60bf811161081d57600061074360b783611bd0565b9050808760000151116107985760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610114565b600183015160208290036101000a90046107b28183611bbd565b8851116108015760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610114565b61080c826001611bbd565b965094506000935061097f92505050565b60f7811161089857600061083260c083611bd0565b9050808760000151116108875760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610114565b60019550935084925061097f915050565b60006108a560f783611bd0565b9050808760000151116108fa5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610114565b600183015160208290036101000a90046109148183611bbd565b8851116109635760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610114565b61096e826001611bbd565b965094506001935061097f92505050565b9193909250565b606060008260405160200161099d91815260200190565b604051602081830303815290604052905060005b6020811015610a0a578181815181106109cc576109cc611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610a0a57610a0381611be3565b90506109b1565b6000610a17826020611bd0565b67ffffffffffffffff811115610a2f57610a2f6119f2565b6040519080825280601f01601f191660200182016040528015610a59576020820181803683370190505b50905060005b8151811015610ae1578383610a7381611be3565b945081518110610a8557610a85611b30565b602001015160f81c60f81b828281518110610aa257610aa2611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610ada81611be3565b9050610a5f565b50949350505050565b60608082516001148015610b185750608083600081518110610b0e57610b0e611b30565b016020015160f81c105b15610b245750816101f3565b610b308351608061116b565b83604051602001610b42929190611c4b565b604051602081830303815290604052905092915050565b6000806000610b6987868661035b565b91509150818015610b8b57508051602080830191909120875191880191909120145b979650505050505050565b60606000610ba3836101c0565b90506000815167ffffffffffffffff811115610bc157610bc16119f2565b604051908082528060200260200182016040528015610c0657816020015b6040805180820190915260608082526020820152815260200190600190039081610bdf5790505b50905060005b8251811015610c87576000610c39848381518110610c2c57610c2c611b30565b602002602001015161135d565b90506040518060400160405280610c4f836101c0565b815260200182815250838381518110610c6a57610c6a611b30565b60200260200101819052505080610c8090611be3565b9050610c0c565b509392505050565b600060606000806000610ca1876113ed565b90506000869050600080610cc8604051806040016040528060608152602001606081525090565b60005b8c51811015611100578c8181518110610ce657610ce6611b30565b602002602001015191508284610cfc9190611bbd565b9350610d09600188611bbd565b965083600003610d72578482602001518051906020012014610d6d5760405162461bcd60e51b815260206004820152601160248201527f496e76616c696420726f6f7420686173680000000000000000000000000000006044820152606401610114565b610e34565b602082602001515110610dd9578482602001518051906020012014610d6d5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610114565b84610de7836020015161156e565b14610e345760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610114565b610e4060106001611c68565b60ff1682600001515103610eae5785518414611100576000868581518110610e6a57610e6a611b30565b01602001518351805160f89290921c925060009183908110610e8e57610e8e611b30565b60200260200101519050610ea181611596565b96506001945050506110f0565b8151517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016110a8576000610ee2836115cc565b9050600081600081518110610ef957610ef9611b30565b016020015160f81c90506000610f10600283611cb0565b610f1b906002611cd2565b90506000610f2c848360ff166115f0565b90506000610f3a8b8a6115f0565b90506000610f488383611626565b905060ff851660021480610f5f575060ff85166003145b15610fb557808351148015610f745750808251145b15610f8657610f83818b611bbd565b99505b507f80000000000000000000000000000000000000000000000000000000000000009950611100945050505050565b60ff85161580610fc8575060ff85166001145b1561103a578251811461100457507f80000000000000000000000000000000000000000000000000000000000000009950611100945050505050565b61102b886000015160018151811061101e5761101e611b30565b6020026020010151611596565b9a5097506110f0945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e2060448201527f70726566697800000000000000000000000000000000000000000000000000006064820152608401610114565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610114565b6110f981611be3565b9050610ccb565b507f800000000000000000000000000000000000000000000000000000000000000084148661112f87866115f0565b909e909d50909b509950505050505050505050565b805180516060916101f39161115b90600190611bd0565b81518110610c2c57610c2c611b30565b60608060388410156111ea57604080516001808252818301909252906020820181803683370190505090506111a08385611c68565b60f81b816000815181106111b6576111b6611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611356565b600060015b6111f98187611ceb565b1561121c5761120782611be3565b915061121561010082611cff565b90506111ef565b611227826001611bbd565b67ffffffffffffffff81111561123f5761123f6119f2565b6040519080825280601f01601f191660200182016040528015611269576020820181803683370190505b5092506112768583611c68565b611281906037611c68565b60f81b8360008151811061129757611297611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611353576101006112df8284611bd0565b6112eb90610100611e36565b6112f59088611ceb565b6112ff9190611e42565b60f81b83828151811061131457611314611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061134c81611be3565b90506112cb565b50505b9392505050565b6060600080600061136d85610635565b91945092509050600081600181111561138857611388611b5f565b146113d55760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610114565b6113e4856020015184846116d0565b95945050505050565b60606000825160026113ff9190611cff565b67ffffffffffffffff811115611417576114176119f2565b6040519080825280601f01601f191660200182016040528015611441576020820181803683370190505b50905060005b835181101561156757600484828151811061146457611464611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c82611499836002611cff565b815181106114a9576114a9611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060108482815181106114ec576114ec611b30565b01602001516114fe919060f81c611cb0565b60f81b8261150d836002611cff565b611518906001611bbd565b8151811061152857611528611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061156081611be3565b9050611447565b5092915050565b600060208251101561158257506020015190565b818060200190518101906101f39190611e56565b600060606020836000015110156115b7576115b083611779565b90506115c3565b6115c08361135d565b90505b6113568161156e565b60606101f36115eb8360000151600081518110610c2c57610c2c611b30565b6113ed565b60608251821061160f57506040805160208101909152600081526101f3565b61135683838486516116219190611bd0565b611784565b6000805b80845111801561163a5750808351115b80156116bb575082818151811061165357611653611b30565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811061169257611692611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b15611356576116c981611be3565b905061162a565b606060008267ffffffffffffffff8111156116ed576116ed6119f2565b6040519080825280601f01601f191660200182016040528015611717576020820181803683370190505b509050805160000361172a579050611356565b8484016020820160005b8581101561174c578281015182820152602001611734565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101f382611922565b60608161179281601f611bbd565b10156117e05760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610114565b826117eb8382611bbd565b10156118395760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610114565b6118438284611bbd565b845110156118935760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610114565b6060821580156118b25760405191506000825260208201604052610ae1565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156118eb5780518352602092830192016118d3565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166040525050949350505050565b60606101f38260200151600084600001516116d0565b60008060008060008060a0878903121561195157600080fd5b86359550602087013573ffffffffffffffffffffffffffffffffffffffff8116811461197c57600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156119a757600080fd5b818901915089601f8301126119bb57600080fd5b8135818111156119ca57600080fd5b8a60208285010111156119dc57600080fd5b6020830194508093505050509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611a3257600080fd5b813567ffffffffffffffff80821115611a4d57611a4d6119f2565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611a9357611a936119f2565b81604052838152866020858801011115611aac57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611adf57600080fd5b823567ffffffffffffffff80821115611af757600080fd5b611b0386838701611a21565b93506020850135915080821115611b1957600080fd5b50611b2685828601611a21565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101f3576101f3611b8e565b818103818111156101f3576101f3611b8e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1457611c14611b8e565b5060010190565b6000815160005b81811015611c3c5760208185018101518683015201611c22565b50600093019283525090919050565b6000611c60611c5a8386611c1b565b84611c1b565b949350505050565b60ff81811683821601908111156101f3576101f3611b8e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060ff831680611cc357611cc3611c81565b8060ff84160691505092915050565b60ff82811682821603908111156101f3576101f3611b8e565b600082611cfa57611cfa611c81565b500490565b80820281158282048414176101f3576101f3611b8e565b600181815b80851115611d6f57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611d5557611d55611b8e565b80851615611d6257918102915b93841c9390800290611d1b565b509250929050565b600082611d86575060016101f3565b81611d93575060006101f3565b8160018114611da95760028114611db357611dcf565b60019150506101f3565b60ff841115611dc457611dc4611b8e565b50506001821b6101f3565b5060208310610133831016604e8410600b8410161715611df2575081810a6101f3565b611dfc8383611d16565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611e2e57611e2e611b8e565b029392505050565b60006113568383611d77565b600082611e5157611e51611c81565b500690565b600060208284031215611e6857600080fd5b505191905056fea264697066735822122022f5cdb126db09c3c43e2fa6a17aab0115cbc5363507839bf8f77203759fb3af64736f6c63430008120033", + "balance": "0x0" + }, + "0x7C96157d384E99B04fE912f7E8Fa6d032073a0DD": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220032710b16720cdb7bfee28fecace22d2e4fd9f5731db2aaefd90be3a941623a364736f6c63430008120033", + "balance": "0x0" + }, + "0x13E419A8F4A246Fe22F3Acc054354258B068A7A3": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d4832ed4ef0b67bed2c2d982e30c1a789312b6584967438335056c5c4005497e64736f6c63430008120033", + "balance": "0x0" + }, + "0x658d9Ff6257D5254FC536d29641E43144Fbe8d8C": { + "contractName": "LibTxDecoder", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634eb7f19914610045578063a946c1de1461006e575b600080fd5b61005861005336600461175f565b61008e565b60405161006591906118cf565b60405180910390f35b61008161007c366004611988565b610214565b6040516100659190611a61565b604080516020810190915260608152811561020d5760006100e484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104d992505050565b90506000815167ffffffffffffffff81111561010257610102611959565b60405190808252806020026020018201604052801561019757816020015b610184604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b8152602001906001900390816101205790505b50905060005b82518110156101fa576101cc8761007c8584815181106101bf576101bf611a74565b6020026020010151610512565b8282815181106101de576101de611a74565b6020026020010181905250806101f390611ad2565b905061019d565b5060408051602081019091529081529150505b9392505050565b610278604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b602082015160e0820183905260001a60c0811080159061029c575060fe8160ff1611155b156103235760008083526102af846104d9565b905060006102bd86836105a2565b60408082015160608088019190915282015173ffffffffffffffffffffffffffffffffffffffff16602087015260c08083015160ff16608088015260e083015160a080890191909152610100840151918801919091529091015190850152506104d29050565b607f8160ff161161048a5760ff8116825260006103496103448560016107ba565b6104d9565b90508160ff166001036103c0576000610361826107f0565b6060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff16602087015261010082015160ff169086015261012081015160a086015261014081015160c0808701919091520151604085015250610484565b825160ff166002036104375760006103d782610a31565b608080820151606087015260a08083015173ffffffffffffffffffffffffffffffffffffffff16602088015261012083015160ff16918701919091526101408201519086015261016081015160c086015260e00151604085015250610484565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064015b60405180910390fd5b506104d2565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420707265666978000000000000000000000000000000000000604482015260640161047b565b5092915050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061050c90610c86565b92915050565b6060600080600061052285610e85565b91945092509050600081600181111561053d5761053d611b0a565b1461058a5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e0000000000000000604482015260640161047b565b610599856020015184846111d6565b95945050505050565b61060a604051806101200160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600060ff16815260200160008152602001600081525090565b815160091461065b5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b61067e8260008151811061067157610671611a74565b602002602001015161127f565b81528151610699908390600190811061067157610671611a74565b602082015281516106b7908390600290811061067157610671611a74565b604082015281516106e290839060039081106106d5576106d5611a74565b602002602001015161128a565b73ffffffffffffffffffffffffffffffffffffffff1660608201528151610716908390600490811061067157610671611a74565b6080820152815161073490839060059081106101bf576101bf611a74565b60a0820152610744836002611b39565b61075a8360068151811061067157610671611a74565b6107649190611b50565b61076f906023611b63565b60ff1660c08201528151610790908390600790811061067157610671611a74565b60e082015281516107ae908390600890811061067157610671611a74565b61010082015292915050565b6060825182106107d9575060408051602081019091526000815261050c565b61020d83838486516107eb9190611b50565b6112f8565b61086660405180610160016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600b146108b75760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b6108cd8260008151811061067157610671611a74565b815281516108e8908390600190811061067157610671611a74565b60208201528151610906908390600290811061067157610671611a74565b60408201528151610924908390600390811061067157610671611a74565b6060820152815161094290839060049081106106d5576106d5611a74565b73ffffffffffffffffffffffffffffffffffffffff1660808201528151610976908390600590811061067157610671611a74565b60a0820152815161099490839060069081106101bf576101bf611a74565b8160c001819052506109c76109c2836007815181106109b5576109b5611a74565b6020026020010151610c86565b611497565b8160e001819052506109e58260088151811061067157610671611a74565b60ff166101008201528151610a07908390600990811061067157610671611a74565b6101208201528151610a26908390600a90811061067157610671611a74565b610140820152919050565b610aae6040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600c14610aff5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b610b158260008151811061067157610671611a74565b81528151610b30908390600190811061067157610671611a74565b60208201528151610b4e908390600290811061067157610671611a74565b60408201528151610b6c908390600390811061067157610671611a74565b60608201528151610b8a908390600490811061067157610671611a74565b60808201528151610ba890839060059081106106d5576106d5611a74565b73ffffffffffffffffffffffffffffffffffffffff1660a08201528151610bdc908390600690811061067157610671611a74565b60c08201528151610bfa90839060079081106101bf576101bf611a74565b8160e00181905250610c1b6109c2836008815181106109b5576109b5611a74565b816101000181905250610c3a8260098151811061067157610671611a74565b60ff166101208201528151610c5c908390600a90811061067157610671611a74565b6101408201528151610c7b908390600b90811061067157610671611a74565b610160820152919050565b6060600080610c9484610e85565b91935090915060019050816001811115610cb057610cb0611b0a565b14610cfd5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e000000000000000000604482015260640161047b565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610d165790505090506000835b8651811015610e7a5760208210610dc25760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e00000000000000000000000000000000000000000000606482015260840161047b565b600080610dff6040518060400160405280858c60000151610de39190611b50565b8152602001858c60200151610df89190611b63565b9052610e85565b509150915060405180604001604052808383610e1b9190611b63565b8152602001848b60200151610e309190611b63565b815250858581518110610e4557610e45611a74565b6020908102919091010152610e5b600185611b63565b9350610e678183611b63565b610e719084611b63565b92505050610d43565b508152949350505050565b600080600080846000015111610edd5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e0000000000000000604482015260640161047b565b6020840151805160001a607f8111610f025760006001600094509450945050506111cf565b60b78111610f7e576000610f17608083611b50565b905080876000015111610f6c5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e00000000000000604482015260640161047b565b600195509350600092506111cf915050565b60bf811161106d576000610f9360b783611b50565b905080876000015111610fe85760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161047b565b600183015160208290036101000a90046110028183611b63565b8851116110515760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e0000000000000000604482015260640161047b565b61105c826001611b63565b96509450600093506111cf92505050565b60f781116110e857600061108260c083611b50565b9050808760000151116110d75760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e000000000000000000604482015260640161047b565b6001955093508492506111cf915050565b60006110f560f783611b50565b90508087600001511161114a5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161047b565b600183015160208290036101000a90046111648183611b63565b8851116111b35760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e00000000000000000000604482015260640161047b565b6111be826001611b63565b96509450600193506111cf92505050565b9193909250565b606060008267ffffffffffffffff8111156111f3576111f3611959565b6040519080825280601f01601f19166020018201604052801561121d576020820181803683370190505b509050805160000361123057905061020d565b8484016020820160005b8581101561125257828101518282015260200161123a565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b600061050c8261165c565b805160009060010361129e57506000919050565b81516015146112ef5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020616464726573732076616c75652e000000000000604482015260640161047b565b61050c8261127f565b60608161130681601f611b63565b10156113545760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161047b565b8261135f8382611b63565b10156113ad5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161047b565b6113b78284611b63565b845110156114075760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161047b565b606082158015611426576040519150600082526020820160405261148e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561145f578051835260209283019201611447565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6060815167ffffffffffffffff8111156114b3576114b3611959565b6040519080825280602002602001820160405280156114f957816020015b6040805180820190915260008152606060208201528152602001906001900390816114d15790505b50905060005b825181101561165657600061151f8483815181106109b5576109b5611a74565b90506000611539826000815181106106d5576106d5611a74565b90506000611553836001815181106109b5576109b5611a74565b90506000815167ffffffffffffffff81111561157157611571611959565b60405190808252806020026020018201604052801561159a578160200160208202803683370190505b50905060005b82518110156115f8576115cb8382815181106115be576115be611a74565b602002602001015161165c565b8282815181106115dd576115dd611a74565b60209081029190910101526115f181611ad2565b90506115a0565b5060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018281525086868151811061163657611636611a74565b6020026020010181905250505050508061164f90611ad2565b90506114ff565b50919050565b60006021826000015111156116b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604482015260640161047b565b60008060006116c185610e85565b9194509250905060008160018111156116dc576116dc611b0a565b146117295760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604482015260640161047b565b600083866020015161173b9190611b63565b805190915060208410156117555760208490036101000a90045b9695505050505050565b60008060006040848603121561177457600080fd5b83359250602084013567ffffffffffffffff8082111561179357600080fd5b818601915086601f8301126117a757600080fd5b8135818111156117b657600080fd5b8760208285010111156117c857600080fd5b6020830194508093505050509250925092565b6000815180845260005b81811015611801576020818501810151868301820152016117e5565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600061010060ff835116845273ffffffffffffffffffffffffffffffffffffffff60208401511660208501526040830151816040860152611882828601826117db565b9150506060830151606085015260808301516118a3608086018260ff169052565b5060a083015160a085015260c083015160c085015260e083015184820360e086015261059982826117db565b60006020808352604083018451828386015281815180845260608701915060608160051b8801019350848301925060005b8181101561194c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088860301835261193a85855161183f565b94509285019291850191600101611900565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561199b57600080fd5b82359150602083013567ffffffffffffffff808211156119ba57600080fd5b818501915085601f8301126119ce57600080fd5b8135818111156119e0576119e0611959565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611a2657611a26611959565b81604052828152886020848701011115611a3f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60208152600061020d602083018461183f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b0357611b03611aa3565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808202811582820484141761050c5761050c611aa3565b8181038181111561050c5761050c611aa3565b8082018082111561050c5761050c611aa356fea2646970667358221220977255eb91ee0bc83da7d64c4ccd4610769dfef0575766e3b1d355d99af47f7d64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "AddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xfb2e436f19bdbec4da734cf0919b4423eb4c7a14d4f249db9211e6070a6a653d": "0x0000000000000000000000000000777700000000000000000000000000000001", + "0x0aa3204ceb554139e74fc959b75d2c0961a8274eee43ddfb4c452fa0d56e55c3": "0x0000000000000000000000000000777700000000000000000000000000000004", + "0xc19602c1e190099bda9f0217b29220086721ab0cc7df1664d5392c1062c6d6a0": "0x0000000000000000000000000000777700000000000000000000000000000002", + "0x2230df1245aba8de92051ca9155400ea7ed51d37f62ecf6ceb23a360b8066ac7": "0x0000000000000000000000000000777700000000000000000000000000000003", + "0x61566bd8aa85fc0cba510177307735c5887d55659d67a1f0f76bfcaa381cbca5": "0x0000000000000000000000000000777700000000000000000000000000000007" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bf40fac111610050578063bf40fac1146100d7578063e1c7392a14610115578063f2fde38b1461011d57600080fd5b8063715018a6146100775780638da5cb5b146100815780639b2ea4bd146100c4575b600080fd5b61007f610130565b005b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f6100d2366004610796565b610144565b61009b6100e53660046107e4565b805160209182012060009081526065909152604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61007f610216565b61007f61012b366004610821565b6103ad565b610138610461565b61014260006104e2565b565b61014c610461565b815160208084019190912060008181526065909252604091829020805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092559251919216906101b9908590610843565b6040805191829003822073ffffffffffffffffffffffffffffffffffffffff808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b600054610100900460ff16158080156102365750600054600160ff909116105b806102505750303b158015610250575060005460ff166001145b6102e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561033f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610347610559565b80156103aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6103b5610461565b73ffffffffffffffffffffffffffffffffffffffff8116610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d8565b6103aa816104e2565b60335473ffffffffffffffffffffffffffffffffffffffff163314610142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166105f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102d8565b610142600054610100900460ff1661068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102d8565b610142336104e2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126106d357600080fd5b813567ffffffffffffffff808211156106ee576106ee610693565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561073457610734610693565b8160405283815286602085880101111561074d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461079157600080fd5b919050565b600080604083850312156107a957600080fd5b823567ffffffffffffffff8111156107c057600080fd5b6107cc858286016106c2565b9250506107db6020840161076d565b90509250929050565b6000602082840312156107f657600080fd5b813567ffffffffffffffff81111561080d57600080fd5b610819848285016106c2565b949350505050565b60006020828403121561083357600080fd5b61083c8261076d565b9392505050565b6000825160005b81811015610864576020818601810151858301520161084a565b50600092019182525091905056fea2646970667358221220d05082af8e0e2cbc9ddc35de7e94b4f45055b3cbd8e60239532b1697a91218c864736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "TaikoL2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000032": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000035": "0x68ce81c266ebf073d5146e3a6a2145d4d2c1ed50490002a530826beee087fd9e" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063975e09a011610076578063c3f909d41161005b578063c3f909d41461019e578063c7b96908146102dd578063ee82ac5e146102e657600080fd5b8063975e09a014610176578063a0ca2d081461018b57600080fd5b806325bf86f2116100a757806325bf86f2146101135780633ab76e9f146101415780635155ce9f1461015f57600080fd5b80630ca4dffd146100c35780631be2bfa714610100575b600080fd5b6100d66100d1366004612415565b6102f9565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d661010e366004612463565b61030f565b6101336101213660046124ba565b60009081526034602052604090205490565b6040519081526020016100f7565b60005473ffffffffffffffffffffffffffffffffffffffff166100d6565b603654600090815260346020526040902054610133565b6101896101843660046124d3565b610326565b005b610189610199366004612560565b61040f565b6101a6610485565b6040516100f79190815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c080830151908201526101e080830151908201526102008083015167ffffffffffffffff90811691830191909152610220808401518216908301526102408084015182169083015261026080840151821690830152610280808401518216908301526102a080840151909116908201526102c0808301511515908201526102e080830151151590820152610300918201511515918101919091526103200190565b61013360365481565b6101336102f43660046124ba565b610596565b6000610306468484610677565b90505b92915050565b600061031c848484610677565b90505b9392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610371576040517f6494e9f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3a156103a9576040517f497d3b1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103b3610485565b90506103c281868686866107ad565b806102e00151156103d5576103d5610a53565b6103df8585610b5e565b6040517f64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a290600090a25050505050565b6000610419610485565b9050806102e001511561042e5761042e610a53565b6036839055600083815260346020526040908190208390555183907f58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691906104789085815260200190565b60405180910390a2505050565b61058660405180610320016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581526020016000151581526020016000151581525090565b61058e610b80565b468152919050565b60004382106105a757506000919050565b43821080156105c157506105bd610100436125b1565b8210155b156105cb57504090565b5060009081526033602052604090205490565b919050565b73ffffffffffffffffffffffffffffffffffffffff8116610630576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061068385610d60565b846040516020016106959291906125e8565b60408051601f19818403018152908290526000547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906106fa908490600401612640565b602060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b9190612697565b9150826107a55760405173ffffffffffffffffffffffffffffffffffffffff831615159061076d9083906020016126b2565b604051602081830303815290604052906107a35760405162461bcd60e51b815260040161079a9190612640565b60405180910390fd5b505b509392505050565b60e08501518311156107c8576107c38282610e1e565b610a4c565b84516040517f4eb7f19900000000000000000000000000000000000000000000000000000000815273658d9Ff6257D5254FC536d29641E43144Fbe8d8C91634eb7f1999161081d9190889088906004016126f7565b600060405180830381865af492505050801561085b57506040513d6000823e601f3d908101601f19168201604052610858919081019061278b565b60015b61089f573d808015610889576040519150601f19603f3d011682016040523d82523d6000602084013e61088e565b606091505b506108998383610e1e565b50610a4c565b60c086015181515111156108b7576108998383610e1e565b8560a001516108c582610e79565b11156108d5576108998383610e1e565b8051518210610910576040517fb431f3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816000015183815181106109285761092861292b565b60200260200101519050600160028111156109455761094561295a565b8460028111156109575761095761295a565b036109bf57865160009061096b9083610ecb565b73ffffffffffffffffffffffffffffffffffffffff16146109b8576040517ff8092d1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050610a4c565b60028460028111156109d3576109d361295a565b03610a1a578661010001518160600151106109b8576040517ff8092d1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f9343055600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b610a5b6122bb565b434660025b6101008111158015610a725750808310155b15610abe57610a8181846125b1565b408460ff610a8f84876125b1565b610a9991906129b8565b60ff8110610aa957610aa961292b565b6020020152610ab7816129cc565b9050610a60565b506000610acc6001846125b1565b90508040610add8383600088610f5c565b60355414610b17576040517fd719258d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8085610b2460ff856129b8565b60ff8110610b3457610b3461292b565b6020020152610b468385600088610f5c565b60355560009182526033602052604090912055505050565b60008282604051610b70929190612a04565b6040518091039020905092915050565b610c8160405180610320016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581526020016000151581526020016000151581525090565b50604080516103208101825262028c5c81526108016020820152602891810191909152600a606082015260006080820152625b8d8060a0820152604f60c08201526201d4c060e08201526152086101008201526203d090610120820152620e71d9610140820152606461016082015260196101808201526104006101a082018190526101c082018190526101e0820152610190610200820181905260c8610220830152610240820152603c61026082015261070861028082015262278d006102a082015260016102c082018190526102e0820181905261030082015290565b60606000610d6d83610f95565b600101905060008167ffffffffffffffff811115610d8d57610d8d6122da565b6040519080825280601f01601f191660200182016040528015610db7576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610dc157509392505050565b6000826002811115610e3257610e3261295a565b141580610e3e57508015155b15610e75576040517f11abdc5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600090815b8151811015610ec457818181518110610e9b57610e9b61292b565b60200260200101516060015183610eb29190612a14565b9250610ebd816129cc565b9050610e80565b5050919050565b60006001610ed98484611077565b6080840151610ee990601b612a27565b60a085015160c0860151604080516000815260200190819052610f28949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015610f4a573d6000803e3d6000fd5b5050604051601f190151949350505050565b600084848484604051602001610f759493929190612a40565b604051602081830303815290604052805190602001209050949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610fde577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061100a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061102857662386f26fc10000830492506010015b6305f5e1008310611040576305f5e100830492506008015b612710831061105457612710830492506004015b60648310611066576064830492506002015b600a83106103095760010192915050565b60006060826000015160ff1660000361109e576110978360e00151611465565b90506110b8565b6110b56110b08460e001516001611498565b611465565b90505b825160ff1660000361111a5780516009146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b61121c565b825160ff16600103611177578051600b146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b825160ff166002036111d4578051600c146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420747854797065000000000000000000000000000000000000604482015260640161079a565b825160009060ff161561123c576003825161123791906125b1565b61123f565b81515b67ffffffffffffffff811115611257576112576122da565b60405190808252806020026020018201604052801561128a57816020015b60608152602001906001900390816112755790505b50905060005b815181101561141257845160ff16158015906112b85750600182516112b591906125b1565b81145b15611301576112df8382815181106112d2576112d261292b565b60200260200101516114ce565b8282815181106112f1576112f161292b565b6020026020010181905250611402565b61132b6113268483815181106113195761131961292b565b60200260200101516114d9565b611569565b82828151811061133d5761133d61292b565b6020908102919091010152845160ff1615801561136657506004825161136391906125b1565b81145b1561140257611374866115d8565b82611380836001612a14565b815181106113905761139061292b565b60200260200101819052506113a560006115e6565b826113b1836002612a14565b815181106113c1576113c161292b565b60200260200101819052506113d660006115e6565b826113e2836003612a14565b815181106113f2576113f261292b565b6020026020010181905250611412565b61140b816129cc565b9050611290565b50600061141e826115fe565b855190915060ff16156114545784516040516114429160f81b908390602001612a8b565b60405160208183030381529060405290505b805160209091012095945050505050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061030990611642565b6060825182106114b75750604080516020810190915260008152610309565b61030683838486516114c991906125b1565b611841565b6060610309826119c2565b606060008060006114e9856119d8565b9194509250905060008160018111156115045761150461295a565b146115515760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e0000000000000000604482015260640161079a565b61156085602001518484611d29565b95945050505050565b60608082516001148015611597575060808360008151811061158d5761158d61292b565b016020015160f81c105b156115a3575081610309565b6115af83516080611dd2565b836040516020016115c1929190612ad3565b604051602081830303815290604052905092915050565b606061030961132683611fba565b60606103096113268367ffffffffffffffff16611fba565b6060600061160b83612115565b9050611619815160c0611dd2565b8160405160200161162b929190612ad3565b604051602081830303815290604052915050919050565b6060600080611650846119d8565b9193509091506001905081600181111561166c5761166c61295a565b146116b95760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e000000000000000000604482015260640161079a565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816116d25790505090506000835b8651811015611836576020821061177e5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e00000000000000000000000000000000000000000000606482015260840161079a565b6000806117bb6040518060400160405280858c6000015161179f91906125b1565b8152602001858c602001516117b49190612a14565b90526119d8565b5091509150604051806040016040528083836117d79190612a14565b8152602001848b602001516117ec9190612a14565b8152508585815181106118015761180161292b565b6020908102919091010152611817600185612a14565b93506118238183612a14565b61182d9084612a14565b925050506116ff565b508152949350505050565b60608161184f81601f612a14565b101561189d5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161079a565b826118a88382612a14565b10156118f65760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161079a565b6119008284612a14565b845110156119505760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161079a565b60608215801561196f57604051915060008252602082016040526119b9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119a8578051835260209283019201611990565b5050858452601f01601f1916604052505b50949350505050565b6060610309826020015160008460000151611d29565b600080600080846000015111611a305760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e0000000000000000604482015260640161079a565b6020840151805160001a607f8111611a55576000600160009450945094505050611d22565b60b78111611ad1576000611a6a6080836125b1565b905080876000015111611abf5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e00000000000000604482015260640161079a565b60019550935060009250611d22915050565b60bf8111611bc0576000611ae660b7836125b1565b905080876000015111611b3b5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161079a565b600183015160208290036101000a9004611b558183612a14565b885111611ba45760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e0000000000000000604482015260640161079a565b611baf826001612a14565b9650945060009350611d2292505050565b60f78111611c3b576000611bd560c0836125b1565b905080876000015111611c2a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e000000000000000000604482015260640161079a565b600195509350849250611d22915050565b6000611c4860f7836125b1565b905080876000015111611c9d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161079a565b600183015160208290036101000a9004611cb78183612a14565b885111611d065760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e00000000000000000000604482015260640161079a565b611d11826001612a14565b9650945060019350611d2292505050565b9193909250565b606060008267ffffffffffffffff811115611d4657611d466122da565b6040519080825280601f01601f191660200182016040528015611d70576020820181803683370190505b5090508051600003611d8357905061031f565b8484016020820160005b85811015611da5578281015182820152602001611d8d565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b6060806038841015611e515760408051600180825281830190925290602082018180368337019050509050611e078385612a27565b60f81b81600081518110611e1d57611e1d61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610306565b600060015b611e608187612b02565b15611e8357611e6e826129cc565b9150611e7c61010082612b16565b9050611e56565b611e8e826001612a14565b67ffffffffffffffff811115611ea657611ea66122da565b6040519080825280601f01601f191660200182016040528015611ed0576020820181803683370190505b509250611edd8583612a27565b611ee8906037612a27565b60f81b83600081518110611efe57611efe61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116107a357610100611f4682846125b1565b611f5290610100612c4d565b611f5c9088612b02565b611f6691906129b8565b60f81b838281518110611f7b57611f7b61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611fb3816129cc565b9050611f32565b6060600082604051602001611fd191815260200190565b604051602081830303815290604052905060005b602081101561203e578181815181106120005761200061292b565b01602001517fff000000000000000000000000000000000000000000000000000000000000001660000361203e57612037816129cc565b9050611fe5565b600061204b8260206125b1565b67ffffffffffffffff811115612063576120636122da565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b50905060005b81518110156119b95783836120a7816129cc565b9450815181106120b9576120b961292b565b602001015160f81c60f81b8282815181106120d6576120d661292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061210e816129cc565b9050612093565b6060815160000361213457505060408051600081526020810190915290565b6000805b8351811015612179578381815181106121535761215361292b565b602002602001015151826121679190612a14565b9150612172816129cc565b9050612138565b60008267ffffffffffffffff811115612194576121946122da565b6040519080825280601f01601f1916602001820160405280156121be576020820181803683370190505b50600092509050602081015b85518310156119b95760008684815181106121e7576121e761292b565b60200260200101519050600060208201905061220583828451612240565b8785815181106122175761221761292b565b6020026020010151518361222b9190612a14565b9250505082612239906129cc565b92506121ca565b8282825b6020811061227c578151835261225b602084612a14565b9250612268602083612a14565b91506122756020826125b1565b9050612244565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b60405180611fe0016040528060ff906020820280368337509192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff8111828210171561232c5761232c6122da565b60405290565b604051610100810167ffffffffffffffff8111828210171561232c5761232c6122da565b604051601f8201601f1916810167ffffffffffffffff8111828210171561237f5761237f6122da565b604052919050565b600067ffffffffffffffff8211156123a1576123a16122da565b50601f01601f191660200190565b600082601f8301126123c057600080fd5b81356123d36123ce82612387565b612356565b8181528460208386010111156123e857600080fd5b816020850160208301376000918101602001919091529392505050565b803580151581146105de57600080fd5b6000806040838503121561242857600080fd5b823567ffffffffffffffff81111561243f57600080fd5b61244b858286016123af565b92505061245a60208401612405565b90509250929050565b60008060006060848603121561247857600080fd5b83359250602084013567ffffffffffffffff81111561249657600080fd5b6124a2868287016123af565b9250506124b160408501612405565b90509250925092565b6000602082840312156124cc57600080fd5b5035919050565b600080600080606085870312156124e957600080fd5b843567ffffffffffffffff8082111561250157600080fd5b818701915087601f83011261251557600080fd5b81358181111561252457600080fd5b88602082850101111561253657600080fd5b602092830196509450508501356003811061255057600080fd5b9396929550929360400135925050565b6000806040838503121561257357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561030957610309612582565b60005b838110156125df5781810151838201526020016125c7565b50506000910152565b600083516125fa8184602088016125c4565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516126348160018401602088016125c4565b01600101949350505050565b602081526000825180602084015261265f8160408501602087016125c4565b601f01601f19169190910160400192915050565b805173ffffffffffffffffffffffffffffffffffffffff811681146105de57600080fd5b6000602082840312156126a957600080fd5b61030682612673565b7f41523a7a65726f416464723a00000000000000000000000000000000000000008152600082516126ea81600c8501602087016125c4565b91909101600c0192915050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b805160ff811681146105de57600080fd5b600082601f83011261274f57600080fd5b815161275d6123ce82612387565b81815284602083860101111561277257600080fd5b6127838260208301602087016125c4565b949350505050565b6000602080838503121561279e57600080fd5b825167ffffffffffffffff808211156127b657600080fd5b81850191508282870312156127ca57600080fd5b6127d2612309565b8251828111156127e157600080fd5b80840193505086601f8401126127f657600080fd5b825182811115612808576128086122da565b8060051b612817868201612356565b918252848101860191868101908a84111561283157600080fd5b87870192505b8383101561291b5782518681111561284e57600080fd5b8701610100818d03601f190181131561286657600080fd5b61286e612332565b6128798b840161272d565b815261288760408401612673565b8b82015260608301518981111561289d57600080fd5b6128ab8f8d8387010161273e565b6040830152506080830151606082015260a06128c881850161272d565b608083015260c0808501518284015260e09150818501518184015250828401519250898311156128f85760008081fd5b6129068f8d8587010161273e565b90820152845250509187019190870190612837565b8452509198975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826129c7576129c7612989565b500690565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129fd576129fd612582565b5060010190565b8183823760009101908152919050565b8082018082111561030957610309612582565b60ff818116838216019081111561030957610309612582565b848152600060208581840152846040840152606083018460005b60ff811015612a7757815183529183019190830190600101612a5a565b505050506120408201905095945050505050565b7fff000000000000000000000000000000000000000000000000000000000000008316815260008251612ac58160018501602087016125c4565b919091016001019392505050565b60008351612ae58184602088016125c4565b835190830190612af98183602088016125c4565b01949350505050565b600082612b1157612b11612989565b500490565b808202811582820484141761030957610309612582565b600181815b80851115612b8657817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612b6c57612b6c612582565b80851615612b7957918102915b93841c9390800290612b32565b509250929050565b600082612b9d57506001610309565b81612baa57506000610309565b8160018114612bc05760028114612bca57612be6565b6001915050610309565b60ff841115612bdb57612bdb612582565b50506001821b610309565b5060208310610133831016604e8410600b8410161715612c09575081810a610309565b612c138383612b2d565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612c4557612c45612582565b029392505050565b60006103068383612b8e56fea2646970667358221220b0e2d2df211dd589d063e24dc61098a0aec86ea03c1fcd3241c1634bae25d5dd64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "Bridge", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106101635760003560e01c8063715018a6116100c0578063ce70f39b11610074578063f2fde38b11610059578063f2fde38b1461051a578063f98039191461053a578063fee99b221461055a57600080fd5b8063ce70f39b1461048b578063d0496d6a146104ab57600080fd5b806396e17852116100a557806396e1785214610438578063a4444efd1461044b578063bac443e21461046b57600080fd5b8063715018a6146104055780638da5cb5b1461041a57600080fd5b80635075a9d4116101175780635817b0c3116100fc5780635817b0c3146103975780635d0bd986146103c5578063606b5b74146103e557600080fd5b80635075a9d41461034a578063540be6a31461037757600080fd5b80631be2bfa7116101485780631be2bfa7146102cc578063343b643c146102ec5780633ab76e9f1461032c57600080fd5b80630ca4dffd1461026f57806319ab453c146102ac57600080fd5b3661026a576101a86040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600161057a565b6001600160a01b0316336001600160a01b03161415801561021a57506102046040518060400160405280600b81526020017f65746865725f7661756c74000000000000000000000000000000000000000000815250600161057a565b6001600160a01b0316336001600160a01b031614155b801561023157506065546001600160a01b03163314155b15610268576040517f8bba088a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b34801561027b57600080fd5b5061028f61028a366004613914565b61057a565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102b857600080fd5b506102686102c7366004613986565b610590565b3480156102d857600080fd5b5061028f6102e73660046139a3565b610729565b3480156102f857600080fd5b5061031c6103073660046139fe565b600090815260cd602052604090205460ff1690565b60405190151581526020016102a3565b34801561033857600080fd5b506097546001600160a01b031661028f565b34801561035657600080fd5b5061036a6103653660046139fe565b61073e565b6040516102a39190613a81565b34801561038357600080fd5b5061031c6103923660046139fe565b610749565b3480156103a357600080fd5b506103b76103b2366004613aa8565b610755565b6040519081526020016102a3565b3480156103d157600080fd5b5061031c6103e03660046139fe565b610768565b3480156103f157600080fd5b506103b76104003660046139fe565b61077b565b34801561041157600080fd5b50610268610786565b34801561042657600080fd5b506065546001600160a01b031661028f565b6103b7610446366004613aa8565b61079a565b34801561045757600080fd5b5061031c610466366004613b26565b6107c8565b34801561047757600080fd5b50610268610486366004613b79565b6107e0565b34801561049757600080fd5b5061031c6104a6366004613b26565b610804565b3480156104b757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016102a3565b34801561052657600080fd5b50610268610535366004613986565b610813565b34801561054657600080fd5b50610268610555366004613be2565b6108bd565b34801561056657600080fd5b50610268610575366004613b79565b6108db565b60006105874684846108f1565b90505b92915050565b600054610100900460ff16158080156105b05750600054600160ff909116105b806105ca5750303b1580156105ca575060005460ff166001145b61065b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156106b957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106c282610a3c565b801561072557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107368484846108f1565b949350505050565b600061058a82610a55565b600061058a3083610a78565b600061058a61076383613c18565b610bbd565b60006107743083610bed565b5092915050565b600061058a82610cc5565b61078e610d00565b6107986000610d74565b565b60006107a4610dde565b6107b860c9306107b385613c18565b610e51565b90506107c360018055565b919050565b60006107d73086868686611239565b95945050505050565b6107e8610dde565b6107f660c930858585611435565b6107ff60018055565b505050565b60006107d73086868686611823565b61081b610d00565b6001600160a01b0381166108b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610652565b6108ba81610d74565b50565b6108c5610dde565b6108d260c9308484611ba6565b61072560018055565b6108e3610dde565b6107f660c930858585611e82565b6000806108fd856124f5565b8460405160200161090f929190613d3e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac190610985908490600401613de0565b602060405180830381865afa1580156109a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190613df3565b915082610a34576040516001600160a01b0383161515906109eb908390602001613e10565b60405160208183030381529060405290610a32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106529190613de0565b505b509392505050565b610a44612595565b610a4c612634565b6108ba816126d3565b600080610a6183610cc5565b805490915080600381111561073657610736613a17565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201819052906001600160a01b03841690630ca4dffd90608401602060405180830381865afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b339190613df3565b6040517f32676bc6000000000000000000000000000000000000000000000000000000008152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105879190613e55565b600081604051602001610bd09190613f65565b604051602081830303815290604052805190602001209050919050565b6040517f1be2bfa70000000000000000000000000000000000000000000000000000000081526004810182905260606024820152600660648201527f627269646765000000000000000000000000000000000000000000000000000060848201526001604482015260009081906001600160a01b03851690631be2bfa79060a401602060405180830381865afa158015610c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610caf9190613df3565b6001600160a01b03811615159590945092505050565b6040517f4d4553534147455f5354415455530000000000000000000000000000000000006020820152602e8101829052600090604e01610bd0565b6065546001600160a01b03163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610652565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610e4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610652565b6002600155565b60808101516000906001600160a01b0316610e98576040517fd8c3418000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610ea9858560600151610bed565b91509150811580610ebd5750468460600151145b15610ef4576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08401516001600160a01b03161580610f235750806001600160a01b03168460a001516001600160a01b0316145b15610f5a576040517fb9ad6a0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008461012001518561010001518660e00151610f779190613fdb565b610f819190613fdb565b9050348114610fbc576040517f9826865c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110779190613df3565b90506001600160a01b0381161561109b5761109b6001600160a01b0382168361274d565b87548860006110a983613fee565b9091555086523360208701524660408701526110c486610bbd565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529095506001600160a01b03881690630ca4dffd90608401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190613df3565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b81526004016111ac91815260200190565b6020604051808303816000875af11580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190614008565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f3876040516112209190614021565b60405180910390a2505050509392505050565b60018055565b6040517f1be2bfa70000000000000000000000000000000000000000000000000000000081526004810184905260606024820152600660648201527f627269646765000000000000000000000000000000000000000000000000000060848201526000604482018190529081906001600160a01b03881690631be2bfa79060a401602060405180830381865afa1580156112d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fb9190613df3565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529091506001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b69190613df3565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016113e9959493929190614034565b602060405180830381865afa158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a9190613e55565b979650505050505050565b600061144760a0850160808601613986565b6001600160a01b031603611487576040517fd8c3418000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b468360400135146114c4576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114d261076385613c18565b600081815260048801602052604090205490915060ff161515600103611524576040517fafde133500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611535858286606001358686611823565b61156b576040517f498b0b1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600487016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556115b761010086013560e0870135613fdb565b905080156117c757604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a9190613df3565b90506001600160a01b03811615611727576001600160a01b03811663ba0bbd956116aa60a0890160808a01613986565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561170a57600080fd5b505af115801561171e573d6000803e3d6000fd5b505050506117c5565b600061173960a0880160808901613986565b6001600160a01b03168360405160006040518083038185875af1925050503d8060008114611783576040519150601f19603f3d011682016040523d82523d6000602084013e611788565b606091505b50509050806117c3576040517ff6664cf100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd8476117f960a0880160808901613986565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361185e576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000859003611899576040517fa6407c9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118a783850185614145565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600560448201527f7461696b6f00000000000000000000000000000000000000000000000000000060648201526000602482018190529192506001600160a01b03891690630ca4dffd90608401602060405180830381865afa158015611940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119649190613df3565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526001600160a01b0391909116906325bf86f290602401602060405180830381865afa1580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190614008565b9050801580611a1a57508151611a1690612810565b8114155b15611a2a576000925050506107d7565b81516060908101516040517f1be2bfa7000000000000000000000000000000000000000000000000000000008152600481018990526024810192909252600660648301527f627269646765000000000000000000000000000000000000000000000000000060848301526000604483015273B51f0f2bdCbf6cfabB35239921A5c672519F74ba91639603043991906001600160a01b038c1690631be2bfa79060a401602060405180830381865afa158015611ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0d9190613df3565b611b168b610cc5565b602087015160405160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152611b59949392916003916004016142ea565b602060405180830381865af4158015611b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9a9190613e55565b98975050505050505050565b6101408201351580611bb55750805b15611c1457611bca60a0830160808401613986565b6001600160a01b0316336001600160a01b031614611c14576040517fd7f4fc9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611c2261076384613c18565b90506001611c2f82610a55565b6003811115611c4057611c40613a17565b14611c77576040517f1f6646b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03861690630ca4dffd90608401602060405180830381865afa158015611d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d329190613df3565b90506001600160a01b03811615611dbb576040517fd73bb3d000000000000000000000000000000000000000000000000000000000815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611da257600080fd5b505af1158015611db6573d6000803e3d6000fd5b505050505b611dc78685845a612835565b15611ddc57611dd78260026129d6565b611e7a565b8215611e5357611ded8260036129d6565b600080611e0060e0870160c08801613986565b6001600160a01b031614611e2357611e1e60e0860160c08701613986565b611e33565b611e3360a0860160808701613986565b9050611e4d6001600160a01b03821661010087013561274d565b50611e7a565b6001600160a01b03811615611e7a57611e7a6001600160a01b03821661010086013561274d565b505050505050565b610140830135158015611eb65750611ea060a0840160808501613986565b6001600160a01b0316336001600160a01b031614155b15611eed576040517fe62d8d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46836060013514611f2a576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f3861076385613c18565b90506000611f4582610a55565b6003811115611f5657611f56613a17565b14611f8d576040517f2c3b0c4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f1be2bfa700000000000000000000000000000000000000000000000000000000815290850135600482015260606024820152600660648201527f62726964676500000000000000000000000000000000000000000000000000006084820152600060448201819052906001600160a01b03871690631be2bfa79060a401602060405180830381865afa15801561202c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120509190613df3565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529091506001600160a01b03871690630ca4dffd90608401602060405180830381865afa1580156120e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210b9190613df3565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401612142959493929190614034565b602060405180830381865afa15801561215f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121839190613e55565b6121b9576040517fa282639800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101208601356121d461010088013560e0890135613fdb565b6121de9190613fdb565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201529091506000906001600160a01b03891690630ca4dffd90608401602060405180830381865afa158015612278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229c9190613df3565b90506001600160a01b038116158015906122b65750600082115b1561232f576040517fd73bb3d0000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561231657600080fd5b505af115801561232a573d6000803e3d6000fd5b505050505b60e0870135156123605761236060e088013561235160a08a0160808b01613986565b6001600160a01b03169061274d565b6000803061237460c08b0160a08c01613986565b6001600160a01b031614806123a15750600061239660c08b0160a08c01613986565b6001600160a01b0316145b156123b657506002905061010088013561243c565b60006123c860a08b0160808c01613986565b6001600160a01b0316336001600160a01b0316146123eb578961014001356123ed565b5a5b905060006123fd8d8c8a85612835565b9050801561240e5760029350612439565b600193506001600160a01b03851615612439576124396001600160a01b0386166101008d013561274d565b50505b61244686836129d6565b60008061245960e08c0160c08d01613986565b6001600160a01b03161461247c5761247760e08b0160c08c01613986565b61248c565b61248c60a08b0160808c01613986565b90506001600160a01b03811633036124c5576124c06124b0836101208d0135613fdb565b6001600160a01b0383169061274d565b6124e7565b6124d4336101208c013561274d565b6124e76001600160a01b0382168361274d565b505050505050505050505050565b6060600061250283612a4f565b600101905060008167ffffffffffffffff811115612522576125226137bb565b6040519080825280601f01601f19166020018201604052801561254c576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461255657509392505050565b600054610100900460ff1661262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b610798612b31565b600054610100900460ff166126cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b610798612bc8565b6001600160a01b038116612713576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8015610725576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146127a0576040519150601f19603f3d011682016040523d82523d6000602084013e6127a5565b606091505b50509050806107ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610652565b600080612826612821846000612c68565b6130ac565b80516020909101209392505050565b600081600003612871576040517ffe1d2c1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180606001604052808481526020018560200160208101906128959190613986565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055015160038601556128ff60c0850160a08601613986565b6001600160a01b03168261010086013561291d61016088018861434d565b60405161292b9291906143b2565b600060405180830381858888f193505050503d8060008114612969576040519150601f19603f3d011682016040523d82523d6000602084013e61296e565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560039096019590955550929392505050565b8060038111156129e8576129e8613a17565b6129f183610a55565b6003811115612a0257612a02613a17565b1461072557612a1182826130f0565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051612a439291906143c2565b60405180910390a25050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a98577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612ac4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612ae257662386f26fc10000830492506010015b6305f5e1008310612afa576305f5e100830492506008015b6127108310612b0e57612710830492506004015b60648310612b20576064830492506002015b600a831061058a5760010192915050565b600054610100900460ff16611233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b600054610100900460ff16612c5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b61079833610d74565b61020082015160609015612cd457612c81826011613fdb565b67ffffffffffffffff811115612c9957612c996137bb565b604051908082528060200260200182016040528015612ccc57816020015b6060815260200190600190039081612cb75790505b509050612d44565b6101e083015115612cea57612c81826010613fdb565b612cf582600f613fdb565b67ffffffffffffffff811115612d0d57612d0d6137bb565b604051908082528060200260200182016040528015612d4057816020015b6060815260200190600190039081612d2b5790505b5090505b8251612d4f90613119565b81600081518110612d6257612d626143e6565b6020026020010181905250612d7a8360200151613119565b81600181518110612d8d57612d8d6143e6565b6020026020010181905250612da5836040015161312c565b81600281518110612db857612db86143e6565b6020026020010181905250612dd08360600151613119565b81600381518110612de357612de36143e6565b6020026020010181905250612dfb8360800151613119565b81600481518110612e0e57612e0e6143e6565b6020026020010181905250612e268360a00151613119565b81600581518110612e3957612e396143e6565b6020026020010181905250612e708360c00151604051602001612e5c9190614415565b604051602081830303815290604052613168565b81600681518110612e8357612e836143e6565b6020026020010181905250612e9b8360e001516131d7565b81600781518110612eae57612eae6143e6565b6020026020010181905250612ed98361010001516fffffffffffffffffffffffffffffffff166131d7565b81600881518110612eec57612eec6143e6565b6020026020010181905250612f058361012001516131e5565b81600981518110612f1857612f186143e6565b6020026020010181905250612f318361014001516131e5565b81600a81518110612f4457612f446143e6565b6020026020010181905250612f5d8361016001516131e5565b81600b81518110612f7057612f706143e6565b6020026020010181905250612f89836101800151613168565b81600c81518110612f9c57612f9c6143e6565b6020026020010181905250612fb5836101a00151613119565b81600d81518110612fc857612fc86143e6565b6020026020010181905250613017836101c00151604051602001612e5c919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061302a5761302a6143e6565b6020026020010181905250826101e0015160001461306f57613050836101e001516131d7565b81600f81518110613063576130636143e6565b60200260200101819052505b6102008301511561058a57613088836102000151613119565b8160108151811061309b5761309b6143e6565b602002602001018190525092915050565b606060006130b9836131fd565b90506130c7815160c0613333565b816040516020016130d992919061444a565b604051602081830303815290604052915050919050565b60006130fb83610cc5565b9050600082600381111561311157613111613a17565b909155505050565b606061058a6131278361351b565b613168565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061058a90603401612e5c565b60608082516001148015613196575060808360008151811061318c5761318c6143e6565b016020015160f81c105b156131a257508161058a565b6131ae83516080613333565b836040516020016131c092919061444a565b604051602081830303815290604052905092915050565b606061058a61312783613603565b606061058a6131278367ffffffffffffffff16613603565b6060815160000361321e576040805160008082526020820190925290610774565b6000805b83518110156132635783818151811061323d5761323d6143e6565b602002602001015151826132519190613fdb565b915061325c81613fee565b9050613222565b60008267ffffffffffffffff81111561327e5761327e6137bb565b6040519080825280601f01601f1916602001820160405280156132a8576020820181803683370190505b50600092509050602081015b855183101561332a5760008684815181106132d1576132d16143e6565b6020026020010151905060006020820190506132ef8382845161375e565b878581518110613301576133016143e6565b602002602001015151836133159190613fdb565b925050508261332390613fee565b92506132b4565b50949350505050565b60608060388410156133b257604080516001808252818301909252906020820181803683370190505090506133688385614479565b60f81b8160008151811061337e5761337e6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610587565b600060015b6133c18187614492565b156133e4576133cf82613fee565b91506133dd610100826144a6565b90506133b7565b6133ef826001613fdb565b67ffffffffffffffff811115613407576134076137bb565b6040519080825280601f01601f191660200182016040528015613431576020820181803683370190505b50925061343e8583614479565b613449906037614479565b60f81b8360008151811061345f5761345f6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111610a32576101006134a782846144bd565b6134b3906101006145b4565b6134bd9088614492565b6134c791906145c0565b60f81b8382815181106134dc576134dc6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061351481613fee565b9050613493565b606060008260405160200161353291815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561332a57838361359581613fee565b9450815181106135a7576135a76143e6565b602001015160f81c60f81b8282815181106135c4576135c46143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506135fc81613fee565b9050613581565b606060008260405160200161361a91815260200190565b604051602081830303815290604052905060005b602081101561368757818181518110613649576136496143e6565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036136875761368081613fee565b905061362e565b60006136948260206144bd565b67ffffffffffffffff8111156136ac576136ac6137bb565b6040519080825280601f01601f1916602001820160405280156136d6576020820181803683370190505b50905060005b815181101561332a5783836136f081613fee565b945081518110613702576137026143e6565b602001015160f81c60f81b82828151811061371f5761371f6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061375781613fee565b90506136dc565b8282825b6020811061379a5781518352613779602084613fdb565b9250613786602083613fdb565b91506137936020826144bd565b9050613762565b905182516020929092036101000a6000190180199091169116179052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380e5761380e6137bb565b60405290565b6040805190810167ffffffffffffffff8111828210171561380e5761380e6137bb565b604051610220810167ffffffffffffffff8111828210171561380e5761380e6137bb565b600082601f83011261386c57600080fd5b813567ffffffffffffffff80821115613887576138876137bb565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156138cd576138cd6137bb565b816040528381528660208588010111156138e657600080fd5b836020870160208301376000602085830101528094505050505092915050565b80151581146108ba57600080fd5b6000806040838503121561392757600080fd5b823567ffffffffffffffff81111561393e57600080fd5b61394a8582860161385b565b925050602083013561395b81613906565b809150509250929050565b6001600160a01b03811681146108ba57600080fd5b80356107c381613966565b60006020828403121561399857600080fd5b813561058781613966565b6000806000606084860312156139b857600080fd5b83359250602084013567ffffffffffffffff8111156139d657600080fd5b6139e28682870161385b565b92505060408401356139f381613906565b809150509250925092565b600060208284031215613a1057600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110613a7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6020810161058a8284613a46565b60006101a08284031215613aa257600080fd5b50919050565b600060208284031215613aba57600080fd5b813567ffffffffffffffff811115613ad157600080fd5b61073684828501613a8f565b60008083601f840112613aef57600080fd5b50813567ffffffffffffffff811115613b0757600080fd5b602083019150836020828501011115613b1f57600080fd5b9250929050565b60008060008060608587031215613b3c57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b6157600080fd5b613b6d87828801613add565b95989497509550505050565b600080600060408486031215613b8e57600080fd5b833567ffffffffffffffff80821115613ba657600080fd5b613bb287838801613a8f565b94506020860135915080821115613bc857600080fd5b50613bd586828701613add565b9497909650939450505050565b60008060408385031215613bf557600080fd5b823567ffffffffffffffff811115613c0c57600080fd5b61394a85828601613a8f565b60006101a08236031215613c2b57600080fd5b613c336137ea565b82358152613c436020840161397b565b60208201526040830135604082015260608301356060820152613c686080840161397b565b6080820152613c7960a0840161397b565b60a0820152613c8a60c0840161397b565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115613cd757600080fd5b613ce33683880161385b565b83850152610180925082860135915080821115613cff57600080fd5b50613d0c3682870161385b565b918301919091525092915050565b60005b83811015613d35578181015183820152602001613d1d565b50506000910152565b60008351613d50818460208801613d1a565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351613d8a816001840160208801613d1a565b01600101949350505050565b60008151808452613dae816020860160208601613d1a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105876020830184613d96565b600060208284031215613e0557600080fd5b815161058781613966565b7f41523a7a65726f416464723a0000000000000000000000000000000000000000815260008251613e4881600c850160208701613d1a565b91909101600c0192915050565b600060208284031215613e6757600080fd5b815161058781613906565b60006101a0825184526020830151613e9560208601826001600160a01b03169052565b5060408301516040850152606083015160608501526080830151613ec460808601826001600160a01b03169052565b5060a0830151613edf60a08601826001600160a01b03169052565b5060c0830151613efa60c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015190850152610140808401519085015261016080840151818601839052613f3f83870182613d96565b925050506101808084015185830382870152613f5b8382613d96565b9695505050505050565b60408152601460408201527f5441494b4f5f4252494447455f4d45535341474500000000000000000000000060608201526080602082015260006105876080830184613e72565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561058a5761058a613fac565b6000600019820361400157614001613fac565b5060010190565b60006020828403121561401a57600080fd5b5051919050565b6020815260006105876020830184613e72565b8581526001600160a01b038516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b600082601f8301126140b057600080fd5b60405161010080820182811067ffffffffffffffff821117156140d5576140d56137bb565b604052830181858211156140e857600080fd5b845b828110156141025780358252602091820191016140ea565b509195945050505050565b80356fffffffffffffffffffffffffffffffff811681146107c357600080fd5b803567ffffffffffffffff811681146107c357600080fd5b60006020828403121561415757600080fd5b813567ffffffffffffffff8082111561416f57600080fd5b908301906040828603121561418357600080fd5b61418b613814565b82358281111561419a57600080fd5b830161030081880312156141ad57600080fd5b6141b5613837565b81358152602082013560208201526141cf6040830161397b565b6040820152606082013560608201526080820135608082015260a082013560a08201526141ff8860c0840161409f565b60c08201526101c08083013560e08301526101e061421e81850161410d565b61010084015261020061423281860161412d565b610120850152614245610220860161412d565b610140850152614258610240860161412d565b6101608501526102608501358781111561427157600080fd5b61427d8c82880161385b565b610180860152506102808501356101a085015261429d6102a0860161412d565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156142cf57600080fd5b6142db8782860161385b565b60208301525095945050505050565b8581526001600160a01b038516602082015283604082015282606082015260a06080820152600061142a60a0830184613d96565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438257600080fd5b83018035915067ffffffffffffffff82111561439d57600080fd5b602001915036819003821315613b1f57600080fd5b8183823760009101908152919050565b604081016143d08285613a46565b6001600160a01b03831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b600881101561443a57815183526020928301929091019060010161441b565b5050506101008201905092915050565b6000835161445c818460208801613d1a565b835190830190614470818360208801613d1a565b01949350505050565b60ff818116838216019081111561058a5761058a613fac565b6000826144a1576144a161431e565b500490565b808202811582820484141761058a5761058a613fac565b8181038181111561058a5761058a613fac565b600181815b8085111561450b5781600019048211156144f1576144f1613fac565b808516156144fe57918102915b93841c93908002906144d5565b509250929050565b6000826145225750600161058a565b8161452f5750600061058a565b8160018114614545576002811461454f5761456b565b600191505061058a565b60ff84111561456057614560613fac565b50506001821b61058a565b5060208310610133831016604e8410600b841016171561458e575081810a61058a565b61459883836144d0565b80600019048211156145ac576145ac613fac565b029392505050565b60006105878383614513565b6000826145cf576145cf61431e565b50069056fea2646970667358221220ec239ef73d6cbee8dbd31c663f4221c77b52ed6e7ce663cdda28f4eaa6af115964736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "TokenVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106100e85760003560e01c8063715018a61161008a5780639aa8605c116100595780639aa8605c146102b0578063c287e578146102e1578063ee1490b214610321578063f2fde38b1461033457600080fd5b8063715018a6146101fe578063780b64f0146102135780638da5cb5b146102725780639754149b1461029057600080fd5b80631be2bfa7116100c65780631be2bfa71461016c57806339da33ba1461018c5780633ab76e9f1461019f57806367090ccf146101bd57600080fd5b80630c6fab82146100ed5780630ca4dffd1461010f57806319ab453c1461014c575b600080fd5b3480156100f957600080fd5b5061010d6101083660046128f5565b610354565b005b34801561011b57600080fd5b5061012f61012a366004612a50565b610609565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b5061010d610167366004612aa2565b61061f565b34801561017857600080fd5b5061012f610187366004612abf565b61079e565b61010d61019a366004612b1a565b6107b5565b3480156101ab57600080fd5b506097546001600160a01b031661012f565b3480156101c957600080fd5b5061012f6101d8366004612b98565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b34801561020a57600080fd5b5061010d610adb565b34801561021f57600080fd5b5061025361022e366004612bbd565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610143565b34801561027e57600080fd5b506065546001600160a01b031661012f565b34801561029c57600080fd5b5061010d6102ab366004612bd6565b610aef565b3480156102bc57600080fd5b506102d06102cb366004612aa2565b610f16565b604051610143959493929190612cc6565b3480156102ed57600080fd5b506103116102fc366004612aa2565b60c96020526000908152604090205460ff1681565b6040519015158152602001610143565b61010d61032f366004612d15565b611078565b34801561034057600080fd5b5061010d61034f366004612aa2565b611a29565b61035c611ab9565b6040518060400160405280600681526020017f627269646765000000000000000000000000000000000000000000000000000081525061039d816000610609565b6001600160a01b0316336001600160a01b0316146103e7576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190612db1565b905061049281604001516040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b031681602001516001600160a01b0316146104e0576040517f80962e1c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600046873503610515576104fa6040880160208901612aa2565b90506105106001600160a01b0382168686611b12565b61059e565b61051e87611bbb565b6040517f42e91bb30000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561058557600080fd5b505af1158015610599573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a450505061060360018055565b50505050565b6000610616468484611c1a565b90505b92915050565b600054610100900460ff161580801561063f5750600054600160ff909116105b806106595750303b158015610659575060005460ff166001145b6106d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561072e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61073782611d2d565b801561079a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107ab848484611c1a565b90505b9392505050565b6107bd611ab9565b6001600160a01b0385161580610824575061080f866040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b0316856001600160a01b0316145b1561085b576040517f4694641b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b823411610894576040517fae3718b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610923604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018790523360808201526001600160a01b03861660a0820152610140810185905261012081018490526109598434612e13565b60e08201526001600160a01b03831660c08201526101808101829052610100810151156109b2576040517f3dd99f7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109f46040518060400160405280600681526020017f62726964676500000000000000000000000000000000000000000000000000008152506000610609565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b8152600401610a209190612e4d565b60206040518083038185885af1158015610a3e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a639190612f47565b90508160a001516001600160a01b031682608001516001600160a01b0316827fe2f39179c279514a7b46983846e33f95a561128e0660602a211cc1e61cddb9bd8b8660e00151604051610ac0929190918252602082015260400190565b60405180910390a45050610ad360018055565b505050505050565b610ae3611d46565b610aed6000611da0565b565b610af7611ab9565b6000610b0960a0850160808601612aa2565b6001600160a01b031603610b49576040517f72b41cdf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46836040013514610b86576040517f48bc100500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bc86040518060400160405280600681526020017f62726964676500000000000000000000000000000000000000000000000000008152506000610609565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b8152600401610bf89190612ff6565b602060405180830381865afa158015610c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c399190612f47565b600081815260cc6020526040902080546001909101549192506001600160a01b03169081610c93576040517f7c6addb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fce70f39b0000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063ce70f39b90610ce290869060608c0135908b908b90600401613114565b602060405180830381865afa158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d239190613134565b610d59576040517f45d24f2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390911617815590516001909101558015610e9d576001600160a01b038216600090815260c9602052604090205460ff1615610e79576001600160a01b0382166342e91bb3610dfc60a08a0160808b01612aa2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b50505050610e9d565b610e9d610e8c60a0890160808a01612aa2565b6001600160a01b0384169083611b12565b610ead60a0880160808901612aa2565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610efc9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610f1160018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b038316937401000000000000000000000000000000000000000090930460ff1692909190610f6790613151565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9390613151565b8015610fe05780601f10610fb557610100808354040283529160200191610fe0565b820191906000526020600020905b815481529060010190602001808311610fc357829003601f168201915b505050505090806003018054610ff590613151565b80601f016020809104026020016040519081016040528092919081815260200182805461102190613151565b801561106e5780601f106110435761010080835404028352916020019161106e565b820191906000526020600020905b81548152906001019060200180831161105157829003601f168201915b5050505050905085565b611080611ab9565b6001600160a01b03871615806110e757506110d2886040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b0316876001600160a01b0316145b1561111e576040517f4694641b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03861661115e576040517f7c6addb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600003611198576040517f015f093200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615611432576040517f77be18a8000000000000000000000000000000000000000000000000000000008152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b15801561124457600080fd5b505af1158015611258573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a081018452815481526001820154948516928101929092527401000000000000000000000000000000000000000090930460ff16918101919091526002820180549192916060840191906112cf90613151565b80601f01602080910402602001604051908101604052809291908181526020018280546112fb90613151565b80156113485780601f1061131d57610100808354040283529160200191611348565b820191906000526020600020905b81548152906001019060200180831161132b57829003601f168201915b5050505050815260200160038201805461136190613151565b80601f016020809104026020016040519081016040528092919081815260200182805461138d90613151565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050509190925250505060208101519092506001600160a01b031661142b576040517ff91680d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50856116c4565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b991906131b3565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261152791908101906131d0565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261159291908101906131d0565b90526040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529093506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190612f47565b90506116326001600160a01b03831633308c611e0a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190612f47565b6116bf9190612e13565b925050505b611753604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015260408051808201909152600b81527f746f6b656e5f7661756c7400000000000000000000000000000000000000000060208201526117a1908c90600061079e565b6001600160a01b031660a082015260808101516040517f0c6fab8200000000000000000000000000000000000000000000000000000000916117ec918691908e908790602401613247565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526101608201526101408101879052610120810186905261186b8634612e13565b60e08201526001600160a01b03851660c0820152610180810184905260408051808201909152600681527f627269646765000000000000000000000000000000000000000000000000000060208201526000906118c89082610609565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016118f49190612e4d565b60206040518083038185885af1158015611912573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119379190612f47565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611a0a939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a450505050611a1f60018055565b5050505050505050565b611a31611d46565b6001600160a01b038116611aad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106c7565b611ab681611da0565b50565b600260015403611b0b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106c7565b6002600155565b6040516001600160a01b038316602482015260448101829052610f119084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611e5b565b8035600090815260cb60209081526040808320839290918391611be2918701908701612aa2565b6001600160a01b0390811682526020820192909252604001600020541690508061061957611c0f83611f40565b6107ae565b60018055565b600080611c26856121f7565b84604051602001611c389291906132fe565b60408051601f19818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac190611c90908490600401613356565b602060405180830381865afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190613369565b915082611d25576040516001600160a01b038316151590611cf6908390602001613386565b60405160208183030381529060405290611d235760405162461bcd60e51b81526004016106c79190613356565b505b509392505050565b611d356122b5565b611d3d61233a565b611ab6816123bf565b6065546001600160a01b03163314610aed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c7565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526106039085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611b57565b6000611eb0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124399092919063ffffffff16565b805190915015610f115780806020019051810190611ece9190613134565b610f115760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106c7565b6000611fd5818335611f586040860160208701612aa2565b604051602001611f9792919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b6040516020818303038152906040528051906020012060405180602001611fbd906128c3565b601f1982820381018352601f90910116604052612448565b6097549091506001600160a01b0380831691636c0db62b9116611ffe6040860160208701612aa2565b853561201060608801604089016133cb565b61201d60608901896133e8565b61202a60808b018b6133e8565b60405161203e9291908d359060200161344d565b6040516020818303038152906040526040518863ffffffff1660e01b815260040161206f97969594939291906134d0565b600060405180830381600087803b15801561208957600080fd5b505af115801561209d573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c96020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560ca90915290208391506120f8828261366f565b50508135600090815260cb6020908152604080832084939092909161212291908701908701612aa2565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b03168260200160208101906121839190612aa2565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc6121bc60608701876133e8565b6121c960808901896133e8565b6121d960608b0160408c016133cb565b6040516121ea95949392919061371d565b60405180910390a4919050565b606060006122048361254c565b600101905060008167ffffffffffffffff81111561222457612224612964565b6040519080825280601f01601f19166020018201604052801561224e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461225857509392505050565b600054610100900460ff166123325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed61262e565b600054610100900460ff166123b75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed6126ab565b6001600160a01b0381166123ff576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60606107ab8484600085612731565b60008347101561249a5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016106c7565b81516000036124eb5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016106c7565b8282516020840186f590506001600160a01b0381166107ae5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016106c7565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612595577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125c1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125df57662386f26fc10000830492506010015b6305f5e10083106125f7576305f5e100830492506008015b612710831061260b57612710830492506004015b6064831061261d576064830492506002015b600a83106106195760010192915050565b600054610100900460ff16611c145760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b600054610100900460ff166127285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed33611da0565b6060824710156127a95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106c7565b600080866001600160a01b031685876040516127c5919061375a565b60006040518083038185875af1925050503d8060008114612802576040519150601f19603f3d011682016040523d82523d6000602084013e612807565b606091505b509150915061281887838387612825565b925050505b949350505050565b6060831561289457825160000361288d576001600160a01b0385163b61288d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106c7565b508161281d565b61281d83838151156128a95781518083602001fd5b8060405162461bcd60e51b81526004016106c79190613356565b6121518061377783390190565b6001600160a01b0381168114611ab657600080fd5b80356128f0816128d0565b919050565b6000806000806080858703121561290b57600080fd5b843567ffffffffffffffff81111561292257600080fd5b850160a0818803121561293457600080fd5b93506020850135612944816128d0565b92506040850135612954816128d0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156129bc576129bc612964565b604052919050565b600067ffffffffffffffff8211156129de576129de612964565b50601f01601f191660200190565b600082601f8301126129fd57600080fd5b8135612a10612a0b826129c4565b612993565b818152846020838601011115612a2557600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114611ab657600080fd5b60008060408385031215612a6357600080fd5b823567ffffffffffffffff811115612a7a57600080fd5b612a86858286016129ec565b9250506020830135612a9781612a42565b809150509250929050565b600060208284031215612ab457600080fd5b81356107ae816128d0565b600080600060608486031215612ad457600080fd5b83359250602084013567ffffffffffffffff811115612af257600080fd5b612afe868287016129ec565b9250506040840135612b0f81612a42565b809150509250925092565b60008060008060008060c08789031215612b3357600080fd5b863595506020870135612b45816128d0565b945060408701359350606087013592506080870135612b63816128d0565b915060a087013567ffffffffffffffff811115612b7f57600080fd5b612b8b89828a016129ec565b9150509295509295509295565b60008060408385031215612bab57600080fd5b823591506020830135612a97816128d0565b600060208284031215612bcf57600080fd5b5035919050565b600080600060408486031215612beb57600080fd5b833567ffffffffffffffff80821115612c0357600080fd5b908501906101a08288031215612c1857600080fd5b90935060208501359080821115612c2e57600080fd5b818601915086601f830112612c4257600080fd5b813581811115612c5157600080fd5b876020828501011115612c6357600080fd5b6020830194508093505050509250925092565b60005b83811015612c91578181015183820152602001612c79565b50506000910152565b60008151808452612cb2816020860160208601612c76565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a060608201526000612cf760a0830185612c9a565b8281036080840152612d098185612c9a565b98975050505050505050565b600080600080600080600080610100898b031215612d3257600080fd5b883597506020890135612d44816128d0565b96506040890135612d54816128d0565b9550606089013594506080890135935060a0890135925060c0890135612d79816128d0565b915060e089013567ffffffffffffffff811115612d9557600080fd5b612da18b828c016129ec565b9150509295985092959890939650565b600060608284031215612dc357600080fd5b6040516060810181811067ffffffffffffffff82111715612de657612de6612964565b604052825181526020830151612dfb816128d0565b60208201526040928301519281019290925250919050565b81810381811115610619577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b602081528151602082015260006020830151612e7460408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612ea360a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a0610180808501829052612f216101c0860184612c9a565b90860151858203601f190183870152909250612f3d8382612c9a565b9695505050505050565b600060208284031215612f5957600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612f9557600080fd5b830160208101925035905067ffffffffffffffff811115612fb557600080fd5b803603821315612fc457600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815281356020820152600061300f602084016128e5565b6001600160a01b038116604084015250604083013560608301526060830135608083015261303f608084016128e5565b6001600160a01b03811660a08401525061305b60a084016128e5565b6001600160a01b03811660c08401525061307760c084016128e5565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061016081850135818501526130c381860186612f60565b925090506101a061018081818701526130e16101c087018585612fcb565b93506130ef81880188612f60565b93509050601f198685030182870152613109848483612fcb565b979650505050505050565b848152836020820152606060408201526000612f3d606083018486612fcb565b60006020828403121561314657600080fd5b81516107ae81612a42565b600181811c9082168061316557607f821691505b60208210810361319e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60ff81168114611ab657600080fd5b6000602082840312156131c557600080fd5b81516107ae816131a4565b6000602082840312156131e257600080fd5b815167ffffffffffffffff8111156131f957600080fd5b8201601f8101841361320a57600080fd5b8051613218612a0b826129c4565b81815285602083850101111561322d57600080fd5b61323e826020830160208601612c76565b95945050505050565b6080815284516080820152600060208601516001600160a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152613292610120850183612c9a565b915060808801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80858403016101008601526132ce8382612c9a565b9188166020860152506001600160a01b038616604085015291506132ef9050565b82606083015295945050505050565b60008351613310818460208801612c76565b7f2e00000000000000000000000000000000000000000000000000000000000000908301908152835161334a816001840160208801612c76565b01600101949350505050565b6020815260006106166020830184612c9a565b60006020828403121561337b57600080fd5b81516107ae816128d0565b7f41523a7a65726f416464723a00000000000000000000000000000000000000008152600082516133be81600c850160208701612c76565b91909101600c0192915050565b6000602082840312156133dd57600080fd5b81356107ae816131a4565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261341d57600080fd5b83018035915067ffffffffffffffff82111561343857600080fd5b602001915036819003821315612fc457600080fd5b828482377f286272696467656400000000000000000000000000000000000000000000000092019182527ff09f8c88000000000000000000000000000000000000000000000000000000006008830152600c8201527f2900000000000000000000000000000000000000000000000000000000000000602c820152602d01919050565b60006001600160a01b03808a16835280891660208401525086604083015260ff8616606083015260c0608083015261350c60c083018587612fcb565b82810360a084015261351e8185612c9a565b9a9950505050505050505050565b601f821115610f1157600081815260208120601f850160051c810160208610156135535750805b601f850160051c820191505b81811015610ad35782815560010161355f565b67ffffffffffffffff83111561358a5761358a612964565b61359e836135988354613151565b8361352c565b6000601f8411600181146135f057600085156135ba5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613668565b600083815260209020601f19861690835b828110156136215786850135825560209485019460019092019101613601565b508682101561365c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135613685816128d0565b81546040850135613695816131a4565b74ff00000000000000000000000000000000000000008160a01b166001600160a01b0384167fffffffffffffffffffffff000000000000000000000000000000000000000000841617178455505050506136f260608301836133e8565b613700818360028601613572565b505061370f60808301836133e8565b610603818360038601613572565b606081526000613731606083018789612fcb565b8281036020840152613744818688612fcb565b91505060ff831660408301529695505050505050565b6000825161376c818460208701612c76565b919091019291505056fe608060405234801561001057600080fd5b50612131806100206000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806367e828bf116100e35780638da5cb5b1161008c578063a9059cbb11610066578063a9059cbb146103b4578063dd62ed3e146103c7578063f2fde38b1461040d57600080fd5b80638da5cb5b1461037b57806395d89b4114610399578063a457c2d7146103a157600080fd5b8063715018a6116100bd578063715018a61461034057806377be18a8146103485780637cf8ed0d1461035b57600080fd5b806367e828bf146102a75780636c0db62b146102f757806370a082311461030a57600080fd5b806323b872dd116101455780633ab76e9f1161011f5780633ab76e9f1461026b57806342e91bb31461028957806349d126051461029e57600080fd5b806323b872dd14610230578063313ce56714610243578063395093511461025857600080fd5b80630ca4dffd116101765780630ca4dffd146101d357806318160ddd1461020b5780631be2bfa71461021d57600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a610420565b6040516101a79190611abd565b60405180910390f35b6101c36101be366004611b30565b6104b2565b60405190151581526020016101a7565b6101e66101e1366004611c4b565b6104cc565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b60cb545b6040519081526020016101a7565b6101e661022b366004611c99565b6104e0565b6101c361023e366004611cf0565b6104f5565b60ce5460405160ff90911681526020016101a7565b6101c3610266366004611b30565b610551565b60975473ffffffffffffffffffffffffffffffffffffffff166101e6565b61029c610297366004611b30565b61059d565b005b61020f60fc5481565b6102cb60fb5460fc5473ffffffffffffffffffffffffffffffffffffffff90911691565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101a7565b61029c610305366004611d31565b6106a1565b61020f610318366004611ddb565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b61029c6108eb565b61029c610356366004611b30565b6108ff565b60fb546101e69073ffffffffffffffffffffffffffffffffffffffff1681565b60655473ffffffffffffffffffffffffffffffffffffffff166101e6565b61019a6109f6565b6101c36103af366004611b30565b610a05565b6101c36103c2366004611b30565b610ac7565b61020f6103d5366004611df8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ca6020908152604080832093909416825291909152205490565b61029c61041b366004611ddb565b610b22565b606060cc805461042f90611e31565b80601f016020809104026020016040519081016040528092919081815260200182805461045b90611e31565b80156104a85780601f1061047d576101008083540402835291602001916104a8565b820191906000526020600020905b81548152906001019060200180831161048b57829003601f168201915b5050505050905090565b6000336104c0818585610bbf565b60019150505b92915050565b60006104d9468484610d3e565b9392505050565b60006104ed848484610d3e565b949350505050565b60003073ffffffffffffffffffffffffffffffffffffffff841603610546576040517f669bcddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ed848484610e89565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104c09082908690610598908790611eb3565b610bbf565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506105de8160006104cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610642576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61064c8383610ea2565b8273ffffffffffffffffffffffffffffffffffffffff167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161069491815260200190565b60405180910390a2505050565b600054610100900460ff16158080156106c15750600054600160ff909116105b806106db5750303b1580156106db575060005460ff166001145b6107525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107b057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff861615806107d1575084155b806107db57504685145b806107e557508251155b806107ef57508151155b15610826576040517ff12d598000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61082f87610f60565b61083a828486610f79565b60fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905560fc85905580156108e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6108f3611006565b6108fd600061106d565b565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506109408160006104cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ae83836110e4565b8273ffffffffffffffffffffffffffffffffffffffff167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161069491815260200190565b606060cd805461042f90611e31565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610aaf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610749565b610abc8286868403610bbf565b506001949350505050565b60003073ffffffffffffffffffffffffffffffffffffffff841603610b18576040517f669bcddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104d98383611255565b610b2a611006565b73ffffffffffffffffffffffffffffffffffffffff8116610bb35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610749565b610bbc8161106d565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8216610cd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080610d4a85611263565b84604051602001610d5c929190611ec6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac190610ddf908490600401611abd565b602060405180830381865afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190611f1e565b915082610e815760405173ffffffffffffffffffffffffffffffffffffffff8316151590610e52908390602001611f3b565b60405160208183030381529060405290610e7f5760405162461bcd60e51b81526004016107499190611abd565b505b509392505050565b600033610e97858285611321565b610abc8585856113de565b73ffffffffffffffffffffffffffffffffffffffff8216610f055760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610749565b8060cb6000828254610f179190611eb3565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604081208054839290610f51908490611eb3565b90915550610f5c9050565b5050565b610f68611643565b610f706116c8565b610bbc8161174d565b600054610100900460ff16610ff65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6110018383836117e1565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146108fd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610749565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff821661116d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260c96020526040902054818110156112095760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260408120838303905560cb8054849290611245908490611f80565b9091555061100190508360008483565b6000336104c08185856113de565b60606000611270836118ae565b600101905060008167ffffffffffffffff81111561129057611290611b5c565b6040519080825280601f01601f1916602001820160405280156112ba576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112c457509392505050565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260ca60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113d857818110156113cb5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610749565b6113d88484848403610bbf565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166114675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff82166114f05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260409020548181101561158c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260c960205260408082208585039055918516815290812080548492906115d0908490611eb3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161163691815260200190565b60405180910390a36113d8565b600054610100900460ff166116c05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd611990565b600054610100900460ff166117455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd611a13565b73ffffffffffffffffffffffffffffffffffffffff811661179a576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1661185e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b60cc61186a8482611fe1565b5060cd6118778382611fe1565b5060ce80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106118f7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611923576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061194157662386f26fc10000830492506010015b6305f5e1008310611959576305f5e100830492506008015b612710831061196d57612710830492506004015b6064831061197f576064830492506002015b600a83106104c65760010192915050565b600054610100900460ff16611a0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b60018055565b600054610100900460ff16611a905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd3361106d565b60005b83811015611ab4578181015183820152602001611a9c565b50506000910152565b6020815260008251806020840152611adc816040850160208701611a99565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bbc57600080fd5b60008060408385031215611b4357600080fd5b8235611b4e81611b0e565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611b9c57600080fd5b813567ffffffffffffffff80821115611bb757611bb7611b5c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611bfd57611bfd611b5c565b81604052838152866020858801011115611c1657600080fd5b836020870160208301376000602085830101528094505050505092915050565b80358015158114611c4657600080fd5b919050565b60008060408385031215611c5e57600080fd5b823567ffffffffffffffff811115611c7557600080fd5b611c8185828601611b8b565b925050611c9060208401611c36565b90509250929050565b600080600060608486031215611cae57600080fd5b83359250602084013567ffffffffffffffff811115611ccc57600080fd5b611cd886828701611b8b565b925050611ce760408501611c36565b90509250925092565b600080600060608486031215611d0557600080fd5b8335611d1081611b0e565b92506020840135611d2081611b0e565b929592945050506040919091013590565b60008060008060008060c08789031215611d4a57600080fd5b8635611d5581611b0e565b95506020870135611d6581611b0e565b945060408701359350606087013560ff81168114611d8257600080fd5b9250608087013567ffffffffffffffff80821115611d9f57600080fd5b611dab8a838b01611b8b565b935060a0890135915080821115611dc157600080fd5b50611dce89828a01611b8b565b9150509295509295509295565b600060208284031215611ded57600080fd5b81356104d981611b0e565b60008060408385031215611e0b57600080fd5b8235611e1681611b0e565b91506020830135611e2681611b0e565b809150509250929050565b600181811c90821680611e4557607f821691505b602082108103611e7e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104c6576104c6611e84565b60008351611ed8818460208801611a99565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351611f12816001840160208801611a99565b01600101949350505050565b600060208284031215611f3057600080fd5b81516104d981611b0e565b7f41523a7a65726f416464723a0000000000000000000000000000000000000000815260008251611f7381600c850160208701611a99565b91909101600c0192915050565b818103818111156104c6576104c6611e84565b601f82111561100157600081815260208120601f850160051c81016020861015611fba5750805b601f850160051c820191505b81811015611fd957828155600101611fc6565b505050505050565b815167ffffffffffffffff811115611ffb57611ffb611b5c565b61200f816120098454611e31565b84611f93565b602080601f831160018114612062576000841561202c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611fd9565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156120af57888601518255948401946001909101908401612090565b50858210156120eb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122097aea87c926aeac94c95489d7f3674e61115440bca078ca4ef2af4eae4f9fea364736f6c63430008120033a264697066735822122089e27a345c7c6ec2e044b333ee9138d2f0743901e70542a655eb5279da9b965b64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "EtherVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x029ae2e2f1d6964720a0fa7e6ffa902f995c156242f4f5a930aa9d9765d167d0": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "code": "0x6080604052600436106100c05760003560e01c8063715018a611610074578063d73bb3d01161004e578063d73bb3d014610257578063f2fde38b14610277578063fe9fbb801461029757600080fd5b8063715018a6146101f75780638da5cb5b1461020c578063ba0bbd951461023757600080fd5b80631be2bfa7116100a55780631be2bfa71461018c5780632d1fb389146101ac5780633ab76e9f146101cc57600080fd5b80630ca4dffd1461012257806319ab453c1461016c57600080fd5b3661011d5747158015906100e4575033600090815260c9602052604090205460ff16155b1561011b576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b34801561012e57600080fd5b5061014261013d36600461119e565b6102ed565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561017857600080fd5b5061011b61018736600461120e565b610301565b34801561019857600080fd5b506101426101a736600461122b565b61049a565b3480156101b857600080fd5b5061011b6101c7366004611282565b6104af565b3480156101d857600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff16610142565b34801561020357600080fd5b5061011b6105c6565b34801561021857600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff16610142565b34801561024357600080fd5b5061011b6102523660046112ae565b6105da565b34801561026357600080fd5b5061011b6102723660046112da565b6106f1565b34801561028357600080fd5b5061011b61029236600461120e565b61078d565b3480156102a357600080fd5b506102dd6102b236600461120e565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205460ff1690565b6040519015158152602001610163565b60006102fa468484610841565b9392505050565b600054610100900460ff16158080156103215750600054600160ff909116105b8061033b5750303b15801561033b575060005460ff166001145b6103cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561042a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610433826109a6565b801561049657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006104a7848484610841565b949350505050565b6104b76109bf565b73ffffffffffffffffffffffffffffffffffffffff82161580610505575073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604090205460ff161515811515145b1561053c576040517f6faf7e9c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260c9602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b6105ce6109bf565b6105d86000610a40565b565b33600090815260c9602052604090205460ff16610623576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61062b610ab7565b73ffffffffffffffffffffffffffffffffffffffff8216610678576040517f687563df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069873ffffffffffffffffffffffffffffffffffffffff831682610b2a565b8173ffffffffffffffffffffffffffffffffffffffff167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516106e091815260200190565b60405180910390a261049660018055565b33600090815260c9602052604090205460ff1661073a576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610742610ab7565b61074c3382610b2a565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261078a60018055565b50565b6107956109bf565b73ffffffffffffffffffffffffffffffffffffffff8116610838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103c3565b61078a81610a40565b60008061084d85610c05565b8460405160200161085f929190611317565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906108e290849060040161136f565b602060405180830381865afa1580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092391906113c0565b91508261099e5760405173ffffffffffffffffffffffffffffffffffffffff83161515906109559083906020016113dd565b6040516020818303038152906040529061099c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c3919061136f565b505b509392505050565b6109ae610cc3565b6109b6610d62565b61078a81610e01565b60655473ffffffffffffffffffffffffffffffffffffffff1633146105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610b23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b80156104965760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610b8a576040519150601f19603f3d011682016040523d82523d6000602084013e610b8f565b606091505b5050905080610bfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c65640000000000000000000000000060448201526064016103c3565b505050565b60018055565b60606000610c1283610e95565b600101905060008167ffffffffffffffff811115610c3257610c326110af565b6040519080825280601f01601f191660200182016040528015610c5c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610c6657509392505050565b600054610100900460ff16610d5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d8610f78565b600054610100900460ff16610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d861100f565b73ffffffffffffffffffffffffffffffffffffffff8116610e4e576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610ede577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610f0a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f2857662386f26fc10000830492506010015b6305f5e1008310610f40576305f5e100830492506008015b6127108310610f5457612710830492506004015b60648310610f66576064830492506002015b600a8310610f72576001015b92915050565b600054610100900460ff16610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b600054610100900460ff166110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d833610a40565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126110ef57600080fd5b813567ffffffffffffffff8082111561110a5761110a6110af565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611150576111506110af565b8160405283815286602085880101111561116957600080fd5b836020870160208301376000602085830101528094505050505092915050565b8035801515811461119957600080fd5b919050565b600080604083850312156111b157600080fd5b823567ffffffffffffffff8111156111c857600080fd5b6111d4858286016110de565b9250506111e360208401611189565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461078a57600080fd5b60006020828403121561122057600080fd5b81356102fa816111ec565b60008060006060848603121561124057600080fd5b83359250602084013567ffffffffffffffff81111561125e57600080fd5b61126a868287016110de565b92505061127960408501611189565b90509250925092565b6000806040838503121561129557600080fd5b82356112a0816111ec565b91506111e360208401611189565b600080604083850312156112c157600080fd5b82356112cc816111ec565b946020939093013593505050565b6000602082840312156112ec57600080fd5b5035919050565b60005b8381101561130e5781810151838201526020016112f6565b50506000910152565b600083516113298184602088016112f3565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516113638160018401602088016112f3565b01600101949350505050565b602081526000825180602084015261138e8160408501602087016112f3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156113d257600080fd5b81516102fa816111ec565b7f41523a7a65726f416464723a000000000000000000000000000000000000000081526000825161141581600c8501602087016112f3565b91909101600c019291505056fea26469706673582212205ba76b4da10c920143efe8a59a5126aa1d82a4e0405a1710388f185b06f3d9e964736f6c63430008120033", + "balance": "0xffffffffffffff59776f94274fffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "SignalService", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80635221f613116100815780638da5cb5b1161005b5780638da5cb5b146101b0578063f2fde38b146101ce578063f8f3f844146101e157600080fd5b80635221f6131461017457806366ca2bc014610187578063715018a6146101a857600080fd5b80631be2bfa7116100b25780631be2bfa71461012057806332676bc6146101335780633ab76e9f1461015657600080fd5b80630ca4dffd146100ce57806319ab453c1461010b575b600080fd5b6100e16100dc366004611c53565b61020b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011e610119366004611cd7565b610221565b005b6100e161012e366004611cf4565b6103ba565b610146610141366004611d4f565b6103cf565b6040519015158152602001610102565b60975473ffffffffffffffffffffffffffffffffffffffff166100e1565b610146610182366004611d7b565b61047a565b61019a610195366004611e11565b610767565b604051908152602001610102565b61011e6107c3565b60655473ffffffffffffffffffffffffffffffffffffffff166100e1565b61011e6101dc366004611cd7565b6107d7565b61019a6101ef366004611d4f565b6040805192835260208301919091528082206060909201905290565b600061021846848461088e565b90505b92915050565b600054610100900460ff16158080156102415750600054600160ff909116105b8061025b5750303b15801561025b575060005460ff166001145b6102ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561034a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610353826109f3565b80156103b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006103c784848461088e565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff831661041e576040517fa99bf91a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610459576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080519283526020830191909152808220606090920190525460011490565b60004686036104b5576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610502576040517fa99bf91a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084900361053d576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061054b83850185611ed0565b9050600061058f6040518060400160405280600581526020017f7461696b6f000000000000000000000000000000000000000000000000000000815250600061020b565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f290602401602060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106399190612075565b905080158015906106535750815161065090610a0c565b81145b801561075b575073B51f0f2bdCbf6cfabB35239921A5c672519F74ba63960304398360000151606001516106be8b6040518060400160405280600e81526020017f7369676e616c5f7365727669636500000000000000000000000000000000000081525060006103ba565b604080518c8152602081018c9052818120606090910190915260208701516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815261071a949392916001916004016120fc565b602060405180830381865af4158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b9190612148565b98975050505050505050565b60008181036107a2576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080513381526020810192909252808220606090920190526001815590565b6107cb610a31565b6107d56000610ab2565b565b6107df610a31565b73ffffffffffffffffffffffffffffffffffffffff8116610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102e3565b61088b81610ab2565b50565b60008061089a85610b29565b846040516020016108ac929190612165565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac19061092f9084906004016121bd565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097091906121d0565b9150826109eb5760405173ffffffffffffffffffffffffffffffffffffffff83161515906109a29083906020016121ed565b604051602081830303815290604052906109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e391906121bd565b505b509392505050565b6109fb610be7565b610a03610c86565b61088b81610d25565b600080610a22610a1d846000610db9565b6111fd565b80516020909101209392505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146107d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102e3565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606000610b3683611241565b600101905060008167ffffffffffffffff811115610b5657610b56611b1e565b6040519080825280601f01601f191660200182016040528015610b80576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610b8a57509392505050565b600054610100900460ff16610c7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d5611323565b600054610100900460ff16610d1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d56113c0565b73ffffffffffffffffffffffffffffffffffffffff8116610d72576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61020082015160609015610e2557610dd2826011612290565b67ffffffffffffffff811115610dea57610dea611b1e565b604051908082528060200260200182016040528015610e1d57816020015b6060815260200190600190039081610e085790505b509050610e95565b6101e083015115610e3b57610dd2826010612290565b610e4682600f612290565b67ffffffffffffffff811115610e5e57610e5e611b1e565b604051908082528060200260200182016040528015610e9157816020015b6060815260200190600190039081610e7c5790505b5090505b8251610ea090611460565b81600081518110610eb357610eb36122a3565b6020026020010181905250610ecb8360200151611460565b81600181518110610ede57610ede6122a3565b6020026020010181905250610ef68360400151611473565b81600281518110610f0957610f096122a3565b6020026020010181905250610f218360600151611460565b81600381518110610f3457610f346122a3565b6020026020010181905250610f4c8360800151611460565b81600481518110610f5f57610f5f6122a3565b6020026020010181905250610f778360a00151611460565b81600581518110610f8a57610f8a6122a3565b6020026020010181905250610fc18360c00151604051602001610fad91906122d2565b6040516020818303038152906040526114af565b81600681518110610fd457610fd46122a3565b6020026020010181905250610fec8360e0015161151e565b81600781518110610fff57610fff6122a3565b602002602001018190525061102a8361010001516fffffffffffffffffffffffffffffffff1661151e565b8160088151811061103d5761103d6122a3565b602002602001018190525061105683610120015161152c565b81600981518110611069576110696122a3565b602002602001018190525061108283610140015161152c565b81600a81518110611095576110956122a3565b60200260200101819052506110ae83610160015161152c565b81600b815181106110c1576110c16122a3565b60200260200101819052506110da8361018001516114af565b81600c815181106110ed576110ed6122a3565b6020026020010181905250611106836101a00151611460565b81600d81518110611119576111196122a3565b6020026020010181905250611168836101c00151604051602001610fad919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061117b5761117b6122a3565b6020026020010181905250826101e001516000146111c0576111a1836101e0015161151e565b81600f815181106111b4576111b46122a3565b60200260200101819052505b6102008301511561021b576111d9836102000151611460565b816010815181106111ec576111ec6122a3565b602002602001018190525092915050565b6060600061120a83611544565b9050611218815160c0611678565b8160405160200161122a929190612307565b604051602081830303815290604052915050919050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061128a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106112b6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106112d457662386f26fc10000830492506010015b6305f5e10083106112ec576305f5e100830492506008015b612710831061130057612710830492506004015b60648310611312576064830492506002015b600a831061021b5760010192915050565b600054610100900460ff166113ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b60018055565b600054610100900460ff16611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d533610ab2565b606061021b61146e83611860565b6114af565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061021b90603401610fad565b606080825160011480156114dd57506080836000815181106114d3576114d36122a3565b016020015160f81c105b156114e957508161021b565b6114f583516080611678565b83604051602001611507929190612307565b604051602081830303815290604052905092915050565b606061021b61146e83611948565b606061021b61146e8367ffffffffffffffff16611948565b6060815160000361156357505060408051600081526020810190915290565b6000805b83518110156115a857838181518110611582576115826122a3565b602002602001015151826115969190612290565b91506115a181612336565b9050611567565b60008267ffffffffffffffff8111156115c3576115c3611b1e565b6040519080825280601f01601f1916602001820160405280156115ed576020820181803683370190505b50600092509050602081015b855183101561166f576000868481518110611616576116166122a3565b60200260200101519050600060208201905061163483828451611aa3565b878581518110611646576116466122a3565b6020026020010151518361165a9190612290565b925050508261166890612336565b92506115f9565b50949350505050565b60608060388410156116f757604080516001808252818301909252906020820181803683370190505090506116ad838561236e565b60f81b816000815181106116c3576116c36122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610218565b600060015b6117068187612387565b156117295761171482612336565b91506117226101008261239b565b90506116fc565b611734826001612290565b67ffffffffffffffff81111561174c5761174c611b1e565b6040519080825280601f01601f191660200182016040528015611776576020820181803683370190505b509250611783858361236e565b61178e90603761236e565b60f81b836000815181106117a4576117a46122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116109e9576101006117ec82846123b2565b6117f8906101006124e5565b6118029088612387565b61180c91906124f1565b60f81b838281518110611821576118216122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061185981612336565b90506117d8565b606060008260405160200161187791815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561166f5783836118da81612336565b9450815181106118ec576118ec6122a3565b602001015160f81c60f81b828281518110611909576119096122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061194181612336565b90506118c6565b606060008260405160200161195f91815260200190565b604051602081830303815290604052905060005b60208110156119cc5781818151811061198e5761198e6122a3565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036119cc576119c581612336565b9050611973565b60006119d98260206123b2565b67ffffffffffffffff8111156119f1576119f1611b1e565b6040519080825280601f01601f191660200182016040528015611a1b576020820181803683370190505b50905060005b815181101561166f578383611a3581612336565b945081518110611a4757611a476122a3565b602001015160f81c60f81b828281518110611a6457611a646122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611a9c81612336565b9050611a21565b8282825b60208110611adf5781518352611abe602084612290565b9250611acb602083612290565b9150611ad86020826123b2565b9050611aa7565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611b7057611b70611b1e565b60405290565b604051610220810167ffffffffffffffff81118282101715611b7057611b70611b1e565b600082601f830112611bab57600080fd5b813567ffffffffffffffff80821115611bc657611bc6611b1e565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611c0c57611c0c611b1e565b81604052838152866020858801011115611c2557600080fd5b836020870160208301376000602085830101528094505050505092915050565b801515811461088b57600080fd5b60008060408385031215611c6657600080fd5b823567ffffffffffffffff811115611c7d57600080fd5b611c8985828601611b9a565b9250506020830135611c9a81611c45565b809150509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461088b57600080fd5b8035611cd281611ca5565b919050565b600060208284031215611ce957600080fd5b813561021881611ca5565b600080600060608486031215611d0957600080fd5b83359250602084013567ffffffffffffffff811115611d2757600080fd5b611d3386828701611b9a565b9250506040840135611d4481611c45565b809150509250925092565b60008060408385031215611d6257600080fd5b8235611d6d81611ca5565b946020939093013593505050565b600080600080600060808688031215611d9357600080fd5b853594506020860135611da581611ca5565b935060408601359250606086013567ffffffffffffffff80821115611dc957600080fd5b818801915088601f830112611ddd57600080fd5b813581811115611dec57600080fd5b896020828501011115611dfe57600080fd5b9699959850939650602001949392505050565b600060208284031215611e2357600080fd5b5035919050565b600082601f830112611e3b57600080fd5b60405161010080820182811067ffffffffffffffff82111715611e6057611e60611b1e565b60405283018185821115611e7357600080fd5b845b82811015611e8d578035825260209182019101611e75565b509195945050505050565b80356fffffffffffffffffffffffffffffffff81168114611cd257600080fd5b803567ffffffffffffffff81168114611cd257600080fd5b600060208284031215611ee257600080fd5b813567ffffffffffffffff80821115611efa57600080fd5b9083019060408286031215611f0e57600080fd5b611f16611b4d565b823582811115611f2557600080fd5b83016103008188031215611f3857600080fd5b611f40611b76565b8135815260208201356020820152611f5a60408301611cc7565b6040820152606082013560608201526080820135608082015260a082013560a0820152611f8a8860c08401611e2a565b60c08201526101c08083013560e08301526101e0611fa9818501611e98565b610100840152610200611fbd818601611eb8565b610120850152611fd06102208601611eb8565b610140850152611fe36102408601611eb8565b61016085015261026085013587811115611ffc57600080fd5b6120088c828801611b9a565b610180860152506102808501356101a08501526120286102a08601611eb8565b838501526102c0850135828501526102e085013581850152505050808352505060208301358281111561205a57600080fd5b61206687828601611b9a565b60208301525095945050505050565b60006020828403121561208757600080fd5b5051919050565b60005b838110156120a9578181015183820152602001612091565b50506000910152565b600081518084526120ca81602086016020860161208e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061213d60a08301846120b2565b979650505050505050565b60006020828403121561215a57600080fd5b815161021881611c45565b6000835161217781846020880161208e565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516121b181600184016020880161208e565b01600101949350505050565b60208152600061021860208301846120b2565b6000602082840312156121e257600080fd5b815161021881611ca5565b7f41523a7a65726f416464723a000000000000000000000000000000000000000081526000825161222581600c85016020870161208e565b91909101600c0192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561021b5761021b612261565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156122f75781518352602092830192909101906001016122d8565b5050506101008201905092915050565b6000835161231981846020880161208e565b83519083019061232d81836020880161208e565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361236757612367612261565b5060010190565b60ff818116838216019081111561021b5761021b612261565b60008261239657612396612232565b500490565b808202811582820484141761021b5761021b612261565b8181038181111561021b5761021b612261565b600181815b8085111561241e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561240457612404612261565b8085161561241157918102915b93841c93908002906123ca565b509250929050565b6000826124355750600161021b565b816124425750600061021b565b816001811461245857600281146124625761247e565b600191505061021b565b60ff84111561247357612473612261565b50506001821b61021b565b5060208310610133831016604e8410600b84101617156124a1575081810a61021b565b6124ab83836123c5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156124dd576124dd612261565b029392505050565b60006102188383612426565b60008261250057612500612232565b50069056fea26469706673582212209e7235233ea73cd822dc3fc71cb88aeed9bb6967b10cbcf6820dcc506b275d0164736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "TestERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x5072656465706c6f79455243323000000000000000000000000000000000001c", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x5052450000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000002ee000", + "0x0fbcff3234c0e4fa090508601e67e2155e18580b7c6ab4cb716e8ef2dca88184": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x55385a0c2ad17c21b4fe396be9b1f10f500e7eebad11fcd1afe36c68ee5fa4cd": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x478db7f3c43c550c1670aa0517a6d515b9e15f22ea28e4f99e8c5f8bcf58e406": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122066fafca01d431074160bbb4b6fc540b95eb31fa8c4479f896ac206b98463328464736f6c63430008120033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/eldfell.json taikoxyz/taiko-geth/core/taiko_genesis/eldfell.json new file mode 100644 index 0000000000000000000000000000000000000000..b5938af70e403455cd8a973271dd6b88fccb81a5 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/eldfell.json @@ -0,0 +1,164 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x88f66d67C0e643A541822cc326708530a827EC8E": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x2E610A0D8E30D6df2877B9c3EC3daDb885364800": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xd56fbBb9C88938a61e9CA71339Abd5f84dF131Cf": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063a54274621461003a575b600080fd5b61004d61004836600461173e565b610061565b604051901515815260200160405180910390f35b600080806100718486018661188e565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610184565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101ad565b9050600061013c8260028151811061012f5761012f6118f2565b60200260200101516101e6565b90506101738b60405160200161015491815260200190565b60405160208183030381529060405261016c8c6102e9565b87846102fc565b9d9c50505050505050505050505050565b60006060600061019386610316565b90506101a0818686610348565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101e090610423565b92915050565b600060218260000151111561023d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061024b8561060f565b91945092509050600081600181111561026657610266611908565b146102b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516102c59190611934565b805190915060208410156102df5760208490036101000a90045b9695505050505050565b60606101e06102f783610959565b610a8d565b60008061030886610316565b90506102df81868686610afc565b6060818051906020012060405160200161033291815260200190565b6040516020818303038152906040529050919050565b60006060600061035785610b39565b90506000806000610369848a89610c32565b8151929550909350915015808061037d5750815b6103c95760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816103e55760405180602001604052806000815250610411565b610411866103f4600188611947565b81518110610404576104046118f2565b6020026020010151611052565b919b919a509098505050505050505050565b60606000806104318461060f565b9193509091506001905081600181111561044d5761044d611908565b1461049a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104b35790505090506000835b8651811015610604576020821061054c5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610101565b6000806105896040518060400160405280858c6000015161056d9190611947565b8152602001858c602001516105829190611934565b905261060f565b5091509150604051806040016040528083836105a59190611934565b8152602001848b602001516105ba9190611934565b8152508585815181106105cf576105cf6118f2565b60209081029190910101526105e5600185611934565b93506105f18183611934565b6105fb9084611934565b925050506104e0565b508152949350505050565b6000806000808460000151116106675760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f811161068c576000600160009450945094505050610952565b60b781116107085760006106a1608083611947565b9050808760000151116106f65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b60019550935060009250610952915050565b60bf81116107f757600061071d60b783611947565b9050808760000151116107725760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a900461078c8183611934565b8851116107db5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b6107e6826001611934565b965094506000935061095292505050565b60f7811161087257600061080c60c083611947565b9050808760000151116108615760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b600195509350849250610952915050565b600061087f60f783611947565b9050808760000151116108d45760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046108ee8183611934565b8851116109365760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610101565b610941826001611934565b965094506001935061095292505050565b9193909250565b606060008260405160200161097091815260200190565b604051602081830303815290604052905060005b60208110156109c55781818151811061099f5761099f6118f2565b01602001516001600160f81b0319166000036109c5576109be8161195a565b9050610984565b60006109d2826020611947565b67ffffffffffffffff8111156109ea576109ea6117eb565b6040519080825280601f01601f191660200182016040528015610a14576020820181803683370190505b50905060005b8151811015610a84578383610a2e8161195a565b945081518110610a4057610a406118f2565b602001015160f81c60f81b828281518110610a5d57610a5d6118f2565b60200101906001600160f81b031916908160001a905350610a7d8161195a565b9050610a1a565b50949350505050565b60608082516001148015610abb5750608083600081518110610ab157610ab16118f2565b016020015160f81c105b15610ac75750816101e0565b610ad383516080611079565b83604051602001610ae59291906119a3565b604051602081830303815290604052905092915050565b6000806000610b0c878686610348565b91509150818015610b2e57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b46836101ad565b90506000815167ffffffffffffffff811115610b6457610b646117eb565b604051908082528060200260200182016040528015610ba957816020015b6040805180820190915260608082526020820152815260200190600190039081610b825790505b50905060005b8251811015610c2a576000610bdc848381518110610bcf57610bcf6118f2565b6020026020010151611223565b90506040518060400160405280610bf2836101ad565b815260200182815250838381518110610c0d57610c0d6118f2565b60200260200101819052505080610c239061195a565b9050610baf565b509392505050565b600060606000806000610c44876112b3565b90506000869050600080610c6b604051806040016040528060608152602001606081525090565b60005b8c5181101561102a578c8181518110610c8957610c896118f2565b602002602001015191508284610c9f9190611934565b9350610cac600188611934565b965083600003610d09578482602001518051906020012014610d045760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610101565b610dcb565b602082602001515110610d70578482602001518051906020012014610d045760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610d7e83602001516113ec565b14610dcb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610dd7601060016119c0565b60ff1682600001515103610e45578551841461102a576000868581518110610e0157610e016118f2565b01602001518351805160f89290921c925060009183908110610e2557610e256118f2565b60200260200101519050610e3881611414565b965060019450505061101a565b81515160011901610fd2576000610e5b8361144a565b9050600081600081518110610e7257610e726118f2565b016020015160f81c90506000610e896002836119ef565b610e94906002611a11565b90506000610ea5848360ff1661146e565b90506000610eb38b8a61146e565b90506000610ec183836114a4565b905060ff851660021480610ed8575060ff85166003145b15610f1257808351148015610eed5750808251145b15610eff57610efc818b611934565b99505b50600160ff1b995061102a945050505050565b60ff85161580610f25575060ff85166001145b15610f7b5782518114610f455750600160ff1b995061102a945050505050565b610f6c8860000151600181518110610f5f57610f5f6118f2565b6020026020010151611414565b9a50975061101a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b6110238161195a565b9050610c6e565b50600160ff1b84148661103d878661146e565b909e909d50909b509950505050505050505050565b805180516060916101e09161106990600190611947565b81518110610bcf57610bcf6118f2565b60608060388410156110e057604080516001808252818301909252906020820181803683370190505090506110ae83856119c0565b60f81b816000815181106110c4576110c46118f2565b60200101906001600160f81b031916908160001a90535061121c565b600060015b6110ef8187611a2a565b15611112576110fd8261195a565b915061110b61010082611a3e565b90506110e5565b61111d826001611934565b67ffffffffffffffff811115611135576111356117eb565b6040519080825280601f01601f19166020018201604052801561115f576020820181803683370190505b50925061116c85836119c0565b6111779060376119c0565b60f81b8360008151811061118d5761118d6118f2565b60200101906001600160f81b031916908160001a905350600190505b818111611219576101006111bd8284611947565b6111c990610100611b39565b6111d39088611a2a565b6111dd9190611b45565b60f81b8382815181106111f2576111f26118f2565b60200101906001600160f81b031916908160001a9053506112128161195a565b90506111a9565b50505b9392505050565b606060008060006112338561060f565b91945092509050600081600181111561124e5761124e611908565b1461129b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b6112aa8560200151848461151e565b95945050505050565b60606000825160026112c59190611a3e565b67ffffffffffffffff8111156112dd576112dd6117eb565b6040519080825280601f01601f191660200182016040528015611307576020820181803683370190505b50905060005b83518110156113e557600484828151811061132a5761132a6118f2565b01602001516001600160f81b031916901c82611347836002611a3e565b81518110611357576113576118f2565b60200101906001600160f81b031916908160001a9053506010848281518110611382576113826118f2565b0160200151611394919060f81c6119ef565b60f81b826113a3836002611a3e565b6113ae906001611934565b815181106113be576113be6118f2565b60200101906001600160f81b031916908160001a9053506113de8161195a565b905061130d565b5092915050565b600060208251101561140057506020015190565b818060200190518101906101e09190611b59565b600060606020836000015110156114355761142e836115c7565b9050611441565b61143e83611223565b90505b61121c816113ec565b60606101e06114698360000151600081518110610bcf57610bcf6118f2565b6112b3565b60608251821061148d57506040805160208101909152600081526101e0565b61121c838384865161149f9190611947565b6115d2565b6000805b8084511180156114b85750808351115b801561150957508281815181106114d1576114d16118f2565b602001015160f81c60f81b6001600160f81b0319168482815181106114f8576114f86118f2565b01602001516001600160f81b031916145b1561121c576115178161195a565b90506114a8565b606060008267ffffffffffffffff81111561153b5761153b6117eb565b6040519080825280601f01601f191660200182016040528015611565576020820181803683370190505b509050805160000361157857905061121c565b8484016020820160005b8581101561159a578281015182820152602001611582565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101e082611728565b6060816115e081601f611934565b101561161f5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b8261162a8382611934565b10156116695760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b6116738284611934565b845110156116b75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610101565b6060821580156116d65760405191506000825260208201604052610a84565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561170f5780518352602092830192016116f7565b5050858452601f01601f19166040525050949350505050565b60606101e082602001516000846000015161151e565b60008060008060008060a0878903121561175757600080fd5b8635955060208701356001600160a01b038116811461177557600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156117a057600080fd5b818901915089601f8301126117b457600080fd5b8135818111156117c357600080fd5b8a60208285010111156117d557600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261181257600080fd5b813567ffffffffffffffff8082111561182d5761182d6117eb565b604051601f8301601f19908116603f01168101908282118183101715611855576118556117eb565b8160405283815286602085880101111561186e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156118a157600080fd5b823567ffffffffffffffff808211156118b957600080fd5b6118c586838701611801565b935060208501359150808211156118db57600080fd5b506118e885828601611801565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e0576101e061191e565b818103818111156101e0576101e061191e565b60006001820161196c5761196c61191e565b5060010190565b6000815160005b81811015611994576020818501810151868301520161197a565b50600093019283525090919050565b60006119b86119b28386611973565b84611973565b949350505050565b60ff81811683821601908111156101e0576101e061191e565b634e487b7160e01b600052601260045260246000fd5b600060ff831680611a0257611a026119d9565b8060ff84160691505092915050565b60ff82811682821603908111156101e0576101e061191e565b600082611a3957611a396119d9565b500490565b80820281158282048414176101e0576101e061191e565b600181815b80851115611a90578160001904821115611a7657611a7661191e565b80851615611a8357918102915b93841c9390800290611a5a565b509250929050565b600082611aa7575060016101e0565b81611ab4575060006101e0565b8160018114611aca5760028114611ad457611af0565b60019150506101e0565b60ff841115611ae557611ae561191e565b50506001821b6101e0565b5060208310610133831016604e8410600b8410161715611b13575081810a6101e0565b611b1d8383611a55565b8060001904821115611b3157611b3161191e565b029392505050565b600061121c8383611a98565b600082611b5457611b546119d9565b500690565b600060208284031215611b6b57600080fd5b505191905056fea26469706673582212200ce0b855958491d449296239ab0a499d51105fc25c306cacdd66eed473ebcf4164736f6c63430008140033", + "balance": "0x0" + }, + "0x3D242344128D1db694d798CF0Ad3dC778Aa77347": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209ad4b2c866dbe1263f15c72a9d9c6857d19b471dc0ffa8cba69fdd5d4cb102b864736f6c63430008140033", + "balance": "0x0" + }, + "0x9c7145F3B1EaB768364a9ff72318B9D7AeafB156": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220580d1b027125bdf07c98c62cba13a64e78c2192e8c0f84c6cef28804c6341ae864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051633baa901360e21b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d1b8f83f17d2971223f345076e2c8b1982272c271a0ce36e6b3541cd15bd267964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xa2985d6ec808cf8e4351b74656a3169ef9f5ae53c52585f208ff047513b6b22f": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0xab0df58d0c513f542551f7cf89c05da0610fe5e3092a4b838d7d8529d492ecf0": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0x56e7eae2fe6d26fea53c92b4b72c70c097b4c6cb841f2560628bc18c65113ede": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0x7b5ab0263db4edc4cd0bef661062356260cf371a7955689e8739ce5188c0e9fe": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x62856d7e6e6c45fe7cca6dc9dc0aff508e9e029ca538a20a7d2086827adddfda": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80639ee512f2116100b8578063c7b969081161007c578063c7b96908146102f3578063da69d3db1461030d578063dac5df7814610320578063ee82ac5e14610329578063f2fde38b1461033c578063f535bd561461034f57600080fd5b80639ee512f21461028e578063a86f9d9e146102a7578063b8914ce4146102ba578063bacb386d146102cd578063c20ebea5146102e057600080fd5b8063591aad8a116100ff578063591aad8a1461021d5780635c82e9c21461024f5780636c6563f614610262578063715018a6146102755780638da5cb5b1461027d57600080fd5b80630652b57a1461013c57806310da3738146101515780633ab76e9f1461018b5780634e755573146101b0578063539b8ade146101f2575b600080fd5b61014f61014a3660046116de565b610369565b005b6101787f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b6040519081526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610182565b6101b86103ec565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610182565b60cd54610205906001600160401b031681565b6040516001600160401b039091168152602001610182565b61023061022b3660046116fb565b61044f565b6040805160ff9094168452602084019290925290820152606001610182565b61014f61025d366004611731565b61068a565b610198610270366004611782565b610a46565b61014f610a5d565b6065546001600160a01b0316610198565b61019871777735367b36bc9b61c50022d9d0700db4ec81565b6101986102b53660046117b7565b610a71565b6101786102c83660046117e3565b610a87565b6101786102db3660046117e3565b610ac3565b6101786102ee366004611810565b610afc565b60cd5461020590600160401b90046001600160401b031681565b61014f61031b366004611861565b610b20565b61017860cb5481565b6101786103373660046117e3565b610d8b565b61014f61034a3660046116de565b610dd8565b60cd5461020590600160801b90046001600160401b031681565b610371610e51565b6001600160a01b03811661039857604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561046c57508360ff16600214155b1561048a5760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff166001146104bb577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee56104dd565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff16600114610512577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce90818610534565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610569577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f261058b565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036105c5576105be8282600170014551231950b75fc4402da1732fc9bebe19610eab565b9250610634565b61060d7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106088484600170014551231950b75fc4402da1732fc9bebe19610eab565b610efa565b90925090506106318282600170014551231950b75fc4402da1732fc9bebe19610eab565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610681576106788370014551231950b75fc4402da1732fc9bebe196118bd565b92506001851894505b50509250925092565b600054610100900460ff16158080156106aa5750600054600160ff909116105b806106c45750303b1580156106c4575060005460ff166001145b61072c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561074f576000805461ff0019166101001790555b600146111580610763575063ffffffff4610155b15610781576040516306cffa2760e01b815260040160405180910390fd5b60014311156107a357604051635a0f9e4160e11b815260040160405180910390fd5b6107b360408301602084016118d0565b63ffffffff16156109a2576107cb60208301836118eb565b6001600160401b031615806107f657506107eb60608301604084016118eb565b6001600160401b0316155b80610817575061080c60808301606084016118eb565b6001600160401b0316155b80610838575061082d60a08301608084016118eb565b6001600160401b0316155b1561085657604051639cc448b560e01b815260040160405180910390fd5b60008061089e61086c60608601604087016118eb565b61087960208701876118eb565b61088960808801606089016118eb565b61089960a0890160808a016118eb565b610f19565b91509150816001600160801b0316600014806108ca57506001600160401b036001600160801b03831610155b806108dc57506001600160801b038116155b156108fa57604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b0384161717905561093860408501602086016118d0565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b19909216919091179055600261096f60608601604087016118eb565b610979919061191c565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b03161790556109c783611018565b6109d043611031565b5060cb5543156109fb5760006109e76001436118bd565b600081815260c96020526040902090409055505b8015610a41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610a538484846110c4565b90505b9392505050565b610a65610e51565b610a6f6000611178565b565b6000610a7e4684846110c4565b90505b92915050565b6000808215610a965782610aaa565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020600101549392505050565b6000808215610ad25782610ae6565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020549392505050565b6000610b17610b096103ec565b8563ffffffff1685856111ca565b50949350505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610b5257604051636494e9f760e01b815260040160405180910390fd5b6000610b5f6001436118bd565b90508040600080610b6f84611031565b915091508160cb5414610ba35760cb54604051636340d9fb60e11b8152600481019190915260248101839052604401610723565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527f7528bbd1cef0e5d13408706892a51ee8ef82bbf33d4ec0c37216f8beba71205b910160405180910390a2600080610c586103ec565b9050806040015163ffffffff16600014610cbd5760cd54610c8f908290610c88906001600160401b0316426118bd565b458a6111ca565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610cf057604051634083acad60e01b81526001600160401b03808416600483015248166024820152604401610723565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b6000438210610d9c57506000919050565b4382108015610db65750610db2610100436118bd565b8210155b15610dc057504090565b50600090815260c9602052604090205490565b919050565b610de0610e51565b6001600160a01b038116610e455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610723565b610e4e81611178565b50565b6065546001600160a01b03163314610a6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610723565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610ef057600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f3557610f35611942565b6000610f4260028861191c565b9050610f606001600160401b038816680755bf798b4a1bf1e4611958565b9250610f7f610f7a84886001600160401b03168489611276565b611335565b91506000610f8f84848489611276565b90506000610fa9858585610fa48b6002611972565b611276565b9050600082610fba8361271061199d565b610fc491906119b4565b9050806001600160401b0316876001600160401b03161461100b57604051631530943760e11b81526001600160401b03808916600483015282166024820152604401610723565b5050505094509492505050565b6110206113a2565b6110286113d1565b610e4e81611400565b60008061103c6116a9565b60005b60ff811080156110525750806001018510155b15611084576000198186030180408360ff83066101008110611076576110766119c8565b60200201525060010161103f565b5046611fe0820152612000812092508340816110a160ff876119de565b61010081106110b2576110b26119c8565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113991906119f2565b90508115801561115057506001600160a01b038116155b15610a5657604051631467050360e21b81526004810185905260248101849052604401610723565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080806202bf2063ffffffff8516116111e55760006111ec565b6202bf2084035b60cd5460408901519192506001600160401b03600160801b909104811663ffffffff8085169190910192811689029161123691839061122f908690839061144916565b039061145f565b935050505061125e86602001516001600160401b03168760000151838763ffffffff16611276565b91508160000361126d57600191505b94509492505050565b60006001600160801b0385161580159061129857506001600160801b03841615155b6112a4576112a4611942565b60006001600160401b038316156112bb57826112be565b60015b905060006112d5856001600160401b031688611474565b905060006112f56112e68488611a0f565b6001600160401b031689611474565b90506001600160801b0387166001600160401b03841661131584846118bd565b61131f91906119b4565b61132991906119b4565b98975050505050505050565b60006001600160801b0382111561139e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610723565b5090565b600054610100900460ff166113c95760405162461bcd60e51b815260040161072390611a36565b610a6f6114c6565b600054610100900460ff166113f85760405162461bcd60e51b815260040161072390611a36565b610a6f6114f3565b6001600160a01b03811661142757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008183116114585781610a7e565b5090919050565b600081831161146e5782610a7e565b50919050565b60008061148a6001600160801b0384168561199d565b9050680755bf798b4a1bf1e481106114b55760405163576ff4f160e01b815260040160405180910390fd5b6114be81611523565b949350505050565b600054610100900460ff166114ed5760405162461bcd60e51b815260040161072390611a36565b60018055565b600054610100900460ff1661151a5760405162461bcd60e51b815260040161072390611a36565b610a6f33611178565b6000680248ce36a70cb26b3e19821361153e57506000919050565b680755bf798b4a1bf1e5821261156757604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b6d2c06887d92262d378b9593af35346c09791803c2923d5d9721c3da80929091056001605f1b0190921d6bb17217f7d1cf79abc9e3b39881029095039081018102606090811d6d019dd9374d4315c8464a395fc09881016c1bff318b126baa436ea9aeaffd19840102821d93840193016d29c9ad45cc0beb0a2ff097a7bab40192909202821d6dcf3c27b2e487711b467e90f19320016c22fcd1cffa6fa000f6e27eeca082018202831d6d022f98fbc368092c79210d196fa0018202831d6d13aaae3ba38de06adc25ebfacc0901820290921d6d624dcbeb5e25df590e409325888a01026d360d7aeea093263ec6495851bd9760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b6001600160a01b0381168114610e4e57600080fd5b6000602082840312156116f057600080fd5b8135610a56816116c9565b6000806040838503121561170e57600080fd5b82359150602083013560ff8116811461172657600080fd5b809150509250929050565b60008082840360c081121561174557600080fd5b8335611750816116c9565b925060a0601f198201121561176457600080fd5b506020830190509250929050565b80358015158114610dd357600080fd5b60008060006060848603121561179757600080fd5b83359250602084013591506117ae60408501611772565b90509250925092565b600080604083850312156117ca57600080fd5b823591506117da60208401611772565b90509250929050565b6000602082840312156117f557600080fd5b5035919050565b803563ffffffff81168114610dd357600080fd5b60008060006060848603121561182557600080fd5b61182e846117fc565b925061183c602085016117fc565b91506117ae604085016117fc565b80356001600160401b0381168114610dd357600080fd5b6000806000806080858703121561187757600080fd5b843593506020850135925061188e6040860161184a565b915061189c606086016117fc565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a8157610a816118a7565b6000602082840312156118e257600080fd5b610a7e826117fc565b6000602082840312156118fd57600080fd5b610a7e8261184a565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061193657611936611906565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061193657611936611906565b6001600160401b03818116838216028082169190828114611995576119956118a7565b505092915050565b8082028115828204841417610a8157610a816118a7565b6000826119c3576119c3611906565b500490565b634e487b7160e01b600052603260045260246000fd5b6000826119ed576119ed611906565b500690565b600060208284031215611a0457600080fd5b8151610a56816116c9565b6001600160401b03818116838216019080821115611a2f57611a2f6118a7565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220bd7f7091e6a697697091252fac98ba75d8b5eb2366b8463a9d05f995c921619164736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xd02f27dfd81ca98ddc593afdc449ac14b6f636ece56d0f41f5aa383eaa73d02b", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x0000000000bebc200000000058b8ef1c0000000485b9d2e799564d28c46075dd", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000a9507f68000000000000000000000000064b16457", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063bac443e21161006f578063bac443e21461041b578063ce70f39b1461043b578063d0496d6a1461045b578063f2fde38b146104ca578063f9803919146104ea578063fee99b221461050a57600080fd5b8063715018a6146103955780638da5cb5b146103aa57806396e17852146103c8578063a4444efd146103db578063a86f9d9e146103fb57600080fd5b8063540be6a3116100f2578063540be6a3146102e75780635817b0c3146103075780635d0bd98614610335578063606b5b74146103555780636c6563f61461037557600080fd5b80630652b57a1461020357806319ab453c14610223578063343b643c146102435780633ab76e9f146102885780635075a9d4146102ba57600080fd5b366101fe5761014c6a1d1bdad95b97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b03161415801561019757506101816a195d1a195c97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101c757506101b1647461696b6f60d81b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101de57506065546001600160a01b03163314155b156101fc576040516345dd044560e11b815260040160405180910390fd5b005b600080fd5b34801561020f57600080fd5b506101fc61021e366004612b75565b610540565b34801561022f57600080fd5b506101fc61023e366004612b75565b6105c3565b34801561024f57600080fd5b5061027361025e366004612b92565b600090815260cd602052604090205460ff1690565b60405190151581526020015b60405180910390f35b34801561029457600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200161027f565b3480156102c657600080fd5b506102da6102d5366004612b92565b6106db565b60405161027f9190612be3565b3480156102f357600080fd5b50610273610302366004612b92565b6106e6565b34801561031357600080fd5b50610327610322366004612c0a565b6106f2565b60405190815260200161027f565b34801561034157600080fd5b50610273610350366004612b92565b610705565b34801561036157600080fd5b50610327610370366004612b92565b610718565b34801561038157600080fd5b506102a2610390366004612c4c565b610723565b3480156103a157600080fd5b506101fc61073a565b3480156103b657600080fd5b506065546001600160a01b03166102a2565b6103276103d6366004612c0a565b61074e565b3480156103e757600080fd5b506102736103f6366004612ccd565b61077c565b34801561040757600080fd5b506102a2610416366004612d1f565b61052a565b34801561042757600080fd5b506101fc610436366004612d4f565b610794565b34801561044757600080fd5b50610273610456366004612ccd565b6107b8565b34801561046757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc54938701938452865192835251169381019390935251928201929092520161027f565b3480156104d657600080fd5b506101fc6104e5366004612b75565b6107c7565b3480156104f657600080fd5b506101fc610505366004612db7565b610840565b34801561051657600080fd5b506101fc610525366004612d4f565b61085e565b6000610537468484610874565b90505b92915050565b610548610928565b6001600160a01b03811661056f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156105e35750600054600160ff909116105b806105fd5750303b1580156105fd575060005460ff166001145b6106655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610688576000805461ff0019166101001790555b61069182610982565b80156106d7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061053a8261099b565b600061053a30836109c6565b600061053a61070083612f0d565b610aa7565b60006107113083610ad7565b5092915050565b600061053a82610b60565b6000610730848484610874565b90505b9392505050565b610742610928565b61074c6000610b9b565b565b6000610758610bed565b61076c60c93061076785612f0d565b610c46565b905061077760018055565b919050565b600061078b3086868686610f27565b95945050505050565b61079c610bed565b6107aa60c93085858561108a565b6107b360018055565b505050565b600061078b308686868661137b565b6107cf610928565b6001600160a01b0381166108345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b61083d81610b9b565b50565b610848610bed565b61085560c9308484611600565b6106d760018055565b610866610bed565b6107aa60c930858585611838565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e9919061300e565b90508115801561090057506001600160a01b038116155b1561073357604051631467050360e21b8152600481018590526024810184905260440161065c565b6065546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b61098a611d37565b610992611d66565b61083d81611d95565b6000806109a783610b60565b80549091508060038111156109be576109be612bab565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e906109f590849060040161302b565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a36919061300e565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061304d565b600081604051602001610aba91906130ba565b604051602081830303815290604052805190602001209050919050565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610b099291906131b4565b602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a919061300e565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b81525082604051602001610aba9291906131d3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610c3f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065c565b6002600155565b60808101516000906001600160a01b0316610c74576040516301b1868360e71b815260040160405180910390fd5b600080610c85858560600151610ad7565b91509150811580610c995750468460600151145b15610cb75760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b03161580610ce65750806001600160a01b03168460a001516001600160a01b0316145b15610d045760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461012001518561010001518660e00151610d21919061320b565b610d2b919061320b565b9050348114610d4d57604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e90610d7d9060019060040161321e565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe919061300e565b9050610dd36001600160a01b03821683611dde565b8754886000610de18361323d565b909155508652336020870152466040870152610dfc86610aa7565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610e2c9060009060040161302b565b602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d919061300e565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610e9a91815260200190565b6020604051808303816000875af1158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613256565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f387604051610f0e91906130ba565b60405180910390a2505050509392505050565b60018055565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b8152600401610f599291906131b4565b602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a919061300e565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e90610fca9060009060040161302b565b602060405180830381865afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b919061300e565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b815260040161103e95949392919061326f565b602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f919061304d565b979650505050505050565b600061109c60a0850160808601612b75565b6001600160a01b0316036110c3576040516301b1868360e71b815260040160405180910390fd5b468360400135146110e75760405163e822b48d60e01b815260040160405180910390fd5b60006110f561070085612f0d565b600081815260048801602052604090205490915060ff16151560010361112e5760405163afde133560e01b815260040160405180910390fd5b61113f85828660600135868661137b565b61115c5760405163498b0b1d60e01b815260040160405180910390fd5b60008181526004870160205260408120805460ff1916600117905561118a61010086013560e087013561320b565b9050801561131f57604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906111c29060019060040161321e565b602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061300e565b90506001600160a01b03811615611298576001600160a01b03811663ba0bbd9561123360a0890160808a01612b75565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b5050505061131d565b60006112aa60a0880160808901612b75565b6001600160a01b03168360405160006040518083038185875af1925050503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b505090508061131b5760405163f6664cf160e01b815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd84761135160a0880160808901612b75565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361139d5760405163e822b48d60e01b815260040160405180910390fd5b60008590036113bf5760405163a6407c9360e01b815260040160405180910390fd5b60006113cd83850185613359565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611449919061300e565b8251610100015160405163bacb386d60e01b81526001600160801b0390911660048201526001600160a01b03919091169063bacb386d90602401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190613256565b90508015806114dd575081516114d990611e94565b8114155b156114ed5760009250505061078b565b815160600151604051633632b1fb60e11b815273d56fbBb9C88938a61e9CA71339Abd5f84dF131Cf9163a5427462916001600160a01b038c1690636c6563f69061153e908c906000906004016131b4565b602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f919061300e565b6115888b610b60565b602087015160405160e086901b6001600160e01b03191681526115b3949392916003916004016134fd565b602060405180830381865af41580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f4919061304d565b98975050505050505050565b610140820135158061160f5750805b156116555761162460a0830160808401612b75565b6001600160a01b0316336001600160a01b0316146116555760405163d7f4fc9f60e01b815260040160405180910390fd5b600061166361070084612f0d565b905060016116708261099b565b600381111561168157611681612bab565b1461169f57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e906116cf9060019060040161321e565b602060405180830381865afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061300e565b90506001600160a01b0381161561178057604051630d73bb3d60e41b815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b505050505b61178c8685845a611eb9565b156117a15761179c826002612011565b611830565b8215611818576117b2826003612011565b6000806117c560e0870160c08801612b75565b6001600160a01b0316146117e8576117e360e0860160c08701612b75565b6117f8565b6117f860a0860160808701612b75565b90506118126001600160a01b038216610100870135611dde565b50611830565b6118306001600160a01b038216610100860135611dde565b505050505050565b61014083013515801561186c575061185660a0840160808501612b75565b6001600160a01b0316336001600160a01b031614155b1561188a5760405163398b635960e21b815260040160405180910390fd5b468360600135146118ae5760405163e822b48d60e01b815260040160405180910390fd5b60006118bc61070085612f0d565b905060006118c98261099b565b60038111156118da576118da612bab565b146118f857604051630cfafbf960e01b815260040160405180910390fd5b6000856001600160a01b0316636c6563f6866040013560006040518363ffffffff1660e01b815260040161192d9291906131b4565b602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e919061300e565b604051635437cecf60e11b81529091506001600160a01b0387169063a86f9d9e9061199e9060009060040161302b565b602060405180830381865afa1580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df919061300e565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401611a1695949392919061326f565b602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061304d565b611a74576040516314504c7360e31b815260040160405180910390fd5b6000610120860135611a8f61010088013560e089013561320b565b611a99919061320b565b90506000876001600160a01b031663a86f9d9e60016040518263ffffffff1660e01b8152600401611aca919061321e565b602060405180830381865afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b919061300e565b90506001600160a01b03811615801590611b255750600082115b15611b8557604051630d73bb3d60e41b8152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611b6c57600080fd5b505af1158015611b80573d6000803e3d6000fd5b505050505b611bac60e0880135611b9d60a08a0160808b01612b75565b6001600160a01b031690611dde565b60008030611bc060c08b0160a08c01612b75565b6001600160a01b03161480611bed57506000611be260c08b0160a08c01612b75565b6001600160a01b0316145b15611c02575060029050610100880135611c79565b6000611c1460a08b0160808c01612b75565b6001600160a01b0316336001600160a01b031614611c3757896101400135611c39565b5a5b90506000611c498d8c8a85611eb9565b90508015611c5a5760029350611c76565b60019350611c766001600160a01b0386166101008d0135611dde565b50505b611c838683612011565b600080611c9660e08c0160c08d01612b75565b6001600160a01b031614611cb957611cb460e08b0160c08c01612b75565b611cc9565b611cc960a08b0160808c01612b75565b90506001600160a01b0381163303611d07576000611cec836101208d013561320b565b9050611d016001600160a01b03831682611dde565b50611d29565b611d16336101208c0135611dde565b611d296001600160a01b03821683611dde565b505050505050505050505050565b600054610100900460ff16611d5e5760405162461bcd60e51b815260040161065c90613530565b61074c61208a565b600054610100900460ff16611d8d5760405162461bcd60e51b815260040161065c90613530565b61074c6120b1565b6001600160a01b038116611dbc57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611df257506001600160a01b038216155b15611dfb575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611e48576040519150601f19603f3d011682016040523d82523d6000602084013e611e4d565b606091505b50509050806107b35760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161065c565b600080611eaa611ea58460006120e1565b612502565b80516020909101209392505050565b600081600003611edc57604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611f009190612b75565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611f5260c0850160a08601612b75565b6001600160a01b031682610100860135611f7061016088018861357b565b604051611f7e9291906135c1565b600060405180830381858888f193505050503d8060008114611fbc576040519150601f19603f3d011682016040523d82523d6000602084013e611fc1565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b80600381111561202357612023612bab565b61202c8361099b565b600381111561203d5761203d612bab565b146106d75761204c8282612546565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c823360405161207e9291906135d1565b60405180910390a25050565b600054610100900460ff16610f215760405162461bcd60e51b815260040161065c90613530565b600054610100900460ff166120d85760405162461bcd60e51b815260040161065c90613530565b61074c33610b9b565b6102008201516060901561214c576120fa82601161320b565b6001600160401b0381111561211157612111612dfd565b60405190808252806020026020018201604052801561214457816020015b606081526020019060019003908161212f5790505b5090506121bb565b6101e083015115612162576120fa82601061320b565b61216d82600f61320b565b6001600160401b0381111561218457612184612dfd565b6040519080825280602002602001820160405280156121b757816020015b60608152602001906001900390816121a25790505b5090505b82516121c69061256f565b816000815181106121d9576121d96135f7565b60200260200101819052506121f1836020015161256f565b81600181518110612204576122046135f7565b602002602001018190525061221c8360400151612582565b8160028151811061222f5761222f6135f7565b6020026020010181905250612247836060015161256f565b8160038151811061225a5761225a6135f7565b6020026020010181905250612272836080015161256f565b81600481518110612285576122856135f7565b602002602001018190525061229d8360a0015161256f565b816005815181106122b0576122b06135f7565b60200260200101819052506122e78360c001516040516020016122d3919061360d565b6040516020818303038152906040526125ab565b816006815181106122fa576122fa6135f7565b60200260200101819052506123128360e0015161261a565b81600781518110612325576123256135f7565b60200260200101819052506123478361010001516001600160801b031661261a565b8160088151811061235a5761235a6135f7565b6020026020010181905250612373836101200151612628565b81600981518110612386576123866135f7565b602002602001018190525061239f836101400151612628565b81600a815181106123b2576123b26135f7565b60200260200101819052506123cb836101600151612628565b81600b815181106123de576123de6135f7565b60200260200101819052506123f78361018001516125ab565b81600c8151811061240a5761240a6135f7565b6020026020010181905250612423836101a0015161256f565b81600d81518110612436576124366135f7565b602002602001018190525061246d836101c001516040516020016122d3919060c09190911b6001600160c01b031916815260080190565b81600e81518110612480576124806135f7565b6020026020010181905250826101e001516000146124c5576124a6836101e0015161261a565b81600f815181106124b9576124b96135f7565b60200260200101819052505b6102008301511561053a576124de83610200015161256f565b816010815181106124f1576124f16135f7565b602002602001018190525092915050565b6060600061250f8361263f565b905061251d815160c0612774565b8160405160200161252f929190613642565b604051602081830303815290604052915050919050565b600061255183610b60565b9050600082600381111561256757612567612bab565b909155505050565b606061053a61257d8361291c565b6125ab565b604051606082811b6bffffffffffffffffffffffff191660208301529061053a906034016122d3565b606080825160011480156125d957506080836000815181106125cf576125cf6135f7565b016020015160f81c105b156125e557508161053a565b6125f183516080612774565b83604051602001612603929190613642565b604051602081830303815290604052905092915050565b606061053a61257d836129ce565b606061053a61257d836001600160401b03166129ce565b60608151600003612660576040805160008082526020820190925290610711565b6000805b83518110156126a55783818151811061267f5761267f6135f7565b60200260200101515182612693919061320b565b915061269e8161323d565b9050612664565b6000826001600160401b038111156126bf576126bf612dfd565b6040519080825280601f01601f1916602001820160405280156126e9576020820181803683370190505b50600092509050602081015b855183101561276b576000868481518110612712576127126135f7565b60200260200101519050600060208201905061273083828451612af8565b878581518110612742576127426135f7565b60200260200101515183612756919061320b565b92505050826127649061323d565b92506126f5565b50949350505050565b60608060388410156127db57604080516001808252818301909252906020820181803683370190505090506127a98385613671565b60f81b816000815181106127bf576127bf6135f7565b60200101906001600160f81b031916908160001a905350610537565b600060015b6127ea81876136a0565b1561280d576127f88261323d565b9150612806610100826136b4565b90506127e0565b61281882600161320b565b6001600160401b0381111561282f5761282f612dfd565b6040519080825280601f01601f191660200182016040528015612859576020820181803683370190505b5092506128668583613671565b612871906037613671565b60f81b83600081518110612887576128876135f7565b60200101906001600160f81b031916908160001a905350600190505b818111612913576101006128b782846136cb565b6128c3906101006137c2565b6128cd90886136a0565b6128d791906137ce565b60f81b8382815181106128ec576128ec6135f7565b60200101906001600160f81b031916908160001a90535061290c8161323d565b90506128a3565b50509392505050565b606060008260405160200161293391815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561276b5783836129788161323d565b94508151811061298a5761298a6135f7565b602001015160f81c60f81b8282815181106129a7576129a76135f7565b60200101906001600160f81b031916908160001a9053506129c78161323d565b9050612964565b60606000826040516020016129e591815260200190565b604051602081830303815290604052905060005b6020811015612a3a57818181518110612a1457612a146135f7565b01602001516001600160f81b031916600003612a3a57612a338161323d565b90506129f9565b6000612a478260206136cb565b6001600160401b03811115612a5e57612a5e612dfd565b6040519080825280601f01601f191660200182016040528015612a88576020820181803683370190505b50905060005b815181101561276b578383612aa28161323d565b945081518110612ab457612ab46135f7565b602001015160f81c60f81b828281518110612ad157612ad16135f7565b60200101906001600160f81b031916908160001a905350612af18161323d565b9050612a8e565b8282825b60208110612b345781518352612b1360208461320b565b9250612b2060208361320b565b9150612b2d6020826136cb565b9050612afc565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b038116811461083d57600080fd5b803561077781612b55565b600060208284031215612b8757600080fd5b813561053781612b55565b600060208284031215612ba457600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612bdf57634e487b7160e01b600052602160045260246000fd5b9052565b6020810161053a8284612bc1565b60006101a08284031215612c0457600080fd5b50919050565b600060208284031215612c1c57600080fd5b81356001600160401b03811115612c3257600080fd5b6109be84828501612bf1565b801515811461083d57600080fd5b600080600060608486031215612c6157600080fd5b83359250602084013591506040840135612c7a81612c3e565b809150509250925092565b60008083601f840112612c9757600080fd5b5081356001600160401b03811115612cae57600080fd5b602083019150836020828501011115612cc657600080fd5b9250929050565b60008060008060608587031215612ce357600080fd5b843593506020850135925060408501356001600160401b03811115612d0757600080fd5b612d1387828801612c85565b95989497509550505050565b60008060408385031215612d3257600080fd5b823591506020830135612d4481612c3e565b809150509250929050565b600080600060408486031215612d6457600080fd5b83356001600160401b0380821115612d7b57600080fd5b612d8787838801612bf1565b94506020860135915080821115612d9d57600080fd5b50612daa86828701612c85565b9497909650939450505050565b60008060408385031215612dca57600080fd5b82356001600160401b03811115612de057600080fd5b612dec85828601612bf1565b9250506020830135612d4481612c3e565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612e3657612e36612dfd565b60405290565b604080519081016001600160401b0381118282101715612e3657612e36612dfd565b60405161022081016001600160401b0381118282101715612e3657612e36612dfd565b600082601f830112612e9257600080fd5b81356001600160401b0380821115612eac57612eac612dfd565b604051601f8301601f19908116603f01168101908282118183101715612ed457612ed4612dfd565b81604052838152866020858801011115612eed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215612f2057600080fd5b612f28612e13565b82358152612f3860208401612b6a565b60208201526040830135604082015260608301356060820152612f5d60808401612b6a565b6080820152612f6e60a08401612b6a565b60a0820152612f7f60c08401612b6a565b60c082015260e08381013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401356001600160401b0380821115612fcb57600080fd5b612fd736838801612e81565b83850152610180925082860135915080821115612ff357600080fd5b5061300036828701612e81565b918301919091525092915050565b60006020828403121561302057600080fd5b815161053781612b55565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561305f57600080fd5b815161053781612c3e565b60005b8381101561308557818101518382015260200161306d565b50506000910152565b600081518084526130a681602086016020860161306a565b601f01601f19169290920160200192915050565b6020815281516020820152600060208301516130e160408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161311060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261318e6101c086018461308e565b90860151858203601f1901838701529092506131aa838261308e565b9695505050505050565b9182526562726964676560d01b60208301521515604082015260600190565b600083516131e581846020880161306a565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561053a5761053a6131f5565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006001820161324f5761324f6131f5565b5060010190565b60006020828403121561326857600080fd5b5051919050565b8581526001600160a01b0385166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600082601f8301126132cf57600080fd5b6040516101008082018281106001600160401b03821117156132f3576132f3612dfd565b6040528301818582111561330657600080fd5b845b82811015613320578035825260209182019101613308565b509195945050505050565b80356001600160801b038116811461077757600080fd5b80356001600160401b038116811461077757600080fd5b60006020828403121561336b57600080fd5b81356001600160401b038082111561338257600080fd5b908301906040828603121561339657600080fd5b61339e612e3c565b8235828111156133ad57600080fd5b830161030081880312156133c057600080fd5b6133c8612e5e565b81358152602082013560208201526133e260408301612b6a565b6040820152606082013560608201526080820135608082015260a082013560a08201526134128860c084016132be565b60c08201526101c08083013560e08301526101e061343181850161332b565b610100840152610200613445818601613342565b6101208501526134586102208601613342565b61014085015261346b6102408601613342565b6101608501526102608501358781111561348457600080fd5b6134908c828801612e81565b610180860152506102808501356101a08501526134b06102a08601613342565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134e257600080fd5b6134ee87828601612e81565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061107f60a083018461308e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261359257600080fd5b8301803591506001600160401b038211156135ac57600080fd5b602001915036819003821315612cc657600080fd5b8183823760009101908152919050565b604081016135df8285612bc1565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b6008811015613632578151835260209283019290910190600101613613565b5050506101008201905092915050565b6000835161365481846020880161306a565b83519083019061366881836020880161306a565b01949350505050565b60ff818116838216019081111561053a5761053a6131f5565b634e487b7160e01b600052601260045260246000fd5b6000826136af576136af61368a565b500490565b808202811582820484141761053a5761053a6131f5565b8181038181111561053a5761053a6131f5565b600181815b808511156137195781600019048211156136ff576136ff6131f5565b8085161561370c57918102915b93841c93908002906136e3565b509250929050565b6000826137305750600161053a565b8161373d5750600061053a565b8160018114613753576002811461375d57613779565b600191505061053a565b60ff84111561376e5761376e6131f5565b50506001821b61053a565b5060208310610133831016604e8410600b841016171561379c575081810a61053a565b6137a683836136de565b80600019048211156137ba576137ba6131f5565b029392505050565b60006105378383613721565b6000826137dd576137dd61368a565b50069056fea2646970667358221220375c4de0362d3ed6e76edb571acb958d89d208d7216e0c416a7cdb4ee2dfeba764736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedTokenVault", + "storage": {}, + "code": "0x6080604052600436106100e85760003560e01c8063780b64f01161008a578063a86f9d9e11610059578063a86f9d9e146102ca578063c287e578146102ea578063ee1490b21461032a578063f2fde38b1461033d57600080fd5b8063780b64f0146101fc5780638da5cb5b1461025b5780639754149b146102795780639aa8605c1461029957600080fd5b80633ab76e9f116100c65780633ab76e9f1461014f57806367090ccf146101865780636c6563f6146101c7578063715018a6146101e757600080fd5b80630652b57a146100ed5780630c6fab821461010f57806319ab453c1461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611fa4565b61035d565b005b34801561011b57600080fd5b5061010d61012a366004611fc1565b6103e0565b34801561013b57600080fd5b5061010d61014a366004611fa4565b61068f565b34801561015b57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101696101a1366004612030565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d357600080fd5b506101696101e236600461206e565b6107a7565b3480156101f357600080fd5b5061010d6107be565b34801561020857600080fd5b5061023c6102173660046120a7565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b03909316835260208301919091520161017d565b34801561026757600080fd5b506065546001600160a01b0316610169565b34801561028557600080fd5b5061010d6102943660046120c0565b6107d2565b3480156102a557600080fd5b506102b96102b4366004611fa4565b610b54565b60405161017d9594939291906121b0565b3480156102d657600080fd5b506101696102e5366004612201565b610ca5565b3480156102f657600080fd5b5061031a610305366004611fa4565b60c96020526000908152604090205460ff1681565b604051901515815260200161017d565b61010d610338366004612295565b610cbb565b34801561034957600080fd5b5061010d610358366004611fa4565b611574565b6103656115ed565b6001600160a01b03811661038c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6103e8611647565b6562726964676560d01b6103fd816001610ca5565b6001600160a01b0316336001600160a01b03161461042e57604051630d85cccf60e11b815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190612374565b90506104b281604001516a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b031681602001516001600160a01b0316146104e7576040516320258b8760e21b815260040160405180910390fd5b6000468735036105b4576105016040880160208901611fa4565b905061051c6a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316816001600160a01b03160361059b576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050610624565b6105af6001600160a01b03821686866116a0565b610624565b6105bd87611703565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801561060b57600080fd5b505af115801561061f573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a450505061068960018055565b50505050565b600054610100900460ff16158080156106af5750600054600160ff909116105b806106c95750303b1580156106c9575060005460ff166001145b6107315760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610754576000805461ff0019166101001790555b61075d82611762565b80156107a3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107b484848461177b565b90505b9392505050565b6107c66115ed565b6107d0600061182f565b565b6107da611647565b60006107ec60a0850160808601611fa4565b6001600160a01b031603610813576040516372b41cdf60e01b815260040160405180910390fd5b46836040013514610837576040516348bc100560e01b815260040160405180910390fd5b600061084d6562726964676560d01b6000610ca5565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b815260040161087d919061244c565b602060405180830381865afa15801561089a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108be919061256a565b600081815260cc6020526040902080546001909101549192506001600160a01b031690816108ff57604051637c6addb760e01b815260040160405180910390fd5b60405163ce70f39b60e01b81526001600160a01b0385169063ce70f39b9061093590869060608c0135908b908b90600401612583565b602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906125ad565b610993576040516308ba49e560e31b815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181546001600160a01b0319166001600160a01b0390911617815590516001909101558015610adb576001600160a01b038216600090815260c9602052604090205460ff1680610a2e5750610a196a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316826001600160a01b0316145b15610ab7576001600160a01b0382166340c10f19610a5260a08a0160808b01611fa4565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b50505050610adb565b610adb610aca60a0890160808a01611fa4565b6001600160a01b03841690836116a0565b610aeb60a0880160808901611fa4565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610b3a9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610b4f60018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff1692909190610b94906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc0906125ca565b8015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505090806003018054610c22906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e906125ca565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b5050505050905085565b6000610cb246848461177b565b90505b92915050565b610cc3611647565b6001600160a01b0387161580610d035750610cee886a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b0316876001600160a01b0316145b15610d2157604051634694641b60e01b815260040160405180910390fd5b6001600160a01b038616610d4857604051637c6addb760e01b815260040160405180910390fd5b84600003610d685760405162af849960e11b815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615610faf576001600160a01b03888116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff1691810191909152600282018054919291606084019190610e15906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610e41906125ca565b8015610e8e5780601f10610e6357610100808354040283529160200191610e8e565b820191906000526020600020905b815481529060010190602001808311610e7157829003601f168201915b50505050508152602001600382018054610ea7906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed3906125ca565b8015610f205780601f10610ef557610100808354040283529160200191610f20565b820191906000526020600020905b815481529060010190602001808311610f0357829003601f168201915b5050509190925250505060208101519092506001600160a01b0316610f4757610f47612604565b604051632770a7eb60e21b8152336004820152602481018890526001600160a01b03891690639dc29fac90604401600060405180830381600087803b158015610f8f57600080fd5b505af1158015610fa3573d6000803e3d6000fd5b505050508690506112a8565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190612629565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a49190810190612646565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261110f9190810190612646565b9052925061112c6a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316896001600160a01b0316036111ac57604051632770a7eb60e21b8152336004820152602481018990526001600160a01b038a1690639dc29fac90604401600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050508791506112a6565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156111f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611217919061256a565b905061122e6001600160a01b03831633308c611881565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611274573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611298919061256a565b6112a291906126bd565b9250505b505b611337604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015261135e8b6a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b031660a08201526080810151604051630637d5c160e11b91611390918691908e9087906024016126de565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610160820152610140810187905261012081018690526113e286346126bd565b60e08201526001600160a01b03851660c0820152610180810184905260006114136562726964676560d01b82610ca5565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b815260040161143f9190612776565b60206040518083038185885af115801561145d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611482919061256a565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611555939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a45050505061156a60018055565b5050505050505050565b61157c6115ed565b6001600160a01b0381166115e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610728565b6115ea8161182f565b50565b6065546001600160a01b031633146107d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610728565b6002600154036116995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610728565b6002600155565b6040516001600160a01b038316602482015260448101829052610b4f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526118b9565b8035600090815260cb6020908152604080832083929091839161172a918701908701611fa4565b6001600160a01b03908116825260208201929092526040016000205416905080610cb5576117578361198b565b6107b7565b60018055565b61176a611be6565b611772611c15565b6115ea81611c44565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190612866565b90508115801561180757506001600160a01b038116155b156107b757604051631467050360e21b81526004810185905260248101849052604401610728565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526106899085906323b872dd60e01b906084016116cc565b600061190e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c8d9092919063ffffffff16565b805190915015610b4f578080602001905181019061192c91906125ad565b610b4f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610728565b6000611a048183356119a36040860160208701611fa4565b6040516119c692916001600160a01b031690602001918252602082015260400190565b60405160208183030381529060405280519060200120604051806020016119ec90611f72565b601f1982820381018352601f90910116604052611c9c565b6097549091506001600160a01b0380831691636c0db62b9116611a2d6040860160208701611fa4565b8535611a3f6060880160408901612883565b611a4c60608901896128a0565b611a5960808b018b6128a0565b6040518963ffffffff1660e01b8152600401611a7c9897969594939291906128e7565b600060405180830381600087803b158015611a9657600080fd5b505af1158015611aaa573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c960209081526040808320805460ff1916600117905560ca9091529020839150611ae78282612a55565b50508135600090815260cb60209081526040808320849390929091611b1191908701908701611fa4565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316826020016020810190611b729190611fa4565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611bab60608701876128a0565b611bb860808901896128a0565b611bc860608b0160408c01612883565b604051611bd9959493929190612adc565b60405180910390a4919050565b600054610100900460ff16611c0d5760405162461bcd60e51b815260040161072890612b19565b6107d0611da0565b600054610100900460ff16611c3c5760405162461bcd60e51b815260040161072890612b19565b6107d0611dc7565b6001600160a01b038116611c6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60606107b48484600085611df7565b600083471015611cee5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610728565b8151600003611d3f5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610728565b8282516020840186f590506001600160a01b0381166107b75760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610728565b600054610100900460ff1661175c5760405162461bcd60e51b815260040161072890612b19565b600054610100900460ff16611dee5760405162461bcd60e51b815260040161072890612b19565b6107d03361182f565b606082471015611e585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610728565b600080866001600160a01b03168587604051611e749190612b64565b60006040518083038185875af1925050503d8060008114611eb1576040519150601f19603f3d011682016040523d82523d6000602084013e611eb6565b606091505b5091509150611ec787838387611ed4565b925050505b949350505050565b60608315611f43578251600003611f3c576001600160a01b0385163b611f3c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610728565b5081611ecc565b611ecc8383815115611f585781518083602001fd5b8060405162461bcd60e51b81526004016107289190612b80565b61199080612b9483390190565b6001600160a01b03811681146115ea57600080fd5b8035611f9f81611f7f565b919050565b600060208284031215611fb657600080fd5b81356107b781611f7f565b60008060008060808587031215611fd757600080fd5b843567ffffffffffffffff811115611fee57600080fd5b850160a0818803121561200057600080fd5b9350602085013561201081611f7f565b9250604085013561202081611f7f565b9396929550929360600135925050565b6000806040838503121561204357600080fd5b82359150602083013561205581611f7f565b809150509250929050565b80151581146115ea57600080fd5b60008060006060848603121561208357600080fd5b8335925060208401359150604084013561209c81612060565b809150509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000806000604084860312156120d557600080fd5b833567ffffffffffffffff808211156120ed57600080fd5b908501906101a0828803121561210257600080fd5b9093506020850135908082111561211857600080fd5b818601915086601f83011261212c57600080fd5b81358181111561213b57600080fd5b87602082850101111561214d57600080fd5b6020830194508093505050509250925092565b60005b8381101561217b578181015183820152602001612163565b50506000910152565b6000815180845261219c816020860160208601612160565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906121e390830185612184565b82810360808401526121f58185612184565b98975050505050505050565b6000806040838503121561221457600080fd5b82359150602083013561205581612060565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561226557612265612226565b604052919050565b600067ffffffffffffffff82111561228757612287612226565b50601f01601f191660200190565b600080600080600080600080610100898b0312156122b257600080fd5b8835975060208901356122c481611f7f565b965060408901356122d481611f7f565b9550606089013594506080890135935060a0890135925060c08901356122f981611f7f565b915060e089013567ffffffffffffffff81111561231557600080fd5b8901601f81018b1361232657600080fd5b80356123396123348261226d565b61223c565b8181528c602083850101111561234e57600080fd5b816020840160208301376000602083830101528093505050509295985092959890939650565b60006060828403121561238657600080fd5b6040516060810181811067ffffffffffffffff821117156123a9576123a9612226565b6040528251815260208301516123be81611f7f565b60208201526040928301519281019290925250919050565b6000808335601e198436030181126123ed57600080fd5b830160208101925035905067ffffffffffffffff81111561240d57600080fd5b80360382131561241c57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061246560208401611f94565b6001600160a01b038116604084015250604083013560608301526060830135608083015261249560808401611f94565b6001600160a01b03811660a0840152506124b160a08401611f94565b6001600160a01b03811660c0840152506124cd60c08401611f94565b6001600160a01b03811660e08401525061010060e084013581840152610120818501358185015261014091508085013582850152506101608185013581850152612519818601866123d6565b925090506101a061018081818701526125376101c087018585612423565b9350612545818801886123d6565b878603601f1901848901529350905061255f848483612423565b979650505050505050565b60006020828403121561257c57600080fd5b5051919050565b8481528360208201526060604082015260006125a3606083018486612423565b9695505050505050565b6000602082840312156125bf57600080fd5b81516107b781612060565b600181811c908216806125de57607f821691505b6020821081036125fe57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052600160045260246000fd5b60ff811681146115ea57600080fd5b60006020828403121561263b57600080fd5b81516107b78161261a565b60006020828403121561265857600080fd5b815167ffffffffffffffff81111561266f57600080fd5b8201601f8101841361268057600080fd5b805161268e6123348261226d565b8181528560208385010111156126a357600080fd5b6126b4826020830160208601612160565b95945050505050565b81810381811115610cb557634e487b7160e01b600052601160045260246000fd5b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152612728610120850183612184565b91506080880151607f19858403016101008601526127468382612184565b9188166020860152506001600160a01b038616604085015291506127679050565b82606083015295945050505050565b60208152815160208201526000602083015161279d60408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516127cc60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261284a6101c0860184612184565b90860151858203601f1901838701529092506125a38382612184565b60006020828403121561287857600080fd5b81516107b781611f7f565b60006020828403121561289557600080fd5b81356107b78161261a565b6000808335601e198436030181126128b757600080fd5b83018035915067ffffffffffffffff8211156128d257600080fd5b60200191503681900382131561241c57600080fd5b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c0608082018190526000906129249083018688612423565b82810360a0840152612937818587612423565b9b9a5050505050505050505050565b601f821115610b4f57600081815260208120601f850160051c8101602086101561296d5750805b601f850160051c820191505b8181101561298c57828155600101612979565b505050505050565b67ffffffffffffffff8311156129ac576129ac612226565b6129c0836129ba83546125ca565b83612946565b6000601f8411600181146129f457600085156129dc5750838201355b600019600387901b1c1916600186901b178355612a4e565b600083815260209020601f19861690835b82811015612a255786850135825560209485019460019092019101612a05565b5086821015612a425760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612a6b81611f7f565b81546040850135612a7b8161261a565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b03199190911617179055612ab160608301836128a0565b612abf818360028601612994565b5050612ace60808301836128a0565b610689818360038601612994565b606081526000612af0606083018789612423565b8281036020840152612b03818688612423565b91505060ff831660408301529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612b76818460208701612160565b9190910192915050565b602081526000610cb2602083018461218456fe608060405234801561001057600080fd5b50611970806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b36600461144e565b61036c565b005b61017a6103ef565b604051610187919061148f565b60405180910390f35b6101a361019e3660046114c2565b610429565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046114ee565b610443565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a36102313660046114c2565b610483565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b6101706102693660046114c2565b6104a5565b6101b760fc5481565b6101706102853660046115d2565b6105ae565b610243610298366004611691565b610754565b6101b76102ab36600461144e565b6001600160a01b0316600090815260c9602052604090205490565b610170610761565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a610775565b6101706103083660046114c2565b610807565b6101a361031b3660046114c2565b610901565b61024361032e3660046116c6565b610987565b6101a36103413660046114c2565b610994565b6101b76103543660046116f2565b6109c9565b61017061036736600461144e565b6109f4565b610374610a6d565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b60606103f9610ac7565b61040460fc54610ad6565b60405160200161041592919061172b565b604051602081830303815290604052905090565b600033610437818585610b69565b60019150505b92915050565b6000306001600160a01b0384160361046e576040516319a6f37760e21b815260040160405180910390fd5b610479848484610c8e565b90505b9392505050565b60003361043781858561049683836109c9565b6104a09190611769565b610b69565b647461696b6f60d81b6a1c1c9bdd995c97dc1bdbdb60aa1b6a1d1bdad95b97dd985d5b1d60aa1b6104d7836001610987565b6001600160a01b0316336001600160a01b03161415801561051457506104fe826001610987565b6001600160a01b0316336001600160a01b031614155b801561053c5750610526816001610987565b6001600160a01b0316336001600160a01b031614155b1561055a57604051630d85cccf60e11b815260040160405180910390fd5b6105648585610ca7565b846001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858560405161059f91815260200190565b60405180910390a25050505050565b600054610100900460ff16158080156105ce5750600054600160ff909116105b806105e85750303b1580156105e8575060005460ff166001145b6106505760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610673576000805461ff0019166101001790555b6001600160a01b0386161580610687575084155b8061069157504685145b8061069b57508251155b806106a557508151155b156106c3576040516301e25ab360e71b815260040160405180910390fd5b6106cc87610d69565b6106d68284610d82565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff8616179055801561074b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6000610479848484610db3565b610769610a6d565b6107736000610e67565b565b606060cd80546107849061178a565b80601f01602080910402602001604051908101604052809291908181526020018280546107b09061178a565b80156107fd5780601f106107d2576101008083540402835291602001916107fd565b820191906000526020600020905b8154815290600101906020018083116107e057829003601f168201915b5050505050905090565b647461696b6f60d81b6a1c1c9bdd995c97dc1bdbdb60aa1b6a1d1bdad95b97dd985d5b1d60aa1b610839836001610987565b6001600160a01b0316336001600160a01b0316141580156108765750610860826001610987565b6001600160a01b0316336001600160a01b031614155b801561089e5750610888816001610987565b6001600160a01b0316336001600160a01b031614155b156108bc57604051630d85cccf60e11b815260040160405180910390fd5b6108c68585610eb9565b846001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58560405161059f91815260200190565b6000338161090f82866109c9565b90508381101561096f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610647565b61097c8286868403610b69565b506001949350505050565b600061047c468484610db3565b6000306001600160a01b038416036109bf576040516319a6f37760e21b815260040160405180910390fd5b61047c8383610fea565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6109fc610a6d565b6001600160a01b038116610a615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610647565b610a6a81610e67565b50565b6065546001600160a01b031633146107735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610647565b606060cc80546107849061178a565b60606000610ae383610ff8565b600101905060008167ffffffffffffffff811115610b0357610b0361152f565b6040519080825280601f01601f191660200182016040528015610b2d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610b3757509392505050565b6001600160a01b038316610bcb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610647565b6001600160a01b038216610c2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610647565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600033610c9c8582856110d0565b61097c85858561114a565b6001600160a01b038216610cfd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610647565b8060cb6000828254610d0f9190611769565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b610d716112f5565b610d79611324565b610a6a81611353565b600054610100900460ff16610da95760405162461bcd60e51b8152600401610647906117c4565b610d65828261139c565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610e04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e28919061180f565b905081158015610e3f57506001600160a01b038116155b1561047c57604051631467050360e21b81526004810185905260248101849052604401610647565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610f195760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610647565b6001600160a01b038216600090815260c9602052604090205481811015610f8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610647565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610c81565b505050565b60003361043781858561114a565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106110375772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611063576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061108157662386f26fc10000830492506010015b6305f5e1008310611099576305f5e100830492506008015b61271083106110ad57612710830492506004015b606483106110bf576064830492506002015b600a831061043d5760010192915050565b60006110dc84846109c9565b9050600019811461114457818110156111375760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610647565b6111448484848403610b69565b50505050565b6001600160a01b0383166111ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610647565b6001600160a01b0382166112105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610647565b6001600160a01b038316600090815260c96020526040902054818110156112885760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610647565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e89086815260200190565b60405180910390a3611144565b600054610100900460ff1661131c5760405162461bcd60e51b8152600401610647906117c4565b6107736113dc565b600054610100900460ff1661134b5760405162461bcd60e51b8152600401610647906117c4565b610773611409565b6001600160a01b03811661137a57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166113c35760405162461bcd60e51b8152600401610647906117c4565b60cc6113cf838261187a565b5060cd610fe5828261187a565b600054610100900460ff166114035760405162461bcd60e51b8152600401610647906117c4565b60018055565b600054610100900460ff166114305760405162461bcd60e51b8152600401610647906117c4565b61077333610e67565b6001600160a01b0381168114610a6a57600080fd5b60006020828403121561146057600080fd5b813561047c81611439565b60005b8381101561148657818101518382015260200161146e565b50506000910152565b60208152600082518060208401526114ae81604085016020870161146b565b601f01601f19169190910160400192915050565b600080604083850312156114d557600080fd5b82356114e081611439565b946020939093013593505050565b60008060006060848603121561150357600080fd5b833561150e81611439565b9250602084013561151e81611439565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261155657600080fd5b813567ffffffffffffffff808211156115715761157161152f565b604051601f8301601f19908116603f011681019082821181831017156115995761159961152f565b816040528381528660208588010111156115b257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156115eb57600080fd5b86356115f681611439565b9550602087013561160681611439565b945060408701359350606087013560ff8116811461162357600080fd5b9250608087013567ffffffffffffffff8082111561164057600080fd5b61164c8a838b01611545565b935060a089013591508082111561166257600080fd5b5061166f89828a01611545565b9150509295509295509295565b8035801515811461168c57600080fd5b919050565b6000806000606084860312156116a657600080fd5b83359250602084013591506116bd6040850161167c565b90509250925092565b600080604083850312156116d957600080fd5b823591506116e96020840161167c565b90509250929050565b6000806040838503121561170557600080fd5b823561171081611439565b9150602083013561172081611439565b809150509250929050565b6000835161173d81846020880161146b565b6241c55b60e71b908301908152835161175d81600484016020880161146b565b01600401949350505050565b8082018082111561043d57634e487b7160e01b600052601160045260246000fd5b600181811c9082168061179e57607f821691505b6020821081036117be57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561182157600080fd5b815161047c81611439565b601f821115610fe557600081815260208120601f850160051c810160208610156118535750805b601f850160051c820191505b818110156118725782815560010161185f565b505050505050565b815167ffffffffffffffff8111156118945761189461152f565b6118a8816118a2845461178a565b8461182c565b602080601f8311600181146118dd57600084156118c55750858301515b600019600386901b1c1916600185901b178555611872565b600085815260208120601f198616915b8281101561190c578886015182559484019460019091019084016118ed565b508582101561192a5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b40c6ab2d2ac6f02bd81640104801f3a38058209c3426b02583ae83cd4f9626164736f6c63430008140033a264697066735822122051da8881de7c8127cafb93733e67495f9cf4eb99b2d5f043b163acb59a7c9c5c64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "TokenVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a90565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a90565b61032a565b34801561014057600080fd5b506100ed61014f366004610ac2565b610442565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af7565b6104fb565b3480156101b757600080fd5b506100ed610512565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b2c565b610526565b34801561020a57600080fd5b506100ed610219366004610b4f565b610533565b34801561022a57600080fd5b506100ed610239366004610b7b565b6105f1565b34801561024a57600080fd5b506100ed610259366004610a90565b610674565b34801561026a57600080fd5b50610297610279366004610a90565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106ea565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff161580801561034a5750600054600160ff909116105b806103645750303b158015610364575060005460ff166001145b6103cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103ef576000805461ff0019166101001790555b6103f882610744565b801561043e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61044a6106ea565b6001600160a01b038216158061047e57506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049c57604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b600061050884848461075d565b90505b9392505050565b61051a6106ea565b6105246000610811565b565b600061050b46848461075d565b33600090815260c9602052604090205460ff1661056357604051634fa3f24560e01b815260040160405180910390fd5b61056b610863565b6001600160a01b0382166105925760405163687563df60e01b815260040160405180910390fd5b6105a56001600160a01b038316826108bc565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105e091815260200190565b60405180910390a261043e60018055565b33600090815260c9602052604090205460ff1661062157604051634fa3f24560e01b815260040160405180910390fd5b610629610863565b61063333826108bc565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261067160018055565b50565b61067c6106ea565b6001600160a01b0381166106e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c3565b61067181610811565b6065546001600160a01b031633146105245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b61074c61097d565b6107546109ac565b610671816109db565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610b94565b9050811580156107e957506001600160a01b038116155b1561050b57604051631467050360e21b815260048101859052602481018490526044016103c3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b8015806108d057506001600160a01b038216155b156108d9575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610926576040519150601f19603f3d011682016040523d82523d6000602084013e61092b565b606091505b50509050806109725760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103c3565b505050565b60018055565b600054610100900460ff166109a45760405162461bcd60e51b81526004016103c390610bb1565b610524610a24565b600054610100900460ff166109d35760405162461bcd60e51b81526004016103c390610bb1565b610524610a4b565b6001600160a01b038116610a0257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109775760405162461bcd60e51b81526004016103c390610bb1565b600054610100900460ff16610a725760405162461bcd60e51b81526004016103c390610bb1565b61052433610811565b6001600160a01b038116811461067157600080fd5b600060208284031215610aa257600080fd5b813561050b81610a7b565b80358015158114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b8235610ae081610a7b565b9150610aee60208401610aad565b90509250929050565b600080600060608486031215610b0c57600080fd5b8335925060208401359150610b2360408501610aad565b90509250925092565b60008060408385031215610b3f57600080fd5b82359150610aee60208401610aad565b60008060408385031215610b6257600080fd5b8235610b6d81610a7b565b946020939093013593505050565b600060208284031215610b8d57600080fd5b5035919050565b600060208284031215610ba657600080fd5b815161050b81610a7b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d1f620816e429aef5462d90b937779e4a09a43cf61a7434dba633ff2bfa8098364736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a18565b6101e0565b005b6100cc6100dc366004611a18565b610263565b6100f46100ef366004611a35565b61037b565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a61565b6103ed565b61015461014f366004611af7565b61055d565b604051908152602001610100565b610116610170366004611b25565b6105a2565b6100cc6105b9565b6065546001600160a01b0316610116565b61011661019c366004611b5a565b6105cd565b6100cc6101af366004611a18565b6105da565b6101546101c2366004611a35565b6040805192835260208301919091526034600c830120918101905290565b6101e8610653565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156102835750600054600160ff909116105b8061029d5750303b15801561029d575060005460ff166001145b6103055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610328576000805461ff0019166101001790555b610331826106ad565b8015610377576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006001600160a01b0383166103a4576040516354cdfc8d60e11b815260040160405180910390fd5b60008290036103c65760405163014f1da760e21b815260040160405180910390fd5b5060408051838152602081018390526034600c820120908201909152546001145b92915050565b600046860361040f5760405163e822b48d60e01b815260040160405180910390fd5b6001600160a01b038516610436576040516354cdfc8d60e11b815260040160405180910390fd5b60008490036104585760405163014f1da760e21b815260040160405180910390fd5b600061046683850185611bf6565b9050600061047d647461696b6f60d81b60006105cd565b8251604051632e24533960e21b81526001600160a01b03929092169163b8914ce4916104af9160040190815260200190565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190611cbd565b60408051898152602081018990526034600c820120818301909252606081019190915290915061055190608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106c6565b98975050505050505050565b600081810361057f5760405163014f1da760e21b815260040160405180910390fd5b506040805133815260208101929092526034600c83012091810190526001815590565b60006105af8484846106ea565b90505b9392505050565b6105c1610653565b6105cb600061079e565b565b60006105b24684846106ea565b6105e2610653565b6001600160a01b0381166106475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102fc565b6106508161079e565b50565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102fc565b6106b56107f0565b6106bd61081f565b6106508161084e565b6000806106d286610897565b90506106e0818686866108c9565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611cd6565b90508115801561077657506001600160a01b038116155b156105b257604051631467050360e21b815260048101859052602481018490526044016102fc565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108175760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610906565b600054610100900460ff166108465760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610933565b6001600160a01b03811661087557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108b391815260200190565b6040516020818303038152906040529050919050565b60008060006108d9878686610963565b915091508180156108fb57508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff1661092d5760405162461bcd60e51b81526004016102fc90611cf3565b60018055565b600054610100900460ff1661095a5760405162461bcd60e51b81526004016102fc90611cf3565b6105cb3361079e565b60006060600061097285610a3e565b90506000806000610984848a89610b37565b815192955090935091501580806109985750815b6109e45760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102fc565b600081610a005760405180602001604052806000815250610a2c565b610a2c86610a0f600188611d54565b81518110610a1f57610a1f611d67565b6020026020010151610f57565b919b919a509098505050505050505050565b60606000610a4b83610f7e565b90506000815167ffffffffffffffff811115610a6957610a69611b86565b604051908082528060200260200182016040528015610aae57816020015b6040805180820190915260608082526020820152815260200190600190039081610a875790505b50905060005b8251811015610b2f576000610ae1848381518110610ad457610ad4611d67565b6020026020010151610fb1565b90506040518060400160405280610af783610f7e565b815260200182815250838381518110610b1257610b12611d67565b60200260200101819052505080610b2890611d7d565b9050610ab4565b509392505050565b600060606000806000610b4987611041565b90506000869050600080610b70604051806040016040528060608152602001606081525090565b60005b8c51811015610f2f578c8181518110610b8e57610b8e611d67565b602002602001015191508284610ba49190611d96565b9350610bb1600188611d96565b965083600003610c0e578482602001518051906020012014610c095760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102fc565b610cd0565b602082602001515110610c75578482602001518051906020012014610c095760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102fc565b84610c83836020015161117a565b14610cd05760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102fc565b610cdc60106001611da9565b60ff1682600001515103610d4a5785518414610f2f576000868581518110610d0657610d06611d67565b01602001518351805160f89290921c925060009183908110610d2a57610d2a611d67565b60200260200101519050610d3d816111a2565b9650600194505050610f1f565b81515160011901610ed7576000610d60836111d8565b9050600081600081518110610d7757610d77611d67565b016020015160f81c90506000610d8e600283611dc2565b610d99906002611df2565b90506000610daa848360ff166111fc565b90506000610db88b8a6111fc565b90506000610dc68383611232565b905060ff851660021480610ddd575060ff85166003145b15610e1757808351148015610df25750808251145b15610e0457610e01818b611d96565b99505b50600160ff1b9950610f2f945050505050565b60ff85161580610e2a575060ff85166001145b15610e805782518114610e4a5750600160ff1b9950610f2f945050505050565b610e718860000151600181518110610e6457610e64611d67565b60200260200101516111a2565b9a509750610f1f945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102fc565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102fc565b610f2881611d7d565b9050610b73565b50600160ff1b841486610f4287866111fc565b909e909d50909b509950505050505050505050565b805180516060916103e791610f6e90600190611d54565b81518110610ad457610ad4611d67565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906103e7906112ac565b60606000806000610fc185611498565b919450925090506000816001811115610fdc57610fdc611e0b565b146110295760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102fc565b611038856020015184846117e2565b95945050505050565b60606000825160026110539190611e21565b67ffffffffffffffff81111561106b5761106b611b86565b6040519080825280601f01601f191660200182016040528015611095576020820181803683370190505b50905060005b83518110156111735760048482815181106110b8576110b8611d67565b01602001516001600160f81b031916901c826110d5836002611e21565b815181106110e5576110e5611d67565b60200101906001600160f81b031916908160001a905350601084828151811061111057611110611d67565b0160200151611122919060f81c611dc2565b60f81b82611131836002611e21565b61113c906001611d96565b8151811061114c5761114c611d67565b60200101906001600160f81b031916908160001a90535061116c81611d7d565b905061109b565b5092915050565b600060208251101561118e57506020015190565b818060200190518101906103e79190611cbd565b600060606020836000015110156111c3576111bc8361188b565b90506111cf565b6111cc83610fb1565b90505b6105b28161117a565b60606103e76111f78360000151600081518110610ad457610ad4611d67565b611041565b60608251821061121b57506040805160208101909152600081526103e7565b6105b2838384865161122d9190611d54565b611896565b6000805b8084511180156112465750808351115b8015611297575082818151811061125f5761125f611d67565b602001015160f81c60f81b6001600160f81b03191684828151811061128657611286611d67565b01602001516001600160f81b031916145b156105b2576112a581611d7d565b9050611236565b60606000806112ba84611498565b919350909150600190508160018111156112d6576112d6611e0b565b146113235760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102fc565b6040805160208082526104208201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908161133c5790505090506000835b865181101561148d57602082106113d55760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102fc565b6000806114126040518060400160405280858c600001516113f69190611d54565b8152602001858c6020015161140b9190611d96565b9052611498565b50915091506040518060400160405280838361142e9190611d96565b8152602001848b602001516114439190611d96565b81525085858151811061145857611458611d67565b602090810291909101015261146e600185611d96565b935061147a8183611d96565b6114849084611d96565b92505050611369565b508152949350505050565b6000806000808460000151116114f05760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102fc565b6020840151805160001a607f81116115155760006001600094509450945050506117db565b60b7811161159157600061152a608083611d54565b90508087600001511161157f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102fc565b600195509350600092506117db915050565b60bf81116116805760006115a660b783611d54565b9050808760000151116115fb5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102fc565b600183015160208290036101000a90046116158183611d96565b8851116116645760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102fc565b61166f826001611d96565b96509450600093506117db92505050565b60f781116116fb57600061169560c083611d54565b9050808760000151116116ea5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102fc565b6001955093508492506117db915050565b600061170860f783611d54565b90508087600001511161175d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102fc565b600183015160208290036101000a90046117778183611d96565b8851116117bf5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102fc565b6117ca826001611d96565b96509450600193506117db92505050565b9193909250565b606060008267ffffffffffffffff8111156117ff576117ff611b86565b6040519080825280601f01601f191660200182016040528015611829576020820181803683370190505b509050805160000361183c5790506105b2565b8484016020820160005b8581101561185e578281015182820152602001611846565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606103e7826119ed565b6060816118a481601f611d96565b10156118e35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b826118ee8382611d96565b101561192d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b6119378284611d96565b8451101561197b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102fc565b60608215801561199a57604051915060008252602082016040526119e4565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119d35780518352602092830192016119bb565b5050858452601f01601f1916604052505b50949350505050565b60606103e78260200151600084600001516117e2565b6001600160a01b038116811461065057600080fd5b600060208284031215611a2a57600080fd5b81356105b281611a03565b60008060408385031215611a4857600080fd5b8235611a5381611a03565b946020939093013593505050565b600080600080600060808688031215611a7957600080fd5b853594506020860135611a8b81611a03565b935060408601359250606086013567ffffffffffffffff80821115611aaf57600080fd5b818801915088601f830112611ac357600080fd5b813581811115611ad257600080fd5b896020828501011115611ae457600080fd5b9699959850939650602001949392505050565b600060208284031215611b0957600080fd5b5035919050565b80358015158114611b2057600080fd5b919050565b600080600060608486031215611b3a57600080fd5b8335925060208401359150611b5160408501611b10565b90509250925092565b60008060408385031215611b6d57600080fd5b82359150611b7d60208401611b10565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bbf57611bbf611b86565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611b86565b604052919050565b60006020808385031215611c0957600080fd5b823567ffffffffffffffff80821115611c2157600080fd5b9084019060408287031215611c3557600080fd5b611c3d611b9c565b823581528383013582811115611c5257600080fd5b80840193505086601f840112611c6757600080fd5b823582811115611c7957611c79611b86565b611c8b601f8201601f19168601611bc5565b92508083528785828601011115611ca157600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ccf57600080fd5b5051919050565b600060208284031215611ce857600080fd5b81516105b281611a03565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e7576103e7611d3e565b634e487b7160e01b600052603260045260246000fd5b600060018201611d8f57611d8f611d3e565b5060010190565b808201808211156103e7576103e7611d3e565b60ff81811683821601908111156103e7576103e7611d3e565b600060ff831680611de357634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156103e7576103e7611d3e565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176103e7576103e7611d3e56fea2646970667358221220727b3b71bb6428f2b0ff827ceeabefd08ed4c1ffd6ad882c5d137fbe8f96be8064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x5de52a798624bd714aafa39067b28145e3708f46d26ac1d8a415c99cb44977ab": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x29f6d6ec0904737d43c119104bcf9427181549a0e10faeefa218e436001011fd": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/grimsvotn.json taikoxyz/taiko-geth/core/taiko_genesis/grimsvotn.json new file mode 100644 index 0000000000000000000000000000000000000000..b9932a22f1e7129e1a440f3b03188014a36f4998 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/grimsvotn.json @@ -0,0 +1,164 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x09d4121CD4123F039390c7f5e99b15BED5e07222": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9E5da4B6D25Ee5A68aa8c29B6B87C82f7F463893": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x5075901Fdd1d57Ca754472cb94967f564bA7dc6E": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063a54274621461003a575b600080fd5b61004d61004836600461173e565b610061565b604051901515815260200160405180910390f35b600080806100718486018661188e565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610184565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101ad565b9050600061013c8260028151811061012f5761012f6118f2565b60200260200101516101e6565b90506101738b60405160200161015491815260200190565b60405160208183030381529060405261016c8c6102e9565b87846102fc565b9d9c50505050505050505050505050565b60006060600061019386610316565b90506101a0818686610348565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101e090610423565b92915050565b600060218260000151111561023d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061024b8561060f565b91945092509050600081600181111561026657610266611908565b146102b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516102c59190611934565b805190915060208410156102df5760208490036101000a90045b9695505050505050565b60606101e06102f783610959565b610a8d565b60008061030886610316565b90506102df81868686610afc565b6060818051906020012060405160200161033291815260200190565b6040516020818303038152906040529050919050565b60006060600061035785610b39565b90506000806000610369848a89610c32565b8151929550909350915015808061037d5750815b6103c95760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816103e55760405180602001604052806000815250610411565b610411866103f4600188611947565b81518110610404576104046118f2565b6020026020010151611052565b919b919a509098505050505050505050565b60606000806104318461060f565b9193509091506001905081600181111561044d5761044d611908565b1461049a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104b35790505090506000835b8651811015610604576020821061054c5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610101565b6000806105896040518060400160405280858c6000015161056d9190611947565b8152602001858c602001516105829190611934565b905261060f565b5091509150604051806040016040528083836105a59190611934565b8152602001848b602001516105ba9190611934565b8152508585815181106105cf576105cf6118f2565b60209081029190910101526105e5600185611934565b93506105f18183611934565b6105fb9084611934565b925050506104e0565b508152949350505050565b6000806000808460000151116106675760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f811161068c576000600160009450945094505050610952565b60b781116107085760006106a1608083611947565b9050808760000151116106f65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b60019550935060009250610952915050565b60bf81116107f757600061071d60b783611947565b9050808760000151116107725760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a900461078c8183611934565b8851116107db5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b6107e6826001611934565b965094506000935061095292505050565b60f7811161087257600061080c60c083611947565b9050808760000151116108615760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b600195509350849250610952915050565b600061087f60f783611947565b9050808760000151116108d45760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046108ee8183611934565b8851116109365760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610101565b610941826001611934565b965094506001935061095292505050565b9193909250565b606060008260405160200161097091815260200190565b604051602081830303815290604052905060005b60208110156109c55781818151811061099f5761099f6118f2565b01602001516001600160f81b0319166000036109c5576109be8161195a565b9050610984565b60006109d2826020611947565b67ffffffffffffffff8111156109ea576109ea6117eb565b6040519080825280601f01601f191660200182016040528015610a14576020820181803683370190505b50905060005b8151811015610a84578383610a2e8161195a565b945081518110610a4057610a406118f2565b602001015160f81c60f81b828281518110610a5d57610a5d6118f2565b60200101906001600160f81b031916908160001a905350610a7d8161195a565b9050610a1a565b50949350505050565b60608082516001148015610abb5750608083600081518110610ab157610ab16118f2565b016020015160f81c105b15610ac75750816101e0565b610ad383516080611079565b83604051602001610ae59291906119a3565b604051602081830303815290604052905092915050565b6000806000610b0c878686610348565b91509150818015610b2e57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b46836101ad565b90506000815167ffffffffffffffff811115610b6457610b646117eb565b604051908082528060200260200182016040528015610ba957816020015b6040805180820190915260608082526020820152815260200190600190039081610b825790505b50905060005b8251811015610c2a576000610bdc848381518110610bcf57610bcf6118f2565b6020026020010151611223565b90506040518060400160405280610bf2836101ad565b815260200182815250838381518110610c0d57610c0d6118f2565b60200260200101819052505080610c239061195a565b9050610baf565b509392505050565b600060606000806000610c44876112b3565b90506000869050600080610c6b604051806040016040528060608152602001606081525090565b60005b8c5181101561102a578c8181518110610c8957610c896118f2565b602002602001015191508284610c9f9190611934565b9350610cac600188611934565b965083600003610d09578482602001518051906020012014610d045760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610101565b610dcb565b602082602001515110610d70578482602001518051906020012014610d045760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610d7e83602001516113ec565b14610dcb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610dd7601060016119c0565b60ff1682600001515103610e45578551841461102a576000868581518110610e0157610e016118f2565b01602001518351805160f89290921c925060009183908110610e2557610e256118f2565b60200260200101519050610e3881611414565b965060019450505061101a565b81515160011901610fd2576000610e5b8361144a565b9050600081600081518110610e7257610e726118f2565b016020015160f81c90506000610e896002836119ef565b610e94906002611a11565b90506000610ea5848360ff1661146e565b90506000610eb38b8a61146e565b90506000610ec183836114a4565b905060ff851660021480610ed8575060ff85166003145b15610f1257808351148015610eed5750808251145b15610eff57610efc818b611934565b99505b50600160ff1b995061102a945050505050565b60ff85161580610f25575060ff85166001145b15610f7b5782518114610f455750600160ff1b995061102a945050505050565b610f6c8860000151600181518110610f5f57610f5f6118f2565b6020026020010151611414565b9a50975061101a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b6110238161195a565b9050610c6e565b50600160ff1b84148661103d878661146e565b909e909d50909b509950505050505050505050565b805180516060916101e09161106990600190611947565b81518110610bcf57610bcf6118f2565b60608060388410156110e057604080516001808252818301909252906020820181803683370190505090506110ae83856119c0565b60f81b816000815181106110c4576110c46118f2565b60200101906001600160f81b031916908160001a90535061121c565b600060015b6110ef8187611a2a565b15611112576110fd8261195a565b915061110b61010082611a3e565b90506110e5565b61111d826001611934565b67ffffffffffffffff811115611135576111356117eb565b6040519080825280601f01601f19166020018201604052801561115f576020820181803683370190505b50925061116c85836119c0565b6111779060376119c0565b60f81b8360008151811061118d5761118d6118f2565b60200101906001600160f81b031916908160001a905350600190505b818111611219576101006111bd8284611947565b6111c990610100611b39565b6111d39088611a2a565b6111dd9190611b45565b60f81b8382815181106111f2576111f26118f2565b60200101906001600160f81b031916908160001a9053506112128161195a565b90506111a9565b50505b9392505050565b606060008060006112338561060f565b91945092509050600081600181111561124e5761124e611908565b1461129b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b6112aa8560200151848461151e565b95945050505050565b60606000825160026112c59190611a3e565b67ffffffffffffffff8111156112dd576112dd6117eb565b6040519080825280601f01601f191660200182016040528015611307576020820181803683370190505b50905060005b83518110156113e557600484828151811061132a5761132a6118f2565b01602001516001600160f81b031916901c82611347836002611a3e565b81518110611357576113576118f2565b60200101906001600160f81b031916908160001a9053506010848281518110611382576113826118f2565b0160200151611394919060f81c6119ef565b60f81b826113a3836002611a3e565b6113ae906001611934565b815181106113be576113be6118f2565b60200101906001600160f81b031916908160001a9053506113de8161195a565b905061130d565b5092915050565b600060208251101561140057506020015190565b818060200190518101906101e09190611b59565b600060606020836000015110156114355761142e836115c7565b9050611441565b61143e83611223565b90505b61121c816113ec565b60606101e06114698360000151600081518110610bcf57610bcf6118f2565b6112b3565b60608251821061148d57506040805160208101909152600081526101e0565b61121c838384865161149f9190611947565b6115d2565b6000805b8084511180156114b85750808351115b801561150957508281815181106114d1576114d16118f2565b602001015160f81c60f81b6001600160f81b0319168482815181106114f8576114f86118f2565b01602001516001600160f81b031916145b1561121c576115178161195a565b90506114a8565b606060008267ffffffffffffffff81111561153b5761153b6117eb565b6040519080825280601f01601f191660200182016040528015611565576020820181803683370190505b509050805160000361157857905061121c565b8484016020820160005b8581101561159a578281015182820152602001611582565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101e082611728565b6060816115e081601f611934565b101561161f5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b8261162a8382611934565b10156116695760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b6116738284611934565b845110156116b75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610101565b6060821580156116d65760405191506000825260208201604052610a84565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561170f5780518352602092830192016116f7565b5050858452601f01601f19166040525050949350505050565b60606101e082602001516000846000015161151e565b60008060008060008060a0878903121561175757600080fd5b8635955060208701356001600160a01b038116811461177557600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156117a057600080fd5b818901915089601f8301126117b457600080fd5b8135818111156117c357600080fd5b8a60208285010111156117d557600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261181257600080fd5b813567ffffffffffffffff8082111561182d5761182d6117eb565b604051601f8301601f19908116603f01168101908282118183101715611855576118556117eb565b8160405283815286602085880101111561186e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156118a157600080fd5b823567ffffffffffffffff808211156118b957600080fd5b6118c586838701611801565b935060208501359150808211156118db57600080fd5b506118e885828601611801565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e0576101e061191e565b818103818111156101e0576101e061191e565b60006001820161196c5761196c61191e565b5060010190565b6000815160005b81811015611994576020818501810151868301520161197a565b50600093019283525090919050565b60006119b86119b28386611973565b84611973565b949350505050565b60ff81811683821601908111156101e0576101e061191e565b634e487b7160e01b600052601260045260246000fd5b600060ff831680611a0257611a026119d9565b8060ff84160691505092915050565b60ff82811682821603908111156101e0576101e061191e565b600082611a3957611a396119d9565b500490565b80820281158282048414176101e0576101e061191e565b600181815b80851115611a90578160001904821115611a7657611a7661191e565b80851615611a8357918102915b93841c9390800290611a5a565b509250929050565b600082611aa7575060016101e0565b81611ab4575060006101e0565b8160018114611aca5760028114611ad457611af0565b60019150506101e0565b60ff841115611ae557611ae561191e565b50506001821b6101e0565b5060208310610133831016604e8410600b8410161715611b13575081810a6101e0565b611b1d8383611a55565b8060001904821115611b3157611b3161191e565b029392505050565b600061121c8383611a98565b600082611b5457611b546119d9565b500690565b600060208284031215611b6b57600080fd5b505191905056fea264697066735822122067ddb2e3690f84d93d1a412860f6a463049c890e3ec168676bae8e8dc7ae3f3764736f6c63430008120033", + "balance": "0x0" + }, + "0x032847A8Cdd4487f83705f8D702743b60029AFDD": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220beb5d00868487ae13b8103480d5057ef120c70dcf0a0b13d4d29fb292e8aad5764736f6c63430008120033", + "balance": "0x0" + }, + "0x3e55D64323AD7E3287aa283475903D3fb3cA5098": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d80093ff59f040f5928ff201a3c212fa752b2ff8e0aea20a97ac0325ba978abb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051633baa901360e21b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220c5f7d4557009ba7141b3cd005aecb51648d30e5868346d5747a6722064e5e73664736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xfeaa72fcc59acba6371da88141d071c9993f23312f54395296e3d9e5d39f0056": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x92fbb82d3d87ec735ae0893053f892b13be008dae0d966d083fc63772a95a170": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0x2d89f514e5eeed612cd92d7cbfb188ecb4896b21769ef98030d34bcdb4c94bd9": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0xc783d6d711f5c3d107daed8026e2089323b4661d3f4f92208071f4addcb75352": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0xe4e56c450eba5c80504ff288920951a9da92b61b66c227cf06a8edb6e2edb548": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638f3ca30d116100b8578063c7b969081161007c578063c7b96908146102f5578063dac5df781461030f578063e1848cb014610318578063ee82ac5e1461032b578063f2fde38b1461033e578063f535bd561461035157600080fd5b80638f3ca30d146102905780639ee512f2146102a3578063a86f9d9e146102bc578063b8914ce4146102cf578063bacb386d146102e257600080fd5b8063539b8ade116100ff578063539b8ade14610207578063591aad8a146102325780636c6563f614610264578063715018a6146102775780638da5cb5b1461027f57600080fd5b80630652b57a1461013c57806310da3738146101515780633ab76e9f1461018b5780633d384a4b146101b05780634e755573146101c3575b600080fd5b61014f61014a3660046116d2565b61036b565b005b6101787f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b6040519081526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610182565b61014f6101be366004611706565b6103ee565b6101cb61065e565b6040805182516001600160801b031681526020808401516001600160401b03908116918301919091529282015190921690820152606001610182565b60cd5461021a906001600160401b031681565b6040516001600160401b039091168152602001610182565b61024561024036600461174c565b6106be565b6040805160ff9094168452602084019290925290820152606001610182565b610198610272366004611792565b6108f9565b61014f610910565b6065546001600160a01b0316610198565b61014f61029e3660046117c7565b610924565b61019871777735367b36bc9b61c50022d9d0700db4ec81565b6101986102ca366004611808565b610ce0565b6101786102dd366004611834565b610cf6565b6101786102f0366004611834565b610d32565b60cd5461021a90600160401b90046001600160401b031681565b61017860cb5481565b61017861032636600461184d565b610d6b565b610178610339366004611834565b610d8f565b61014f61034c3660046116d2565b610ddc565b60cd5461021a90600160801b90046001600160401b031681565b610373610e55565b6001600160a01b03811661039a57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b3371777735367b36bc9b61c50022d9d0700db4ec1461042057604051636494e9f760e01b815260040160405180910390fd5b600061042d6001436118a8565b9050804060008061043d84610eaf565b915091508160cb54146104765760cb54604051636340d9fb60e11b81526004810191909152602481018390526044015b60405180910390fd5b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527f7528bbd1cef0e5d13408706892a51ee8ef82bbf33d4ec0c37216f8beba71205b910160405180910390a260008061052b61065e565b905080604001516001600160401b03166000146105935760cd5461056590829061055e906001600160401b0316426118a8565b458a610f42565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b8148146105c657604051634083acad60e01b81526001600160401b0380841660048301524816602482015260440161046d565b60cd805467ffffffffffffffff1916426001600160401b03908116918217909255604080514384168152858416602082015245909316908301526060820152608081018690524460a08201524160c082015263ffffffff461660e08201527f4dcb01f99c4a2c27a16ab38d00ec92434f8231be81fa62e058f260d3c7156029906101000160405180910390a150505050505050505050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b03811682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b60008060008360ff166001141580156106db57508360ff16600214155b156106f95760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff1660011461072a577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561074c565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff16600114610781577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186107a3565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff166001146107d8577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f26107fa565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036108345761082d8282600170014551231950b75fc4402da1732fc9bebe19610fde565b92506108a3565b61087c7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16108778484600170014551231950b75fc4402da1732fc9bebe19610fde565b61102d565b90925090506108a08282600170014551231950b75fc4402da1732fc9bebe19610fde565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156108f0576108e78370014551231950b75fc4402da1732fc9bebe196118a8565b92506001851894505b50509250925092565b600061090684848461104c565b90505b9392505050565b610918610e55565b6109226000611100565b565b600054610100900460ff16158080156109445750600054600160ff909116105b8061095e5750303b15801561095e575060005460ff166001145b6109c15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161046d565b6000805460ff1916600117905580156109e4576000805461ff0019166101001790555b6001461115806109f8575063ffffffff4610155b15610a16576040516306cffa2760e01b815260040160405180910390fd5b6001431115610a3857604051635a0f9e4160e11b815260040160405180910390fd5b610a4860408301602084016118bb565b6001600160401b031615610c3c57610a6360208301836118bb565b6001600160401b03161580610a8e5750610a8360608301604084016118bb565b6001600160401b0316155b80610aaf5750610aa460808301606084016118bb565b6001600160401b0316155b80610ad05750610ac560a08301608084016118bb565b6001600160401b0316155b15610aee57604051639cc448b560e01b815260040160405180910390fd5b600080610b36610b0460608601604087016118bb565b610b1160208701876118bb565b610b2160808801606089016118bb565b610b3160a0890160808a016118bb565b611152565b91509150816001600160801b031660001480610b6257506001600160401b036001600160801b03831610155b80610b7457506001600160801b038116155b15610b9257604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b03841617179055610bd060408501602086016118bb565b60cc80546001600160401b0392909216600160c01b026001600160c01b039092169190911790556002610c0960608601604087016118bb565b610c1391906118ec565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610c6183611251565b610c6a43610eaf565b5060cb554315610c95576000610c816001436118a8565b600081815260c96020526040902090409055505b8015610cdb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610ced46848461104c565b90505b92915050565b6000808215610d055782610d19565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020600101549392505050565b6000808215610d415782610d55565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020549392505050565b6000610d86610d7861065e565b8563ffffffff168585610f42565b50949350505050565b6000438210610da057506000919050565b4382108015610dba5750610db6610100436118a8565b8210155b15610dc457504090565b50600090815260c9602052604090205490565b919050565b610de4610e55565b6001600160a01b038116610e495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046d565b610e5281611100565b50565b6065546001600160a01b031633146109225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046d565b600080610eba61169d565b60005b60ff81108015610ed05750806001018510155b15610f02576000198186030180408360ff83066101008110610ef457610ef4611912565b602002015250600101610ebd565b5046611fe082015261200081209250834081610f1f60ff87611928565b6101008110610f3057610f30611912565b60200201526120009020919391925050565b600080806202bf206001600160401b03851611610f60576000610f67565b6202bf2084035b60cd546040890151919250600160801b90046001600160401b0390811681841601918116880290610fa49082610f9d858261126a565b0390611280565b9350505050610fc686602001516001600160401b031687600001518387611295565b915081600003610fd557600191505b94509492505050565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa61102357600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c1919061193c565b9050811580156110d857506001600160a01b038116155b1561090957604051631467050360e21b8152600481018590526024810184905260440161046d565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080856001600160401b031660000361116e5761116e611959565b600061117b6002886118ec565b90506111996001600160401b038816680755bf798b4a1bf1e461196f565b92506111b86111b384886001600160401b03168489611295565b611354565b915060006111c884848489611295565b905060006111e28585856111dd8b6002611989565b611295565b90506000826111f3836127106119b4565b6111fd91906119cb565b9050806001600160401b0316876001600160401b031614611244576040516331c2ec2360e21b81526001600160401b0380891660048301528216602482015260440161046d565b5050505094509492505050565b6112596113c1565b6112616113f0565b610e528161141f565b60008183116112795781610ced565b5090919050565b600081831161128f5782610ced565b50919050565b60006001600160801b038516158015906112b757506001600160801b03841615155b6112c3576112c3611959565b60006001600160401b038316156112da57826112dd565b60015b905060006112f4856001600160401b031688611468565b9050600061131461130584886119df565b6001600160401b031689611468565b90506001600160801b0387166001600160401b03841661133484846118a8565b61133e91906119cb565b61134891906119cb565b98975050505050505050565b60006001600160801b038211156113bd5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161046d565b5090565b600054610100900460ff166113e85760405162461bcd60e51b815260040161046d90611a06565b6109226114ba565b600054610100900460ff166114175760405162461bcd60e51b815260040161046d90611a06565b6109226114e7565b6001600160a01b03811661144657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008061147e6001600160801b038416856119b4565b9050680755bf798b4a1bf1e481106114a9576040516372de381d60e01b815260040160405180910390fd5b6114b281611517565b949350505050565b600054610100900460ff166114e15760405162461bcd60e51b815260040161046d90611a06565b60018055565b600054610100900460ff1661150e5760405162461bcd60e51b815260040161046d90611a06565b61092233611100565b6000680248ce36a70cb26b3e19821361153257506000919050565b680755bf798b4a1bf1e5821261155b57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b6d2c06887d92262d378b9593af35346c09791803c2923d5d9721c3da80929091056001605f1b0190921d6bb17217f7d1cf79abc9e3b39881029095039081018102606090811d6d019dd9374d4315c8464a395fc09881016c1bff318b126baa436ea9aeaffd19840102821d93840193016d29c9ad45cc0beb0a2ff097a7bab40192909202821d6dcf3c27b2e487711b467e90f19320016c22fcd1cffa6fa000f6e27eeca082018202831d6d022f98fbc368092c79210d196fa0018202831d6d13aaae3ba38de06adc25ebfacc0901820290921d6d624dcbeb5e25df590e409325888a01026d360d7aeea093263ec6495851bd9760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b6001600160a01b0381168114610e5257600080fd5b6000602082840312156116e457600080fd5b8135610909816116bd565b80356001600160401b0381168114610dd757600080fd5b6000806000806080858703121561171c57600080fd5b8435935060208501359250611733604086016116ef565b9150611741606086016116ef565b905092959194509250565b6000806040838503121561175f57600080fd5b82359150602083013560ff8116811461177757600080fd5b809150509250929050565b80358015158114610dd757600080fd5b6000806000606084860312156117a757600080fd5b83359250602084013591506117be60408501611782565b90509250925092565b60008082840360c08112156117db57600080fd5b83356117e6816116bd565b925060a0601f19820112156117fa57600080fd5b506020830190509250929050565b6000806040838503121561181b57600080fd5b8235915061182b60208401611782565b90509250929050565b60006020828403121561184657600080fd5b5035919050565b60008060006060848603121561186257600080fd5b833563ffffffff8116811461187657600080fd5b9250611884602085016116ef565b91506117be604085016116ef565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cf057610cf0611892565b6000602082840312156118cd57600080fd5b610ced826116ef565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680611906576119066118d6565b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b600082611937576119376118d6565b500690565b60006020828403121561194e57600080fd5b8151610909816116bd565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b0380841680611906576119066118d6565b6001600160401b038181168382160280821691908281146119ac576119ac611892565b505092915050565b8082028115828204841417610cf057610cf0611892565b6000826119da576119da6118d6565b500490565b6001600160401b038181168382160190808211156119ff576119ff611892565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212203890f26859c50d4bcb2990b86955150cc1db102725f3e4bc015ad2ec3f168ef764736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xdec49b32a269dacf8af649c78ad8106484a218de96500f2e3cae7afa7871599b", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x00000000001e8480000000022a83d6720000001c43c970ab8e4d088428ca4b6f", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x000000000000000000000001b171ea0000000000000000000000000064707075", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063bac443e21161006f578063bac443e21461041b578063ce70f39b1461043b578063d0496d6a1461045b578063f2fde38b146104ca578063f9803919146104ea578063fee99b221461050a57600080fd5b8063715018a6146103955780638da5cb5b146103aa57806396e17852146103c8578063a4444efd146103db578063a86f9d9e146103fb57600080fd5b8063540be6a3116100f2578063540be6a3146102e75780635817b0c3146103075780635d0bd98614610335578063606b5b74146103555780636c6563f61461037557600080fd5b80630652b57a1461020357806319ab453c14610223578063343b643c146102435780633ab76e9f146102885780635075a9d4146102ba57600080fd5b366101fe5761014c6a1d1bdad95b97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b03161415801561019757506101816a195d1a195c97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101c757506101b1647461696b6f60d81b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101de57506065546001600160a01b03163314155b156101fc576040516345dd044560e11b815260040160405180910390fd5b005b600080fd5b34801561020f57600080fd5b506101fc61021e366004612b75565b610540565b34801561022f57600080fd5b506101fc61023e366004612b75565b6105c3565b34801561024f57600080fd5b5061027361025e366004612b92565b600090815260cd602052604090205460ff1690565b60405190151581526020015b60405180910390f35b34801561029457600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200161027f565b3480156102c657600080fd5b506102da6102d5366004612b92565b6106db565b60405161027f9190612be3565b3480156102f357600080fd5b50610273610302366004612b92565b6106e6565b34801561031357600080fd5b50610327610322366004612c0a565b6106f2565b60405190815260200161027f565b34801561034157600080fd5b50610273610350366004612b92565b610705565b34801561036157600080fd5b50610327610370366004612b92565b610718565b34801561038157600080fd5b506102a2610390366004612c4c565b610723565b3480156103a157600080fd5b506101fc61073a565b3480156103b657600080fd5b506065546001600160a01b03166102a2565b6103276103d6366004612c0a565b61074e565b3480156103e757600080fd5b506102736103f6366004612ccd565b61077c565b34801561040757600080fd5b506102a2610416366004612d1f565b61052a565b34801561042757600080fd5b506101fc610436366004612d4f565b610794565b34801561044757600080fd5b50610273610456366004612ccd565b6107b8565b34801561046757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc54938701938452865192835251169381019390935251928201929092520161027f565b3480156104d657600080fd5b506101fc6104e5366004612b75565b6107c7565b3480156104f657600080fd5b506101fc610505366004612db7565b610840565b34801561051657600080fd5b506101fc610525366004612d4f565b61085e565b6000610537468484610874565b90505b92915050565b610548610928565b6001600160a01b03811661056f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156105e35750600054600160ff909116105b806105fd5750303b1580156105fd575060005460ff166001145b6106655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610688576000805461ff0019166101001790555b61069182610982565b80156106d7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061053a8261099b565b600061053a30836109c6565b600061053a61070083612f0d565b610aa7565b60006107113083610ad7565b5092915050565b600061053a82610b60565b6000610730848484610874565b90505b9392505050565b610742610928565b61074c6000610b9b565b565b6000610758610bed565b61076c60c93061076785612f0d565b610c46565b905061077760018055565b919050565b600061078b3086868686610f27565b95945050505050565b61079c610bed565b6107aa60c93085858561108a565b6107b360018055565b505050565b600061078b308686868661137b565b6107cf610928565b6001600160a01b0381166108345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b61083d81610b9b565b50565b610848610bed565b61085560c9308484611600565b6106d760018055565b610866610bed565b6107aa60c930858585611838565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e9919061300e565b90508115801561090057506001600160a01b038116155b1561073357604051631467050360e21b8152600481018590526024810184905260440161065c565b6065546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b61098a611d37565b610992611d66565b61083d81611d95565b6000806109a783610b60565b80549091508060038111156109be576109be612bab565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e906109f590849060040161302b565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a36919061300e565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061304d565b600081604051602001610aba91906130ba565b604051602081830303815290604052805190602001209050919050565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610b099291906131b4565b602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a919061300e565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b81525082604051602001610aba9291906131d3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610c3f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065c565b6002600155565b60808101516000906001600160a01b0316610c74576040516301b1868360e71b815260040160405180910390fd5b600080610c85858560600151610ad7565b91509150811580610c995750468460600151145b15610cb75760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b03161580610ce65750806001600160a01b03168460a001516001600160a01b0316145b15610d045760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461012001518561010001518660e00151610d21919061320b565b610d2b919061320b565b9050348114610d4d57604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e90610d7d9060019060040161321e565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe919061300e565b9050610dd36001600160a01b03821683611dde565b8754886000610de18361323d565b909155508652336020870152466040870152610dfc86610aa7565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610e2c9060009060040161302b565b602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d919061300e565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610e9a91815260200190565b6020604051808303816000875af1158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613256565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f387604051610f0e91906130ba565b60405180910390a2505050509392505050565b60018055565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b8152600401610f599291906131b4565b602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a919061300e565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e90610fca9060009060040161302b565b602060405180830381865afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b919061300e565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b815260040161103e95949392919061326f565b602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f919061304d565b979650505050505050565b600061109c60a0850160808601612b75565b6001600160a01b0316036110c3576040516301b1868360e71b815260040160405180910390fd5b468360400135146110e75760405163e822b48d60e01b815260040160405180910390fd5b60006110f561070085612f0d565b600081815260048801602052604090205490915060ff16151560010361112e5760405163afde133560e01b815260040160405180910390fd5b61113f85828660600135868661137b565b61115c5760405163498b0b1d60e01b815260040160405180910390fd5b60008181526004870160205260408120805460ff1916600117905561118a61010086013560e087013561320b565b9050801561131f57604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906111c29060019060040161321e565b602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061300e565b90506001600160a01b03811615611298576001600160a01b03811663ba0bbd9561123360a0890160808a01612b75565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b5050505061131d565b60006112aa60a0880160808901612b75565b6001600160a01b03168360405160006040518083038185875af1925050503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b505090508061131b5760405163f6664cf160e01b815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd84761135160a0880160808901612b75565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361139d5760405163e822b48d60e01b815260040160405180910390fd5b60008590036113bf5760405163a6407c9360e01b815260040160405180910390fd5b60006113cd83850185613359565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611449919061300e565b8251610100015160405163bacb386d60e01b81526001600160801b0390911660048201526001600160a01b03919091169063bacb386d90602401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190613256565b90508015806114dd575081516114d990611e94565b8114155b156114ed5760009250505061078b565b815160600151604051633632b1fb60e11b8152735075901Fdd1d57Ca754472cb94967f564bA7dc6E9163a5427462916001600160a01b038c1690636c6563f69061153e908c906000906004016131b4565b602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f919061300e565b6115888b610b60565b602087015160405160e086901b6001600160e01b03191681526115b3949392916003916004016134fd565b602060405180830381865af41580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f4919061304d565b98975050505050505050565b610140820135158061160f5750805b156116555761162460a0830160808401612b75565b6001600160a01b0316336001600160a01b0316146116555760405163d7f4fc9f60e01b815260040160405180910390fd5b600061166361070084612f0d565b905060016116708261099b565b600381111561168157611681612bab565b1461169f57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e906116cf9060019060040161321e565b602060405180830381865afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061300e565b90506001600160a01b0381161561178057604051630d73bb3d60e41b815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b505050505b61178c8685845a611eb9565b156117a15761179c826002612011565b611830565b8215611818576117b2826003612011565b6000806117c560e0870160c08801612b75565b6001600160a01b0316146117e8576117e360e0860160c08701612b75565b6117f8565b6117f860a0860160808701612b75565b90506118126001600160a01b038216610100870135611dde565b50611830565b6118306001600160a01b038216610100860135611dde565b505050505050565b61014083013515801561186c575061185660a0840160808501612b75565b6001600160a01b0316336001600160a01b031614155b1561188a5760405163398b635960e21b815260040160405180910390fd5b468360600135146118ae5760405163e822b48d60e01b815260040160405180910390fd5b60006118bc61070085612f0d565b905060006118c98261099b565b60038111156118da576118da612bab565b146118f857604051630cfafbf960e01b815260040160405180910390fd5b6000856001600160a01b0316636c6563f6866040013560006040518363ffffffff1660e01b815260040161192d9291906131b4565b602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e919061300e565b604051635437cecf60e11b81529091506001600160a01b0387169063a86f9d9e9061199e9060009060040161302b565b602060405180830381865afa1580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df919061300e565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401611a1695949392919061326f565b602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061304d565b611a74576040516314504c7360e31b815260040160405180910390fd5b6000610120860135611a8f61010088013560e089013561320b565b611a99919061320b565b90506000876001600160a01b031663a86f9d9e60016040518263ffffffff1660e01b8152600401611aca919061321e565b602060405180830381865afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b919061300e565b90506001600160a01b03811615801590611b255750600082115b15611b8557604051630d73bb3d60e41b8152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611b6c57600080fd5b505af1158015611b80573d6000803e3d6000fd5b505050505b611bac60e0880135611b9d60a08a0160808b01612b75565b6001600160a01b031690611dde565b60008030611bc060c08b0160a08c01612b75565b6001600160a01b03161480611bed57506000611be260c08b0160a08c01612b75565b6001600160a01b0316145b15611c02575060029050610100880135611c79565b6000611c1460a08b0160808c01612b75565b6001600160a01b0316336001600160a01b031614611c3757896101400135611c39565b5a5b90506000611c498d8c8a85611eb9565b90508015611c5a5760029350611c76565b60019350611c766001600160a01b0386166101008d0135611dde565b50505b611c838683612011565b600080611c9660e08c0160c08d01612b75565b6001600160a01b031614611cb957611cb460e08b0160c08c01612b75565b611cc9565b611cc960a08b0160808c01612b75565b90506001600160a01b0381163303611d07576000611cec836101208d013561320b565b9050611d016001600160a01b03831682611dde565b50611d29565b611d16336101208c0135611dde565b611d296001600160a01b03821683611dde565b505050505050505050505050565b600054610100900460ff16611d5e5760405162461bcd60e51b815260040161065c90613530565b61074c61208a565b600054610100900460ff16611d8d5760405162461bcd60e51b815260040161065c90613530565b61074c6120b1565b6001600160a01b038116611dbc57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611df257506001600160a01b038216155b15611dfb575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611e48576040519150601f19603f3d011682016040523d82523d6000602084013e611e4d565b606091505b50509050806107b35760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161065c565b600080611eaa611ea58460006120e1565b612502565b80516020909101209392505050565b600081600003611edc57604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611f009190612b75565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611f5260c0850160a08601612b75565b6001600160a01b031682610100860135611f7061016088018861357b565b604051611f7e9291906135c1565b600060405180830381858888f193505050503d8060008114611fbc576040519150601f19603f3d011682016040523d82523d6000602084013e611fc1565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b80600381111561202357612023612bab565b61202c8361099b565b600381111561203d5761203d612bab565b146106d75761204c8282612546565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c823360405161207e9291906135d1565b60405180910390a25050565b600054610100900460ff16610f215760405162461bcd60e51b815260040161065c90613530565b600054610100900460ff166120d85760405162461bcd60e51b815260040161065c90613530565b61074c33610b9b565b6102008201516060901561214c576120fa82601161320b565b6001600160401b0381111561211157612111612dfd565b60405190808252806020026020018201604052801561214457816020015b606081526020019060019003908161212f5790505b5090506121bb565b6101e083015115612162576120fa82601061320b565b61216d82600f61320b565b6001600160401b0381111561218457612184612dfd565b6040519080825280602002602001820160405280156121b757816020015b60608152602001906001900390816121a25790505b5090505b82516121c69061256f565b816000815181106121d9576121d96135f7565b60200260200101819052506121f1836020015161256f565b81600181518110612204576122046135f7565b602002602001018190525061221c8360400151612582565b8160028151811061222f5761222f6135f7565b6020026020010181905250612247836060015161256f565b8160038151811061225a5761225a6135f7565b6020026020010181905250612272836080015161256f565b81600481518110612285576122856135f7565b602002602001018190525061229d8360a0015161256f565b816005815181106122b0576122b06135f7565b60200260200101819052506122e78360c001516040516020016122d3919061360d565b6040516020818303038152906040526125ab565b816006815181106122fa576122fa6135f7565b60200260200101819052506123128360e0015161261a565b81600781518110612325576123256135f7565b60200260200101819052506123478361010001516001600160801b031661261a565b8160088151811061235a5761235a6135f7565b6020026020010181905250612373836101200151612628565b81600981518110612386576123866135f7565b602002602001018190525061239f836101400151612628565b81600a815181106123b2576123b26135f7565b60200260200101819052506123cb836101600151612628565b81600b815181106123de576123de6135f7565b60200260200101819052506123f78361018001516125ab565b81600c8151811061240a5761240a6135f7565b6020026020010181905250612423836101a0015161256f565b81600d81518110612436576124366135f7565b602002602001018190525061246d836101c001516040516020016122d3919060c09190911b6001600160c01b031916815260080190565b81600e81518110612480576124806135f7565b6020026020010181905250826101e001516000146124c5576124a6836101e0015161261a565b81600f815181106124b9576124b96135f7565b60200260200101819052505b6102008301511561053a576124de83610200015161256f565b816010815181106124f1576124f16135f7565b602002602001018190525092915050565b6060600061250f8361263f565b905061251d815160c0612774565b8160405160200161252f929190613642565b604051602081830303815290604052915050919050565b600061255183610b60565b9050600082600381111561256757612567612bab565b909155505050565b606061053a61257d8361291c565b6125ab565b604051606082811b6bffffffffffffffffffffffff191660208301529061053a906034016122d3565b606080825160011480156125d957506080836000815181106125cf576125cf6135f7565b016020015160f81c105b156125e557508161053a565b6125f183516080612774565b83604051602001612603929190613642565b604051602081830303815290604052905092915050565b606061053a61257d836129ce565b606061053a61257d836001600160401b03166129ce565b60608151600003612660576040805160008082526020820190925290610711565b6000805b83518110156126a55783818151811061267f5761267f6135f7565b60200260200101515182612693919061320b565b915061269e8161323d565b9050612664565b6000826001600160401b038111156126bf576126bf612dfd565b6040519080825280601f01601f1916602001820160405280156126e9576020820181803683370190505b50600092509050602081015b855183101561276b576000868481518110612712576127126135f7565b60200260200101519050600060208201905061273083828451612af8565b878581518110612742576127426135f7565b60200260200101515183612756919061320b565b92505050826127649061323d565b92506126f5565b50949350505050565b60608060388410156127db57604080516001808252818301909252906020820181803683370190505090506127a98385613671565b60f81b816000815181106127bf576127bf6135f7565b60200101906001600160f81b031916908160001a905350610537565b600060015b6127ea81876136a0565b1561280d576127f88261323d565b9150612806610100826136b4565b90506127e0565b61281882600161320b565b6001600160401b0381111561282f5761282f612dfd565b6040519080825280601f01601f191660200182016040528015612859576020820181803683370190505b5092506128668583613671565b612871906037613671565b60f81b83600081518110612887576128876135f7565b60200101906001600160f81b031916908160001a905350600190505b818111612913576101006128b782846136cb565b6128c3906101006137c2565b6128cd90886136a0565b6128d791906137ce565b60f81b8382815181106128ec576128ec6135f7565b60200101906001600160f81b031916908160001a90535061290c8161323d565b90506128a3565b50509392505050565b606060008260405160200161293391815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561276b5783836129788161323d565b94508151811061298a5761298a6135f7565b602001015160f81c60f81b8282815181106129a7576129a76135f7565b60200101906001600160f81b031916908160001a9053506129c78161323d565b9050612964565b60606000826040516020016129e591815260200190565b604051602081830303815290604052905060005b6020811015612a3a57818181518110612a1457612a146135f7565b01602001516001600160f81b031916600003612a3a57612a338161323d565b90506129f9565b6000612a478260206136cb565b6001600160401b03811115612a5e57612a5e612dfd565b6040519080825280601f01601f191660200182016040528015612a88576020820181803683370190505b50905060005b815181101561276b578383612aa28161323d565b945081518110612ab457612ab46135f7565b602001015160f81c60f81b828281518110612ad157612ad16135f7565b60200101906001600160f81b031916908160001a905350612af18161323d565b9050612a8e565b8282825b60208110612b345781518352612b1360208461320b565b9250612b2060208361320b565b9150612b2d6020826136cb565b9050612afc565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b038116811461083d57600080fd5b803561077781612b55565b600060208284031215612b8757600080fd5b813561053781612b55565b600060208284031215612ba457600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612bdf57634e487b7160e01b600052602160045260246000fd5b9052565b6020810161053a8284612bc1565b60006101a08284031215612c0457600080fd5b50919050565b600060208284031215612c1c57600080fd5b81356001600160401b03811115612c3257600080fd5b6109be84828501612bf1565b801515811461083d57600080fd5b600080600060608486031215612c6157600080fd5b83359250602084013591506040840135612c7a81612c3e565b809150509250925092565b60008083601f840112612c9757600080fd5b5081356001600160401b03811115612cae57600080fd5b602083019150836020828501011115612cc657600080fd5b9250929050565b60008060008060608587031215612ce357600080fd5b843593506020850135925060408501356001600160401b03811115612d0757600080fd5b612d1387828801612c85565b95989497509550505050565b60008060408385031215612d3257600080fd5b823591506020830135612d4481612c3e565b809150509250929050565b600080600060408486031215612d6457600080fd5b83356001600160401b0380821115612d7b57600080fd5b612d8787838801612bf1565b94506020860135915080821115612d9d57600080fd5b50612daa86828701612c85565b9497909650939450505050565b60008060408385031215612dca57600080fd5b82356001600160401b03811115612de057600080fd5b612dec85828601612bf1565b9250506020830135612d4481612c3e565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612e3657612e36612dfd565b60405290565b604080519081016001600160401b0381118282101715612e3657612e36612dfd565b60405161022081016001600160401b0381118282101715612e3657612e36612dfd565b600082601f830112612e9257600080fd5b81356001600160401b0380821115612eac57612eac612dfd565b604051601f8301601f19908116603f01168101908282118183101715612ed457612ed4612dfd565b81604052838152866020858801011115612eed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215612f2057600080fd5b612f28612e13565b82358152612f3860208401612b6a565b60208201526040830135604082015260608301356060820152612f5d60808401612b6a565b6080820152612f6e60a08401612b6a565b60a0820152612f7f60c08401612b6a565b60c082015260e08381013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401356001600160401b0380821115612fcb57600080fd5b612fd736838801612e81565b83850152610180925082860135915080821115612ff357600080fd5b5061300036828701612e81565b918301919091525092915050565b60006020828403121561302057600080fd5b815161053781612b55565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561305f57600080fd5b815161053781612c3e565b60005b8381101561308557818101518382015260200161306d565b50506000910152565b600081518084526130a681602086016020860161306a565b601f01601f19169290920160200192915050565b6020815281516020820152600060208301516130e160408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161311060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261318e6101c086018461308e565b90860151858203601f1901838701529092506131aa838261308e565b9695505050505050565b9182526562726964676560d01b60208301521515604082015260600190565b600083516131e581846020880161306a565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561053a5761053a6131f5565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006001820161324f5761324f6131f5565b5060010190565b60006020828403121561326857600080fd5b5051919050565b8581526001600160a01b0385166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600082601f8301126132cf57600080fd5b6040516101008082018281106001600160401b03821117156132f3576132f3612dfd565b6040528301818582111561330657600080fd5b845b82811015613320578035825260209182019101613308565b509195945050505050565b80356001600160801b038116811461077757600080fd5b80356001600160401b038116811461077757600080fd5b60006020828403121561336b57600080fd5b81356001600160401b038082111561338257600080fd5b908301906040828603121561339657600080fd5b61339e612e3c565b8235828111156133ad57600080fd5b830161030081880312156133c057600080fd5b6133c8612e5e565b81358152602082013560208201526133e260408301612b6a565b6040820152606082013560608201526080820135608082015260a082013560a08201526134128860c084016132be565b60c08201526101c08083013560e08301526101e061343181850161332b565b610100840152610200613445818601613342565b6101208501526134586102208601613342565b61014085015261346b6102408601613342565b6101608501526102608501358781111561348457600080fd5b6134908c828801612e81565b610180860152506102808501356101a08501526134b06102a08601613342565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134e257600080fd5b6134ee87828601612e81565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061107f60a083018461308e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261359257600080fd5b8301803591506001600160401b038211156135ac57600080fd5b602001915036819003821315612cc657600080fd5b8183823760009101908152919050565b604081016135df8285612bc1565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b6008811015613632578151835260209283019290910190600101613613565b5050506101008201905092915050565b6000835161365481846020880161306a565b83519083019061366881836020880161306a565b01949350505050565b60ff818116838216019081111561053a5761053a6131f5565b634e487b7160e01b600052601260045260246000fd5b6000826136af576136af61368a565b500490565b808202811582820484141761053a5761053a6131f5565b8181038181111561053a5761053a6131f5565b600181815b808511156137195781600019048211156136ff576136ff6131f5565b8085161561370c57918102915b93841c93908002906136e3565b509250929050565b6000826137305750600161053a565b8161373d5750600061053a565b8160018114613753576002811461375d57613779565b600191505061053a565b60ff84111561376e5761376e6131f5565b50506001821b61053a565b5060208310610133831016604e8410600b841016171561379c575081810a61053a565b6137a683836136de565b80600019048211156137ba576137ba6131f5565b029392505050565b60006105378383613721565b6000826137dd576137dd61368a565b50069056fea26469706673582212209944d85d0cc8409987bf496ae9ba9d199c3992cdf3a3f5d304737e8c526b4f3c64736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedTokenVault", + "storage": {}, + "code": "0x6080604052600436106100e85760003560e01c8063780b64f01161008a578063a86f9d9e11610059578063a86f9d9e146102ca578063c287e578146102ea578063ee1490b21461032a578063f2fde38b1461033d57600080fd5b8063780b64f0146101fc5780638da5cb5b1461025b5780639754149b146102795780639aa8605c1461029957600080fd5b80633ab76e9f116100c65780633ab76e9f1461014f57806367090ccf146101865780636c6563f6146101c7578063715018a6146101e757600080fd5b80630652b57a146100ed5780630c6fab821461010f57806319ab453c1461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611fe4565b61035d565b005b34801561011b57600080fd5b5061010d61012a366004612001565b6103e0565b34801561013b57600080fd5b5061010d61014a366004611fe4565b6105f7565b34801561015b57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101696101a1366004612070565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d357600080fd5b506101696101e23660046120ae565b61070f565b3480156101f357600080fd5b5061010d610726565b34801561020857600080fd5b5061023c6102173660046120e7565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b03909316835260208301919091520161017d565b34801561026757600080fd5b506065546001600160a01b0316610169565b34801561028557600080fd5b5061010d610294366004612100565b61073a565b3480156102a557600080fd5b506102b96102b4366004611fe4565b610a88565b60405161017d9594939291906121f0565b3480156102d657600080fd5b506101696102e5366004612241565b610bd9565b3480156102f657600080fd5b5061031a610305366004611fe4565b60c96020526000908152604090205460ff1681565b604051901515815260200161017d565b61010d6103383660046122d5565b610bef565b34801561034957600080fd5b5061010d610358366004611fe4565b61141f565b610365611498565b6001600160a01b03811661038c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6103e86114f2565b6562726964676560d01b6103fd816000610bd9565b6001600160a01b0316336001600160a01b03161461042e57604051630d85cccf60e11b815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049291906123b4565b90506104b281604001516a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b031681602001516001600160a01b0316146104e7576040516320258b8760e21b815260040160405180910390fd5b60004687350361051c576105016040880160208901611fe4565b90506105176001600160a01b038216868661154b565b61058c565b610525876115ae565b6040516342e91bb360e01b81526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a45050506105f160018055565b50505050565b600054610100900460ff16158080156106175750600054600160ff909116105b806106315750303b158015610631575060005460ff166001145b6106995760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156106bc576000805461ff0019166101001790555b6106c58261160d565b801561070b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061071c848484611626565b90505b9392505050565b61072e611498565b61073860006116da565b565b6107426114f2565b600061075460a0850160808601611fe4565b6001600160a01b03160361077b576040516372b41cdf60e01b815260040160405180910390fd5b4683604001351461079f576040516348bc100560e01b815260040160405180910390fd5b60006107b56562726964676560d01b6000610bd9565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b81526004016107e5919061248c565b602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082691906125aa565b600081815260cc6020526040902080546001909101549192506001600160a01b0316908161086757604051637c6addb760e01b815260040160405180910390fd5b60405163ce70f39b60e01b81526001600160a01b0385169063ce70f39b9061089d90869060608c0135908b908b906004016125c3565b602060405180830381865afa1580156108ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108de91906125ed565b6108fb576040516308ba49e560e31b815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181546001600160a01b0319166001600160a01b0390911617815590516001909101558015610a0f576001600160a01b038216600090815260c9602052604090205460ff16156109eb576001600160a01b0382166342e91bb361098660a08a0160808b01611fe4565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b50505050610a0f565b610a0f6109fe60a0890160808a01611fe4565b6001600160a01b038416908361154b565b610a1f60a0880160808901611fe4565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610a6e9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610a8360018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff1692909190610ac89061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610af49061260a565b8015610b415780601f10610b1657610100808354040283529160200191610b41565b820191906000526020600020905b815481529060010190602001808311610b2457829003601f168201915b505050505090806003018054610b569061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b829061260a565b8015610bcf5780601f10610ba457610100808354040283529160200191610bcf565b820191906000526020600020905b815481529060010190602001808311610bb257829003601f168201915b5050505050905085565b6000610be6468484611626565b90505b92915050565b610bf76114f2565b6001600160a01b0387161580610c375750610c22886a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b0316876001600160a01b0316145b15610c5557604051634694641b60e01b815260040160405180910390fd5b6001600160a01b038616610c7c57604051637c6addb760e01b815260040160405180910390fd5b84600003610c9c5760405162af849960e11b815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615610ef357604051630ef7c31560e31b8152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff1691810191909152600282018054919291606084019190610da99061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd59061260a565b8015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b50505050508152602001600382018054610e3b9061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e679061260a565b8015610eb45780601f10610e8957610100808354040283529160200191610eb4565b820191906000526020600020905b815481529060010190602001808311610e9757829003601f168201915b5050509190925250505060208101519092506001600160a01b0316610eec57604051633e45a03560e21b815260040160405180910390fd5b5085611153565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a9190612653565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe89190810190612670565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561102b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110539190810190612670565b90526040516370a0823160e01b81523060048201529093506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906125aa565b90506110da6001600160a01b03831633308c61172c565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114491906125aa565b61114e91906126e7565b925050505b6111e2604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b90523360808201526112098b6a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b031660a08201526080810151604051630637d5c160e11b9161123b918691908e908790602401612708565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526101608201526101408101879052610120810186905261128d86346126e7565b60e08201526001600160a01b03851660c0820152610180810184905260006112be6562726964676560d01b82610bd9565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016112ea91906127a0565b60206040518083038185885af1158015611308573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061132d91906125aa565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611400939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a45050505061141560018055565b5050505050505050565b611427611498565b6001600160a01b03811661148c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610690565b611495816116da565b50565b6065546001600160a01b031633146107385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610690565b6002600154036115445760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610690565b6002600155565b6040516001600160a01b038316602482015260448101829052610a8390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611764565b8035600090815260cb602090815260408083208392909183916115d5918701908701611fe4565b6001600160a01b03908116825260208201929092526040016000205416905080610be95761160283611836565b61071f565b60018055565b611615611abb565b61161d611aea565b61149581611b19565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b9190612890565b9050811580156116b257506001600160a01b038116155b1561071f57604051631467050360e21b81526004810185905260248101849052604401610690565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526105f19085906323b872dd60e01b90608401611577565b60006117b9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b629092919063ffffffff16565b805190915015610a8357808060200190518101906117d791906125ed565b610a835760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610690565b60006118af81833561184e6040860160208701611fe4565b60405161187192916001600160a01b031690602001918252602082015260400190565b604051602081830303815290604052805190602001206040518060200161189790611fb2565b601f1982820381018352601f90910116604052611b71565b6097549091506001600160a01b0380831691636c0db62b91166118d86040860160208701611fe4565b85356118ea60608801604089016128ad565b6118f760608901896128ca565b61190460808b018b6128ca565b61190e8c35611c75565b60405160200161192093929190612911565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401611951979695949392919061295a565b600060405180830381600087803b15801561196b57600080fd5b505af115801561197f573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c960209081526040808320805460ff1916600117905560ca90915290208391506119bc8282612ac6565b50508135600090815260cb602090815260408083208493909290916119e691908701908701611fe4565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316826020016020810190611a479190611fe4565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611a8060608701876128ca565b611a8d60808901896128ca565b611a9d60608b0160408c016128ad565b604051611aae959493929190612b4d565b60405180910390a4919050565b600054610100900460ff16611ae25760405162461bcd60e51b815260040161069090612b8a565b610738611d08565b600054610100900460ff16611b115760405162461bcd60e51b815260040161069090612b8a565b610738611d2f565b6001600160a01b038116611b4057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606061071c8484600085611d5f565b600083471015611bc35760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610690565b8151600003611c145760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610690565b8282516020840186f590506001600160a01b03811661071f5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610690565b60606000611c8283611e3c565b600101905060008167ffffffffffffffff811115611ca257611ca2612266565b6040519080825280601f01601f191660200182016040528015611ccc576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611cd657509392505050565b600054610100900460ff166116075760405162461bcd60e51b815260040161069090612b8a565b600054610100900460ff16611d565760405162461bcd60e51b815260040161069090612b8a565b610738336116da565b606082471015611dc05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610690565b600080866001600160a01b03168587604051611ddc9190612bd5565b60006040518083038185875af1925050503d8060008114611e19576040519150601f19603f3d011682016040523d82523d6000602084013e611e1e565b606091505b5091509150611e2f87838387611f14565b925050505b949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611e7b5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ea7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ec557662386f26fc10000830492506010015b6305f5e1008310611edd576305f5e100830492506008015b6127108310611ef157612710830492506004015b60648310611f03576064830492506002015b600a8310610be95760010192915050565b60608315611f83578251600003611f7c576001600160a01b0385163b611f7c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610690565b5081611e34565b611e348383815115611f985781518083602001fd5b8060405162461bcd60e51b81526004016106909190612bf1565b6116ce80612c0583390190565b6001600160a01b038116811461149557600080fd5b8035611fdf81611fbf565b919050565b600060208284031215611ff657600080fd5b813561071f81611fbf565b6000806000806080858703121561201757600080fd5b843567ffffffffffffffff81111561202e57600080fd5b850160a0818803121561204057600080fd5b9350602085013561205081611fbf565b9250604085013561206081611fbf565b9396929550929360600135925050565b6000806040838503121561208357600080fd5b82359150602083013561209581611fbf565b809150509250929050565b801515811461149557600080fd5b6000806000606084860312156120c357600080fd5b833592506020840135915060408401356120dc816120a0565b809150509250925092565b6000602082840312156120f957600080fd5b5035919050565b60008060006040848603121561211557600080fd5b833567ffffffffffffffff8082111561212d57600080fd5b908501906101a0828803121561214257600080fd5b9093506020850135908082111561215857600080fd5b818601915086601f83011261216c57600080fd5b81358181111561217b57600080fd5b87602082850101111561218d57600080fd5b6020830194508093505050509250925092565b60005b838110156121bb5781810151838201526020016121a3565b50506000910152565b600081518084526121dc8160208601602086016121a0565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a060608201819052600090612223908301856121c4565b828103608084015261223581856121c4565b98975050505050505050565b6000806040838503121561225457600080fd5b823591506020830135612095816120a0565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156122a5576122a5612266565b604052919050565b600067ffffffffffffffff8211156122c7576122c7612266565b50601f01601f191660200190565b600080600080600080600080610100898b0312156122f257600080fd5b88359750602089013561230481611fbf565b9650604089013561231481611fbf565b9550606089013594506080890135935060a0890135925060c089013561233981611fbf565b915060e089013567ffffffffffffffff81111561235557600080fd5b8901601f81018b1361236657600080fd5b8035612379612374826122ad565b61227c565b8181528c602083850101111561238e57600080fd5b816020840160208301376000602083830101528093505050509295985092959890939650565b6000606082840312156123c657600080fd5b6040516060810181811067ffffffffffffffff821117156123e9576123e9612266565b6040528251815260208301516123fe81611fbf565b60208201526040928301519281019290925250919050565b6000808335601e1984360301811261242d57600080fd5b830160208101925035905067ffffffffffffffff81111561244d57600080fd5b80360382131561245c57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006124a560208401611fd4565b6001600160a01b03811660408401525060408301356060830152606083013560808301526124d560808401611fd4565b6001600160a01b03811660a0840152506124f160a08401611fd4565b6001600160a01b03811660c08401525061250d60c08401611fd4565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250610160818501358185015261255981860186612416565b925090506101a061018081818701526125776101c087018585612463565b935061258581880188612416565b878603601f1901848901529350905061259f848483612463565b979650505050505050565b6000602082840312156125bc57600080fd5b5051919050565b8481528360208201526060604082015260006125e3606083018486612463565b9695505050505050565b6000602082840312156125ff57600080fd5b815161071f816120a0565b600181811c9082168061261e57607f821691505b60208210810361263e57634e487b7160e01b600052602260045260246000fd5b50919050565b60ff8116811461149557600080fd5b60006020828403121561266557600080fd5b815161071f81612644565b60006020828403121561268257600080fd5b815167ffffffffffffffff81111561269957600080fd5b8201601f810184136126aa57600080fd5b80516126b8612374826122ad565b8181528560208385010111156126cd57600080fd5b6126de8260208301602086016121a0565b95945050505050565b81810381811115610be957634e487b7160e01b600052601160045260246000fd5b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e08501526127526101208501836121c4565b91506080880151607f198584030161010086015261277083826121c4565b9188166020860152506001600160a01b038616604085015291506127919050565b82606083015295945050505050565b6020815281516020820152600060208301516127c760408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516127f660a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a06101808085018290526128746101c08601846121c4565b90860151858203601f1901838701529092506125e383826121c4565b6000602082840312156128a257600080fd5b815161071f81611fbf565b6000602082840312156128bf57600080fd5b813561071f81612644565b6000808335601e198436030181126128e157600080fd5b83018035915067ffffffffffffffff8211156128fc57600080fd5b60200191503681900382131561245c57600080fd5b8284823760008382016b050c4e4d2c8cecac9e13f19160a31b8152835161293f81600c8401602088016121a0565b602960f81b600c9290910191820152600d0195945050505050565b6001600160a01b038881168252871660208201526040810186905260ff8516606082015260c0608082018190526000906129979083018587612463565b82810360a08401526129a981856121c4565b9a9950505050505050505050565b601f821115610a8357600081815260208120601f850160051c810160208610156129de5750805b601f850160051c820191505b818110156129fd578281556001016129ea565b505050505050565b67ffffffffffffffff831115612a1d57612a1d612266565b612a3183612a2b835461260a565b836129b7565b6000601f841160018114612a655760008515612a4d5750838201355b600019600387901b1c1916600186901b178355612abf565b600083815260209020601f19861690835b82811015612a965786850135825560209485019460019092019101612a76565b5086821015612ab35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612adc81611fbf565b81546040850135612aec81612644565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b03199190911617179055612b2260608301836128ca565b612b30818360028601612a05565b5050612b3f60808301836128ca565b6105f1818360038601612a05565b606081526000612b61606083018789612463565b8281036020840152612b74818688612463565b91505060ff831660408301529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612be78184602087016121a0565b9190910192915050565b602081526000610be660208301846121c456fe608060405234801561001057600080fd5b506116ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c357806395d89b411161007c57806395d89b4114610305578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c657806377be18a8146102ce5780637cf8ed0d146102e15780638da5cb5b146102f457600080fd5b8063395093511161011557806339509351146101ed5780633ab76e9f1461020057806342e91bb31461022557806349d126051461023857806367e828bf146102415780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c5578063313ce567146101d8575b600080fd5b61017061016b3660046111d3565b61036c565b005b61017a6103ef565b60405161018791906111f0565b60405180910390f35b6101a361019e36600461123e565b610481565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d336600461126a565b61049b565b60fd5460405160ff9091168152602001610187565b6101a36101fb36600461123e565b6104db565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b61017061023336600461123e565b6104fd565b6101b760fc5481565b61025860fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b61017061028536600461134e565b61059a565b61020d61029836600461140d565b610740565b6101b76102ab3660046111d3565b6001600160a01b0316600090815260c9602052604090205490565b61017061074d565b6101706102dc36600461123e565b610761565b60fb5461020d906001600160a01b031681565b6065546001600160a01b031661020d565b61017a6107f1565b6101a361031b36600461123e565b610800565b61020d61032e366004611442565b610886565b6101a361034136600461123e565b610893565b6101b761035436600461146e565b6108c8565b6101706103673660046111d3565b6108f3565b61037461096c565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b606060cc80546103fe906114a7565b80601f016020809104026020016040519081016040528092919081815260200182805461042a906114a7565b80156104775780601f1061044c57610100808354040283529160200191610477565b820191906000526020600020905b81548152906001019060200180831161045a57829003601f168201915b5050505050905090565b60003361048f8185856109c6565b60019150505b92915050565b6000306001600160a01b038416036104c6576040516319a6f37760e21b815260040160405180910390fd5b6104d1848484610aeb565b90505b9392505050565b60003361048f8185856104ee83836108c8565b6104f891906114e1565b6109c6565b6a1d1bdad95b97dd985d5b1d60aa1b610517816000610886565b6001600160a01b0316336001600160a01b03161461054857604051630d85cccf60e11b815260040160405180910390fd5b6105528383610b04565b826001600160a01b03167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161058d91815260200190565b60405180910390a2505050565b600054610100900460ff16158080156105ba5750600054600160ff909116105b806105d45750303b1580156105d4575060005460ff166001145b61063c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561065f576000805461ff0019166101001790555b6001600160a01b0386161580610673575084155b8061067d57504685145b8061068757508251155b8061069157508151155b156106af576040516301e25ab360e71b815260040160405180910390fd5b6106b887610bc6565b6106c28284610bdf565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff86161790558015610737576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b60006104d1848484610c10565b61075561096c565b61075f6000610cc4565b565b6a1d1bdad95b97dd985d5b1d60aa1b61077b816000610886565b6001600160a01b0316336001600160a01b0316146107ac57604051630d85cccf60e11b815260040160405180910390fd5b6107b68383610d16565b826001600160a01b03167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161058d91815260200190565b606060cd80546103fe906114a7565b6000338161080e82866108c8565b90508381101561086e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610633565b61087b82868684036109c6565b506001949350505050565b60006104d4468484610c10565b6000306001600160a01b038416036108be576040516319a6f37760e21b815260040160405180910390fd5b6104d48383610e47565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6108fb61096c565b6001600160a01b0381166109605760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610633565b61096981610cc4565b50565b6065546001600160a01b0316331461075f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610633565b6001600160a01b038316610a285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610633565b6001600160a01b038216610a895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610633565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600033610af9858285610e55565b61087b858585610ecf565b6001600160a01b038216610b5a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610633565b8060cb6000828254610b6c91906114e1565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b610bce61107a565b610bd66110a9565b610969816110d8565b600054610100900460ff16610c065760405162461bcd60e51b815260040161063390611502565b610bc28282611121565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c85919061154d565b905081158015610c9c57506001600160a01b038116155b156104d457604051631467050360e21b81526004810185905260248101849052604401610633565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610d765760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610633565b6001600160a01b038216600090815260c9602052604090205481811015610dea5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610633565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ade565b505050565b60003361048f818585610ecf565b6000610e6184846108c8565b90506000198114610ec95781811015610ebc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610633565b610ec984848484036109c6565b50505050565b6001600160a01b038316610f335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610633565b6001600160a01b038216610f955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610633565b6001600160a01b038316600090815260c960205260409020548181101561100d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610633565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061106d9086815260200190565b60405180910390a3610ec9565b600054610100900460ff166110a15760405162461bcd60e51b815260040161063390611502565b61075f611161565b600054610100900460ff166110d05760405162461bcd60e51b815260040161063390611502565b61075f61118e565b6001600160a01b0381166110ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166111485760405162461bcd60e51b815260040161063390611502565b60cc61115483826115b8565b5060cd610e4282826115b8565b600054610100900460ff166111885760405162461bcd60e51b815260040161063390611502565b60018055565b600054610100900460ff166111b55760405162461bcd60e51b815260040161063390611502565b61075f33610cc4565b6001600160a01b038116811461096957600080fd5b6000602082840312156111e557600080fd5b81356104d4816111be565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561125157600080fd5b823561125c816111be565b946020939093013593505050565b60008060006060848603121561127f57600080fd5b833561128a816111be565b9250602084013561129a816111be565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126112d257600080fd5b813567ffffffffffffffff808211156112ed576112ed6112ab565b604051601f8301601f19908116603f01168101908282118183101715611315576113156112ab565b8160405283815286602085880101111561132e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561136757600080fd5b8635611372816111be565b95506020870135611382816111be565b945060408701359350606087013560ff8116811461139f57600080fd5b9250608087013567ffffffffffffffff808211156113bc57600080fd5b6113c88a838b016112c1565b935060a08901359150808211156113de57600080fd5b506113eb89828a016112c1565b9150509295509295509295565b8035801515811461140857600080fd5b919050565b60008060006060848603121561142257600080fd5b8335925060208401359150611439604085016113f8565b90509250925092565b6000806040838503121561145557600080fd5b82359150611465602084016113f8565b90509250929050565b6000806040838503121561148157600080fd5b823561148c816111be565b9150602083013561149c816111be565b809150509250929050565b600181811c908216806114bb57607f821691505b6020821081036114db57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561049557634e487b7160e01b600052601160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561155f57600080fd5b81516104d4816111be565b601f821115610e4257600081815260208120601f850160051c810160208610156115915750805b601f850160051c820191505b818110156115b05782815560010161159d565b505050505050565b815167ffffffffffffffff8111156115d2576115d26112ab565b6115e6816115e084546114a7565b8461156a565b602080601f83116001811461161b57600084156116035750858301515b600019600386901b1c1916600185901b1785556115b0565b600085815260208120601f198616915b8281101561164a5788860151825594840194600190910190840161162b565b50858210156116685787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212205ce93c18102792779a2e35d561c62ea243b85b80c5963767b571fcdab9e3d74a64736f6c63430008120033a26469706673582212205b590be2c7b9e2eb2401e8170149f7dba7d88f43691401f4ee5b704b6bdc8bb364736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "TokenVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a90565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a90565b61032a565b34801561014057600080fd5b506100ed61014f366004610ac2565b610442565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af7565b6104fb565b3480156101b757600080fd5b506100ed610512565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b2c565b610526565b34801561020a57600080fd5b506100ed610219366004610b4f565b610533565b34801561022a57600080fd5b506100ed610239366004610b7b565b6105f1565b34801561024a57600080fd5b506100ed610259366004610a90565b610674565b34801561026a57600080fd5b50610297610279366004610a90565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106ea565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff161580801561034a5750600054600160ff909116105b806103645750303b158015610364575060005460ff166001145b6103cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103ef576000805461ff0019166101001790555b6103f882610744565b801561043e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61044a6106ea565b6001600160a01b038216158061047e57506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049c57604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b600061050884848461075d565b90505b9392505050565b61051a6106ea565b6105246000610811565b565b600061050b46848461075d565b33600090815260c9602052604090205460ff1661056357604051634fa3f24560e01b815260040160405180910390fd5b61056b610863565b6001600160a01b0382166105925760405163687563df60e01b815260040160405180910390fd5b6105a56001600160a01b038316826108bc565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105e091815260200190565b60405180910390a261043e60018055565b33600090815260c9602052604090205460ff1661062157604051634fa3f24560e01b815260040160405180910390fd5b610629610863565b61063333826108bc565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261067160018055565b50565b61067c6106ea565b6001600160a01b0381166106e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c3565b61067181610811565b6065546001600160a01b031633146105245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b61074c61097d565b6107546109ac565b610671816109db565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610b94565b9050811580156107e957506001600160a01b038116155b1561050b57604051631467050360e21b815260048101859052602481018490526044016103c3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b8015806108d057506001600160a01b038216155b156108d9575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610926576040519150601f19603f3d011682016040523d82523d6000602084013e61092b565b606091505b50509050806109725760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103c3565b505050565b60018055565b600054610100900460ff166109a45760405162461bcd60e51b81526004016103c390610bb1565b610524610a24565b600054610100900460ff166109d35760405162461bcd60e51b81526004016103c390610bb1565b610524610a4b565b6001600160a01b038116610a0257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109775760405162461bcd60e51b81526004016103c390610bb1565b600054610100900460ff16610a725760405162461bcd60e51b81526004016103c390610bb1565b61052433610811565b6001600160a01b038116811461067157600080fd5b600060208284031215610aa257600080fd5b813561050b81610a7b565b80358015158114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b8235610ae081610a7b565b9150610aee60208401610aad565b90509250929050565b600080600060608486031215610b0c57600080fd5b8335925060208401359150610b2360408501610aad565b90509250925092565b60008060408385031215610b3f57600080fd5b82359150610aee60208401610aad565b60008060408385031215610b6257600080fd5b8235610b6d81610a7b565b946020939093013593505050565b600060208284031215610b8d57600080fd5b5035919050565b600060208284031215610ba657600080fd5b815161050b81610a7b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212207583c25e67e1b9db0f317fbe1c15cd5a0919373c4d9b26d98238ed2046695f9264736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a18565b6101e0565b005b6100cc6100dc366004611a18565b610263565b6100f46100ef366004611a35565b61037b565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a61565b6103ed565b61015461014f366004611af7565b61055d565b604051908152602001610100565b610116610170366004611b25565b6105a2565b6100cc6105b9565b6065546001600160a01b0316610116565b61011661019c366004611b5a565b6105cd565b6100cc6101af366004611a18565b6105da565b6101546101c2366004611a35565b6040805192835260208301919091526034600c830120918101905290565b6101e8610653565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156102835750600054600160ff909116105b8061029d5750303b15801561029d575060005460ff166001145b6103055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610328576000805461ff0019166101001790555b610331826106ad565b8015610377576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006001600160a01b0383166103a4576040516354cdfc8d60e11b815260040160405180910390fd5b60008290036103c65760405163014f1da760e21b815260040160405180910390fd5b5060408051838152602081018390526034600c820120908201909152546001145b92915050565b600046860361040f5760405163e822b48d60e01b815260040160405180910390fd5b6001600160a01b038516610436576040516354cdfc8d60e11b815260040160405180910390fd5b60008490036104585760405163014f1da760e21b815260040160405180910390fd5b600061046683850185611bf6565b9050600061047d647461696b6f60d81b60006105cd565b8251604051632e24533960e21b81526001600160a01b03929092169163b8914ce4916104af9160040190815260200190565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190611cbd565b60408051898152602081018990526034600c820120818301909252606081019190915290915061055190608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106c6565b98975050505050505050565b600081810361057f5760405163014f1da760e21b815260040160405180910390fd5b506040805133815260208101929092526034600c83012091810190526001815590565b60006105af8484846106ea565b90505b9392505050565b6105c1610653565b6105cb600061079e565b565b60006105b24684846106ea565b6105e2610653565b6001600160a01b0381166106475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102fc565b6106508161079e565b50565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102fc565b6106b56107f0565b6106bd61081f565b6106508161084e565b6000806106d286610897565b90506106e0818686866108c9565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611cd6565b90508115801561077657506001600160a01b038116155b156105b257604051631467050360e21b815260048101859052602481018490526044016102fc565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108175760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610906565b600054610100900460ff166108465760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610933565b6001600160a01b03811661087557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108b391815260200190565b6040516020818303038152906040529050919050565b60008060006108d9878686610963565b915091508180156108fb57508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff1661092d5760405162461bcd60e51b81526004016102fc90611cf3565b60018055565b600054610100900460ff1661095a5760405162461bcd60e51b81526004016102fc90611cf3565b6105cb3361079e565b60006060600061097285610a3e565b90506000806000610984848a89610b37565b815192955090935091501580806109985750815b6109e45760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102fc565b600081610a005760405180602001604052806000815250610a2c565b610a2c86610a0f600188611d54565b81518110610a1f57610a1f611d67565b6020026020010151610f57565b919b919a509098505050505050505050565b60606000610a4b83610f7e565b90506000815167ffffffffffffffff811115610a6957610a69611b86565b604051908082528060200260200182016040528015610aae57816020015b6040805180820190915260608082526020820152815260200190600190039081610a875790505b50905060005b8251811015610b2f576000610ae1848381518110610ad457610ad4611d67565b6020026020010151610fb1565b90506040518060400160405280610af783610f7e565b815260200182815250838381518110610b1257610b12611d67565b60200260200101819052505080610b2890611d7d565b9050610ab4565b509392505050565b600060606000806000610b4987611041565b90506000869050600080610b70604051806040016040528060608152602001606081525090565b60005b8c51811015610f2f578c8181518110610b8e57610b8e611d67565b602002602001015191508284610ba49190611d96565b9350610bb1600188611d96565b965083600003610c0e578482602001518051906020012014610c095760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102fc565b610cd0565b602082602001515110610c75578482602001518051906020012014610c095760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102fc565b84610c83836020015161117a565b14610cd05760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102fc565b610cdc60106001611da9565b60ff1682600001515103610d4a5785518414610f2f576000868581518110610d0657610d06611d67565b01602001518351805160f89290921c925060009183908110610d2a57610d2a611d67565b60200260200101519050610d3d816111a2565b9650600194505050610f1f565b81515160011901610ed7576000610d60836111d8565b9050600081600081518110610d7757610d77611d67565b016020015160f81c90506000610d8e600283611dc2565b610d99906002611df2565b90506000610daa848360ff166111fc565b90506000610db88b8a6111fc565b90506000610dc68383611232565b905060ff851660021480610ddd575060ff85166003145b15610e1757808351148015610df25750808251145b15610e0457610e01818b611d96565b99505b50600160ff1b9950610f2f945050505050565b60ff85161580610e2a575060ff85166001145b15610e805782518114610e4a5750600160ff1b9950610f2f945050505050565b610e718860000151600181518110610e6457610e64611d67565b60200260200101516111a2565b9a509750610f1f945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102fc565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102fc565b610f2881611d7d565b9050610b73565b50600160ff1b841486610f4287866111fc565b909e909d50909b509950505050505050505050565b805180516060916103e791610f6e90600190611d54565b81518110610ad457610ad4611d67565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906103e7906112ac565b60606000806000610fc185611498565b919450925090506000816001811115610fdc57610fdc611e0b565b146110295760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102fc565b611038856020015184846117e2565b95945050505050565b60606000825160026110539190611e21565b67ffffffffffffffff81111561106b5761106b611b86565b6040519080825280601f01601f191660200182016040528015611095576020820181803683370190505b50905060005b83518110156111735760048482815181106110b8576110b8611d67565b01602001516001600160f81b031916901c826110d5836002611e21565b815181106110e5576110e5611d67565b60200101906001600160f81b031916908160001a905350601084828151811061111057611110611d67565b0160200151611122919060f81c611dc2565b60f81b82611131836002611e21565b61113c906001611d96565b8151811061114c5761114c611d67565b60200101906001600160f81b031916908160001a90535061116c81611d7d565b905061109b565b5092915050565b600060208251101561118e57506020015190565b818060200190518101906103e79190611cbd565b600060606020836000015110156111c3576111bc8361188b565b90506111cf565b6111cc83610fb1565b90505b6105b28161117a565b60606103e76111f78360000151600081518110610ad457610ad4611d67565b611041565b60608251821061121b57506040805160208101909152600081526103e7565b6105b2838384865161122d9190611d54565b611896565b6000805b8084511180156112465750808351115b8015611297575082818151811061125f5761125f611d67565b602001015160f81c60f81b6001600160f81b03191684828151811061128657611286611d67565b01602001516001600160f81b031916145b156105b2576112a581611d7d565b9050611236565b60606000806112ba84611498565b919350909150600190508160018111156112d6576112d6611e0b565b146113235760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102fc565b6040805160208082526104208201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908161133c5790505090506000835b865181101561148d57602082106113d55760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102fc565b6000806114126040518060400160405280858c600001516113f69190611d54565b8152602001858c6020015161140b9190611d96565b9052611498565b50915091506040518060400160405280838361142e9190611d96565b8152602001848b602001516114439190611d96565b81525085858151811061145857611458611d67565b602090810291909101015261146e600185611d96565b935061147a8183611d96565b6114849084611d96565b92505050611369565b508152949350505050565b6000806000808460000151116114f05760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102fc565b6020840151805160001a607f81116115155760006001600094509450945050506117db565b60b7811161159157600061152a608083611d54565b90508087600001511161157f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102fc565b600195509350600092506117db915050565b60bf81116116805760006115a660b783611d54565b9050808760000151116115fb5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102fc565b600183015160208290036101000a90046116158183611d96565b8851116116645760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102fc565b61166f826001611d96565b96509450600093506117db92505050565b60f781116116fb57600061169560c083611d54565b9050808760000151116116ea5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102fc565b6001955093508492506117db915050565b600061170860f783611d54565b90508087600001511161175d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102fc565b600183015160208290036101000a90046117778183611d96565b8851116117bf5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102fc565b6117ca826001611d96565b96509450600193506117db92505050565b9193909250565b606060008267ffffffffffffffff8111156117ff576117ff611b86565b6040519080825280601f01601f191660200182016040528015611829576020820181803683370190505b509050805160000361183c5790506105b2565b8484016020820160005b8581101561185e578281015182820152602001611846565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606103e7826119ed565b6060816118a481601f611d96565b10156118e35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b826118ee8382611d96565b101561192d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b6119378284611d96565b8451101561197b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102fc565b60608215801561199a57604051915060008252602082016040526119e4565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119d35780518352602092830192016119bb565b5050858452601f01601f1916604052505b50949350505050565b60606103e78260200151600084600001516117e2565b6001600160a01b038116811461065057600080fd5b600060208284031215611a2a57600080fd5b81356105b281611a03565b60008060408385031215611a4857600080fd5b8235611a5381611a03565b946020939093013593505050565b600080600080600060808688031215611a7957600080fd5b853594506020860135611a8b81611a03565b935060408601359250606086013567ffffffffffffffff80821115611aaf57600080fd5b818801915088601f830112611ac357600080fd5b813581811115611ad257600080fd5b896020828501011115611ae457600080fd5b9699959850939650602001949392505050565b600060208284031215611b0957600080fd5b5035919050565b80358015158114611b2057600080fd5b919050565b600080600060608486031215611b3a57600080fd5b8335925060208401359150611b5160408501611b10565b90509250925092565b60008060408385031215611b6d57600080fd5b82359150611b7d60208401611b10565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bbf57611bbf611b86565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611b86565b604052919050565b60006020808385031215611c0957600080fd5b823567ffffffffffffffff80821115611c2157600080fd5b9084019060408287031215611c3557600080fd5b611c3d611b9c565b823581528383013582811115611c5257600080fd5b80840193505086601f840112611c6757600080fd5b823582811115611c7957611c79611b86565b611c8b601f8201601f19168601611bc5565b92508083528785828601011115611ca157600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ccf57600080fd5b5051919050565b600060208284031215611ce857600080fd5b81516105b281611a03565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e7576103e7611d3e565b634e487b7160e01b600052603260045260246000fd5b600060018201611d8f57611d8f611d3e565b5060010190565b808201808211156103e7576103e7611d3e565b60ff81811683821601908111156103e7576103e7611d3e565b600060ff831680611de357634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156103e7576103e7611d3e565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176103e7576103e7611d3e56fea2646970667358221220914fd418156d9d9a0e4aa8f2d563552ff29aa367381c04f0e5db5dcc63b0ce7264736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x55385a0c2ad17c21b4fe396be9b1f10f500e7eebad11fcd1afe36c68ee5fa4cd": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x478db7f3c43c550c1670aa0517a6d515b9e15f22ea28e4f99e8c5f8bcf58e406": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212209d989a5d58a4967fd0a1f669587c6ef0bd08d65b4de1b60d2f761d4c7661886164736f6c63430008120033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/internal.json taikoxyz/taiko-geth/core/taiko_genesis/internal.json new file mode 100644 index 0000000000000000000000000000000000000000..c2b27f30b80415d78940f098afb69c32783bf1ab --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/internal.json @@ -0,0 +1,268 @@ +{ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": { + "balance": "0x3782dace9d90000000" + }, + "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": { + "balance": "0x3782dace9d90000000" + }, + "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": { + "balance": "0x3782dace9d90000000" + }, + "0x90F79bf6EB2c4f870365E785982E1f101E93b906": { + "balance": "0x3782dace9d90000000" + }, + "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": { + "balance": "0x3782dace9d90000000" + }, + "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": { + "balance": "0x3782dace9d90000000" + }, + "0x976EA74026E726554dB657fA54763abd0C3a0aa9": { + "balance": "0x3782dace9d90000000" + }, + "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": { + "balance": "0x3782dace9d90000000" + }, + "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": { + "balance": "0x3782dace9d90000000" + }, + "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": { + "balance": "0x3782dace9d90000000" + }, + "0xBcd4042DE499D14e55001CcbB24a551F3b954096": { + "balance": "0x3782dace9d90000000" + }, + "0x71bE63f3384f5fb98995898A86B02Fb2426c5788": { + "balance": "0x3782dace9d90000000" + }, + "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a": { + "balance": "0x3782dace9d90000000" + }, + "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec": { + "balance": "0x3782dace9d90000000" + }, + "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097": { + "balance": "0x3782dace9d90000000" + }, + "0xcd3B766CCDd6AE721141F452C550Ca635964ce71": { + "balance": "0x3782dace9d90000000" + }, + "0x2546BcD3c84621e976D8185a91A922aE77ECEc30": { + "balance": "0x3782dace9d90000000" + }, + "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E": { + "balance": "0x3782dace9d90000000" + }, + "0xdD2FD4581271e230360230F9337D5c0430Bf44C0": { + "balance": "0x3782dace9d90000000" + }, + "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199": { + "balance": "0x3782dace9d90000000" + }, + "0x489Fc09698479ac665A7c91502acDB69A047Fe1a": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636892abdc1461003a575b600080fd5b61004d61004836600461170f565b610061565b604051901515815260200160405180910390f35b600080806100718486018661185f565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610150565b91509150816100d657604051639dbcc1a760e01b815260040160405180910390fd5b60006100e182610179565b90506000610108826002815181106100fb576100fb6118c3565b60200260200101516101b2565b905061013f8b60405160200161012091815260200190565b6040516020818303038152906040526101388c6102ba565b87846102cd565b9d9c50505050505050505050505050565b60006060600061015f866102e7565b905061016c818686610319565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101ac906103f4565b92915050565b600060218260000151111561020e5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e00000000000060448201526064015b60405180910390fd5b600080600061021c856105e0565b919450925090506000816001811115610237576102376118d9565b146102845760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610205565b60008386602001516102969190611905565b805190915060208410156102b05760208490036101000a90045b9695505050505050565b60606101ac6102c88361092a565b610a5e565b6000806102d9866102e7565b90506102b081868686610acd565b6060818051906020012060405160200161030391815260200190565b6040516020818303038152906040529050919050565b60006060600061032885610b0a565b9050600080600061033a848a89610c03565b8151929550909350915015808061034e5750815b61039a5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610205565b6000816103b657604051806020016040528060008152506103e2565b6103e2866103c5600188611918565b815181106103d5576103d56118c3565b6020026020010151611023565b919b919a509098505050505050505050565b6060600080610402846105e0565b9193509091506001905081600181111561041e5761041e6118d9565b1461046b5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610205565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104845790505090506000835b86518110156105d5576020821061051d5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610205565b60008061055a6040518060400160405280858c6000015161053e9190611918565b8152602001858c602001516105539190611905565b90526105e0565b5091509150604051806040016040528083836105769190611905565b8152602001848b6020015161058b9190611905565b8152508585815181106105a0576105a06118c3565b60209081029190910101526105b6600185611905565b93506105c28183611905565b6105cc9084611905565b925050506104b1565b508152949350505050565b6000806000808460000151116106385760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610205565b6020840151805160001a607f811161065d576000600160009450945094505050610923565b60b781116106d9576000610672608083611918565b9050808760000151116106c75760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610205565b60019550935060009250610923915050565b60bf81116107c85760006106ee60b783611918565b9050808760000151116107435760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610205565b600183015160208290036101000a900461075d8183611905565b8851116107ac5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610205565b6107b7826001611905565b965094506000935061092392505050565b60f781116108435760006107dd60c083611918565b9050808760000151116108325760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610205565b600195509350849250610923915050565b600061085060f783611918565b9050808760000151116108a55760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610205565b600183015160208290036101000a90046108bf8183611905565b8851116109075760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610205565b610912826001611905565b965094506001935061092392505050565b9193909250565b606060008260405160200161094191815260200190565b604051602081830303815290604052905060005b602081101561099657818181518110610970576109706118c3565b01602001516001600160f81b0319166000036109965761098f8161192b565b9050610955565b60006109a3826020611918565b67ffffffffffffffff8111156109bb576109bb6117bc565b6040519080825280601f01601f1916602001820160405280156109e5576020820181803683370190505b50905060005b8151811015610a555783836109ff8161192b565b945081518110610a1157610a116118c3565b602001015160f81c60f81b828281518110610a2e57610a2e6118c3565b60200101906001600160f81b031916908160001a905350610a4e8161192b565b90506109eb565b50949350505050565b60608082516001148015610a8c5750608083600081518110610a8257610a826118c3565b016020015160f81c105b15610a985750816101ac565b610aa48351608061104a565b83604051602001610ab6929190611974565b604051602081830303815290604052905092915050565b6000806000610add878686610319565b91509150818015610aff57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b1783610179565b90506000815167ffffffffffffffff811115610b3557610b356117bc565b604051908082528060200260200182016040528015610b7a57816020015b6040805180820190915260608082526020820152815260200190600190039081610b535790505b50905060005b8251811015610bfb576000610bad848381518110610ba057610ba06118c3565b60200260200101516111f4565b90506040518060400160405280610bc383610179565b815260200182815250838381518110610bde57610bde6118c3565b60200260200101819052505080610bf49061192b565b9050610b80565b509392505050565b600060606000806000610c1587611284565b90506000869050600080610c3c604051806040016040528060608152602001606081525090565b60005b8c51811015610ffb578c8181518110610c5a57610c5a6118c3565b602002602001015191508284610c709190611905565b9350610c7d600188611905565b965083600003610cda578482602001518051906020012014610cd55760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610205565b610d9c565b602082602001515110610d41578482602001518051906020012014610cd55760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610205565b84610d4f83602001516113bd565b14610d9c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610205565b610da860106001611991565b60ff1682600001515103610e165785518414610ffb576000868581518110610dd257610dd26118c3565b01602001518351805160f89290921c925060009183908110610df657610df66118c3565b60200260200101519050610e09816113e5565b9650600194505050610feb565b81515160011901610fa3576000610e2c8361141b565b9050600081600081518110610e4357610e436118c3565b016020015160f81c90506000610e5a6002836119c0565b610e659060026119e2565b90506000610e76848360ff1661143f565b90506000610e848b8a61143f565b90506000610e928383611475565b905060ff851660021480610ea9575060ff85166003145b15610ee357808351148015610ebe5750808251145b15610ed057610ecd818b611905565b99505b50600160ff1b9950610ffb945050505050565b60ff85161580610ef6575060ff85166001145b15610f4c5782518114610f165750600160ff1b9950610ffb945050505050565b610f3d8860000151600181518110610f3057610f306118c3565b60200260200101516113e5565b9a509750610feb945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610205565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610205565b610ff48161192b565b9050610c3f565b50600160ff1b84148661100e878661143f565b909e909d50909b509950505050505050505050565b805180516060916101ac9161103a90600190611918565b81518110610ba057610ba06118c3565b60608060388410156110b1576040805160018082528183019092529060208201818036833701905050905061107f8385611991565b60f81b81600081518110611095576110956118c3565b60200101906001600160f81b031916908160001a9053506111ed565b600060015b6110c081876119fb565b156110e3576110ce8261192b565b91506110dc61010082611a0f565b90506110b6565b6110ee826001611905565b67ffffffffffffffff811115611106576111066117bc565b6040519080825280601f01601f191660200182016040528015611130576020820181803683370190505b50925061113d8583611991565b611148906037611991565b60f81b8360008151811061115e5761115e6118c3565b60200101906001600160f81b031916908160001a905350600190505b8181116111ea5761010061118e8284611918565b61119a90610100611b0a565b6111a490886119fb565b6111ae9190611b16565b60f81b8382815181106111c3576111c36118c3565b60200101906001600160f81b031916908160001a9053506111e38161192b565b905061117a565b50505b9392505050565b60606000806000611204856105e0565b91945092509050600081600181111561121f5761121f6118d9565b1461126c5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610205565b61127b856020015184846114ef565b95945050505050565b60606000825160026112969190611a0f565b67ffffffffffffffff8111156112ae576112ae6117bc565b6040519080825280601f01601f1916602001820160405280156112d8576020820181803683370190505b50905060005b83518110156113b65760048482815181106112fb576112fb6118c3565b01602001516001600160f81b031916901c82611318836002611a0f565b81518110611328576113286118c3565b60200101906001600160f81b031916908160001a9053506010848281518110611353576113536118c3565b0160200151611365919060f81c6119c0565b60f81b82611374836002611a0f565b61137f906001611905565b8151811061138f5761138f6118c3565b60200101906001600160f81b031916908160001a9053506113af8161192b565b90506112de565b5092915050565b60006020825110156113d157506020015190565b818060200190518101906101ac9190611b2a565b60006060602083600001511015611406576113ff83611598565b9050611412565b61140f836111f4565b90505b6111ed816113bd565b60606101ac61143a8360000151600081518110610ba057610ba06118c3565b611284565b60608251821061145e57506040805160208101909152600081526101ac565b6111ed83838486516114709190611918565b6115a3565b6000805b8084511180156114895750808351115b80156114da57508281815181106114a2576114a26118c3565b602001015160f81c60f81b6001600160f81b0319168482815181106114c9576114c96118c3565b01602001516001600160f81b031916145b156111ed576114e88161192b565b9050611479565b606060008267ffffffffffffffff81111561150c5761150c6117bc565b6040519080825280601f01601f191660200182016040528015611536576020820181803683370190505b50905080516000036115495790506111ed565b8484016020820160005b8581101561156b578281015182820152602001611553565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101ac826116f9565b6060816115b181601f611905565b10156115f05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b826115fb8382611905565b101561163a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b6116448284611905565b845110156116885760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610205565b6060821580156116a75760405191506000825260208201604052610a55565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156116e05780518352602092830192016116c8565b5050858452601f01601f19166040525050949350505050565b60606101ac8260200151600084600001516114ef565b60008060008060008060a0878903121561172857600080fd5b8635955060208701356001600160a01b038116811461174657600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff8082111561177157600080fd5b818901915089601f83011261178557600080fd5b81358181111561179457600080fd5b8a60208285010111156117a657600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126117e357600080fd5b813567ffffffffffffffff808211156117fe576117fe6117bc565b604051601f8301601f19908116603f01168101908282118183101715611826576118266117bc565b8160405283815286602085880101111561183f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561187257600080fd5b823567ffffffffffffffff8082111561188a57600080fd5b611896868387016117d2565b935060208501359150808211156118ac57600080fd5b506118b9858286016117d2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101ac576101ac6118ef565b818103818111156101ac576101ac6118ef565b60006001820161193d5761193d6118ef565b5060010190565b6000815160005b81811015611965576020818501810151868301520161194b565b50600093019283525090919050565b60006119896119838386611944565b84611944565b949350505050565b60ff81811683821601908111156101ac576101ac6118ef565b634e487b7160e01b600052601260045260246000fd5b600060ff8316806119d3576119d36119aa565b8060ff84160691505092915050565b60ff82811682821603908111156101ac576101ac6118ef565b600082611a0a57611a0a6119aa565b500490565b80820281158282048414176101ac576101ac6118ef565b600181815b80851115611a61578160001904821115611a4757611a476118ef565b80851615611a5457918102915b93841c9390800290611a2b565b509250929050565b600082611a78575060016101ac565b81611a85575060006101ac565b8160018114611a9b5760028114611aa557611ac1565b60019150506101ac565b60ff841115611ab657611ab66118ef565b50506001821b6101ac565b5060208310610133831016604e8410600b8410161715611ae4575081810a6101ac565b611aee8383611a26565b8060001904821115611b0257611b026118ef565b029392505050565b60006111ed8383611a69565b600082611b2557611b256119aa565b500690565b600060208284031215611b3c57600080fd5b505191905056fea26469706673582212204875324a0ffbec2ef4b8b54e737ba4f199bc66a7bbc669362262c64003f5eb4964736f6c63430008140033", + "balance": "0x0" + }, + "0x4e97243Ed38B3EBFeA36670f04c196F7440C4ECe": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220135e72a42058ab0e632df6c5474c45731ab0dc607fe51f1fc94cfd9d75ca0ef764736f6c63430008140033", + "balance": "0x0" + }, + "0x6e56c38c46Ce0a4F62F12a2377F4F36Dfc29a392": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204741edf06f2beb06ef4569595fe2d316d5949d5f7ec1249b35e5c00b9eabb60c64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051630532024960e01b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212209632508c2a715b76d0a2d3aa58ee92c804730127c9ce52ca1746b6dd53e3493564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x6b013a0e951a047258ecfbbfd8b9a49a53289bd1f7cc04707d44361932bc1ff4": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x6e6c3efa1ea957de4ff121455278e0e3ab0563ed7474b931f9489cdd3cf93cfa": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0x8cccc85990ef13759554efad0e53e3e7cfd323061cc78328ecdf3a80ef0c1c3d": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0xe131db906218d663e9e5119cd125a18454ae4e666188c1c443835b798601a79b": "0x0000000000000000000000001000777700000000000000000000000000000008", + "0xecbd41677124623fc1ea9b1265db03dcd2ea4e07c2d70860be83cf7d831d413f": "0x0000000000000000000000001000777700000000000000000000000000000009", + "0xb89e0d65684560eb877371fa3bbdc47dfc9efc7e113ec86ce9ae0fa1c43b85b9": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x37ecd6787fe0bc6398f481a64352c06039ac5637068ea40e2973573d1042f212": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063bdd6bc361161007c578063bdd6bc36146102f3578063c7b9690814610306578063da69d3db14610320578063dac5df7814610333578063f2fde38b1461033c578063f535bd561461034f57600080fd5b8063715018a61461029b5780638da5cb5b146102a35780639ee512f2146102b4578063a7e022d1146102cd578063a86f9d9e146102e057600080fd5b80634e755573116100ff5780634e755573146101d6578063539b8ade14610218578063591aad8a146102435780635c82e9c2146102755780636c6563f61461028857600080fd5b80630599d2941461013c5780630652b57a1461016257806310da37381461017757806323ac71361461019e5780633ab76e9f146101b1575b600080fd5b61014f61014a36600461171c565b610369565b6040519081526020015b60405180910390f35b61017561017036600461174c565b6103b7565b005b61014f7f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b61014f6101ac36600461171c565b610430565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610159565b6101de6104aa565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610159565b60cd5461022b906001600160401b031681565b6040516001600160401b039091168152602001610159565b610256610251366004611769565b61050d565b6040805160ff9094168452602084019290925290820152606001610159565b61017561028336600461179f565b610748565b6101be6102963660046117f0565b610b04565b610175610b1b565b6065546001600160a01b03166101be565b6101be71777735367b36bc9b61c50022d9d0700db4ec81565b61014f6102db366004611839565b610b2f565b6101be6102ee36600461186c565b610b54565b61014f61030136600461171c565b610b6a565b60cd5461022b90600160401b90046001600160401b031681565b61017561032e36600461188f565b610bb5565b61014f60cb5481565b61017561034a36600461174c565b610e1e565b60cd5461022b90600160801b90046001600160401b031681565b6000806001600160401b038316156103815782610395565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020600101549392505050565b6103bf610e97565b6001600160a01b0381166103e657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600043826001600160401b03161061044a57506000919050565b43826001600160401b03161080156104765750610469610100436118eb565b826001600160401b031610155b1561048957506001600160401b03164090565b506001600160401b0316600090815260c9602052604090205490565b919050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561052a57508360ff16600214155b156105485760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff16600114610579577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561059b565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff166001146105d0577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186105f2565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610627577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2610649565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036106835761067c8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92506106f2565b6106cb7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106c68484600170014551231950b75fc4402da1732fc9bebe19610ef1565b610f40565b90925090506106ef8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561073f576107368370014551231950b75fc4402da1732fc9bebe196118eb565b92506001851894505b50509250925092565b600054610100900460ff16158080156107685750600054600160ff909116105b806107825750303b158015610782575060005460ff166001145b6107ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561080d576000805461ff0019166101001790555b600146111580610821575063ffffffff4610155b1561083f576040516306cffa2760e01b815260040160405180910390fd5b600143111561086157604051635a0f9e4160e11b815260040160405180910390fd5b61087160408301602084016118fe565b63ffffffff1615610a6057610889602083018361171c565b6001600160401b031615806108b457506108a9606083016040840161171c565b6001600160401b0316155b806108d557506108ca608083016060840161171c565b6001600160401b0316155b806108f657506108eb60a083016080840161171c565b6001600160401b0316155b1561091457604051639cc448b560e01b815260040160405180910390fd5b60008061095c61092a606086016040870161171c565b610937602087018761171c565b610947608088016060890161171c565b61095760a0890160808a0161171c565b610f5f565b91509150816001600160801b03166000148061098857506001600160401b036001600160801b03831610155b8061099a57506001600160801b038116155b156109b857604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b038416171790556109f660408501602086016118fe565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b199092169190911790556002610a2d606086016040870161171c565b610a37919061192f565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610a858361105e565b610a8e43611077565b5060cb554315610ab9576000610aa56001436118eb565b600081815260c96020526040902090409055505b8015610aff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610b1184848461110a565b90505b9392505050565b610b23610e97565b610b2d60006111be565b565b6000610b4c610b3c6104aa565b846001600160401b031684611210565b509392505050565b6000610b6146848461110a565b90505b92915050565b6000806001600160401b03831615610b825782610b96565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020549392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610be757604051636494e9f760e01b815260040160405180910390fd5b6000610bf46001436118eb565b90508040600080610c0484611077565b915091508160cb5414610c385760cb54604051636340d9fb60e11b81526004810191909152602481018390526044016107e1565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527e4ce985b8852a486571d0545799251fd671adcf33b7854a5f0f6a6a2431a555910160405180910390a2600080610cec6104aa565b9050806040015163ffffffff16600014610d505760cd54610d22908290610d1c906001600160401b0316426118eb565b89611210565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610d8357604051634083acad60e01b81526001600160401b038084166004830152481660248201526044016107e1565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b610e26610e97565b6001600160a01b038116610e8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e1565b610e94816111be565b50565b6065546001600160a01b03163314610b2d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e1565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610f3657600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f7b57610f7b611955565b6000610f8860028861192f565b9050610fa66001600160401b038816680755bf798b4a1bf1e461196b565b9250610fc5610fc084886001600160401b031684896112ad565b61136c565b91506000610fd5848484896112ad565b90506000610fef858585610fea8b6002611985565b6112ad565b9050600082611000836127106119b0565b61100a91906119c7565b9050806001600160401b0316876001600160401b03161461105157604051631530943760e11b81526001600160401b038089166004830152821660248201526044016107e1565b5050505094509492505050565b6110666113d9565b61106e611408565b610e9481611437565b6000806110826116e5565b60005b60ff811080156110985750806001018510155b156110ca576000198186030180408360ff830661010081106110bc576110bc6119db565b602002015250600101611085565b5046611fe0820152612000812092508340816110e760ff876119f1565b61010081106110f8576110f86119db565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190611a05565b90508115801561119657506001600160a01b038116155b15610b1457604051631467050360e21b815260048101859052602481018490526044016107e1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000856040015163ffffffff1685029050600061125f828663ffffffff1660cd60109054906101000a90046001600160401b03166001600160401b03160161148090919063ffffffff16565b90506112748282036001600160401b03611496565b9250505061129685602001516001600160401b031686600001518360006112ad565b9150816000036112a557600191505b935093915050565b60006001600160801b038516158015906112cf57506001600160801b03841615155b6112db576112db611955565b60006001600160401b038316156112f257826112f5565b60015b9050600061130c856001600160401b0316886114ab565b9050600061132c61131d8488611a22565b6001600160401b0316896114ab565b90506001600160801b0387166001600160401b03841661134c84846118eb565b61135691906119c7565b61136091906119c7565b98975050505050505050565b60006001600160801b038211156113d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016107e1565b5090565b600054610100900460ff166114005760405162461bcd60e51b81526004016107e190611a49565b610b2d6114fd565b600054610100900460ff1661142f5760405162461bcd60e51b81526004016107e190611a49565b610b2d61152a565b6001600160a01b03811661145e57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600081831161148f5781610b61565b5090919050565b60008183116114a55782610b61565b50919050565b6000806114c16001600160801b038416856119b0565b9050680755bf798b4a1bf1e481106114ec5760405163576ff4f160e01b815260040160405180910390fd5b6114f58161155a565b949350505050565b600054610100900460ff166115245760405162461bcd60e51b81526004016107e190611a49565b60018055565b600054610100900460ff166115515760405162461bcd60e51b81526004016107e190611a49565b610b2d336111be565b6000680248ce36a70cb26b3e19821361157557506000919050565b680755bf798b4a1bf1e5821261159e57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b03811681146104a557600080fd5b60006020828403121561172e57600080fd5b610b6182611705565b6001600160a01b0381168114610e9457600080fd5b60006020828403121561175e57600080fd5b8135610b1481611737565b6000806040838503121561177c57600080fd5b82359150602083013560ff8116811461179457600080fd5b809150509250929050565b60008082840360c08112156117b357600080fd5b83356117be81611737565b925060a0601f19820112156117d257600080fd5b506020830190509250929050565b803580151581146104a557600080fd5b60008060006060848603121561180557600080fd5b833592506020840135915061181c604085016117e0565b90509250925092565b803563ffffffff811681146104a557600080fd5b6000806040838503121561184c57600080fd5b61185583611705565b915061186360208401611825565b90509250929050565b6000806040838503121561187f57600080fd5b82359150611863602084016117e0565b600080600080608085870312156118a557600080fd5b84359350602085013592506118bc60408601611705565b91506118ca60608601611825565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b6457610b646118d5565b60006020828403121561191057600080fd5b610b6182611825565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061194957611949611919565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061194957611949611919565b6001600160401b038181168382160280821691908281146119a8576119a86118d5565b505092915050565b8082028115828204841417610b6457610b646118d5565b6000826119d6576119d6611919565b500490565b634e487b7160e01b600052603260045260246000fd5b600082611a0057611a00611919565b500690565b600060208284031215611a1757600080fd5b8151610b1481611737565b6001600160401b03818116838216019080821115611a4257611a426118d5565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220a938ea0297acf71927d6cdd660550dc752a041838abdf94066911ffc20d30c2064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xf167b245aa70c0a5e2f44cd65a94f2b1c5c9e8c8ab059940e4bf1c47d7a39557", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x0000000000bebc200000000058b8ef1c0000000485b9d2e799564d28c46075dd", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000a9507f68000000000000000000000000064ec1365", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063620c23fb116100ab578063a86f9d9e1161006f578063a86f9d9e14610354578063ce70f39b14610374578063d0496d6a14610394578063ec9b312114610403578063f21be36f14610423578063f2fde38b1461044357600080fd5b8063620c23fb146102c15780636c6563f6146102e1578063715018a6146103015780638da5cb5b14610316578063a4444efd1461033457600080fd5b80634f5f9772116100f25780634f5f9772146101f45780635075a9d414610234578063540be6a3146102615780635d0bd98614610281578063606b5b74146102a157600080fd5b80630652b57a1461013a57806319ab453c1461015c578063263463c81461017c5780633ab76e9f146101af5780634c1888bc146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004612a0c565b610463565b005b34801561016857600080fd5b5061015a610177366004612a0c565b6104dc565b34801561018857600080fd5b5061019c610197366004612a42565b6105f4565b6040519081526020015b60405180910390f35b3480156101bb57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020016101a6565b61019c6101ef366004612a42565b61060d565b34801561020057600080fd5b5061022461020f366004612a76565b600090815260cd602052604090205460ff1690565b60405190151581526020016101a6565b34801561024057600080fd5b5061025461024f366004612a76565b61063b565b6040516101a69190612ac7565b34801561026d57600080fd5b5061022461027c366004612a76565b610646565b34801561028d57600080fd5b5061022461029c366004612a76565b610652565b3480156102ad57600080fd5b5061019c6102bc366004612a76565b610665565b3480156102cd57600080fd5b5061015a6102dc366004612b1d565b610670565b3480156102ed57600080fd5b506101c96102fc366004612b93565b610696565b34801561030d57600080fd5b5061015a6106ad565b34801561032257600080fd5b506065546001600160a01b03166101c9565b34801561034057600080fd5b5061022461034f366004612bcc565b6106c1565b34801561036057600080fd5b506101c961036f366004612c1e565b6106d9565b34801561038057600080fd5b5061022461038f366004612bcc565b6106e6565b3480156103a057600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016101a6565b34801561040f57600080fd5b5061015a61041e366004612b1d565b6106f5565b34801561042f57600080fd5b5061015a61043e366004612c4e565b61070d565b34801561044f57600080fd5b5061015a61045e366004612a0c565b61072b565b61046b6107a4565b6001600160a01b03811661049257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156104fc5750600054600160ff909116105b806105165750303b158015610516575060005460ff166001145b61057e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105a1576000805461ff0019166101001790555b6105aa826107fe565b80156105f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060761060283612da4565b610817565b92915050565b6000610617610847565b61062b60c93061062685612da4565b6108a0565b905061063660018055565b919050565b600061060782610b71565b60006106073083610b9c565b600061065e3083610c7d565b5092915050565b600061060782610d06565b610678610847565b61068860c9308585856001610d41565b61069160018055565b505050565b60006106a3848484610fbe565b90505b9392505050565b6106b56107a4565b6106bf6000611072565b565b60006106d030868686866110c4565b95945050505050565b60006106a6468484610fbe565b60006106d03086868686611227565b6106fd610847565b61068860c93085858560016114ac565b610715610847565b61072260c930848461197f565b6105f060018055565b6107336107a4565b6001600160a01b0381166107985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610575565b6107a181611072565b50565b6065546001600160a01b031633146106bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610575565b610806611b55565b61080e611b84565b6107a181611bb3565b60008160405160200161082a9190612eea565b604051602081830303815290604052805190602001209050919050565b6002600154036108995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610575565b6002600155565b60808101516000906001600160a01b03166108ce576040516398fc91f160e01b815260040160405180910390fd5b6000806108df858560600151610c7d565b915091508115806108f35750468460600151145b156109115760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b031615806109405750806001600160a01b03168460a001516001600160a01b0316145b1561095e5760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461010001518560e001516109759190612fed565b905034811461099757604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906109c790600190600401613000565b602060405180830381865afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a08919061301f565b9050610a1d6001600160a01b03821683611bfc565b8754886000610a2b8361303c565b909155508652336020870152466040870152610a4686610817565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610a7690600090600401613055565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab7919061301f565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610ae491815260200190565b6020604051808303816000875af1158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b279190613077565b50847f238646a410b383b664b8d2fe57d2895c1ecd3464a3159cae73a93a9f21a4335587604051610b589190612eea565b60405180910390a2505050509392505050565b60018055565b600080610b7d83610d06565b8054909150806003811115610b9457610b94612a8f565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e90610bcb908490600401613055565b602060405180830381865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c919061301f565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610c59573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190613090565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610caf9291906130ad565b602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061301f565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b8152508260405160200161082a9291906130cc565b6000610d4f61060286612da4565b600081815260048901602052604090205490915060ff1615610d845760405163bd7e9a9d60e01b815260040160405180910390fd5b818015610d9f5750610d9d868287606001358787611227565b155b15610dbd5760405163498b0b1d60e01b815260040160405180910390fd5b600081815260048089016020526040808320805460ff191660019081179091559051635437cecf60e11b81526001600160a01b038a169263a86f9d9e92610e0692909101613000565b602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061301f565b90506001600160a01b03811615610ebc5760405163ba0bbd9560e01b815230600482015260e087013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015610ea357600080fd5b505af1158015610eb7573d6000803e3d6000fd5b505050505b610ee6631953216560e11b610ed76040890160208a01612a0c565b6001600160a01b031690611cb2565b15610f6257610efb6040870160208801612a0c565b6001600160a01b03166332a642ca8760e00135886040518363ffffffff1660e01b8152600401610f2b919061315c565b6000604051808303818588803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b5050505050610f89565b610f8960e0870135610f7a60a0890160808a01612a0c565b6001600160a01b031690611bfc565b60405182907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa290600090a25050505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061301f565b90508115801561104a57506001600160a01b038116155b156106a657604051631467050360e21b81526004810185905260248101849052604401610575565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b81526004016110f69291906130ad565b602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611137919061301f565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e9061116790600090600401613055565b602060405180830381865afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061301f565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016111db959493929190613262565b602060405180830381865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c9190613090565b979650505050505050565b60004684036112495760405163e822b48d60e01b815260040160405180910390fd5b600085900361126b5760405163a6407c9360e01b815260040160405180910390fd5b60006112798385018561332b565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f5919061301f565b82516101000151604051635eeb5e1b60e11b81526001600160401b0390911660048201526001600160a01b03919091169063bdd6bc3690602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190613077565b90508015806113895750815161138590611d2b565b8114155b15611399576000925050506106d0565b815160600151604051633632b1fb60e11b815273489Fc09698479ac665A7c91502acDB69A047Fe1a91636892abdc916001600160a01b038c1690636c6563f6906113ea908c906000906004016130ad565b602060405180830381865afa158015611407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142b919061301f565b6114348b610d06565b602087015160405160e086901b6001600160e01b031916815261145f949392916003916004016134cf565b602060405180830381865af415801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190613090565b98975050505050505050565b6101208401351580156114e057506114ca60a0850160808601612a0c565b6001600160a01b0316336001600160a01b031614155b156114fe5760405163398b635960e21b815260040160405180910390fd5b468460600135146115225760405163e822b48d60e01b815260040160405180910390fd5b600061153061060286612da4565b9050600061153d82610b71565b600381111561154e5761154e612a8f565b1461156c57604051630cfafbf960e01b815260040160405180910390fd5b6000866001600160a01b0316636c6563f6876040013560006040518363ffffffff1660e01b81526004016115a19291906130ad565b602060405180830381865afa1580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e2919061301f565b90508280156116d45750604051635437cecf60e11b81526001600160a01b0388169063a86f9d9e9061161990600090600401613055565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a919061301f565b6001600160a01b0316635221f6138760400135838589896040518663ffffffff1660e01b8152600401611691959493929190613262565b602060405180830381865afa1580156116ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d29190613090565b155b156116f2576040516314504c7360e31b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0389169063a86f9d9e9061172290600190600401613000565b602060405180830381865afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611763919061301f565b90506001600160a01b038116156117f6576001600160a01b03811663ba0bbd95306117976101008b013560e08c0135612fed565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050505b6000803061180a60c08b0160a08c01612a0c565b6001600160a01b031614806118375750600061182c60c08b0160a08c01612a0c565b6001600160a01b0316145b1561184b57506002905060e08801356118c1565b600061185d60a08b0160808c01612a0c565b6001600160a01b0316336001600160a01b03161461188057896101200135611882565b5a5b905060006118928d8c8985611d50565b905080156118a357600293506118be565b600193506118be6001600160a01b03861660e08d0135611bfc565b50505b6118cb8583611ea7565b6000806118de60e08c0160c08d01612a0c565b6001600160a01b031614611901576118fc60e08b0160c08c01612a0c565b611911565b61191160a08b0160808c01612a0c565b90506001600160a01b038116330361194f576000611934836101008d0135612fed565b90506119496001600160a01b03831682611bfc565b50611971565b61195e336101008c0135611bfc565b6119716001600160a01b03821683611bfc565b505050505050505050505050565b610120820135158061198e5750805b156119d4576119a360a0830160808401612a0c565b6001600160a01b0316336001600160a01b0316146119d45760405163d7f4fc9f60e01b815260040160405180910390fd5b60006119e261060284612da4565b905060016119ef82610b71565b6003811115611a0057611a00612a8f565b14611a1e57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e90611a4e90600190600401613000565b602060405180830381865afa158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f919061301f565b90506001600160a01b03811615611b045760405163ba0bbd9560e01b815230600482015260e085013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015611aeb57600080fd5b505af1158015611aff573d6000803e3d6000fd5b505050505b6000611b128786855a611d50565b90508015611b2a57611b25836002611ea7565b611b4c565b611b35836003611ea7565b611b4c6001600160a01b03831660e0870135611bfc565b50505050505050565b600054610100900460ff16611b7c5760405162461bcd60e51b815260040161057590613502565b6106bf611f20565b600054610100900460ff16611bab5760405162461bcd60e51b815260040161057590613502565b6106bf611f47565b6001600160a01b038116611bda57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611c1057506001600160a01b038216155b15611c19575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c66576040519150601f19603f3d011682016040523d82523d6000602084013e611c6b565b606091505b50509050806106915760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610575565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611d1f575060408051601f3d908101601f19168201909252611d1c91810190613090565b60015b15610607579392505050565b600080611d41611d3c846000611f77565b612398565b80516020909101209392505050565b600081600003611d7357604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611d979190612a0c565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611de960c0850160a08601612a0c565b6001600160a01b03168260e0860135611e0661014088018861354d565b604051611e14929190613593565b600060405180830381858888f193505050503d8060008114611e52576040519150601f19603f3d011682016040523d82523d6000602084013e611e57565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b806003811115611eb957611eb9612a8f565b611ec283610b71565b6003811115611ed357611ed3612a8f565b146105f057611ee282826123dc565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051611f149291906135a3565b60405180910390a25050565b600054610100900460ff16610b6b5760405162461bcd60e51b815260040161057590613502565b600054610100900460ff16611f6e5760405162461bcd60e51b815260040161057590613502565b6106bf33611072565b61020082015160609015611fe257611f90826011612fed565b6001600160401b03811115611fa757611fa7612c94565b604051908082528060200260200182016040528015611fda57816020015b6060815260200190600190039081611fc55790505b509050612051565b6101e083015115611ff857611f90826010612fed565b61200382600f612fed565b6001600160401b0381111561201a5761201a612c94565b60405190808252806020026020018201604052801561204d57816020015b60608152602001906001900390816120385790505b5090505b825161205c90612405565b8160008151811061206f5761206f6135c9565b60200260200101819052506120878360200151612405565b8160018151811061209a5761209a6135c9565b60200260200101819052506120b28360400151612418565b816002815181106120c5576120c56135c9565b60200260200101819052506120dd8360600151612405565b816003815181106120f0576120f06135c9565b60200260200101819052506121088360800151612405565b8160048151811061211b5761211b6135c9565b60200260200101819052506121338360a00151612405565b81600581518110612146576121466135c9565b602002602001018190525061217d8360c0015160405160200161216991906135df565b604051602081830303815290604052612441565b81600681518110612190576121906135c9565b60200260200101819052506121a88360e001516124b0565b816007815181106121bb576121bb6135c9565b60200260200101819052506121dd8361010001516001600160801b03166124b0565b816008815181106121f0576121f06135c9565b60200260200101819052506122098361012001516124be565b8160098151811061221c5761221c6135c9565b60200260200101819052506122358361014001516124be565b81600a81518110612248576122486135c9565b60200260200101819052506122618361016001516124be565b81600b81518110612274576122746135c9565b602002602001018190525061228d836101800151612441565b81600c815181106122a0576122a06135c9565b60200260200101819052506122b9836101a00151612405565b81600d815181106122cc576122cc6135c9565b6020026020010181905250612303836101c00151604051602001612169919060c09190911b6001600160c01b031916815260080190565b81600e81518110612316576123166135c9565b6020026020010181905250826101e0015160001461235b5761233c836101e001516124b0565b81600f8151811061234f5761234f6135c9565b60200260200101819052505b6102008301511561060757612374836102000151612405565b81601081518110612387576123876135c9565b602002602001018190525092915050565b606060006123a5836124d5565b90506123b3815160c061260a565b816040516020016123c5929190613614565b604051602081830303815290604052915050919050565b60006123e783610d06565b905060008260038111156123fd576123fd612a8f565b909155505050565b6060610607612413836127b3565b612441565b604051606082811b6bffffffffffffffffffffffff191660208301529061060790603401612169565b6060808251600114801561246f5750608083600081518110612465576124656135c9565b016020015160f81c105b1561247b575081610607565b6124878351608061260a565b83604051602001612499929190613614565b604051602081830303815290604052905092915050565b606061060761241383612865565b6060610607612413836001600160401b0316612865565b606081516000036124f657604080516000808252602082019092529061065e565b6000805b835181101561253b57838181518110612515576125156135c9565b602002602001015151826125299190612fed565b91506125348161303c565b90506124fa565b6000826001600160401b0381111561255557612555612c94565b6040519080825280601f01601f19166020018201604052801561257f576020820181803683370190505b50600092509050602081015b85518310156126015760008684815181106125a8576125a86135c9565b6020026020010151905060006020820190506125c68382845161298f565b8785815181106125d8576125d86135c9565b602002602001015151836125ec9190612fed565b92505050826125fa9061303c565b925061258b565b50949350505050565b6060806038841015612671576040805160018082528183019092529060208201818036833701905050905061263f8385613643565b60f81b81600081518110612655576126556135c9565b60200101906001600160f81b031916908160001a9053506106a6565b600060015b6126808187613672565b156126a35761268e8261303c565b915061269c61010082613686565b9050612676565b6126ae826001612fed565b6001600160401b038111156126c5576126c5612c94565b6040519080825280601f01601f1916602001820160405280156126ef576020820181803683370190505b5092506126fc8583613643565b612707906037613643565b60f81b8360008151811061271d5761271d6135c9565b60200101906001600160f81b031916908160001a905350600190505b8181116127a95761010061274d828461369d565b61275990610100613794565b6127639088613672565b61276d91906137a0565b60f81b838281518110612782576127826135c9565b60200101906001600160f81b031916908160001a9053506127a28161303c565b9050612739565b5050905092915050565b60606000826040516020016127ca91815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561260157838361280f8161303c565b945081518110612821576128216135c9565b602001015160f81c60f81b82828151811061283e5761283e6135c9565b60200101906001600160f81b031916908160001a90535061285e8161303c565b90506127fb565b606060008260405160200161287c91815260200190565b604051602081830303815290604052905060005b60208110156128d1578181815181106128ab576128ab6135c9565b01602001516001600160f81b0319166000036128d1576128ca8161303c565b9050612890565b60006128de82602061369d565b6001600160401b038111156128f5576128f5612c94565b6040519080825280601f01601f19166020018201604052801561291f576020820181803683370190505b50905060005b81518110156126015783836129398161303c565b94508151811061294b5761294b6135c9565b602001015160f81c60f81b828281518110612968576129686135c9565b60200101906001600160f81b031916908160001a9053506129888161303c565b9050612925565b8282825b602081106129cb57815183526129aa602084612fed565b92506129b7602083612fed565b91506129c460208261369d565b9050612993565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b03811681146107a157600080fd5b8035610636816129ec565b600060208284031215612a1e57600080fd5b81356106a6816129ec565b60006101808284031215612a3c57600080fd5b50919050565b600060208284031215612a5457600080fd5b81356001600160401b03811115612a6a57600080fd5b610b9484828501612a29565b600060208284031215612a8857600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612ac357634e487b7160e01b600052602160045260246000fd5b9052565b602081016106078284612aa5565b60008083601f840112612ae757600080fd5b5081356001600160401b03811115612afe57600080fd5b602083019150836020828501011115612b1657600080fd5b9250929050565b600080600060408486031215612b3257600080fd5b83356001600160401b0380821115612b4957600080fd5b612b5587838801612a29565b94506020860135915080821115612b6b57600080fd5b50612b7886828701612ad5565b9497909650939450505050565b80151581146107a157600080fd5b600080600060608486031215612ba857600080fd5b83359250602084013591506040840135612bc181612b85565b809150509250925092565b60008060008060608587031215612be257600080fd5b843593506020850135925060408501356001600160401b03811115612c0657600080fd5b612c1287828801612ad5565b95989497509550505050565b60008060408385031215612c3157600080fd5b823591506020830135612c4381612b85565b809150509250929050565b60008060408385031215612c6157600080fd5b82356001600160401b03811115612c7757600080fd5b612c8385828601612a29565b9250506020830135612c4381612b85565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715612ccd57612ccd612c94565b60405290565b604080519081016001600160401b0381118282101715612ccd57612ccd612c94565b60405161022081016001600160401b0381118282101715612ccd57612ccd612c94565b600082601f830112612d2957600080fd5b81356001600160401b0380821115612d4357612d43612c94565b604051601f8301601f19908116603f01168101908282118183101715612d6b57612d6b612c94565b81604052838152866020858801011115612d8457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101808236031215612db757600080fd5b612dbf612caa565b82358152612dcf60208401612a01565b60208201526040830135604082015260608301356060820152612df460808401612a01565b6080820152612e0560a08401612a01565b60a0820152612e1660c08401612a01565b60c082015260e0838101359082015261010080840135908201526101208084013590820152610140808401356001600160401b0380821115612e5757600080fd5b612e6336838801612d18565b83850152610160925082860135915080821115612e7f57600080fd5b50612e8c36828701612d18565b918301919091525092915050565b60005b83811015612eb5578181015183820152602001612e9d565b50506000910152565b60008151808452612ed6816020860160208601612e9a565b601f01601f19169290920160200192915050565b602081528151602082015260006020830151612f1160408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612f4060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052612fb16101a0860184612ebe565b90860151858203601f190183870152909250612fcd8382612ebe565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612fd7565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006020828403121561303157600080fd5b81516106a6816129ec565b60006001820161304e5761304e612fd7565b5060010190565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561308957600080fd5b5051919050565b6000602082840312156130a257600080fd5b81516106a681612b85565b9182526562726964676560d01b60208301521515604082015260600190565b600083516130de818460208801612e9a565b9190910191825250602001919050565b6000808335601e1984360301811261310557600080fd5b83016020810192503590506001600160401b0381111561312457600080fd5b803603821315612b1657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061317560208401612a01565b6001600160a01b03811660408401525060408301356060830152606083013560808301526131a560808401612a01565b6001600160a01b03811660a0840152506131c160a08401612a01565b6001600160a01b03811660c0840152506131dd60c08401612a01565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061321e818501856130ee565b9150610180610160818187015261323a6101a087018585613133565b9350613248818801886130ee565b878603601f1901848901529350905061121c848483613133565b85815260018060a01b038516602082015283604082015260806060820152600061121c608083018486613133565b600082601f8301126132a157600080fd5b6040516101008082018281106001600160401b03821117156132c5576132c5612c94565b604052830181858211156132d857600080fd5b845b828110156132f25780358252602091820191016132da565b509195945050505050565b80356001600160801b038116811461063657600080fd5b80356001600160401b038116811461063657600080fd5b60006020828403121561333d57600080fd5b81356001600160401b038082111561335457600080fd5b908301906040828603121561336857600080fd5b613370612cd3565b82358281111561337f57600080fd5b8301610300818803121561339257600080fd5b61339a612cf5565b81358152602082013560208201526133b460408301612a01565b6040820152606082013560608201526080820135608082015260a082013560a08201526133e48860c08401613290565b60c08201526101c08083013560e08301526101e06134038185016132fd565b610100840152610200613417818601613314565b61012085015261342a6102208601613314565b61014085015261343d6102408601613314565b6101608501526102608501358781111561345657600080fd5b6134628c828801612d18565b610180860152506102808501356101a08501526134826102a08601613314565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134b457600080fd5b6134c087828601612d18565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061121c60a0830184612ebe565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261356457600080fd5b8301803591506001600160401b0382111561357e57600080fd5b602001915036819003821315612b1657600080fd5b8183823760009101908152919050565b604081016135b18285612aa5565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b60088110156136045781518352602092830192909101906001016135e5565b5050506101008201905092915050565b60008351613626818460208801612e9a565b83519083019061363a818360208801612e9a565b01949350505050565b60ff818116838216019081111561060757610607612fd7565b634e487b7160e01b600052601260045260246000fd5b6000826136815761368161365c565b500490565b808202811582820484141761060757610607612fd7565b8181038181111561060757610607612fd7565b600181815b808511156136eb5781600019048211156136d1576136d1612fd7565b808516156136de57918102915b93841c93908002906136b5565b509250929050565b60008261370257506001610607565b8161370f57506000610607565b8160018114613725576002811461372f5761374b565b6001915050610607565b60ff84111561374057613740612fd7565b50506001821b610607565b5060208310610133831016604e8410600b841016171561376e575081810a610607565b61377883836136b0565b806000190482111561378c5761378c612fd7565b029392505050565b60006106a683836136f3565b6000826137af576137af61365c565b50069056fea264697066735822122009d4dcbca9999e37ccb242253cd0d63b06c0f688cf947134dcdeef074e36412964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedERC20Vault", + "storage": {}, + "code": "0x608060405260043610620000fb5760003560e01c8063715018a61162000095578063c287e5781162000060578063c287e57814620002e0578063cb03d23c1462000314578063e2dc9033146200032b578063f2fde38b146200034257600080fd5b8063715018a6146200024b5780638da5cb5b14620002635780639aa8605c1462000283578063a86f9d9e14620002bb57600080fd5b806332a642ca11620000d657806332a642ca14620001965780633ab76e9f14620001ad57806367090ccf14620001e15780636c6563f6146200022657600080fd5b806301ffc9a714620001005780630652b57a146200014a57806319ab453c1462000171575b600080fd5b3480156200010d57600080fd5b50620001356200011f36600462001fb6565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200015757600080fd5b506200016f6200016936600462002005565b62000367565b005b3480156200017e57600080fd5b506200016f6200019036600462002005565b620003e3565b6200016f620001a736600462002025565b62000503565b348015620001ba57600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000141565b348015620001ee57600080fd5b50620001c86200020036600462002064565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200023357600080fd5b50620001c862000245366004620020a6565b620007b5565b3480156200025857600080fd5b506200016f620007ce565b3480156200027057600080fd5b506065546001600160a01b0316620001c8565b3480156200029057600080fd5b50620002a8620002a236600462002005565b620007e6565b6040516200014195949392919062002136565b348015620002c857600080fd5b50620001c8620002da3660046200218b565b62000947565b348015620002ed57600080fd5b5062000135620002ff36600462002005565b60c96020526000908152604090205460ff1681565b6200016f62000325366004620021b3565b6200095f565b6200016f6200033c36600462002229565b62000c0f565b3480156200034f57600080fd5b506200016f6200036136600462002005565b62000fb4565b6200037162001030565b6001600160a01b0381166200039957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004045750600054600160ff909116105b80620004205750303b15801562000420575060005460ff166001145b620004895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620004ad576000805461ff0019166101001790555b620004b8826200108c565b8015620004ff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200050d620010ab565b6562726964676560d01b6200052481600162000947565b6001600160a01b0316336001600160a01b0316146200055657604051630d85cccf60e11b815260040160405180910390fd5b60006200056e6562726964676560d01b600062000947565b90506000816001600160a01b031663263463c8856040518263ffffffff1660e01b8152600401620005a09190620022e1565b602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e4919062002402565b9050600080620005f96101408701876200241c565b6200060991600490829062002466565b8101906200061891906200259f565b919450909250506001600160a01b038316905062000649576040516303f8a7d360e01b815260040160405180910390fd5b801562000739576001600160a01b038216600090815260c9602052604090205460ff1680620006a357506200068e6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316826001600160a01b0316145b156200071157604051632770a7eb60e21b8152306004820152602481018290526001600160a01b03831690639dc29fac90604401600060405180830381600087803b158015620006f257600080fd5b505af115801562000707573d6000803e3d6000fd5b5050505062000739565b620007396200072760a088016080890162002005565b6001600160a01b038416908362001106565b6200074b60a087016080880162002005565b6001600160a01b0316837f75c5fedbd5fff6123ad9b70827e9742ea1eee996583d6e14249f1429fc4fd99384846040516200079b9291906001600160a01b03929092168252602082015260400190565b60405180910390a35050505050620007b260018055565b50565b6000620007c484848462001165565b90505b9392505050565b620007d862001030565b620007e460006200121f565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff169290919062000828906200268d565b80601f016020809104026020016040519081016040528092919081815260200182805462000856906200268d565b8015620008a75780601f106200087b57610100808354040283529160200191620008a7565b820191906000526020600020905b8154815290600101906020018083116200088957829003601f168201915b505050505090806003018054620008be906200268d565b80601f0160208091040260200160405190810160405280929190818152602001828054620008ec906200268d565b80156200093d5780601f1062000911576101008083540402835291602001916200093d565b820191906000526020600020905b8154815290600101906020018083116200091f57829003601f168201915b5050505050905085565b60006200095646848462001165565b90505b92915050565b62000969620010ab565b6562726964676560d01b6200098081600162000947565b6001600160a01b0316336001600160a01b031614620009b257604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526a195c98cc8c17dd985d5b1d60aa1b6004820152306024820152600090736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA9063881107d990604401606060405180830381865af415801562000a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3f9190620026c9565b905060004687350362000b1a5762000a5e604088016020890162002005565b905062000a7b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316816001600160a01b03160362000afe576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801562000adf57600080fd5b505af115801562000af4573d6000803e3d6000fd5b5050505062000b8e565b62000b146001600160a01b038216868662001106565b62000b8e565b62000b258762001271565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801562000b7457600080fd5b505af115801562000b89573d6000803e3d6000fd5b505050505b62000ba36001600160a01b03861634620012d0565b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907f883b72735ca0ee2cdd2a462a393658b1a0b36ebd8756e4c22b7509a92ff86a029060600160405180910390a450505062000c0960018055565b50505050565b62000c19620010ab565b80356a195c98cc8c17dd985d5b1d60aa1b62000c3c604084016020850162002005565b62000c4e606085016040860162002005565b6001600160a01b038216158062000c83575062000c6e84846000620007b5565b6001600160a01b0316826001600160a01b0316145b1562000ca25760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000cca576040516303f8a7d360e01b815260040160405180910390fd5b846060013560000362000cf057604051634299323b60e11b815260040160405180910390fd5b600062000d7b6040518061018001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b608081015162000db49062000d9760608a0160408b0162002005565b62000da960408b0160208c0162002005565b8a606001356200138c565b61014083019190915287356060830181905233608084015290925062000deb906a195c98cc8c17dd985d5b1d60aa1b6000620007b5565b6001600160a01b031660a080830191909152608088013561012083015262000e17908801353462002731565b60e08083019190915260a088013561010083015262000e3c90880160c0890162002005565b6001600160a01b031660c082015262000e5960e08801886200241c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000eac91506562726964676560d01b90508262000947565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000eda919062002753565b60206040518083038185885af115801562000ef9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000f20919062002402565b905062000f346040890160208a0162002005565b60808301516001600160a01b039182169116827f91462591aed3d13dcadac8ed73fdc175ec6e79b798ca205822e7ec33dc019e888b3562000f7c60608e0160408f0162002005565b604080519283526001600160a01b039091166020830152810188905260600160405180910390a450505050505050620007b260018055565b62000fbe62001030565b6001600160a01b038116620010255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000480565b620007b2816200121f565b6065546001600160a01b03163314620007e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000480565b62001096620019db565b620010a062001a0f565b620007b28162001a43565b600260015403620010ff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000480565b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526200115a90849062001a8d565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620011b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011dd919062002846565b905081158015620011f557506001600160a01b038116155b15620007c757604051631467050360e21b8152600481018590526024810184905260440162000480565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8035600090815260cb60209081526040808320918391620012989190860190860162002005565b6001600160a01b03908116825260208201929092526040016000205416905080620012cb57620012c88262001b66565b90505b919050565b801580620012e557506001600160a01b038216155b15620012ef575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200133e576040519150601f19603f3d011682016040523d82523d6000602084013e62001343565b606091505b50509050806200115a5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000480565b60606000620013cf6040518060a001604052806000815260200160006001600160a01b03168152602001600060ff16815260200160608152602001606081525090565b6001600160a01b038616600090815260c9602052604090205460ff161562001603576001600160a01b03868116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff169181019190915260028201805491929160608401919062001455906200268d565b80601f016020809104026020016040519081016040528092919081815260200182805462001483906200268d565b8015620014d45780601f10620014a857610100808354040283529160200191620014d4565b820191906000526020600020905b815481529060010190602001808311620014b657829003601f168201915b50505050508152602001600382018054620014ef906200268d565b80601f01602080910402602001604051908101604052809291908181526020018280546200151d906200268d565b80156200156e5780601f1062001542576101008083540402835291602001916200156e565b820191906000526020600020905b8154815290600101906020018083116200155057829003601f168201915b5050509190925250505060208101519091506001600160a01b031662001598576200159862002866565b604051632770a7eb60e21b8152336004820152602481018590526001600160a01b03871690639dc29fac90604401600060405180830381600087803b158015620015e157600080fd5b505af1158015620015f6573d6000803e3d6000fd5b505050508391506200197a565b60008690506040518060a00160405280468152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001667573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200168d91906200287c565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620016d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620016fe91908101906200289c565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001742573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200176c91908101906200289c565b905291506200178b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316876001600160a01b0316036200180f57604051632770a7eb60e21b8152336004820152602481018690526001600160a01b03881690639dc29fac90604401600060405180830381600087803b158015620017ed57600080fd5b505af115801562001802573d6000803e3d6000fd5b5050505084925062001978565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562001857573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187d919062002402565b6040516323b872dd60e01b8152336004820152306024820152604481018890529091506001600160a01b038316906323b872dd906064016020604051808303816000875af1158015620018d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018fa91906200291c565b506040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801562001942573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001968919062002402565b62001974919062002731565b9350505b505b6040516332c0f48f60e21b906200199c9083908a90899087906024016200293c565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529791965090945050505050565b600054610100900460ff1662001a055760405162461bcd60e51b81526004016200048090620029d9565b620007e462001e14565b600054610100900460ff1662001a395760405162461bcd60e51b81526004016200048090620029d9565b620007e462001e3e565b6001600160a01b03811662001a6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600062001ae4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662001e739092919063ffffffff16565b8051909150156200115a578080602001905181019062001b0591906200291c565b6200115a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000480565b60008060405162001b779062001fa8565b604051809103906000f08015801562001b94573d6000803e3d6000fd5b509050736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA6378adc0d68262001bc56065546001600160a01b031690565b609754636c0db62b60e01b906001600160a01b031662001bec60408a0160208b0162002005565b893562001c0060608c0160408d0162002a24565b62001c0f60608d018d6200241c565b62001c1e60808f018f6200241c565b60405160200162001c3798979695949392919062002a44565b60408051601f198184030181529082905262001c57929160200162002aa7565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001c869392919062002ada565b602060405180830381865af415801562001ca4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cca919062002846565b6001600160a01b038116600090815260c960209081526040808320805460ff1916600117905560ca9091529020909250839062001d08828262002c28565b50508235600090815260cb6020908152604080832085939092909162001d349190880190880162002005565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031683602001602081019062001d97919062002005565b6001600160a01b031684357fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907962001dd260608801886200241c565b62001de160808a018a6200241c565b62001df360608c0160408d0162002a24565b60405162001e0695949392919062002cbb565b60405180910390a450919050565b600054610100900460ff166200115f5760405162461bcd60e51b81526004016200048090620029d9565b600054610100900460ff1662001e685760405162461bcd60e51b81526004016200048090620029d9565b620007e4336200121f565b6060620007c4848460008585600080866001600160a01b0316858760405162001e9d919062002cfc565b60006040518083038185875af1925050503d806000811462001edc576040519150601f19603f3d011682016040523d82523d6000602084013e62001ee1565b606091505b509150915062001ef48783838762001f01565b925050505b949350505050565b6060831562001f7557825160000362001f6d576001600160a01b0385163b62001f6d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000480565b508162001ef9565b62001ef9838381511562001f8c5781518083602001fd5b8060405162461bcd60e51b815260040162000480919062002d1a565b61193c8062002d3083390190565b60006020828403121562001fc957600080fd5b81356001600160e01b031981168114620007c757600080fd5b6001600160a01b0381168114620007b257600080fd5b8035620012cb8162001fe2565b6000602082840312156200201857600080fd5b8135620007c78162001fe2565b6000602082840312156200203857600080fd5b813567ffffffffffffffff8111156200205057600080fd5b82016101808185031215620007c757600080fd5b600080604083850312156200207857600080fd5b8235915060208301356200208c8162001fe2565b809150509250929050565b8015158114620007b257600080fd5b600080600060608486031215620020bc57600080fd5b83359250602084013591506040840135620020d78162002097565b809150509250925092565b60005b83811015620020ff578181015183820152602001620020e5565b50506000910152565b6000815180845262002122816020860160208601620020e2565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906200216b9083018562002108565b82810360808401526200217f818562002108565b98975050505050505050565b600080604083850312156200219f57600080fd5b8235915060208301356200208c8162002097565b60008060008060808587031215620021ca57600080fd5b843567ffffffffffffffff811115620021e257600080fd5b850160a08188031215620021f557600080fd5b93506020850135620022078162001fe2565b92506040850135620022198162001fe2565b9396929550929360600135925050565b6000602082840312156200223c57600080fd5b813567ffffffffffffffff8111156200225457600080fd5b82016101008185031215620007c757600080fd5b6000808335601e198436030181126200228057600080fd5b830160208101925035905067ffffffffffffffff811115620022a157600080fd5b803603821315620022b157600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152813560208201526000620022fc6020840162001ff8565b6001600160a01b03811660408401525060408301356060830152606083013560808301526200232e6080840162001ff8565b6001600160a01b03811660a0840152506200234c60a0840162001ff8565b6001600160a01b03811660c0840152506200236a60c0840162001ff8565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250620023ad8185018562002268565b91506101806101608181870152620023cb6101a087018585620022b8565b9350620023db8188018862002268565b878603601f19018489015293509050620023f7848483620022b8565b979650505050505050565b6000602082840312156200241557600080fd5b5051919050565b6000808335601e198436030181126200243457600080fd5b83018035915067ffffffffffffffff8211156200245057600080fd5b602001915036819003821315620022b157600080fd5b600080858511156200247757600080fd5b838611156200248557600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715620024ce57620024ce62002492565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562002500576200250062002492565b604052919050565b60ff81168114620007b257600080fd5b600067ffffffffffffffff82111562002535576200253562002492565b50601f01601f191660200190565b600082601f8301126200255557600080fd5b81356200256c620025668262002518565b620024d4565b8181528460208386010111156200258257600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215620025b657600080fd5b843567ffffffffffffffff80821115620025cf57600080fd5b9086019060a08289031215620025e457600080fd5b620025ee620024a8565b823581526020830135620026028162001fe2565b60208201526040830135620026178162002508565b60408201526060830135828111156200262f57600080fd5b6200263d8a82860162002543565b6060830152506080830135828111156200265657600080fd5b620026648a82860162002543565b60808301525095506200267d9150506020860162001ff8565b9250620022196040860162001ff8565b600181811c90821680620026a257607f821691505b602082108103620026c357634e487b7160e01b600052602260045260246000fd5b50919050565b600060608284031215620026dc57600080fd5b6040516060810181811067ffffffffffffffff8211171562002702576200270262002492565b604052825181526020830151620027198162001fe2565b60208201526040928301519281019290925250919050565b818103818111156200095957634e487b7160e01b600052601160045260246000fd5b6020815281516020820152600060208301516200277b60408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151620027ab60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e08301516101008381019190915283015161012080840191909152830151610140808401919091528301516101806101608085018290526200281e6101a086018462002108565b90860151858203601f1901838701529092506200283c838262002108565b9695505050505050565b6000602082840312156200285957600080fd5b8151620007c78162001fe2565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156200288f57600080fd5b8151620007c78162002508565b600060208284031215620028af57600080fd5b815167ffffffffffffffff811115620028c757600080fd5b8201601f81018413620028d957600080fd5b8051620028ea620025668262002518565b8181528560208385010111156200290057600080fd5b62002913826020830160208601620020e2565b95945050505050565b6000602082840312156200292f57600080fd5b8151620007c78162002097565b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e08501526200298861012085018362002108565b91506080880151607f1985840301610100860152620029a8838262002108565b9188166020860152506001600160a01b03861660408501529150620029ca9050565b82606083015295945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121562002a3757600080fd5b8135620007c78162002508565b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c06080820181905260009062002a839083018688620022b8565b82810360a084015262002a98818587620022b8565b9b9a5050505050505050505050565b6001600160e01b031983168152815160009062002acc816004850160208701620020e2565b919091016004019392505050565b6001600160a01b03848116825283166020820152606060408201819052600090620029139083018462002108565b601f8211156200115a57600081815260208120601f850160051c8101602086101562002b315750805b601f850160051c820191505b8181101562002b525782815560010162002b3d565b505050505050565b67ffffffffffffffff83111562002b755762002b7562002492565b62002b8d8362002b8683546200268d565b8362002b08565b6000601f84116001811462002bc4576000851562002bab5750838201355b600019600387901b1c1916600186901b17835562002c21565b600083815260209020601f19861690835b8281101562002bf7578685013582556020948501946001909201910162002bd5565b508682101562002c155760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135815560018101602083013562002c408162001fe2565b8154604085013562002c528162002508565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b0319919091161717905562002c8a60608301836200241c565b62002c9a81836002860162002b5a565b505062002cab60808301836200241c565b62000c0981836003860162002b5a565b60608152600062002cd1606083018789620022b8565b828103602084015262002ce6818688620022b8565b91505060ff831660408301529695505050505050565b6000825162002d10818460208701620020e2565b9190910192915050565b6020815260006200095660208301846200210856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61184f806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b36600461130d565b61036c565b005b61017a6103e5565b604051610187919061134e565b60405180910390f35b6101a361019e366004611381565b61041f565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046113ad565b610439565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a3610231366004611381565b610479565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b610170610269366004611381565b61049b565b6101b760fc5481565b610170610285366004611491565b610525565b610243610298366004611550565b6106cb565b6101b76102ab36600461130d565b6001600160a01b0316600090815260c9602052604090205490565b6101706106d8565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a6106ec565b610170610308366004611381565b61077e565b6101a361031b366004611381565b6107ff565b61024361032e366004611585565b610885565b6101a3610341366004611381565b610892565b6101b76103543660046115b1565b6108c7565b61017061036736600461130d565b6108f2565b61037461096b565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606103ef6109c5565b6103fa60fc546109d4565b60405160200161040b9291906115ea565b604051602081830303815290604052905090565b60003361042d818585610a67565b60019150505b92915050565b6000306001600160a01b0384160361046457604051636cfe544760e01b815260040160405180910390fd5b61046f848484610b83565b90505b9392505050565b60003361042d81858561048c83836108c7565b6104969190611628565b610a67565b6a195c98cc8c17dd985d5b1d60aa1b6104b5816001610885565b6001600160a01b0316336001600160a01b0316146104e657604051630d85cccf60e11b815260040160405180910390fd5b6104f08383610b9c565b6040518281526001600160a01b038416906000906000805160206117fa833981519152906020015b60405180910390a3505050565b600054610100900460ff16158080156105455750600054600160ff909116105b8061055f5750303b15801561055f575060005460ff166001145b6105c75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105ea576000805461ff0019166101001790555b6001600160a01b03861615806105fe575084155b8061060857504685145b8061061257508251155b8061061c57508151155b1561063a57604051635d061ab760e11b815260040160405180910390fd5b61064387610c4c565b61064d8284610c65565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff861617905580156106c2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b600061046f848484610c96565b6106e061096b565b6106ea6000610d4a565b565b606060cd80546106fb90611649565b80601f016020809104026020016040519081016040528092919081815260200182805461072790611649565b80156107745780601f1061074957610100808354040283529160200191610774565b820191906000526020600020905b81548152906001019060200180831161075757829003601f168201915b5050505050905090565b6a195c98cc8c17dd985d5b1d60aa1b610798816001610885565b6001600160a01b0316336001600160a01b0316146107c957604051630d85cccf60e11b815260040160405180910390fd5b6107d38383610d9c565b6040518281526000906001600160a01b038516906000805160206117fa83398151915290602001610518565b6000338161080d82866108c7565b90508381101561086d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105be565b61087a8286868403610a67565b506001949350505050565b6000610472468484610c96565b6000306001600160a01b038416036108bd57604051636cfe544760e01b815260040160405180910390fd5b6104728383610ebb565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6108fa61096b565b6001600160a01b03811661095f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105be565b61096881610d4a565b50565b6065546001600160a01b031633146106ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105be565b606060cc80546106fb90611649565b606060006109e183610ec9565b600101905060008167ffffffffffffffff811115610a0157610a016113ee565b6040519080825280601f01601f191660200182016040528015610a2b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a3557509392505050565b6001600160a01b038316610ac95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105be565b6001600160a01b038216610b2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105be565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610518565b600033610b91858285610fa1565b61087a85858561101b565b6001600160a01b038216610bf25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105be565b8060cb6000828254610c049190611628565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481526000805160206117fa833981519152910160405180910390a35b5050565b610c546111b4565b610c5c6111e3565b61096881611212565b600054610100900460ff16610c8c5760405162461bcd60e51b81526004016105be90611683565b610c48828261125b565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0b91906116ce565b905081158015610d2257506001600160a01b038116155b1561047257604051631467050360e21b815260048101859052602481018490526044016105be565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610dfc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105be565b6001600160a01b038216600090815260c9602052604090205481811015610e705760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105be565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192916000805160206117fa8339815191529101610518565b505050565b60003361042d81858561101b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f085772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f34576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f5257662386f26fc10000830492506010015b6305f5e1008310610f6a576305f5e100830492506008015b6127108310610f7e57612710830492506004015b60648310610f90576064830492506002015b600a83106104335760010192915050565b6000610fad84846108c7565b9050600019811461101557818110156110085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105be565b6110158484848403610a67565b50505050565b6001600160a01b03831661107f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105be565b6001600160a01b0382166110e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105be565b6001600160a01b038316600090815260c96020526040902054818110156111595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105be565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591516000805160206117fa833981519152906111a79086815260200190565b60405180910390a3611015565b600054610100900460ff166111db5760405162461bcd60e51b81526004016105be90611683565b6106ea61129b565b600054610100900460ff1661120a5760405162461bcd60e51b81526004016105be90611683565b6106ea6112c8565b6001600160a01b03811661123957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166112825760405162461bcd60e51b81526004016105be90611683565b60cc61128e8382611739565b5060cd610eb68282611739565b600054610100900460ff166112c25760405162461bcd60e51b81526004016105be90611683565b60018055565b600054610100900460ff166112ef5760405162461bcd60e51b81526004016105be90611683565b6106ea33610d4a565b6001600160a01b038116811461096857600080fd5b60006020828403121561131f57600080fd5b8135610472816112f8565b60005b8381101561134557818101518382015260200161132d565b50506000910152565b602081526000825180602084015261136d81604085016020870161132a565b601f01601f19169190910160400192915050565b6000806040838503121561139457600080fd5b823561139f816112f8565b946020939093013593505050565b6000806000606084860312156113c257600080fd5b83356113cd816112f8565b925060208401356113dd816112f8565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261141557600080fd5b813567ffffffffffffffff80821115611430576114306113ee565b604051601f8301601f19908116603f01168101908282118183101715611458576114586113ee565b8160405283815286602085880101111561147157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156114aa57600080fd5b86356114b5816112f8565b955060208701356114c5816112f8565b945060408701359350606087013560ff811681146114e257600080fd5b9250608087013567ffffffffffffffff808211156114ff57600080fd5b61150b8a838b01611404565b935060a089013591508082111561152157600080fd5b5061152e89828a01611404565b9150509295509295509295565b8035801515811461154b57600080fd5b919050565b60008060006060848603121561156557600080fd5b833592506020840135915061157c6040850161153b565b90509250925092565b6000806040838503121561159857600080fd5b823591506115a86020840161153b565b90509250929050565b600080604083850312156115c457600080fd5b82356115cf816112f8565b915060208301356115df816112f8565b809150509250929050565b600083516115fc81846020880161132a565b6241c55b60e71b908301908152835161161c81600484016020880161132a565b01600401949350505050565b8082018082111561043357634e487b7160e01b600052601160045260246000fd5b600181811c9082168061165d57607f821691505b60208210810361167d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156116e057600080fd5b8151610472816112f8565b601f821115610eb657600081815260208120601f850160051c810160208610156117125750805b601f850160051c820191505b818110156117315782815560010161171e565b505050505050565b815167ffffffffffffffff811115611753576117536113ee565b611767816117618454611649565b846116eb565b602080601f83116001811461179c57600084156117845750858301515b600019600386901b1c1916600185901b178555611731565b600085815260208120601f198616915b828110156117cb578886015182559484019460019091019084016117ac565b50858210156117e95787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122047acde6ba7febf1974be89ad4e7d142e0506798503202cde047ca400b261829864736f6c63430008140033a26469706673582212207ae53e1c43f34f7c9484655d320d49ab4fbe8cbb2e72a68279fbae7006b09b4964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "ERC20VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000008": { + "contractName": "ProxiedERC721Vault", + "storage": {}, + "code": "0x6080604052600436106200011f5760003560e01c80636c6563f611620000a15780639aa8605c116200006c5780639aa8605c1462000342578063a86f9d9e1462000379578063a9976baf146200039e578063c287e57814620003b5578063f2fde38b14620003e957600080fd5b80636c6563f614620002ce578063715018a614620002f357806373339643146200030b5780638da5cb5b146200032257600080fd5b80632ca069a511620000ee5780632ca069a5146200020457806332a642ca14620002215780633ab76e9f146200023857806359f4a907146200026c57806367090ccf146200028957600080fd5b806301ffc9a714620001245780630652b57a146200016e578063150b7a02146200019557806319ab453c14620001df575b600080fd5b3480156200013157600080fd5b50620001596200014336600462001fda565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200017b57600080fd5b50620001936200018d36600462002029565b6200040e565b005b348015620001a257600080fd5b50620001c5620001b436600462002049565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200162000165565b348015620001ec57600080fd5b5062000193620001fe36600462002029565b6200048a565b3480156200021157600080fd5b50620001c5636cdb3d1360e11b81565b6200019362000232366004620020f0565b620005aa565b3480156200024557600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000165565b3480156200027957600080fd5b50620001c56380ac58cd60e01b81565b3480156200029657600080fd5b5062000253620002a83660046200212e565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002db57600080fd5b5062000253620002ed36600462002170565b620009cd565b3480156200030057600080fd5b5062000193620009e6565b620001936200031c366004620021ac565b620009fe565b3480156200032f57600080fd5b506065546001600160a01b031662000253565b3480156200034f57600080fd5b50620003676200036136600462002029565b62000eaa565b6040516200016594939291906200223e565b3480156200038657600080fd5b50620002536200039836600462002289565b62000ffd565b62000193620003af36600462002377565b62001015565b348015620003c257600080fd5b5062000159620003d436600462002029565b60c96020526000908152604090205460ff1681565b348015620003f657600080fd5b50620001936200040836600462002029565b62001336565b62000418620013b2565b6001600160a01b0381166200044057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004ab5750600054600160ff909116105b80620004c75750303b158015620004c7575060005460ff166001145b620005305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000554576000805461ff0019166101001790555b6200055f826200140e565b8015620005a6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b620005b46200142d565b6562726964676560d01b620005cb81600162000ffd565b6001600160a01b0316336001600160a01b031614620005fd57604051630d85cccf60e11b815260040160405180910390fd5b60006200061160a084016080850162002029565b6001600160a01b031603620006395760405163016a294f60e41b815260040160405180910390fd5b468260400135146200065e57604051630a15fbb960e01b815260040160405180910390fd5b6000806200067161014085018562002415565b6200068191600490829062002465565b810190620006909190620025cc565b9350505091506000736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA632c6a56af86620006c96562726964676560d01b600062000ffd565b86602001516040518463ffffffff1660e01b8152600401620006ee939291906200268e565b602060405180830381865af41580156200070c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007329190620027e8565b6020808501516001600160a01b0316600090815260c9909152604090205490915060ff1615620008245760005b82518110156200081d5760208401516001600160a01b03166340c10f196200078e60a0890160808a0162002029565b858481518110620007a357620007a362002802565b60200260200101516040518363ffffffff1660e01b8152600401620007dd9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015620007f857600080fd5b505af11580156200080d573d6000803e3d6000fd5b505050508060010190506200075f565b50620008ee565b60005b8251811015620008ec5760208401516001600160a01b03166342842e0e306200085760a08a0160808b0162002029565b8685815181106200086c576200086c62002802565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620008c757600080fd5b505af1158015620008dc573d6000803e3d6000fd5b5050505080600101905062000827565b505b6200091960e08601356200090960a088016080890162002029565b6001600160a01b03169062001488565b6200092b60a086016080870162002029565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd85602001518560006001600160401b03811115620009785762000978620022b1565b604051908082528060200260200182016040528015620009a2578160200160208202803683370190505b50604051620009b49392919062002855565b60405180910390a350505050620009ca60018055565b50565b6000620009dc8484846200154f565b90505b9392505050565b620009f0620013b2565b620009fc600062001609565b565b62000a086200142d565b736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA63c0619cc262000a31608084018462002899565b62000a40606086018662002899565b60016040518663ffffffff1660e01b815260040162000a6495949392919062002918565b60006040518083038186803b15801562000a7d57600080fd5b505af415801562000a92573d6000803e3d6000fd5b50505050736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA6393522e3e62000ad183600001356b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b62000ae3604085016020860162002029565b62000af5606086016040870162002029565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160006040518083038186803b15801562000b4557600080fd5b505af415801562000b5a573d6000803e3d6000fd5b5062000b8f92506380ac58cd60e01b915062000b7f9050606084016040850162002029565b6001600160a01b0316906200165b565b62000bad57604051633ee915f560e11b815260040160405180910390fd5b600062000bbe608083018362002899565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000c0492505050606084016040850162002029565b9050600062000c17606085018562002899565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525060408051610180810182528281526020810183905290810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810182905261016081019190915293945062000cb292505050565b8435606082015262000cc53386620016d8565b610140820152336080820152606081015162000cf3906b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b6001600160a01b031660a08083019190915285013561012082015262000d1e60c08601353462002958565b60e08083019190915260c08601356101008084019190915262000d479190870190870162002029565b6001600160a01b031660c082015262000d6561010086018662002415565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000db891506562726964676560d01b90508262000ffd565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000de691906200297a565b60206040518083038185885af115801562000e05573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000e2c9190620027e8565b905062000e40604087016020880162002029565b6001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b60405162000e93949392919062002a63565b60405180910390a45050505050620009ca60018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b039092169262000ede9062002aa3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f0c9062002aa3565b801562000f5d5780601f1062000f315761010080835404028352916020019162000f5d565b820191906000526020600020905b81548152906001019060200180831162000f3f57829003601f168201915b50505050509080600301805462000f749062002aa3565b80601f016020809104026020016040519081016040528092919081815260200182805462000fa29062002aa3565b801562000ff35780601f1062000fc75761010080835404028352916020019162000ff3565b820191906000526020600020905b81548152906001019060200180831162000fd557829003601f168201915b5050505050905084565b60006200100c4684846200154f565b90505b92915050565b6200101f6200142d565b6562726964676560d01b6200103681600162000ffd565b6001600160a01b0316336001600160a01b0316146200106857604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526b195c98cdcc8c57dd985d5b1d60a21b6004820152306024820152600090736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA9063881107d990604401606060405180830381865af4158015620010d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f6919062002adf565b9050600046873503620011d15762001115604088016020890162002029565b905060005b8451811015620011ca57816001600160a01b03166323b872dd30888885815181106200114a576200114a62002802565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620011a557600080fd5b505af1158015620011ba573d6000803e3d6000fd5b505050508060010190506200111a565b506200128c565b620011dc8762001c07565b905060005b84518110156200128a57816001600160a01b03166340c10f198787848151811062001210576200121062002802565b60200260200101516040518363ffffffff1660e01b81526004016200124a9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200126557600080fd5b505af11580156200127a573d6000803e3d6000fd5b50505050806001019050620011e1565b505b620012a16001600160a01b0386163462001488565b815160408301516001600160a01b0380881692908916917f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b1908589600060405190808252806020026020018201604052801562001308578160200160208202803683370190505b506040516200131b949392919062002a63565b60405180910390a45050506200133060018055565b50505050565b62001340620013b2565b6001600160a01b038116620013a75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000527565b620009ca8162001609565b6065546001600160a01b03163314620009fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000527565b6200141862001c70565b6200142262001ca4565b620009ca8162001cd8565b600260015403620014815760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000527565b6002600155565b8015806200149d57506001600160a01b038216155b15620014a7575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620014f6576040519150601f19603f3d011682016040523d82523d6000602084013e620014fb565b606091505b5050905080620015445760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000527565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620015a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015c7919062002b46565b905081158015620015df57506001600160a01b038116155b15620009df57604051631467050360e21b8152600481018590526024810184905260440162000527565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015620016cb575060408051601f3d908101601f19168201909252620016c89181019062002b66565b60015b156200100f579392505050565b6040805160808101825260008082526020820152606091810182905280820182905260c9600062001710606086016040870162002029565b6001600160a01b0316815260208101919091526040016000205460ff1615620019985760ca600062001749606086016040870162002029565b6001600160a01b0390811682526020808301939093526040918201600020825160808101845281548152600182015490921693820193909352600283018054919392840191620017999062002aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054620017c79062002aa3565b8015620018185780601f10620017ec5761010080835404028352916020019162001818565b820191906000526020600020905b815481529060010190602001808311620017fa57829003601f168201915b50505050508152602001600382018054620018339062002aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054620018619062002aa3565b8015620018b25780601f106200188657610100808354040283529160200191620018b2565b820191906000526020600020905b8154815290600101906020018083116200189457829003601f168201915b505050505081525050905060005b620018cf606085018562002899565b90508110156200199157620018eb606085016040860162002029565b6001600160a01b0316639dc29fac8662001909606088018862002899565b858181106200191c576200191c62002802565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526020029190910135602483015250604401600060405180830381600087803b1580156200196c57600080fd5b505af115801562001981573d6000803e3d6000fd5b50505050806001019050620018c0565b5062001b8c565b6000620019ac606085016040860162002029565b90506040518060800160405280468152602001856040016020810190620019d4919062002029565b6001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001a4b919081019062002b86565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ab9919081019062002b86565b9052915060005b62001acf606086018662002899565b905081101562001b89576001600160a01b0382166323b872dd873062001af960608a018a62002899565b8681811062001b0c5762001b0c62002802565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801562001b6457600080fd5b505af115801562001b79573d6000803e3d6000fd5b5050505080600101905062001ac0565b50505b63a9976baf60e01b818562001ba8604087016020880162002029565b62001bb7606088018862002899565b60405160240162001bcd95949392919062002c05565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b8035600090815260cb6020908152604080832091839162001c2e9190860190860162002029565b6001600160a01b0390811682526020820192909252604001600020541690508062001c6b5762001c6862001c628362002c99565b62001d22565b90505b919050565b600054610100900460ff1662001c9a5760405162461bcd60e51b8152600401620005279062002ca7565b620009fc62001f6d565b600054610100900460ff1662001cce5760405162461bcd60e51b8152600401620005279062002ca7565b620009fc62001f97565b6001600160a01b03811662001d0057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060405162001d339062001fcc565b604051809103906000f08015801562001d50573d6000803e3d6000fd5b509050736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA6378adc0d68262001d816065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001dbd966001600160a01b03909116959493910162002cf2565b60408051601f198184030181529082905262001ddd929160200162002d3b565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001e0c9392919062002d6e565b602060405180830381865af415801562001e2a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e50919062002b46565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001ebe908262002dee565b506060820151600382019062001ed5908262002dee565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001f5f929162002eba565b60405180910390a450919050565b600054610100900460ff16620015495760405162461bcd60e51b8152600401620005279062002ca7565b600054610100900460ff1662001fc15760405162461bcd60e51b8152600401620005279062002ca7565b620009fc3362001609565b611f558062002ee483390190565b60006020828403121562001fed57600080fd5b81356001600160e01b0319811681146200100c57600080fd5b6001600160a01b0381168114620009ca57600080fd5b803562001c6b8162002006565b6000602082840312156200203c57600080fd5b81356200100c8162002006565b6000806000806000608086880312156200206257600080fd5b85356200206f8162002006565b94506020860135620020818162002006565b93506040860135925060608601356001600160401b0380821115620020a557600080fd5b818801915088601f830112620020ba57600080fd5b813581811115620020ca57600080fd5b896020828501011115620020dd57600080fd5b9699959850939650602001949392505050565b6000602082840312156200210357600080fd5b81356001600160401b038111156200211a57600080fd5b820161018081850312156200100c57600080fd5b600080604083850312156200214257600080fd5b823591506020830135620021568162002006565b809150509250929050565b8015158114620009ca57600080fd5b6000806000606084860312156200218657600080fd5b83359250602084013591506040840135620021a18162002161565b809150509250925092565b600060208284031215620021bf57600080fd5b81356001600160401b03811115620021d657600080fd5b820161012081850312156200100c57600080fd5b60005b8381101562002207578181015183820152602001620021ed565b50506000910152565b600081518084526200222a816020860160208601620021ea565b601f01601f19169290920160200192915050565b8481526001600160a01b03841660208201526080604082018190526000906200226a9083018562002210565b82810360608401526200227e818562002210565b979650505050505050565b600080604083850312156200229d57600080fd5b823591506020830135620021568162002161565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620022f257620022f2620022b1565b604052919050565b600082601f8301126200230c57600080fd5b813560206001600160401b038211156200232a576200232a620022b1565b8160051b6200233b828201620022c7565b92835284810182019282810190878511156200235657600080fd5b83870192505b848310156200227e578235825291830191908301906200235c565b600080600080608085870312156200238e57600080fd5b84356001600160401b0380821115620023a657600080fd5b9086019060808289031215620023bb57600080fd5b909450602086013590620023cf8262002006565b909350604086013590620023e38262002006565b90925060608601359080821115620023fa57600080fd5b506200240987828801620022fa565b91505092959194509250565b6000808335601e198436030181126200242d57600080fd5b8301803591506001600160401b038211156200244857600080fd5b6020019150368190038213156200245e57600080fd5b9250929050565b600080858511156200247657600080fd5b838611156200248457600080fd5b5050820193919092039150565b60006001600160401b03821115620024ad57620024ad620022b1565b50601f01601f191660200190565b600082601f830112620024cd57600080fd5b8135620024e4620024de8262002491565b620022c7565b818152846020838601011115620024fa57600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082840312156200252a57600080fd5b604051608081016001600160401b038282108183111715620025505762002550620022b1565b8160405282935084358352602085013591506200256d8262002006565b81602084015260408501359150808211156200258857600080fd5b6200259686838701620024bb565b60408401526060850135915080821115620025b057600080fd5b50620025bf85828601620024bb565b6060830152505092915050565b60008060008060808587031215620025e357600080fd5b84356001600160401b0380821115620025fb57600080fd5b620026098883890162002517565b955060208701359150620023cf8262002006565b6000808335601e198436030181126200263557600080fd5b83016020810192503590506001600160401b038111156200265557600080fd5b8036038213156200245e57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152833560608201526000620026a9602086016200201c565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620026db608086016200201c565b6001600160a01b031660e0830152620026f760a086016200201c565b6101006200270f818501836001600160a01b03169052565b6200271d60c088016200201c565b915061012062002737818601846001600160a01b03169052565b610140925060e0880135838601526101608289013581870152610180925081890135838701526200276b848a018a6200261d565b94509150826101a0870152620027876101e08701858462002665565b935062002797818a018a6200261d565b9350915050605f19858403016101c0860152620027b683838362002665565b9350505050620027d160208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b600060208284031215620027fb57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156200284a578151875295820195908201906001016200282c565b509495945050505050565b6001600160a01b03841681526060602082018190526000906200287b9083018562002818565b82810360408401526200288f818562002818565b9695505050505050565b6000808335601e19843603018112620028b157600080fd5b8301803591506001600160401b03821115620028cc57600080fd5b6020019150600581901b36038213156200245e57600080fd5b81835260006001600160fb1b03831115620028ff57600080fd5b8260051b80836020870137939093016020019392505050565b6060815260006200292e606083018789620028e5565b828103602084015262002943818688620028e5565b91505082151560408301529695505050505050565b818103818111156200100f57634e487b7160e01b600052601160045260246000fd5b602081528151602082015260006020830151620029a260408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151620029d260a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002a456101a086018462002210565b90860151858203601f1901838701529092506200288f838262002210565b8481526001600160a01b038416602082015260806040820181905260009062002a8f9083018562002818565b82810360608401526200227e818562002818565b600181811c9082168062002ab857607f821691505b60208210810362002ad957634e487b7160e01b600052602260045260246000fd5b50919050565b60006060828403121562002af257600080fd5b604051606081018181106001600160401b038211171562002b175762002b17620022b1565b60405282518152602083015162002b2e8162002006565b60208201526040928301519281019290925250919050565b60006020828403121562002b5957600080fd5b81516200100c8162002006565b60006020828403121562002b7957600080fd5b81516200100c8162002161565b60006020828403121562002b9957600080fd5b81516001600160401b0381111562002bb057600080fd5b8201601f8101841362002bc257600080fd5b805162002bd3620024de8262002491565b81815285602083850101111562002be957600080fd5b62002bfc826020830160208601620021ea565b95945050505050565b608080825286518282015260208701516001600160a01b0390811660a0840152604088015160c08401929092526000919062002c4661010085018362002210565b91506060890151607f198584030160e086015262002c65838262002210565b89831660208701529188166040860152508381036060850152905062002c8d818587620028e5565b98975050505050505050565b600062001c68368362002517565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002d279083018562002210565b828103608084015262002c8d818562002210565b6001600160e01b031983168152815160009062002d60816004850160208701620021ea565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002bfc9083018462002210565b601f8211156200154457600081815260208120601f850160051c8101602086101562002dc55750805b601f850160051c820191505b8181101562002de65782815560010162002dd1565b505050505050565b81516001600160401b0381111562002e0a5762002e0a620022b1565b62002e228162002e1b845462002aa3565b8462002d9c565b602080601f83116001811462002e5a576000841562002e415750858301515b600019600386901b1c1916600185901b17855562002de6565b600085815260208120601f198616915b8281101562002e8b5788860151825594840194600190910190840162002e6a565b508582101562002eaa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062002ecf604083018562002210565b828103602084015262002bfc81856200221056fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611e68806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610377578063d1399b1a14610398578063e985e9c5146103ab578063f2fde38b146103e857600080fd5b8063a22cb4651461033e578063a86f9d9e14610351578063b88d4fde1461036457600080fd5b806370a08231146102e3578063715018a6146102f65780637cf8ed0d146102fe5780638da5cb5b1461031257806395d89b41146103235780639dc29fac1461032b57600080fd5b80633ab76e9f1161014b57806349d126051161012557806349d126051461026d5780636352211e1461028557806367e828bf146102985780636c6563f6146102d057600080fd5b80633ab76e9f1461023657806340c10f191461024757806342842e0e1461025a57600080fd5b806301ffc9a7146101935780630652b57a146101bb57806306fdde03146101d0578063081812fc146101e5578063095ea7b31461021057806323b872dd14610223575b600080fd5b6101a66101a136600461171c565b6103fb565b60405190151581526020015b60405180910390f35b6101ce6101c936600461174e565b61044d565b005b6101d86104c6565b6040516101b291906117bb565b6101f86101f33660046117ce565b610501565b6040516001600160a01b0390911681526020016101b2565b6101ce61021e3660046117e7565b610528565b6101ce610231366004611813565b610642565b6097546001600160a01b03166101f8565b6101ce6102553660046117e7565b610676565b6101ce610268366004611813565b6106f7565b61027761012e5481565b6040519081526020016101b2565b6101f86102933660046117ce565b610712565b6102b161012d5461012e546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016101b2565b6101f86102de366004611869565b610772565b6102776102f136600461174e565b610789565b6101ce61080f565b61012d546101f8906001600160a01b031681565b6065546001600160a01b03166101f8565b6101d8610823565b6101ce6103393660046117e7565b6108b5565b6101ce61034c36600461189e565b61096f565b6101f861035f3660046118d3565b61097e565b6101ce610372366004611982565b61098b565b6101d86103853660046117ce565b5060408051602081019091526000815290565b6101ce6103a6366004611a22565b6109c3565b6101a66103b9366004611ab5565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b6101ce6103f636600461174e565b610b56565b60006001600160e01b031982166380ac58cd60e01b148061042c57506001600160e01b03198216635b5e139f60e01b145b8061044757506301ffc9a760e01b6001600160e01b03198316145b92915050565b610455610bcf565b6001600160a01b03811661047c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606104d0610c29565b6104dc61012e54610c38565b6040516020016104ed929190611aee565b604051602081830303815290604052905090565b600061050c82610ccb565b50600090815260ff60205260409020546001600160a01b031690565b600061053382610712565b9050806001600160a01b0316836001600160a01b0316036105a55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105c157506105c181336103b9565b6106335760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161059c565b61063d8383610d2a565b505050565b306001600160a01b0383160361066b57604051636cfe544760e01b815260040160405180910390fd5b61063d838383610d98565b6b195c98cdcc8c57dd985d5b1d60a21b61069181600161097e565b6001600160a01b0316336001600160a01b0316146106c257604051630d85cccf60e11b815260040160405180910390fd5b6106cc8383610dc9565b60405182906001600160a01b03851690600090600080516020611e13833981519152908290a4505050565b61063d8383836040518060200160405280600081525061098b565b600081815260fd60205260408120546001600160a01b0316806104475760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600061077f848484610f42565b90505b9392505050565b60006001600160a01b0382166107f35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161059c565b506001600160a01b0316600090815260fe602052604090205490565b610817610bcf565b6108216000610ff6565b565b606060fc805461083290611b2c565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611b2c565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6b195c98cdcc8c57dd985d5b1d60a21b6108d081600161097e565b6001600160a01b0316336001600160a01b03161461090157604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b031661091483610712565b6001600160a01b03161461093b576040516302dca79760e41b815260040160405180910390fd5b61094482611048565b60405182906000906001600160a01b03861690600080516020611e13833981519152908390a4505050565b61097a3383836110cb565b5050565b6000610782468484610f42565b610995338361119a565b6109b15760405162461bcd60e51b815260040161059c90611b66565b6109bd8484848461121a565b50505050565b600054610100900460ff16158080156109e35750600054600160ff909116105b806109fd5750303b1580156109fd575060005460ff166001145b610a605760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161059c565b6000805460ff191660011790558015610a83576000805461ff0019166101001790555b6001600160a01b0385161580610a97575083155b80610aa157504684145b80610aab57508251155b80610ab557508151155b15610ad357604051635d061ab760e11b815260040160405180910390fd5b610adc8661124d565b610ae68284611266565b61012d80546001600160a01b0319166001600160a01b03871617905561012e8490558015610b4e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610b5e610bcf565b6001600160a01b038116610bc35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059c565b610bcc81610ff6565b50565b6065546001600160a01b031633146108215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059c565b606060fb805461083290611b2c565b60606000610c4583611297565b600101905060008167ffffffffffffffff811115610c6557610c656118f6565b6040519080825280601f01601f191660200182016040528015610c8f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c9957509392505050565b600081815260fd60205260409020546001600160a01b0316610bcc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d5f82610712565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610da2338261119a565b610dbe5760405162461bcd60e51b815260040161059c90611b66565b61063d83838361136f565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610e845760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610ee95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b6001600160a01b038216600081815260fe602090815260408083208054600101905584835260fd90915280822080546001600160a01b031916841790555183929190600080516020611e13833981519152908290a45050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190611bb3565b905081158015610fce57506001600160a01b038116155b1561078257604051631467050360e21b8152600481018590526024810184905260440161059c565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061105382610712565b905061105e82610712565b600083815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b03851680855260fe8452828520805460001901905587855260fd90935281842080549091169055519293508492600080516020611e13833981519152908390a45050565b816001600160a01b0316836001600160a01b03160361112c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161059c565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806111a683610712565b9050806001600160a01b0316846001600160a01b031614806111ee57506001600160a01b038082166000908152610100602090815260408083209388168352929052205460ff165b806112125750836001600160a01b031661120784610501565b6001600160a01b0316145b949350505050565b61122584848461136f565b611231848484846114c1565b6109bd5760405162461bcd60e51b815260040161059c90611bd0565b6112556115c2565b61125d6115f1565b610bcc81611620565b600054610100900460ff1661128d5760405162461bcd60e51b815260040161059c90611c22565b61097a8282611669565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106112d65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611302576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061132057662386f26fc10000830492506010015b6305f5e1008310611338576305f5e100830492506008015b612710831061134c57612710830492506004015b6064831061135e576064830492506002015b600a83106104475760010192915050565b826001600160a01b031661138282610712565b6001600160a01b0316146113a85760405162461bcd60e51b815260040161059c90611c6d565b6001600160a01b03821661140a5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b826001600160a01b031661141d82610712565b6001600160a01b0316146114435760405162461bcd60e51b815260040161059c90611c6d565b600081815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260fe855283862080546000190190559087168086528386208054600101905586865260fd9094528285208054909216841790915590518493600080516020611e1383398151915291a4505050565b60006001600160a01b0384163b156115b757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611505903390899088908890600401611cb2565b6020604051808303816000875af1925050508015611540575060408051601f3d908101601f1916820190925261153d91810190611cef565b60015b61159d573d80801561156e576040519150601f19603f3d011682016040523d82523d6000602084013e611573565b606091505b5080516000036115955760405162461bcd60e51b815260040161059c90611bd0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611212565b506001949350505050565b600054610100900460ff166115e95760405162461bcd60e51b815260040161059c90611c22565b6108216116a9565b600054610100900460ff166116185760405162461bcd60e51b815260040161059c90611c22565b6108216116d6565b6001600160a01b03811661164757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166116905760405162461bcd60e51b815260040161059c90611c22565b60fb61169c8382611d52565b5060fc61063d8282611d52565b600054610100900460ff166116d05760405162461bcd60e51b815260040161059c90611c22565b60018055565b600054610100900460ff166116fd5760405162461bcd60e51b815260040161059c90611c22565b61082133610ff6565b6001600160e01b031981168114610bcc57600080fd5b60006020828403121561172e57600080fd5b813561078281611706565b6001600160a01b0381168114610bcc57600080fd5b60006020828403121561176057600080fd5b813561078281611739565b60005b8381101561178657818101518382015260200161176e565b50506000910152565b600081518084526117a781602086016020860161176b565b601f01601f19169290920160200192915050565b602081526000610782602083018461178f565b6000602082840312156117e057600080fd5b5035919050565b600080604083850312156117fa57600080fd5b823561180581611739565b946020939093013593505050565b60008060006060848603121561182857600080fd5b833561183381611739565b9250602084013561184381611739565b929592945050506040919091013590565b8035801515811461186457600080fd5b919050565b60008060006060848603121561187e57600080fd5b833592506020840135915061189560408501611854565b90509250925092565b600080604083850312156118b157600080fd5b82356118bc81611739565b91506118ca60208401611854565b90509250929050565b600080604083850312156118e657600080fd5b823591506118ca60208401611854565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611927576119276118f6565b604051601f8501601f19908116603f0116810190828211818310171561194f5761194f6118f6565b8160405280935085815286868601111561196857600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561199857600080fd5b84356119a381611739565b935060208501356119b381611739565b925060408501359150606085013567ffffffffffffffff8111156119d657600080fd5b8501601f810187136119e757600080fd5b6119f68782356020840161190c565b91505092959194509250565b600082601f830112611a1357600080fd5b6107828383356020850161190c565b600080600080600060a08688031215611a3a57600080fd5b8535611a4581611739565b94506020860135611a5581611739565b935060408601359250606086013567ffffffffffffffff80821115611a7957600080fd5b611a8589838a01611a02565b93506080880135915080821115611a9b57600080fd5b50611aa888828901611a02565b9150509295509295909350565b60008060408385031215611ac857600080fd5b8235611ad381611739565b91506020830135611ae381611739565b809150509250929050565b60008351611b0081846020880161176b565b6241c55b60e71b9083019081528351611b2081600484016020880161176b565b01600401949350505050565b600181811c90821680611b4057607f821691505b602082108103611b6057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215611bc557600080fd5b815161078281611739565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ce59083018461178f565b9695505050505050565b600060208284031215611d0157600080fd5b815161078281611706565b601f82111561063d57600081815260208120601f850160051c81016020861015611d335750805b601f850160051c820191505b81811015610b4e57828155600101611d3f565b815167ffffffffffffffff811115611d6c57611d6c6118f6565b611d8081611d7a8454611b2c565b84611d0c565b602080601f831160018114611db55760008415611d9d5750858301515b600019600386901b1c1916600185901b178555610b4e565b600085815260208120601f198616915b82811015611de457888601518255948401946001909101908401611dc5565b5085821015611e025787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122042a105c46fde38f092417f69e38fe24753cadb7bf35bfc7329ea474ccd79239d64736f6c63430008140033a2646970667358221220ec64a175990355331b315a49ec2630b7d05f705096678cd5eb54ff91bcf0886b64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000008": { + "contractName": "ERC721VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000008" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000009": { + "contractName": "ProxiedERC1155Vault", + "storage": {}, + "code": "0x6080604052600436106200012b5760003560e01c80636c6563f611620000ad578063a86f9d9e116200006c578063a86f9d9e146200035c578063bc197c811462000381578063c287e57814620003b4578063f23a6e6114620003e8578063f2fde38b146200041957600080fd5b80636c6563f614620002b1578063715018a614620002d65780637333964314620002ee5780638da5cb5b14620003055780639aa8605c146200032557600080fd5b80632ca069a511620000fa5780632ca069a514620001cd57806332a642ca14620002045780633ab76e9f146200021b57806359f4a907146200024f57806367090ccf146200026c57600080fd5b806301ffc9a714620001305780630652b57a146200016a57806319ab453c146200019157806320b8155914620001b6575b600080fd5b3480156200013d57600080fd5b50620001556200014f36600462001e97565b6200043e565b60405190151581526020015b60405180910390f35b3480156200017757600080fd5b506200018f6200018936600462001ee6565b62000488565b005b3480156200019e57600080fd5b506200018f620001b036600462001ee6565b62000504565b6200018f620001c736600462002003565b62000624565b348015620001da57600080fd5b50620001ea636cdb3d1360e11b81565b6040516001600160e01b0319909116815260200162000161565b6200018f62000215366004620020c9565b62000953565b3480156200022857600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000161565b3480156200025c57600080fd5b50620001ea6380ac58cd60e01b81565b3480156200027957600080fd5b50620002366200028b36600462002107565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002be57600080fd5b5062000236620002d036600462002149565b62000cfb565b348015620002e357600080fd5b506200018f62000d14565b6200018f620002ff3660046200220b565b62000d2c565b3480156200031257600080fd5b506065546001600160a01b031662000236565b3480156200033257600080fd5b506200034a6200034436600462001ee6565b620010a7565b6040516200016194939291906200237d565b3480156200036957600080fd5b50620002366200037b366004620023bd565b620011fa565b3480156200038e57600080fd5b50620001ea620003a036600462002477565b63bc197c8160e01b98975050505050505050565b348015620003c157600080fd5b5062000155620003d336600462001ee6565b60c96020526000908152604090205460ff1681565b348015620003f557600080fd5b50620001ea6200040736600462002543565b63f23a6e6160e01b9695505050505050565b3480156200042657600080fd5b506200018f6200043836600462001ee6565b62001209565b60006001600160e01b031982166301ffc9a760e01b14806200047057506001600160e01b03198216631953216560e11b145b80620004825750620004828262001285565b92915050565b62000492620012bc565b6001600160a01b038116620004ba57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620005255750600054600160ff909116105b80620005415750303b15801562000541575060005460ff166001145b620005aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620005ce576000805461ff0019166101001790555b620005d98262001318565b801562000620576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200062e62001337565b6562726964676560d01b62000645816001620011fa565b6001600160a01b0316336001600160a01b0316146200067757604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526c195c98cc4c4d4d57dd985d5b1d609a1b6004820152306024820152600090736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA9063881107d990604401606060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620025c6565b9050600046883503620007e757620007256040890160208a0162001ee6565b905060005b8551811015620007e057816001600160a01b031663f242432a30898985815181106200075a576200075a6200262d565b60200260200101518986815181106200077757620007776200262d565b60200260200101516040518563ffffffff1660e01b8152600401620007a0949392919062002643565b600060405180830381600087803b158015620007bb57600080fd5b505af1158015620007d0573d6000803e3d6000fd5b505050508060010190506200072a565b50620008ce565b620007fc620007f68962002730565b62001392565b905060005b8551811015620008cc57816001600160a01b031663156e29f6888884815181106200083057620008306200262d565b60200260200101518885815181106200084d576200084d6200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015620008a757600080fd5b505af1158015620008bc573d6000803e3d6000fd5b5050505080600101905062000801565b505b620008e36001600160a01b03871634620013d3565b856001600160a01b0316876001600160a01b031683600001517f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b18560400151858a8a6040516200093794939291906200277b565b60405180910390a45050506200094c60018055565b5050505050565b6200095d62001337565b6562726964676560d01b62000974816001620011fa565b6001600160a01b0316336001600160a01b031614620009a657604051630d85cccf60e11b815260040160405180910390fd5b60008080620009ba610140860186620027bb565b620009ca91600490829062002804565b810190620009d9919062002830565b94509450505092506000736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA632c6a56af8762000a146562726964676560d01b6000620011fa565b87602001516040518463ffffffff1660e01b815260040162000a3993929190620028f4565b602060405180830381865af415801562000a57573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a7d919062002a4e565b6020808601516001600160a01b0316600090815260c9909152604090205490915060ff161562000b915760005b835181101562000b8a5760208501516001600160a01b031663156e29f662000ad960a08a0160808b0162001ee6565b86848151811062000aee5762000aee6200262d565b602002602001015186858151811062000b0b5762000b0b6200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000b6557600080fd5b505af115801562000b7a573d6000803e3d6000fd5b5050505080600101905062000aaa565b5062000c61565b60005b835181101562000c5f5760208501516001600160a01b031663f242432a3062000bc460a08b0160808c0162001ee6565b87858151811062000bd95762000bd96200262d565b602002602001015187868151811062000bf65762000bf66200262d565b60200260200101516040518563ffffffff1660e01b815260040162000c1f949392919062002643565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b5050505080600101905062000b94565b505b62000c8c60e087013562000c7c60a0890160808a0162001ee6565b6001600160a01b031690620013d3565b62000c9e60a087016080880162001ee6565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd8660200151868660405162000ce19392919062002a68565b60405180910390a3505050505062000cf860018055565b50565b600062000d0a8484846200149a565b90505b9392505050565b62000d1e620012bc565b62000d2a600062001554565b565b62000d3662001337565b60808101516060820151604051636030ce6160e11b8152736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA9263c0619cc29262000d7a9260009060040162002aac565b60006040518083038186803b15801562000d9357600080fd5b505af415801562000da8573d6000803e3d6000fd5b50505050736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA6393522e3e62000de883600001516c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b602084015160408086015190516001600160e01b031960e086901b1681526001600160a01b039384166004820152918316602483015291909116604482015260640160006040518083038186803b15801562000e4357600080fd5b505af415801562000e58573d6000803e3d6000fd5b505050604082015162000e7d91506001600160a01b0316636cdb3d1360e11b620015a6565b62000e9b57604051633ee915f560e11b815260040160405180910390fd5b60808082015160408084015160608086015183516101808101855260008082526020820181905294810185905280830185905295860184905260a0860184905260c0860184905260e086018490526101008601849052610120860193909352610140850181905261016085015291928451606082015262000f1d338662001623565b610140820152336080820152606081015162000f4c906c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b6001600160a01b031660a08083019190915285015161012082015260c085015162000f78903462002ae8565b60e08083019190915260c08087015161010080850191909152918701516001600160a01b031690830152850151610160820152600062000fc26562726964676560d01b82620011fa565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000ff0919062002b0a565b60206040518083038185885af11580156200100f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062001036919062002a4e565b905085602001516001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b6040516200109094939291906200277b565b60405180910390a4505050505062000cf860018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b0390921692620010db9062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011099062002bf3565b80156200115a5780601f106200112e576101008083540402835291602001916200115a565b820191906000526020600020905b8154815290600101906020018083116200113c57829003601f168201915b505050505090806003018054620011719062002bf3565b80601f01602080910402602001604051908101604052809291908181526020018280546200119f9062002bf3565b8015620011f05780601f10620011c457610100808354040283529160200191620011f0565b820191906000526020600020905b815481529060010190602001808311620011d257829003601f168201915b5050505050905084565b600062000d0d4684846200149a565b62001213620012bc565b6001600160a01b0381166200127a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005a1565b62000cf88162001554565b60006001600160e01b03198216630271189760e51b14806200048257506301ffc9a760e01b6001600160e01b031983161462000482565b6065546001600160a01b0316331462000d2a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005a1565b6200132262001b2d565b6200132c62001b61565b62000cf88162001b95565b6002600154036200138b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620005a1565b6002600155565b8051600090815260cb60209081526040808320828501516001600160a01b0390811685529252909120541680620013ce57620004828262001bdf565b919050565b801580620013e857506001600160a01b038216155b15620013f2575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811462001441576040519150601f19603f3d011682016040523d82523d6000602084013e62001446565b606091505b50509050806200148f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401620005a1565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620014ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001512919062002c2f565b9050811580156200152a57506001600160a01b038116155b1562000d0d57604051631467050360e21b81526004810185905260248101849052604401620005a1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001616575060408051601f3d908101601f19168201909252620016139181019062002c4f565b60015b1562000482579392505050565b604080516080810182526000808252602082015260609181018290528082018290526040808401516001600160a01b0316600090815260c9602052205460ff1615620018c7576040808401516001600160a01b03908116600090815260ca6020908152908390208351608081018552815481526001820154909316918301919091526002810180549293919291840191620016be9062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620016ec9062002bf3565b80156200173d5780601f1062001711576101008083540402835291602001916200173d565b820191906000526020600020905b8154815290600101906020018083116200171f57829003601f168201915b50505050508152602001600382018054620017589062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620017869062002bf3565b8015620017d75780601f10620017ab57610100808354040283529160200191620017d7565b820191906000526020600020905b815481529060010190602001808311620017b957829003601f168201915b505050505081525050905060005b836060015151811015620018c05783604001516001600160a01b031663f5298aca86866060015184815181106200182057620018206200262d565b6020026020010151876080015185815181106200184157620018416200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b1580156200189b57600080fd5b505af1158015620018b0573d6000803e3d6000fd5b50505050806001019050620017e5565b5062001ac6565b604051806080016040528046815260200184604001516001600160a01b03168152602001604051806020016040528060008152508152602001604051806020016040528060008152508152509050600083604001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156200198057506040513d6000823e601f3d908101601f191682016040526200197d919081019062002c6f565b60015b156200198c5760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015620019ee57506040513d6000823e601f3d908101601f19168201604052620019eb919081019062002c6f565b60015b15620019fa5760408301525b60005b84606001515181101562001ac35784604001516001600160a01b031663f242432a33308860600151858151811062001a395762001a396200262d565b60200260200101518960800151868151811062001a5a5762001a5a6200262d565b60200260200101516040518563ffffffff1660e01b815260040162001a83949392919062002643565b600060405180830381600087803b15801562001a9e57600080fd5b505af115801562001ab3573d6000803e3d6000fd5b50505050806001019050620019fd565b50505b6020830151606084015160808501516040516320b8155960e01b9362001af39386938a9360240162002cee565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b600054610100900460ff1662001b575760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a62001e2a565b600054610100900460ff1662001b8b5760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a62001e54565b6001600160a01b03811662001bbd57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060405162001bf09062001e89565b604051809103906000f08015801562001c0d573d6000803e3d6000fd5b509050736B9cDdfFBee4D2c5a6001C8d5cAf6A940CaEDCEA6378adc0d68262001c3e6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001c7a966001600160a01b03909116959493910162002de8565b60408051601f198184030181529082905262001c9a929160200162002e31565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cc99392919062002e64565b602060405180830381865af415801562001ce7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d0d919062002c2f565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001d7b908262002ee4565b506060820151600382019062001d92908262002ee4565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001e1c929162002fb0565b60405180910390a450919050565b600054610100900460ff16620014945760405162461bcd60e51b8152600401620005a19062002d9d565b600054610100900460ff1662001e7e5760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a3362001554565b6125468062002fda83390190565b60006020828403121562001eaa57600080fd5b81356001600160e01b03198116811462000d0d57600080fd5b6001600160a01b038116811462000cf857600080fd5b8035620013ce8162001ec3565b60006020828403121562001ef957600080fd5b813562000d0d8162001ec3565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001f425762001f4262001f06565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001f735762001f7362001f06565b604052919050565b600082601f83011262001f8d57600080fd5b813560206001600160401b0382111562001fab5762001fab62001f06565b8160051b62001fbc82820162001f48565b928352848101820192828101908785111562001fd757600080fd5b83870192505b8483101562001ff85782358252918301919083019062001fdd565b979650505050505050565b600080600080600060a086880312156200201c57600080fd5b85356001600160401b03808211156200203457600080fd5b908701906080828a0312156200204957600080fd5b9095506020870135906200205d8262001ec3565b909450604087013590620020718262001ec3565b909350606087013590808211156200208857600080fd5b6200209689838a0162001f7b565b93506080880135915080821115620020ad57600080fd5b50620020bc8882890162001f7b565b9150509295509295909350565b600060208284031215620020dc57600080fd5b81356001600160401b03811115620020f357600080fd5b8201610180818503121562000d0d57600080fd5b600080604083850312156200211b57600080fd5b8235915060208301356200212f8162001ec3565b809150509250929050565b801515811462000cf857600080fd5b6000806000606084860312156200215f57600080fd5b833592506020840135915060408401356200217a816200213a565b809150509250925092565b60006001600160401b03821115620021a157620021a162001f06565b50601f01601f191660200190565b600082601f830112620021c157600080fd5b8135620021d8620021d28262002185565b62001f48565b818152846020838601011115620021ee57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156200221e57600080fd5b81356001600160401b03808211156200223657600080fd5b9083019061012082860312156200224c57600080fd5b6200225662001f1c565b82358152620022686020840162001ed9565b60208201526200227b6040840162001ed9565b60408201526060830135828111156200229357600080fd5b620022a18782860162001f7b565b606083015250608083013582811115620022ba57600080fd5b620022c88782860162001f7b565b60808301525060a083013560a082015260c083013560c0820152620022f060e0840162001ed9565b60e082015261010080840135838111156200230a57600080fd5b6200231888828701620021af565b918301919091525095945050505050565b60005b83811015620023465781810151838201526020016200232c565b50506000910152565b600081518084526200236981602086016020860162002329565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620023a9908301856200234f565b828103606084015262001ff881856200234f565b60008060408385031215620023d157600080fd5b8235915060208301356200212f816200213a565b60008083601f840112620023f857600080fd5b5081356001600160401b038111156200241057600080fd5b6020830191508360208260051b85010111156200242c57600080fd5b9250929050565b60008083601f8401126200244657600080fd5b5081356001600160401b038111156200245e57600080fd5b6020830191508360208285010111156200242c57600080fd5b60008060008060008060008060a0898b0312156200249457600080fd5b8835620024a18162001ec3565b97506020890135620024b38162001ec3565b965060408901356001600160401b0380821115620024d057600080fd5b620024de8c838d01620023e5565b909850965060608b0135915080821115620024f857600080fd5b620025068c838d01620023e5565b909650945060808b01359150808211156200252057600080fd5b506200252f8b828c0162002433565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156200255d57600080fd5b86356200256a8162001ec3565b955060208701356200257c8162001ec3565b9450604087013593506060870135925060808701356001600160401b03811115620025a657600080fd5b620025b489828a0162002433565b979a9699509497509295939492505050565b600060608284031215620025d957600080fd5b604051606081018181106001600160401b0382111715620025fe57620025fe62001f06565b604052825181526020830151620026158162001ec3565b60208201526040928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6000608082840312156200268e57600080fd5b604051608081016001600160401b038282108183111715620026b457620026b462001f06565b816040528293508435835260208501359150620026d18262001ec3565b8160208401526040850135915080821115620026ec57600080fd5b620026fa86838701620021af565b604084015260608501359150808211156200271457600080fd5b506200272385828601620021af565b6060830152505092915050565b60006200048236836200267b565b600081518084526020808501945080840160005b83811015620027705781518752958201959082019060010162002752565b509495945050505050565b8481526001600160a01b0384166020820152608060408201819052600090620027a7908301856200273e565b828103606084015262001ff881856200273e565b6000808335601e19843603018112620027d357600080fd5b8301803591506001600160401b03821115620027ee57600080fd5b6020019150368190038213156200242c57600080fd5b600080858511156200281557600080fd5b838611156200282357600080fd5b5050820193919092039150565b600080600080600060a086880312156200284957600080fd5b85356001600160401b03808211156200286157600080fd5b6200286f89838a016200267b565b9650602088013591506200205d8262001ec3565b6000808335601e198436030181126200289b57600080fd5b83016020810192503590506001600160401b03811115620028bb57600080fd5b8036038213156200242c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081528335606082015260006200290f6020860162001ed9565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620029416080860162001ed9565b6001600160a01b031660e08301526200295d60a0860162001ed9565b61010062002975818501836001600160a01b03169052565b6200298360c0880162001ed9565b91506101206200299d818601846001600160a01b03169052565b610140925060e088013583860152610160828901358187015261018092508189013583870152620029d1848a018a62002883565b94509150826101a0870152620029ed6101e087018584620028cb565b9350620029fd818a018a62002883565b9350915050605f19858403016101c086015262002a1c838383620028cb565b935050505062002a3760208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b60006020828403121562002a6157600080fd5b5051919050565b6001600160a01b038416815260606020820181905260009062002a8e908301856200273e565b828103604084015262002aa281856200273e565b9695505050505050565b60608152600062002ac160608301866200273e565b828103602084015262002ad581866200273e565b9150508215156040830152949350505050565b818103818111156200048257634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002b3260408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002b6260a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002bd56101a08601846200234f565b90860151858203601f19018387015290925062002aa283826200234f565b600181811c9082168062002c0857607f821691505b60208210810362002c2957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562002c4257600080fd5b815162000d0d8162001ec3565b60006020828403121562002c6257600080fd5b815162000d0d816200213a565b60006020828403121562002c8257600080fd5b81516001600160401b0381111562002c9957600080fd5b8201601f8101841362002cab57600080fd5b805162002cbc620021d28262002185565b81815285602083850101111562002cd257600080fd5b62002ce582602083016020860162002329565b95945050505050565b60a080825286519082015260208601516001600160a01b0390811660c08301526040870151608060e084015260009162002d2d6101208501836200234f565b91506060890151609f198584030161010086015262002d4d83826200234f565b9189166020860152506001600160a01b03871660408501529050828103606084015262002d7b81866200273e565b9050828103608084015262002d9181856200273e565b98975050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002e1d908301856200234f565b828103608084015262002d9181856200234f565b6001600160e01b031983168152815160009062002e5681600485016020870162002329565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002ce5908301846200234f565b601f8211156200148f57600081815260208120601f850160051c8101602086101562002ebb5750805b601f850160051c820191505b8181101562002edc5782815560010162002ec7565b505050505050565b81516001600160401b0381111562002f005762002f0062001f06565b62002f188162002f11845462002bf3565b8462002e92565b602080601f83116001811462002f50576000841562002f375750858301515b600019600386901b1c1916600185901b17855562002edc565b600085815260208120601f198616915b8281101562002f815788860151825594840194600190910190840162002f60565b508582101562002fa05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062002fc560408301856200234f565b828103602084015262002ce581856200234f56fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61245880620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c8063715018a6116100b8578063a86f9d9e1161007c578063a86f9d9e1461029c578063d1399b1a146102af578063e985e9c5146102c2578063f242432a146102fe578063f2fde38b14610311578063f5298aca1461032457600080fd5b8063715018a6146102545780637cf8ed0d1461025c5780638da5cb5b1461027057806395d89b4114610281578063a22cb4651461028957600080fd5b8063156e29f61161010a578063156e29f6146101cc5780632eb2c2d6146101df5780633ab76e9f146101f257806349d12605146102175780634e1273f4146102215780636c6563f61461024157600080fd5b8062fdd58e1461014657806301ffc9a71461016c5780630652b57a1461018f57806306fdde03146101a45780630e89341c146101b9575b600080fd5b6101596101543660046118e5565b610337565b6040519081526020015b60405180910390f35b61017f61017a366004611927565b6103d2565b6040519015158152602001610163565b6101a261019d366004611944565b610422565b005b6101ac61049b565b60405161016391906119b1565b6101ac6101c73660046119c4565b6104d1565b6101a26101da3660046119dd565b610565565b6101a26101ed366004611b5e565b61061b565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610163565b61015961012e5481565b61023461022f366004611c0c565b610667565b6040516101639190611d14565b6101ff61024f366004611d3c565b610791565b6101a26107a8565b61012d546101ff906001600160a01b031681565b6065546001600160a01b03166101ff565b6101ac6107bc565b6101a2610297366004611d71565b61084b565b6101ff6102aa366004611da6565b61085a565b6101a26102bd366004611dc9565b610867565b61017f6102d0366004611e2c565b6001600160a01b03918216600090815260fc6020908152604080832093909416825291909152205460ff1690565b6101a261030c366004611e65565b610a10565b6101a261031f366004611944565b610a46565b6101a26103323660046119dd565b610abf565b60006001600160a01b0383166103a75760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815260fb602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061040357506001600160e01b031982166303a24d0760e21b145b806103cc57506301ffc9a760e01b6001600160e01b03198316146103cc565b61042a610b5b565b6001600160a01b03811661045157604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606101306104ac61012e54610bb5565b6040516020016104bd929190611f08565b604051602081830303815290604052905090565b606060fd80546104e090611ece565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90611ece565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b50505050509050919050565b6c195c98cc4c4d4d57dd985d5b1d609a1b61058181600161085a565b6001600160a01b0316336001600160a01b0316146105b257604051630d85cccf60e11b815260040160405180910390fd5b6105cd84848460405180602001604052806000815250610c48565b60408051848152602081018490526001600160a01b038616916000917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc4491015b60405180910390a350505050565b6001600160a01b038516331480610637575061063785336102d0565b6106535760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585610d5e565b5050505050565b606081518351146106cc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161039e565b6000835167ffffffffffffffff8111156106e8576106e8611a12565b604051908082528060200260200182016040528015610711578160200160208202803683370190505b50905060005b84518110156107895761075c85828151811061073557610735611fec565b602002602001015185838151811061074f5761074f611fec565b6020026020010151610337565b82828151811061076e5761076e611fec565b602090810291909101015261078281612018565b9050610717565b509392505050565b600061079e848484610f36565b90505b9392505050565b6107b0610b5b565b6107ba6000610fea565b565b61012f80546107ca90611ece565b80601f01602080910402602001604051908101604052809291908181526020018280546107f690611ece565b80156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b61085633838361103c565b5050565b60006107a1468484610f36565b600054610100900460ff16158080156108875750600054600160ff909116105b806108a15750303b1580156108a1575060005460ff166001145b6109045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610927576000805461ff0019166101001790555b6001600160a01b038516158061093b575083155b8061094557504684145b1561096357604051635d061ab760e11b815260040160405180910390fd5b61096c8661111c565b61098460405180602001604052806000815250611135565b61012d80546001600160a01b0319166001600160a01b03871617905561012e84905561012f6109b3848261207c565b506101306109c1838261207c565b508015610a08576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b306001600160a01b03851603610a3957604051636cfe544760e01b815260040160405180910390fd5b6106608585858585611165565b610a4e610b5b565b6001600160a01b038116610ab35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b610abc81610fea565b50565b6c195c98cc4c4d4d57dd985d5b1d609a1b610adb81600161085a565b6001600160a01b0316336001600160a01b031614610b0c57604051630d85cccf60e11b815260040160405180910390fd5b610b178484846111aa565b60408051848152602081018490526000916001600160a01b038716917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910161060d565b6065546001600160a01b031633146107ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b60606000610bc283611329565b600101905060008167ffffffffffffffff811115610be257610be2611a12565b6040519080825280601f01601f191660200182016040528015610c0c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c1657509392505050565b6001600160a01b038416610ca85760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161039e565b336000610cb485611401565b90506000610cc185611401565b9050600086815260fb602090815260408083206001600160a01b038b16845290915281208054879290610cf590849061213c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610d558360008989898961144c565b50505050505050565b8151835114610dc05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b606482015260840161039e565b6001600160a01b038416610de65760405162461bcd60e51b815260040161039e9061214f565b3360005b8451811015610ed0576000858281518110610e0757610e07611fec565b602002602001015190506000858381518110610e2557610e25611fec565b602090810291909101810151600084815260fb835260408082206001600160a01b038e168352909352919091205490915081811015610e765760405162461bcd60e51b815260040161039e90612194565b600083815260fb602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610eb590849061213c565b9250508190555050505080610ec990612018565b9050610dea565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610f209291906121de565b60405180910390a4610a088187878787876115a7565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab919061220c565b905081158015610fc257506001600160a01b038116155b156107a157604051631467050360e21b8152600481018590526024810184905260440161039e565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036110af5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161039e565b6001600160a01b03838116600081815260fc6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611124611662565b61112c611691565b610abc816116c0565b600054610100900460ff1661115c5760405162461bcd60e51b815260040161039e90612229565b610abc81611709565b6001600160a01b038516331480611181575061118185336102d0565b61119d5760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585611739565b6001600160a01b03831661120c5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161039e565b33600061121884611401565b9050600061122584611401565b604080516020808201835260009182905288825260fb81528282206001600160a01b038b16835290522054909150848110156112af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b606482015260840161039e565b600086815260fb602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610d55565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611394576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113b257662386f26fc10000830492506010015b6305f5e10083106113ca576305f5e100830492506008015b61271083106113de57612710830492506004015b606483106113f0576064830492506002015b600a83106103cc5760010192915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061143b5761143b611fec565b602090810291909101015292915050565b6001600160a01b0384163b15610a085760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114909089908990889088908890600401612274565b6020604051808303816000875af19250505080156114cb575060408051601f3d908101601f191682019092526114c8918101906122b9565b60015b611577576114d76122d6565b806308c379a00361151057506114eb6122f2565b806114f65750611512565b8060405162461bcd60e51b815260040161039e91906119b1565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161039e565b6001600160e01b0319811663f23a6e6160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b6001600160a01b0384163b15610a085760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115eb90899089908890889088906004016123c4565b6020604051808303816000875af1925050508015611626575060408051601f3d908101601f19168201909252611623918101906122b9565b60015b611632576114d76122d6565b6001600160e01b0319811663bc197c8160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b600054610100900460ff166116895760405162461bcd60e51b815260040161039e90612229565b6107ba611867565b600054610100900460ff166116b85760405162461bcd60e51b815260040161039e90612229565b6107ba611894565b6001600160a01b0381166116e757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166117305760405162461bcd60e51b815260040161039e90612229565b610abc816118c4565b6001600160a01b03841661175f5760405162461bcd60e51b815260040161039e9061214f565b33600061176b85611401565b9050600061177885611401565b9050600086815260fb602090815260408083206001600160a01b038c168452909152902054858110156117bd5760405162461bcd60e51b815260040161039e90612194565b600087815260fb602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906117fc90849061213c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461185c848a8a8a8a8a61144c565b505050505050505050565b600054610100900460ff1661188e5760405162461bcd60e51b815260040161039e90612229565b60018055565b600054610100900460ff166118bb5760405162461bcd60e51b815260040161039e90612229565b6107ba33610fea565b60fd610856828261207c565b6001600160a01b0381168114610abc57600080fd5b600080604083850312156118f857600080fd5b8235611903816118d0565b946020939093013593505050565b6001600160e01b031981168114610abc57600080fd5b60006020828403121561193957600080fd5b81356107a181611911565b60006020828403121561195657600080fd5b81356107a1816118d0565b60005b8381101561197c578181015183820152602001611964565b50506000910152565b6000815180845261199d816020860160208601611961565b601f01601f19169290920160200192915050565b6020815260006107a16020830184611985565b6000602082840312156119d657600080fd5b5035919050565b6000806000606084860312156119f257600080fd5b83356119fd816118d0565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611a4e57611a4e611a12565b6040525050565b600067ffffffffffffffff821115611a6f57611a6f611a12565b5060051b60200190565b600082601f830112611a8a57600080fd5b81356020611a9782611a55565b604051611aa48282611a28565b83815260059390931b8501820192828101915086841115611ac457600080fd5b8286015b84811015611adf5780358352918301918301611ac8565b509695505050505050565b600082601f830112611afb57600080fd5b813567ffffffffffffffff811115611b1557611b15611a12565b604051611b2c601f8301601f191660200182611a28565b818152846020838601011115611b4157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611b7657600080fd5b8535611b81816118d0565b94506020860135611b91816118d0565b9350604086013567ffffffffffffffff80821115611bae57600080fd5b611bba89838a01611a79565b94506060880135915080821115611bd057600080fd5b611bdc89838a01611a79565b93506080880135915080821115611bf257600080fd5b50611bff88828901611aea565b9150509295509295909350565b60008060408385031215611c1f57600080fd5b823567ffffffffffffffff80821115611c3757600080fd5b818501915085601f830112611c4b57600080fd5b81356020611c5882611a55565b604051611c658282611a28565b83815260059390931b8501820192828101915089841115611c8557600080fd5b948201945b83861015611cac578535611c9d816118d0565b82529482019490820190611c8a565b96505086013592505080821115611cc257600080fd5b50611ccf85828601611a79565b9150509250929050565b600081518084526020808501945080840160005b83811015611d0957815187529582019590820190600101611ced565b509495945050505050565b6020815260006107a16020830184611cd9565b80358015158114611d3757600080fd5b919050565b600080600060608486031215611d5157600080fd5b8335925060208401359150611d6860408501611d27565b90509250925092565b60008060408385031215611d8457600080fd5b8235611d8f816118d0565b9150611d9d60208401611d27565b90509250929050565b60008060408385031215611db957600080fd5b82359150611d9d60208401611d27565b600080600080600060a08688031215611de157600080fd5b8535611dec816118d0565b94506020860135611dfc816118d0565b935060408601359250606086013567ffffffffffffffff80821115611e2057600080fd5b611bdc89838a01611aea565b60008060408385031215611e3f57600080fd5b8235611e4a816118d0565b91506020830135611e5a816118d0565b809150509250929050565b600080600080600060a08688031215611e7d57600080fd5b8535611e88816118d0565b94506020860135611e98816118d0565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ec257600080fd5b611bff88828901611aea565b600181811c90821680611ee257607f821691505b602082108103611f0257634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611f1681611ece565b60018281168015611f2e5760018114611f4357611f72565b60ff1984168752821515830287019450611f72565b8860005260208060002060005b85811015611f695781548a820152908401908201611f50565b50505082870194505b50506241c55b60e71b835250508351611f92816004840160208801611961565b01600401949350505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161202a5761202a612002565b5060010190565b601f82111561207757600081815260208120601f850160051c810160208610156120585750805b601f850160051c820191505b81811015610a0857828155600101612064565b505050565b815167ffffffffffffffff81111561209657612096611a12565b6120aa816120a48454611ece565b84612031565b602080601f8311600181146120df57600084156120c75750858301515b600019600386901b1c1916600185901b178555610a08565b600085815260208120601f198616915b8281101561210e578886015182559484019460019091019084016120ef565b508582101561212c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156103cc576103cc612002565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006121f16040830185611cd9565b82810360208401526122038185611cd9565b95945050505050565b60006020828403121561221e57600080fd5b81516107a1816118d0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122ae90830184611985565b979650505050505050565b6000602082840312156122cb57600080fd5b81516107a181611911565b600060033d11156122ef5760046000803e5060005160e01c5b90565b600060443d10156123005790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561233057505050505090565b82850191508151818111156123485750505050505090565b843d87010160208285010111156123625750505050505090565b61237160208286010187611a28565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906123f090830186611cd9565b82810360608401526124028186611cd9565b905082810360808401526124168185611985565b9897505050505050505056fea264697066735822122041b57730fb812611c4b5683f82e30d12871eba6749bd356dd8d5fdc9daea892a64736f6c63430008140033a26469706673582212204e8719aa190c4198a21918232e478421f94c5d04a20d20a1aa2824c49fe8d9dd64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000009": { + "contractName": "ERC1155VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000009" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a8d565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a8d565b610320565b34801561014057600080fd5b506100ed61014f366004610abf565b610438565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af4565b6104f1565b3480156101b757600080fd5b506100ed610508565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b29565b61051c565b34801561020a57600080fd5b506100ed610219366004610b4c565b610529565b34801561022a57600080fd5b506100ed610239366004610b78565b6105ee565b34801561024a57600080fd5b506100ed610259366004610a8d565b610671565b34801561026a57600080fd5b50610297610279366004610a8d565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106e7565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156103405750600054600160ff909116105b8061035a5750303b15801561035a575060005460ff166001145b6103c25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103e5576000805461ff0019166101001790555b6103ee82610741565b8015610434576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6104406106e7565b6001600160a01b038216158061047457506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049257604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006104fe84848461075a565b90505b9392505050565b6105106106e7565b61051a600061080e565b565b600061050146848461075a565b33600090815260c9602052604090205460ff1661055957604051634fa3f24560e01b815260040160405180910390fd5b610561610860565b80156105e5576001600160a01b03821661058e5760405163687563df60e01b815260040160405180910390fd5b6105a16001600160a01b038316826108b9565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105dc91815260200190565b60405180910390a25b61043460018055565b33600090815260c9602052604090205460ff1661061e57604051634fa3f24560e01b815260040160405180910390fd5b610626610860565b61063033826108b9565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261066e60018055565b50565b6106796106e7565b6001600160a01b0381166106de5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b9565b61066e8161080e565b6065546001600160a01b0316331461051a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b9565b61074961097a565b6107516109a9565b61066e816109d8565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190610b91565b9050811580156107e657506001600160a01b038116155b1561050157604051631467050360e21b815260048101859052602481018490526044016103b9565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103b9565b6002600155565b8015806108cd57506001600160a01b038216155b156108d6575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610923576040519150601f19603f3d011682016040523d82523d6000602084013e610928565b606091505b505090508061096f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103b9565b505050565b60018055565b600054610100900460ff166109a15760405162461bcd60e51b81526004016103b990610bae565b61051a610a21565b600054610100900460ff166109d05760405162461bcd60e51b81526004016103b990610bae565b61051a610a48565b6001600160a01b0381166109ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109745760405162461bcd60e51b81526004016103b990610bae565b600054610100900460ff16610a6f5760405162461bcd60e51b81526004016103b990610bae565b61051a3361080e565b6001600160a01b038116811461066e57600080fd5b600060208284031215610a9f57600080fd5b813561050181610a78565b80358015158114610aba57600080fd5b919050565b60008060408385031215610ad257600080fd5b8235610add81610a78565b9150610aeb60208401610aaa565b90509250929050565b600080600060608486031215610b0957600080fd5b8335925060208401359150610b2060408501610aaa565b90509250925092565b60008060408385031215610b3c57600080fd5b82359150610aeb60208401610aaa565b60008060408385031215610b5f57600080fd5b8235610b6a81610a78565b946020939093013593505050565b600060208284031215610b8a57600080fd5b5035919050565b600060208284031215610ba357600080fd5b815161050181610a78565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d0d99f56f19199de521bdab1ffbc956624a2d999b2d40703d11b4f151f9a37ae64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0xfffffffffffffba9c6e7dbb0bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a23565b6101e0565b005b6100cc6100dc366004611a23565b610259565b6100f46100ef366004611a40565b610371565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a6c565b6103e3565b61015461014f366004611b02565b61055d565b604051908152602001610100565b610116610170366004611b30565b6105a4565b6100cc6105bb565b6065546001600160a01b0316610116565b61011661019c366004611b65565b6105cf565b6100cc6101af366004611a23565b6105e5565b6101546101c2366004611a40565b6040805192835260208301919091526034600c830120918101905290565b6101e861065e565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156102795750600054600160ff909116105b806102935750303b158015610293575060005460ff166001145b6102fb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561031e576000805461ff0019166101001790555b610327826106b8565b801561036d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000826001600160a01b03811661039b576040516354cdfc8d60e11b815260040160405180910390fd5b8260008190036103be5760405163014f1da760e21b815260040160405180910390fd5b5050604080519384526020840192909252506034600c83012091810190525460011490565b6000854681036104065760405163e822b48d60e01b815260040160405180910390fd5b856001600160a01b03811661042e576040516354cdfc8d60e11b815260040160405180910390fd5b8560008190036104515760405163014f1da760e21b815260040160405180910390fd5b600061045f86880188611c01565b90506000610476647461696b6f60d81b60006105cf565b825160405163016674a560e21b815267ffffffffffffffff90911660048201526001600160a01b039190911690630599d29490602401602060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611cd6565b604080518c8152602081018c90526034600c820120818301909252606081019190915290915061054e90608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106d1565b9b9a5050505050505050505050565b6000818082036105805760405163014f1da760e21b815260040160405180910390fd5b50506040805133815260208101929092526034600c83012091810190526001815590565b60006105b18484846106f5565b90505b9392505050565b6105c361065e565b6105cd60006107a9565b565b60006105dc4684846106f5565b90505b92915050565b6105ed61065e565b6001600160a01b0381166106525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f2565b61065b816107a9565b50565b6065546001600160a01b031633146105cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f2565b6106c06107fb565b6106c861082a565b61065b81610859565b6000806106dd866108a2565b90506106eb818686866108d4565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a9190611cef565b90508115801561078157506001600160a01b038116155b156105b457604051631467050360e21b815260048101859052602481018490526044016102f2565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108225760405162461bcd60e51b81526004016102f290611d0c565b6105cd610911565b600054610100900460ff166108515760405162461bcd60e51b81526004016102f290611d0c565b6105cd61093e565b6001600160a01b03811661088057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108be91815260200190565b6040516020818303038152906040529050919050565b60008060006108e487868661096e565b9150915081801561090657508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff166109385760405162461bcd60e51b81526004016102f290611d0c565b60018055565b600054610100900460ff166109655760405162461bcd60e51b81526004016102f290611d0c565b6105cd336107a9565b60006060600061097d85610a49565b9050600080600061098f848a89610b42565b815192955090935091501580806109a35750815b6109ef5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102f2565b600081610a0b5760405180602001604052806000815250610a37565b610a3786610a1a600188611d6d565b81518110610a2a57610a2a611d80565b6020026020010151610f62565b919b919a509098505050505050505050565b60606000610a5683610f89565b90506000815167ffffffffffffffff811115610a7457610a74611b91565b604051908082528060200260200182016040528015610ab957816020015b6040805180820190915260608082526020820152815260200190600190039081610a925790505b50905060005b8251811015610b3a576000610aec848381518110610adf57610adf611d80565b6020026020010151610fbc565b90506040518060400160405280610b0283610f89565b815260200182815250838381518110610b1d57610b1d611d80565b60200260200101819052505080610b3390611d96565b9050610abf565b509392505050565b600060606000806000610b548761104c565b90506000869050600080610b7b604051806040016040528060608152602001606081525090565b60005b8c51811015610f3a578c8181518110610b9957610b99611d80565b602002602001015191508284610baf9190611daf565b9350610bbc600188611daf565b965083600003610c19578482602001518051906020012014610c145760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102f2565b610cdb565b602082602001515110610c80578482602001518051906020012014610c145760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102f2565b84610c8e8360200151611185565b14610cdb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102f2565b610ce760106001611dc2565b60ff1682600001515103610d555785518414610f3a576000868581518110610d1157610d11611d80565b01602001518351805160f89290921c925060009183908110610d3557610d35611d80565b60200260200101519050610d48816111ad565b9650600194505050610f2a565b81515160011901610ee2576000610d6b836111e3565b9050600081600081518110610d8257610d82611d80565b016020015160f81c90506000610d99600283611ddb565b610da4906002611e0b565b90506000610db5848360ff16611207565b90506000610dc38b8a611207565b90506000610dd1838361123d565b905060ff851660021480610de8575060ff85166003145b15610e2257808351148015610dfd5750808251145b15610e0f57610e0c818b611daf565b99505b50600160ff1b9950610f3a945050505050565b60ff85161580610e35575060ff85166001145b15610e8b5782518114610e555750600160ff1b9950610f3a945050505050565b610e7c8860000151600181518110610e6f57610e6f611d80565b60200260200101516111ad565b9a509750610f2a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102f2565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102f2565b610f3381611d96565b9050610b7e565b50600160ff1b841486610f4d8786611207565b909e909d50909b509950505050505050505050565b805180516060916105df91610f7990600190611d6d565b81518110610adf57610adf611d80565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906105df906112b7565b60606000806000610fcc856114a3565b919450925090506000816001811115610fe757610fe7611e24565b146110345760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102f2565b611043856020015184846117ed565b95945050505050565b606060008251600261105e9190611e3a565b67ffffffffffffffff81111561107657611076611b91565b6040519080825280601f01601f1916602001820160405280156110a0576020820181803683370190505b50905060005b835181101561117e5760048482815181106110c3576110c3611d80565b01602001516001600160f81b031916901c826110e0836002611e3a565b815181106110f0576110f0611d80565b60200101906001600160f81b031916908160001a905350601084828151811061111b5761111b611d80565b016020015161112d919060f81c611ddb565b60f81b8261113c836002611e3a565b611147906001611daf565b8151811061115757611157611d80565b60200101906001600160f81b031916908160001a90535061117781611d96565b90506110a6565b5092915050565b600060208251101561119957506020015190565b818060200190518101906105df9190611cd6565b600060606020836000015110156111ce576111c783611896565b90506111da565b6111d783610fbc565b90505b6105b481611185565b60606105df6112028360000151600081518110610adf57610adf611d80565b61104c565b60608251821061122657506040805160208101909152600081526105df565b6105dc83838486516112389190611d6d565b6118a1565b6000805b8084511180156112515750808351115b80156112a2575082818151811061126a5761126a611d80565b602001015160f81c60f81b6001600160f81b03191684828151811061129157611291611d80565b01602001516001600160f81b031916145b156105dc576112b081611d96565b9050611241565b60606000806112c5846114a3565b919350909150600190508160018111156112e1576112e1611e24565b1461132e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102f2565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816113475790505090506000835b865181101561149857602082106113e05760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102f2565b60008061141d6040518060400160405280858c600001516114019190611d6d565b8152602001858c602001516114169190611daf565b90526114a3565b5091509150604051806040016040528083836114399190611daf565b8152602001848b6020015161144e9190611daf565b81525085858151811061146357611463611d80565b6020908102919091010152611479600185611daf565b93506114858183611daf565b61148f9084611daf565b92505050611374565b508152949350505050565b6000806000808460000151116114fb5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102f2565b6020840151805160001a607f81116115205760006001600094509450945050506117e6565b60b7811161159c576000611535608083611d6d565b90508087600001511161158a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102f2565b600195509350600092506117e6915050565b60bf811161168b5760006115b160b783611d6d565b9050808760000151116116065760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102f2565b600183015160208290036101000a90046116208183611daf565b88511161166f5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102f2565b61167a826001611daf565b96509450600093506117e692505050565b60f781116117065760006116a060c083611d6d565b9050808760000151116116f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102f2565b6001955093508492506117e6915050565b600061171360f783611d6d565b9050808760000151116117685760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102f2565b600183015160208290036101000a90046117828183611daf565b8851116117ca5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102f2565b6117d5826001611daf565b96509450600193506117e692505050565b9193909250565b606060008267ffffffffffffffff81111561180a5761180a611b91565b6040519080825280601f01601f191660200182016040528015611834576020820181803683370190505b50905080516000036118475790506105b4565b8484016020820160005b85811015611869578281015182820152602001611851565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606105df826119f8565b6060816118af81601f611daf565b10156118ee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b826118f98382611daf565b10156119385760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b6119428284611daf565b845110156119865760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102f2565b6060821580156119a557604051915060008252602082016040526119ef565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119de5780518352602092830192016119c6565b5050858452601f01601f1916604052505b50949350505050565b60606105df8260200151600084600001516117ed565b6001600160a01b038116811461065b57600080fd5b600060208284031215611a3557600080fd5b81356105dc81611a0e565b60008060408385031215611a5357600080fd5b8235611a5e81611a0e565b946020939093013593505050565b600080600080600060808688031215611a8457600080fd5b853594506020860135611a9681611a0e565b935060408601359250606086013567ffffffffffffffff80821115611aba57600080fd5b818801915088601f830112611ace57600080fd5b813581811115611add57600080fd5b896020828501011115611aef57600080fd5b9699959850939650602001949392505050565b600060208284031215611b1457600080fd5b5035919050565b80358015158114611b2b57600080fd5b919050565b600080600060608486031215611b4557600080fd5b8335925060208401359150611b5c60408501611b1b565b90509250925092565b60008060408385031215611b7857600080fd5b82359150611b8860208401611b1b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bca57611bca611b91565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf957611bf9611b91565b604052919050565b60006020808385031215611c1457600080fd5b823567ffffffffffffffff80821115611c2c57600080fd5b9084019060408287031215611c4057600080fd5b611c48611ba7565b82358281168114611c5857600080fd5b81528284013582811115611c6b57600080fd5b80840193505086601f840112611c8057600080fd5b823582811115611c9257611c92611b91565b611ca4601f8201601f19168601611bd0565b92508083528785828601011115611cba57600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b81516105dc81611a0e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105df576105df611d57565b634e487b7160e01b600052603260045260246000fd5b600060018201611da857611da8611d57565b5060010190565b808201808211156105df576105df611d57565b60ff81811683821601908111156105df576105df611d57565b600060ff831680611dfc57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156105df576105df611d57565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176105df576105df611d5756fea2646970667358221220151fc91dac790a2ffff3f5862cbc56fc2ca0ee6980528cb06692174bd7c2d26064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000001388000", + "0x723077b8a1b173adc35e5f0e7e3662fd1208212cb629f9c128551ea7168da722": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x14e04a66bf74771820a7400ff6cf065175b3d7eb25805a5bd1633b161af5d101": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x215be5d23550ceb1beff54fb579a765903ba2ccc85b6f79bcf9bda4e8cb86034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d1035fce6503985ab075a4ff3f7ce2e57cd5a9c5e6a0589dccacfea7bcb0af4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2a95ee547cef07a2fff0a68144824a0d9ded35ed87da118a53e1cda4aca8b944": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x7fcecd2a720442e9bc0cf1a8a6976f9fbddf6b996dc0d78af7e94dadf360d579": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x18bbf5fcf8fe870ecff419c4677497c08b2e6a5431bb94541d06c9da3f308e55": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6e3431b4e42570cb9e3d926eb26f9e54de2df536ae0741ae16350d17a6c16ddc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xdb302bf24b1ad5f23949da8e6b05747dc699499a995361a7bf40ec7204696d6f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xa1d47ef1a6916dfbe65888f77739da164feb3a9a6afc95ee57e8b3e85ea5e955": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x454340b1295f9ff1c0fb9192166d0215d33f84dc5f2dc3f3e5732a4b557186bf": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6a3bb1dada7c82a99b4a02d16da3fda07cb31d8887b9b99ec829ab67fd7a817e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2fe2844d12634f5dce1e2be5be96b2ea1c573f8f25171997e2f4bd943dd32f92": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x3836a017087644fbf6925ae1aca14201ce898a35434d9dea9ebd03cea44e049a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1c7a29f5a750951acb14fdf82a876085914eb17f15a162b054a3d2f8c92e2451": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x271927a243b678b7a071f19b4051ef93b16e397066e3fdef5bba26527e34a1a1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4663d660b5d810c9ab2f6dc64af7ff84ebae28a72342391622649a7fe87c93d4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x352c3281a58937f04ef7cc7b88f3456b6ffd47f52a321c253dc083fb53a3a114": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d5faa5f4e671e6fe47b0eab51c62f8cebf354e21e8fdccf8cdfc0293dd341a3": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x673de83553dc3a2c0f59aa7193de392a4530feb73b9d6cd4fcef68802b8195c1": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/internal_l3.json taikoxyz/taiko-geth/core/taiko_genesis/internal_l3.json new file mode 100644 index 0000000000000000000000000000000000000000..85766557db14873c4f01f199dc998584910b7faa --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/internal_l3.json @@ -0,0 +1,268 @@ +{ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": { + "balance": "0x3782dace9d90000000" + }, + "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": { + "balance": "0x3782dace9d90000000" + }, + "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": { + "balance": "0x3782dace9d90000000" + }, + "0x90F79bf6EB2c4f870365E785982E1f101E93b906": { + "balance": "0x3782dace9d90000000" + }, + "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": { + "balance": "0x3782dace9d90000000" + }, + "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": { + "balance": "0x3782dace9d90000000" + }, + "0x976EA74026E726554dB657fA54763abd0C3a0aa9": { + "balance": "0x3782dace9d90000000" + }, + "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": { + "balance": "0x3782dace9d90000000" + }, + "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": { + "balance": "0x3782dace9d90000000" + }, + "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": { + "balance": "0x3782dace9d90000000" + }, + "0xBcd4042DE499D14e55001CcbB24a551F3b954096": { + "balance": "0x3782dace9d90000000" + }, + "0x71bE63f3384f5fb98995898A86B02Fb2426c5788": { + "balance": "0x3782dace9d90000000" + }, + "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a": { + "balance": "0x3782dace9d90000000" + }, + "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec": { + "balance": "0x3782dace9d90000000" + }, + "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097": { + "balance": "0x3782dace9d90000000" + }, + "0xcd3B766CCDd6AE721141F452C550Ca635964ce71": { + "balance": "0x3782dace9d90000000" + }, + "0x2546BcD3c84621e976D8185a91A922aE77ECEc30": { + "balance": "0x3782dace9d90000000" + }, + "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E": { + "balance": "0x3782dace9d90000000" + }, + "0xdD2FD4581271e230360230F9337D5c0430Bf44C0": { + "balance": "0x3782dace9d90000000" + }, + "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199": { + "balance": "0x3782dace9d90000000" + }, + "0x4F6d0287F08bD8b05DB0272c493A2e9DA9675301": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636892abdc1461003a575b600080fd5b61004d61004836600461170f565b610061565b604051901515815260200160405180910390f35b600080806100718486018661185f565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610150565b91509150816100d657604051639dbcc1a760e01b815260040160405180910390fd5b60006100e182610179565b90506000610108826002815181106100fb576100fb6118c3565b60200260200101516101b2565b905061013f8b60405160200161012091815260200190565b6040516020818303038152906040526101388c6102ba565b87846102cd565b9d9c50505050505050505050505050565b60006060600061015f866102e7565b905061016c818686610319565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101ac906103f4565b92915050565b600060218260000151111561020e5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e00000000000060448201526064015b60405180910390fd5b600080600061021c856105e0565b919450925090506000816001811115610237576102376118d9565b146102845760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610205565b60008386602001516102969190611905565b805190915060208410156102b05760208490036101000a90045b9695505050505050565b60606101ac6102c88361092a565b610a5e565b6000806102d9866102e7565b90506102b081868686610acd565b6060818051906020012060405160200161030391815260200190565b6040516020818303038152906040529050919050565b60006060600061032885610b0a565b9050600080600061033a848a89610c03565b8151929550909350915015808061034e5750815b61039a5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610205565b6000816103b657604051806020016040528060008152506103e2565b6103e2866103c5600188611918565b815181106103d5576103d56118c3565b6020026020010151611023565b919b919a509098505050505050505050565b6060600080610402846105e0565b9193509091506001905081600181111561041e5761041e6118d9565b1461046b5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610205565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104845790505090506000835b86518110156105d5576020821061051d5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610205565b60008061055a6040518060400160405280858c6000015161053e9190611918565b8152602001858c602001516105539190611905565b90526105e0565b5091509150604051806040016040528083836105769190611905565b8152602001848b6020015161058b9190611905565b8152508585815181106105a0576105a06118c3565b60209081029190910101526105b6600185611905565b93506105c28183611905565b6105cc9084611905565b925050506104b1565b508152949350505050565b6000806000808460000151116106385760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610205565b6020840151805160001a607f811161065d576000600160009450945094505050610923565b60b781116106d9576000610672608083611918565b9050808760000151116106c75760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610205565b60019550935060009250610923915050565b60bf81116107c85760006106ee60b783611918565b9050808760000151116107435760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610205565b600183015160208290036101000a900461075d8183611905565b8851116107ac5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610205565b6107b7826001611905565b965094506000935061092392505050565b60f781116108435760006107dd60c083611918565b9050808760000151116108325760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610205565b600195509350849250610923915050565b600061085060f783611918565b9050808760000151116108a55760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610205565b600183015160208290036101000a90046108bf8183611905565b8851116109075760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610205565b610912826001611905565b965094506001935061092392505050565b9193909250565b606060008260405160200161094191815260200190565b604051602081830303815290604052905060005b602081101561099657818181518110610970576109706118c3565b01602001516001600160f81b0319166000036109965761098f8161192b565b9050610955565b60006109a3826020611918565b67ffffffffffffffff8111156109bb576109bb6117bc565b6040519080825280601f01601f1916602001820160405280156109e5576020820181803683370190505b50905060005b8151811015610a555783836109ff8161192b565b945081518110610a1157610a116118c3565b602001015160f81c60f81b828281518110610a2e57610a2e6118c3565b60200101906001600160f81b031916908160001a905350610a4e8161192b565b90506109eb565b50949350505050565b60608082516001148015610a8c5750608083600081518110610a8257610a826118c3565b016020015160f81c105b15610a985750816101ac565b610aa48351608061104a565b83604051602001610ab6929190611974565b604051602081830303815290604052905092915050565b6000806000610add878686610319565b91509150818015610aff57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b1783610179565b90506000815167ffffffffffffffff811115610b3557610b356117bc565b604051908082528060200260200182016040528015610b7a57816020015b6040805180820190915260608082526020820152815260200190600190039081610b535790505b50905060005b8251811015610bfb576000610bad848381518110610ba057610ba06118c3565b60200260200101516111f4565b90506040518060400160405280610bc383610179565b815260200182815250838381518110610bde57610bde6118c3565b60200260200101819052505080610bf49061192b565b9050610b80565b509392505050565b600060606000806000610c1587611284565b90506000869050600080610c3c604051806040016040528060608152602001606081525090565b60005b8c51811015610ffb578c8181518110610c5a57610c5a6118c3565b602002602001015191508284610c709190611905565b9350610c7d600188611905565b965083600003610cda578482602001518051906020012014610cd55760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610205565b610d9c565b602082602001515110610d41578482602001518051906020012014610cd55760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610205565b84610d4f83602001516113bd565b14610d9c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610205565b610da860106001611991565b60ff1682600001515103610e165785518414610ffb576000868581518110610dd257610dd26118c3565b01602001518351805160f89290921c925060009183908110610df657610df66118c3565b60200260200101519050610e09816113e5565b9650600194505050610feb565b81515160011901610fa3576000610e2c8361141b565b9050600081600081518110610e4357610e436118c3565b016020015160f81c90506000610e5a6002836119c0565b610e659060026119e2565b90506000610e76848360ff1661143f565b90506000610e848b8a61143f565b90506000610e928383611475565b905060ff851660021480610ea9575060ff85166003145b15610ee357808351148015610ebe5750808251145b15610ed057610ecd818b611905565b99505b50600160ff1b9950610ffb945050505050565b60ff85161580610ef6575060ff85166001145b15610f4c5782518114610f165750600160ff1b9950610ffb945050505050565b610f3d8860000151600181518110610f3057610f306118c3565b60200260200101516113e5565b9a509750610feb945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610205565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610205565b610ff48161192b565b9050610c3f565b50600160ff1b84148661100e878661143f565b909e909d50909b509950505050505050505050565b805180516060916101ac9161103a90600190611918565b81518110610ba057610ba06118c3565b60608060388410156110b1576040805160018082528183019092529060208201818036833701905050905061107f8385611991565b60f81b81600081518110611095576110956118c3565b60200101906001600160f81b031916908160001a9053506111ed565b600060015b6110c081876119fb565b156110e3576110ce8261192b565b91506110dc61010082611a0f565b90506110b6565b6110ee826001611905565b67ffffffffffffffff811115611106576111066117bc565b6040519080825280601f01601f191660200182016040528015611130576020820181803683370190505b50925061113d8583611991565b611148906037611991565b60f81b8360008151811061115e5761115e6118c3565b60200101906001600160f81b031916908160001a905350600190505b8181116111ea5761010061118e8284611918565b61119a90610100611b0a565b6111a490886119fb565b6111ae9190611b16565b60f81b8382815181106111c3576111c36118c3565b60200101906001600160f81b031916908160001a9053506111e38161192b565b905061117a565b50505b9392505050565b60606000806000611204856105e0565b91945092509050600081600181111561121f5761121f6118d9565b1461126c5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610205565b61127b856020015184846114ef565b95945050505050565b60606000825160026112969190611a0f565b67ffffffffffffffff8111156112ae576112ae6117bc565b6040519080825280601f01601f1916602001820160405280156112d8576020820181803683370190505b50905060005b83518110156113b65760048482815181106112fb576112fb6118c3565b01602001516001600160f81b031916901c82611318836002611a0f565b81518110611328576113286118c3565b60200101906001600160f81b031916908160001a9053506010848281518110611353576113536118c3565b0160200151611365919060f81c6119c0565b60f81b82611374836002611a0f565b61137f906001611905565b8151811061138f5761138f6118c3565b60200101906001600160f81b031916908160001a9053506113af8161192b565b90506112de565b5092915050565b60006020825110156113d157506020015190565b818060200190518101906101ac9190611b2a565b60006060602083600001511015611406576113ff83611598565b9050611412565b61140f836111f4565b90505b6111ed816113bd565b60606101ac61143a8360000151600081518110610ba057610ba06118c3565b611284565b60608251821061145e57506040805160208101909152600081526101ac565b6111ed83838486516114709190611918565b6115a3565b6000805b8084511180156114895750808351115b80156114da57508281815181106114a2576114a26118c3565b602001015160f81c60f81b6001600160f81b0319168482815181106114c9576114c96118c3565b01602001516001600160f81b031916145b156111ed576114e88161192b565b9050611479565b606060008267ffffffffffffffff81111561150c5761150c6117bc565b6040519080825280601f01601f191660200182016040528015611536576020820181803683370190505b50905080516000036115495790506111ed565b8484016020820160005b8581101561156b578281015182820152602001611553565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101ac826116f9565b6060816115b181601f611905565b10156115f05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b826115fb8382611905565b101561163a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b6116448284611905565b845110156116885760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610205565b6060821580156116a75760405191506000825260208201604052610a55565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156116e05780518352602092830192016116c8565b5050858452601f01601f19166040525050949350505050565b60606101ac8260200151600084600001516114ef565b60008060008060008060a0878903121561172857600080fd5b8635955060208701356001600160a01b038116811461174657600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff8082111561177157600080fd5b818901915089601f83011261178557600080fd5b81358181111561179457600080fd5b8a60208285010111156117a657600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126117e357600080fd5b813567ffffffffffffffff808211156117fe576117fe6117bc565b604051601f8301601f19908116603f01168101908282118183101715611826576118266117bc565b8160405283815286602085880101111561183f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561187257600080fd5b823567ffffffffffffffff8082111561188a57600080fd5b611896868387016117d2565b935060208501359150808211156118ac57600080fd5b506118b9858286016117d2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101ac576101ac6118ef565b818103818111156101ac576101ac6118ef565b60006001820161193d5761193d6118ef565b5060010190565b6000815160005b81811015611965576020818501810151868301520161194b565b50600093019283525090919050565b60006119896119838386611944565b84611944565b949350505050565b60ff81811683821601908111156101ac576101ac6118ef565b634e487b7160e01b600052601260045260246000fd5b600060ff8316806119d3576119d36119aa565b8060ff84160691505092915050565b60ff82811682821603908111156101ac576101ac6118ef565b600082611a0a57611a0a6119aa565b500490565b80820281158282048414176101ac576101ac6118ef565b600181815b80851115611a61578160001904821115611a4757611a476118ef565b80851615611a5457918102915b93841c9390800290611a2b565b509250929050565b600082611a78575060016101ac565b81611a85575060006101ac565b8160018114611a9b5760028114611aa557611ac1565b60019150506101ac565b60ff841115611ab657611ab66118ef565b50506001821b6101ac565b5060208310610133831016604e8410600b8410161715611ae4575081810a6101ac565b611aee8383611a26565b8060001904821115611b0257611b026118ef565b029392505050565b60006111ed8383611a69565b600082611b2557611b256119aa565b500690565b600060208284031215611b3c57600080fd5b505191905056fea26469706673582212204875324a0ffbec2ef4b8b54e737ba4f199bc66a7bbc669362262c64003f5eb4964736f6c63430008140033", + "balance": "0x0" + }, + "0x048f359A4E6BdfC19685C0a8c18B1B5218b51B75": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220135e72a42058ab0e632df6c5474c45731ab0dc607fe51f1fc94cfd9d75ca0ef764736f6c63430008140033", + "balance": "0x0" + }, + "0x3fD14Cf67D9Da140cEBb919b33Cc04Aae729C2A8": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204741edf06f2beb06ef4569595fe2d316d5949d5f7ec1249b35e5c00b9eabb60c64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051630532024960e01b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212209632508c2a715b76d0a2d3aa58ee92c804730127c9ce52ca1746b6dd53e3493564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0xff8959e8c71db849773cf97c3b9d85b4a718b66a9dd50782caaf354b57db3d6b": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x99058c93124480b002badc5d0110ed1acb6b27cdc34775dc56d6fed405dc8136": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0xc1988a2b2382b3e0c971e65b2d2a310b3ef0066b56157529f8be7100312a0110": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0x28e5f95e0b28f5e8eff2ad0cf10e2257df753576fdd11a2049fe5980bb764c93": "0x0000000000000000000000001000777700000000000000000000000000000008", + "0x1bd1360fa36c01e6696e23e183c6ff9a991d80bbd5bc3937f43f6b80d21550bb": "0x0000000000000000000000001000777700000000000000000000000000000009", + "0x4e5812bcbdde873c5fe239352366ed228c76696457942c5015c492f11c9b7da2": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x3735f25b8e8f7ccb1ab37444024f5f04c1a1168bf4782d75a02bf365a9bce56f": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063bdd6bc361161007c578063bdd6bc36146102f3578063c7b9690814610306578063da69d3db14610320578063dac5df7814610333578063f2fde38b1461033c578063f535bd561461034f57600080fd5b8063715018a61461029b5780638da5cb5b146102a35780639ee512f2146102b4578063a7e022d1146102cd578063a86f9d9e146102e057600080fd5b80634e755573116100ff5780634e755573146101d6578063539b8ade14610218578063591aad8a146102435780635c82e9c2146102755780636c6563f61461028857600080fd5b80630599d2941461013c5780630652b57a1461016257806310da37381461017757806323ac71361461019e5780633ab76e9f146101b1575b600080fd5b61014f61014a36600461171c565b610369565b6040519081526020015b60405180910390f35b61017561017036600461174c565b6103b7565b005b61014f7f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b61014f6101ac36600461171c565b610430565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610159565b6101de6104aa565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610159565b60cd5461022b906001600160401b031681565b6040516001600160401b039091168152602001610159565b610256610251366004611769565b61050d565b6040805160ff9094168452602084019290925290820152606001610159565b61017561028336600461179f565b610748565b6101be6102963660046117f0565b610b04565b610175610b1b565b6065546001600160a01b03166101be565b6101be71777735367b36bc9b61c50022d9d0700db4ec81565b61014f6102db366004611839565b610b2f565b6101be6102ee36600461186c565b610b54565b61014f61030136600461171c565b610b6a565b60cd5461022b90600160401b90046001600160401b031681565b61017561032e36600461188f565b610bb5565b61014f60cb5481565b61017561034a36600461174c565b610e1e565b60cd5461022b90600160801b90046001600160401b031681565b6000806001600160401b038316156103815782610395565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020600101549392505050565b6103bf610e97565b6001600160a01b0381166103e657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600043826001600160401b03161061044a57506000919050565b43826001600160401b03161080156104765750610469610100436118eb565b826001600160401b031610155b1561048957506001600160401b03164090565b506001600160401b0316600090815260c9602052604090205490565b919050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561052a57508360ff16600214155b156105485760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff16600114610579577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561059b565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff166001146105d0577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186105f2565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610627577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2610649565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036106835761067c8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92506106f2565b6106cb7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106c68484600170014551231950b75fc4402da1732fc9bebe19610ef1565b610f40565b90925090506106ef8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561073f576107368370014551231950b75fc4402da1732fc9bebe196118eb565b92506001851894505b50509250925092565b600054610100900460ff16158080156107685750600054600160ff909116105b806107825750303b158015610782575060005460ff166001145b6107ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561080d576000805461ff0019166101001790555b600146111580610821575063ffffffff4610155b1561083f576040516306cffa2760e01b815260040160405180910390fd5b600143111561086157604051635a0f9e4160e11b815260040160405180910390fd5b61087160408301602084016118fe565b63ffffffff1615610a6057610889602083018361171c565b6001600160401b031615806108b457506108a9606083016040840161171c565b6001600160401b0316155b806108d557506108ca608083016060840161171c565b6001600160401b0316155b806108f657506108eb60a083016080840161171c565b6001600160401b0316155b1561091457604051639cc448b560e01b815260040160405180910390fd5b60008061095c61092a606086016040870161171c565b610937602087018761171c565b610947608088016060890161171c565b61095760a0890160808a0161171c565b610f5f565b91509150816001600160801b03166000148061098857506001600160401b036001600160801b03831610155b8061099a57506001600160801b038116155b156109b857604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b038416171790556109f660408501602086016118fe565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b199092169190911790556002610a2d606086016040870161171c565b610a37919061192f565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610a858361105e565b610a8e43611077565b5060cb554315610ab9576000610aa56001436118eb565b600081815260c96020526040902090409055505b8015610aff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610b1184848461110a565b90505b9392505050565b610b23610e97565b610b2d60006111be565b565b6000610b4c610b3c6104aa565b846001600160401b031684611210565b509392505050565b6000610b6146848461110a565b90505b92915050565b6000806001600160401b03831615610b825782610b96565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020549392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610be757604051636494e9f760e01b815260040160405180910390fd5b6000610bf46001436118eb565b90508040600080610c0484611077565b915091508160cb5414610c385760cb54604051636340d9fb60e11b81526004810191909152602481018390526044016107e1565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527e4ce985b8852a486571d0545799251fd671adcf33b7854a5f0f6a6a2431a555910160405180910390a2600080610cec6104aa565b9050806040015163ffffffff16600014610d505760cd54610d22908290610d1c906001600160401b0316426118eb565b89611210565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610d8357604051634083acad60e01b81526001600160401b038084166004830152481660248201526044016107e1565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b610e26610e97565b6001600160a01b038116610e8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e1565b610e94816111be565b50565b6065546001600160a01b03163314610b2d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e1565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610f3657600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f7b57610f7b611955565b6000610f8860028861192f565b9050610fa66001600160401b038816680755bf798b4a1bf1e461196b565b9250610fc5610fc084886001600160401b031684896112ad565b61136c565b91506000610fd5848484896112ad565b90506000610fef858585610fea8b6002611985565b6112ad565b9050600082611000836127106119b0565b61100a91906119c7565b9050806001600160401b0316876001600160401b03161461105157604051631530943760e11b81526001600160401b038089166004830152821660248201526044016107e1565b5050505094509492505050565b6110666113d9565b61106e611408565b610e9481611437565b6000806110826116e5565b60005b60ff811080156110985750806001018510155b156110ca576000198186030180408360ff830661010081106110bc576110bc6119db565b602002015250600101611085565b5046611fe0820152612000812092508340816110e760ff876119f1565b61010081106110f8576110f86119db565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190611a05565b90508115801561119657506001600160a01b038116155b15610b1457604051631467050360e21b815260048101859052602481018490526044016107e1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000856040015163ffffffff1685029050600061125f828663ffffffff1660cd60109054906101000a90046001600160401b03166001600160401b03160161148090919063ffffffff16565b90506112748282036001600160401b03611496565b9250505061129685602001516001600160401b031686600001518360006112ad565b9150816000036112a557600191505b935093915050565b60006001600160801b038516158015906112cf57506001600160801b03841615155b6112db576112db611955565b60006001600160401b038316156112f257826112f5565b60015b9050600061130c856001600160401b0316886114ab565b9050600061132c61131d8488611a22565b6001600160401b0316896114ab565b90506001600160801b0387166001600160401b03841661134c84846118eb565b61135691906119c7565b61136091906119c7565b98975050505050505050565b60006001600160801b038211156113d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016107e1565b5090565b600054610100900460ff166114005760405162461bcd60e51b81526004016107e190611a49565b610b2d6114fd565b600054610100900460ff1661142f5760405162461bcd60e51b81526004016107e190611a49565b610b2d61152a565b6001600160a01b03811661145e57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600081831161148f5781610b61565b5090919050565b60008183116114a55782610b61565b50919050565b6000806114c16001600160801b038416856119b0565b9050680755bf798b4a1bf1e481106114ec5760405163576ff4f160e01b815260040160405180910390fd5b6114f58161155a565b949350505050565b600054610100900460ff166115245760405162461bcd60e51b81526004016107e190611a49565b60018055565b600054610100900460ff166115515760405162461bcd60e51b81526004016107e190611a49565b610b2d336111be565b6000680248ce36a70cb26b3e19821361157557506000919050565b680755bf798b4a1bf1e5821261159e57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b03811681146104a557600080fd5b60006020828403121561172e57600080fd5b610b6182611705565b6001600160a01b0381168114610e9457600080fd5b60006020828403121561175e57600080fd5b8135610b1481611737565b6000806040838503121561177c57600080fd5b82359150602083013560ff8116811461179457600080fd5b809150509250929050565b60008082840360c08112156117b357600080fd5b83356117be81611737565b925060a0601f19820112156117d257600080fd5b506020830190509250929050565b803580151581146104a557600080fd5b60008060006060848603121561180557600080fd5b833592506020840135915061181c604085016117e0565b90509250925092565b803563ffffffff811681146104a557600080fd5b6000806040838503121561184c57600080fd5b61185583611705565b915061186360208401611825565b90509250929050565b6000806040838503121561187f57600080fd5b82359150611863602084016117e0565b600080600080608085870312156118a557600080fd5b84359350602085013592506118bc60408601611705565b91506118ca60608601611825565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b6457610b646118d5565b60006020828403121561191057600080fd5b610b6182611825565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061194957611949611919565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061194957611949611919565b6001600160401b038181168382160280821691908281146119a8576119a86118d5565b505092915050565b8082028115828204841417610b6457610b646118d5565b6000826119d6576119d6611919565b500490565b634e487b7160e01b600052603260045260246000fd5b600082611a0057611a00611919565b500690565b600060208284031215611a1757600080fd5b8151610b1481611737565b6001600160401b03818116838216019080821115611a4257611a426118d5565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220a938ea0297acf71927d6cdd660550dc752a041838abdf94066911ffc20d30c2064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xb1cdc1a3b51cd0ae1113eb88f95dfd26aab10c50b39e31811e63cffc250b0da2", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x0000000000bebc200000000058b8ef1c0000000485b9d2e799564d28c46075dd", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000a9507f68000000000000000000000000064ec1a7e", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063620c23fb116100ab578063a86f9d9e1161006f578063a86f9d9e14610354578063ce70f39b14610374578063d0496d6a14610394578063ec9b312114610403578063f21be36f14610423578063f2fde38b1461044357600080fd5b8063620c23fb146102c15780636c6563f6146102e1578063715018a6146103015780638da5cb5b14610316578063a4444efd1461033457600080fd5b80634f5f9772116100f25780634f5f9772146101f45780635075a9d414610234578063540be6a3146102615780635d0bd98614610281578063606b5b74146102a157600080fd5b80630652b57a1461013a57806319ab453c1461015c578063263463c81461017c5780633ab76e9f146101af5780634c1888bc146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004612a0c565b610463565b005b34801561016857600080fd5b5061015a610177366004612a0c565b6104dc565b34801561018857600080fd5b5061019c610197366004612a42565b6105f4565b6040519081526020015b60405180910390f35b3480156101bb57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020016101a6565b61019c6101ef366004612a42565b61060d565b34801561020057600080fd5b5061022461020f366004612a76565b600090815260cd602052604090205460ff1690565b60405190151581526020016101a6565b34801561024057600080fd5b5061025461024f366004612a76565b61063b565b6040516101a69190612ac7565b34801561026d57600080fd5b5061022461027c366004612a76565b610646565b34801561028d57600080fd5b5061022461029c366004612a76565b610652565b3480156102ad57600080fd5b5061019c6102bc366004612a76565b610665565b3480156102cd57600080fd5b5061015a6102dc366004612b1d565b610670565b3480156102ed57600080fd5b506101c96102fc366004612b93565b610696565b34801561030d57600080fd5b5061015a6106ad565b34801561032257600080fd5b506065546001600160a01b03166101c9565b34801561034057600080fd5b5061022461034f366004612bcc565b6106c1565b34801561036057600080fd5b506101c961036f366004612c1e565b6106d9565b34801561038057600080fd5b5061022461038f366004612bcc565b6106e6565b3480156103a057600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016101a6565b34801561040f57600080fd5b5061015a61041e366004612b1d565b6106f5565b34801561042f57600080fd5b5061015a61043e366004612c4e565b61070d565b34801561044f57600080fd5b5061015a61045e366004612a0c565b61072b565b61046b6107a4565b6001600160a01b03811661049257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156104fc5750600054600160ff909116105b806105165750303b158015610516575060005460ff166001145b61057e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105a1576000805461ff0019166101001790555b6105aa826107fe565b80156105f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060761060283612da4565b610817565b92915050565b6000610617610847565b61062b60c93061062685612da4565b6108a0565b905061063660018055565b919050565b600061060782610b71565b60006106073083610b9c565b600061065e3083610c7d565b5092915050565b600061060782610d06565b610678610847565b61068860c9308585856001610d41565b61069160018055565b505050565b60006106a3848484610fbe565b90505b9392505050565b6106b56107a4565b6106bf6000611072565b565b60006106d030868686866110c4565b95945050505050565b60006106a6468484610fbe565b60006106d03086868686611227565b6106fd610847565b61068860c93085858560016114ac565b610715610847565b61072260c930848461197f565b6105f060018055565b6107336107a4565b6001600160a01b0381166107985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610575565b6107a181611072565b50565b6065546001600160a01b031633146106bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610575565b610806611b55565b61080e611b84565b6107a181611bb3565b60008160405160200161082a9190612eea565b604051602081830303815290604052805190602001209050919050565b6002600154036108995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610575565b6002600155565b60808101516000906001600160a01b03166108ce576040516398fc91f160e01b815260040160405180910390fd5b6000806108df858560600151610c7d565b915091508115806108f35750468460600151145b156109115760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b031615806109405750806001600160a01b03168460a001516001600160a01b0316145b1561095e5760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461010001518560e001516109759190612fed565b905034811461099757604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906109c790600190600401613000565b602060405180830381865afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a08919061301f565b9050610a1d6001600160a01b03821683611bfc565b8754886000610a2b8361303c565b909155508652336020870152466040870152610a4686610817565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610a7690600090600401613055565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab7919061301f565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610ae491815260200190565b6020604051808303816000875af1158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b279190613077565b50847f238646a410b383b664b8d2fe57d2895c1ecd3464a3159cae73a93a9f21a4335587604051610b589190612eea565b60405180910390a2505050509392505050565b60018055565b600080610b7d83610d06565b8054909150806003811115610b9457610b94612a8f565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e90610bcb908490600401613055565b602060405180830381865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c919061301f565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610c59573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190613090565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610caf9291906130ad565b602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061301f565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b8152508260405160200161082a9291906130cc565b6000610d4f61060286612da4565b600081815260048901602052604090205490915060ff1615610d845760405163bd7e9a9d60e01b815260040160405180910390fd5b818015610d9f5750610d9d868287606001358787611227565b155b15610dbd5760405163498b0b1d60e01b815260040160405180910390fd5b600081815260048089016020526040808320805460ff191660019081179091559051635437cecf60e11b81526001600160a01b038a169263a86f9d9e92610e0692909101613000565b602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061301f565b90506001600160a01b03811615610ebc5760405163ba0bbd9560e01b815230600482015260e087013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015610ea357600080fd5b505af1158015610eb7573d6000803e3d6000fd5b505050505b610ee6631953216560e11b610ed76040890160208a01612a0c565b6001600160a01b031690611cb2565b15610f6257610efb6040870160208801612a0c565b6001600160a01b03166332a642ca8760e00135886040518363ffffffff1660e01b8152600401610f2b919061315c565b6000604051808303818588803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b5050505050610f89565b610f8960e0870135610f7a60a0890160808a01612a0c565b6001600160a01b031690611bfc565b60405182907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa290600090a25050505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061301f565b90508115801561104a57506001600160a01b038116155b156106a657604051631467050360e21b81526004810185905260248101849052604401610575565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b81526004016110f69291906130ad565b602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611137919061301f565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e9061116790600090600401613055565b602060405180830381865afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061301f565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016111db959493929190613262565b602060405180830381865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c9190613090565b979650505050505050565b60004684036112495760405163e822b48d60e01b815260040160405180910390fd5b600085900361126b5760405163a6407c9360e01b815260040160405180910390fd5b60006112798385018561332b565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f5919061301f565b82516101000151604051635eeb5e1b60e11b81526001600160401b0390911660048201526001600160a01b03919091169063bdd6bc3690602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190613077565b90508015806113895750815161138590611d2b565b8114155b15611399576000925050506106d0565b815160600151604051633632b1fb60e11b8152734F6d0287F08bD8b05DB0272c493A2e9DA967530191636892abdc916001600160a01b038c1690636c6563f6906113ea908c906000906004016130ad565b602060405180830381865afa158015611407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142b919061301f565b6114348b610d06565b602087015160405160e086901b6001600160e01b031916815261145f949392916003916004016134cf565b602060405180830381865af415801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190613090565b98975050505050505050565b6101208401351580156114e057506114ca60a0850160808601612a0c565b6001600160a01b0316336001600160a01b031614155b156114fe5760405163398b635960e21b815260040160405180910390fd5b468460600135146115225760405163e822b48d60e01b815260040160405180910390fd5b600061153061060286612da4565b9050600061153d82610b71565b600381111561154e5761154e612a8f565b1461156c57604051630cfafbf960e01b815260040160405180910390fd5b6000866001600160a01b0316636c6563f6876040013560006040518363ffffffff1660e01b81526004016115a19291906130ad565b602060405180830381865afa1580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e2919061301f565b90508280156116d45750604051635437cecf60e11b81526001600160a01b0388169063a86f9d9e9061161990600090600401613055565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a919061301f565b6001600160a01b0316635221f6138760400135838589896040518663ffffffff1660e01b8152600401611691959493929190613262565b602060405180830381865afa1580156116ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d29190613090565b155b156116f2576040516314504c7360e31b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0389169063a86f9d9e9061172290600190600401613000565b602060405180830381865afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611763919061301f565b90506001600160a01b038116156117f6576001600160a01b03811663ba0bbd95306117976101008b013560e08c0135612fed565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050505b6000803061180a60c08b0160a08c01612a0c565b6001600160a01b031614806118375750600061182c60c08b0160a08c01612a0c565b6001600160a01b0316145b1561184b57506002905060e08801356118c1565b600061185d60a08b0160808c01612a0c565b6001600160a01b0316336001600160a01b03161461188057896101200135611882565b5a5b905060006118928d8c8985611d50565b905080156118a357600293506118be565b600193506118be6001600160a01b03861660e08d0135611bfc565b50505b6118cb8583611ea7565b6000806118de60e08c0160c08d01612a0c565b6001600160a01b031614611901576118fc60e08b0160c08c01612a0c565b611911565b61191160a08b0160808c01612a0c565b90506001600160a01b038116330361194f576000611934836101008d0135612fed565b90506119496001600160a01b03831682611bfc565b50611971565b61195e336101008c0135611bfc565b6119716001600160a01b03821683611bfc565b505050505050505050505050565b610120820135158061198e5750805b156119d4576119a360a0830160808401612a0c565b6001600160a01b0316336001600160a01b0316146119d45760405163d7f4fc9f60e01b815260040160405180910390fd5b60006119e261060284612da4565b905060016119ef82610b71565b6003811115611a0057611a00612a8f565b14611a1e57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e90611a4e90600190600401613000565b602060405180830381865afa158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f919061301f565b90506001600160a01b03811615611b045760405163ba0bbd9560e01b815230600482015260e085013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015611aeb57600080fd5b505af1158015611aff573d6000803e3d6000fd5b505050505b6000611b128786855a611d50565b90508015611b2a57611b25836002611ea7565b611b4c565b611b35836003611ea7565b611b4c6001600160a01b03831660e0870135611bfc565b50505050505050565b600054610100900460ff16611b7c5760405162461bcd60e51b815260040161057590613502565b6106bf611f20565b600054610100900460ff16611bab5760405162461bcd60e51b815260040161057590613502565b6106bf611f47565b6001600160a01b038116611bda57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611c1057506001600160a01b038216155b15611c19575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c66576040519150601f19603f3d011682016040523d82523d6000602084013e611c6b565b606091505b50509050806106915760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610575565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611d1f575060408051601f3d908101601f19168201909252611d1c91810190613090565b60015b15610607579392505050565b600080611d41611d3c846000611f77565b612398565b80516020909101209392505050565b600081600003611d7357604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611d979190612a0c565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611de960c0850160a08601612a0c565b6001600160a01b03168260e0860135611e0661014088018861354d565b604051611e14929190613593565b600060405180830381858888f193505050503d8060008114611e52576040519150601f19603f3d011682016040523d82523d6000602084013e611e57565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b806003811115611eb957611eb9612a8f565b611ec283610b71565b6003811115611ed357611ed3612a8f565b146105f057611ee282826123dc565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051611f149291906135a3565b60405180910390a25050565b600054610100900460ff16610b6b5760405162461bcd60e51b815260040161057590613502565b600054610100900460ff16611f6e5760405162461bcd60e51b815260040161057590613502565b6106bf33611072565b61020082015160609015611fe257611f90826011612fed565b6001600160401b03811115611fa757611fa7612c94565b604051908082528060200260200182016040528015611fda57816020015b6060815260200190600190039081611fc55790505b509050612051565b6101e083015115611ff857611f90826010612fed565b61200382600f612fed565b6001600160401b0381111561201a5761201a612c94565b60405190808252806020026020018201604052801561204d57816020015b60608152602001906001900390816120385790505b5090505b825161205c90612405565b8160008151811061206f5761206f6135c9565b60200260200101819052506120878360200151612405565b8160018151811061209a5761209a6135c9565b60200260200101819052506120b28360400151612418565b816002815181106120c5576120c56135c9565b60200260200101819052506120dd8360600151612405565b816003815181106120f0576120f06135c9565b60200260200101819052506121088360800151612405565b8160048151811061211b5761211b6135c9565b60200260200101819052506121338360a00151612405565b81600581518110612146576121466135c9565b602002602001018190525061217d8360c0015160405160200161216991906135df565b604051602081830303815290604052612441565b81600681518110612190576121906135c9565b60200260200101819052506121a88360e001516124b0565b816007815181106121bb576121bb6135c9565b60200260200101819052506121dd8361010001516001600160801b03166124b0565b816008815181106121f0576121f06135c9565b60200260200101819052506122098361012001516124be565b8160098151811061221c5761221c6135c9565b60200260200101819052506122358361014001516124be565b81600a81518110612248576122486135c9565b60200260200101819052506122618361016001516124be565b81600b81518110612274576122746135c9565b602002602001018190525061228d836101800151612441565b81600c815181106122a0576122a06135c9565b60200260200101819052506122b9836101a00151612405565b81600d815181106122cc576122cc6135c9565b6020026020010181905250612303836101c00151604051602001612169919060c09190911b6001600160c01b031916815260080190565b81600e81518110612316576123166135c9565b6020026020010181905250826101e0015160001461235b5761233c836101e001516124b0565b81600f8151811061234f5761234f6135c9565b60200260200101819052505b6102008301511561060757612374836102000151612405565b81601081518110612387576123876135c9565b602002602001018190525092915050565b606060006123a5836124d5565b90506123b3815160c061260a565b816040516020016123c5929190613614565b604051602081830303815290604052915050919050565b60006123e783610d06565b905060008260038111156123fd576123fd612a8f565b909155505050565b6060610607612413836127b3565b612441565b604051606082811b6bffffffffffffffffffffffff191660208301529061060790603401612169565b6060808251600114801561246f5750608083600081518110612465576124656135c9565b016020015160f81c105b1561247b575081610607565b6124878351608061260a565b83604051602001612499929190613614565b604051602081830303815290604052905092915050565b606061060761241383612865565b6060610607612413836001600160401b0316612865565b606081516000036124f657604080516000808252602082019092529061065e565b6000805b835181101561253b57838181518110612515576125156135c9565b602002602001015151826125299190612fed565b91506125348161303c565b90506124fa565b6000826001600160401b0381111561255557612555612c94565b6040519080825280601f01601f19166020018201604052801561257f576020820181803683370190505b50600092509050602081015b85518310156126015760008684815181106125a8576125a86135c9565b6020026020010151905060006020820190506125c68382845161298f565b8785815181106125d8576125d86135c9565b602002602001015151836125ec9190612fed565b92505050826125fa9061303c565b925061258b565b50949350505050565b6060806038841015612671576040805160018082528183019092529060208201818036833701905050905061263f8385613643565b60f81b81600081518110612655576126556135c9565b60200101906001600160f81b031916908160001a9053506106a6565b600060015b6126808187613672565b156126a35761268e8261303c565b915061269c61010082613686565b9050612676565b6126ae826001612fed565b6001600160401b038111156126c5576126c5612c94565b6040519080825280601f01601f1916602001820160405280156126ef576020820181803683370190505b5092506126fc8583613643565b612707906037613643565b60f81b8360008151811061271d5761271d6135c9565b60200101906001600160f81b031916908160001a905350600190505b8181116127a95761010061274d828461369d565b61275990610100613794565b6127639088613672565b61276d91906137a0565b60f81b838281518110612782576127826135c9565b60200101906001600160f81b031916908160001a9053506127a28161303c565b9050612739565b5050905092915050565b60606000826040516020016127ca91815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561260157838361280f8161303c565b945081518110612821576128216135c9565b602001015160f81c60f81b82828151811061283e5761283e6135c9565b60200101906001600160f81b031916908160001a90535061285e8161303c565b90506127fb565b606060008260405160200161287c91815260200190565b604051602081830303815290604052905060005b60208110156128d1578181815181106128ab576128ab6135c9565b01602001516001600160f81b0319166000036128d1576128ca8161303c565b9050612890565b60006128de82602061369d565b6001600160401b038111156128f5576128f5612c94565b6040519080825280601f01601f19166020018201604052801561291f576020820181803683370190505b50905060005b81518110156126015783836129398161303c565b94508151811061294b5761294b6135c9565b602001015160f81c60f81b828281518110612968576129686135c9565b60200101906001600160f81b031916908160001a9053506129888161303c565b9050612925565b8282825b602081106129cb57815183526129aa602084612fed565b92506129b7602083612fed565b91506129c460208261369d565b9050612993565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b03811681146107a157600080fd5b8035610636816129ec565b600060208284031215612a1e57600080fd5b81356106a6816129ec565b60006101808284031215612a3c57600080fd5b50919050565b600060208284031215612a5457600080fd5b81356001600160401b03811115612a6a57600080fd5b610b9484828501612a29565b600060208284031215612a8857600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612ac357634e487b7160e01b600052602160045260246000fd5b9052565b602081016106078284612aa5565b60008083601f840112612ae757600080fd5b5081356001600160401b03811115612afe57600080fd5b602083019150836020828501011115612b1657600080fd5b9250929050565b600080600060408486031215612b3257600080fd5b83356001600160401b0380821115612b4957600080fd5b612b5587838801612a29565b94506020860135915080821115612b6b57600080fd5b50612b7886828701612ad5565b9497909650939450505050565b80151581146107a157600080fd5b600080600060608486031215612ba857600080fd5b83359250602084013591506040840135612bc181612b85565b809150509250925092565b60008060008060608587031215612be257600080fd5b843593506020850135925060408501356001600160401b03811115612c0657600080fd5b612c1287828801612ad5565b95989497509550505050565b60008060408385031215612c3157600080fd5b823591506020830135612c4381612b85565b809150509250929050565b60008060408385031215612c6157600080fd5b82356001600160401b03811115612c7757600080fd5b612c8385828601612a29565b9250506020830135612c4381612b85565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715612ccd57612ccd612c94565b60405290565b604080519081016001600160401b0381118282101715612ccd57612ccd612c94565b60405161022081016001600160401b0381118282101715612ccd57612ccd612c94565b600082601f830112612d2957600080fd5b81356001600160401b0380821115612d4357612d43612c94565b604051601f8301601f19908116603f01168101908282118183101715612d6b57612d6b612c94565b81604052838152866020858801011115612d8457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101808236031215612db757600080fd5b612dbf612caa565b82358152612dcf60208401612a01565b60208201526040830135604082015260608301356060820152612df460808401612a01565b6080820152612e0560a08401612a01565b60a0820152612e1660c08401612a01565b60c082015260e0838101359082015261010080840135908201526101208084013590820152610140808401356001600160401b0380821115612e5757600080fd5b612e6336838801612d18565b83850152610160925082860135915080821115612e7f57600080fd5b50612e8c36828701612d18565b918301919091525092915050565b60005b83811015612eb5578181015183820152602001612e9d565b50506000910152565b60008151808452612ed6816020860160208601612e9a565b601f01601f19169290920160200192915050565b602081528151602082015260006020830151612f1160408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612f4060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052612fb16101a0860184612ebe565b90860151858203601f190183870152909250612fcd8382612ebe565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612fd7565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006020828403121561303157600080fd5b81516106a6816129ec565b60006001820161304e5761304e612fd7565b5060010190565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561308957600080fd5b5051919050565b6000602082840312156130a257600080fd5b81516106a681612b85565b9182526562726964676560d01b60208301521515604082015260600190565b600083516130de818460208801612e9a565b9190910191825250602001919050565b6000808335601e1984360301811261310557600080fd5b83016020810192503590506001600160401b0381111561312457600080fd5b803603821315612b1657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061317560208401612a01565b6001600160a01b03811660408401525060408301356060830152606083013560808301526131a560808401612a01565b6001600160a01b03811660a0840152506131c160a08401612a01565b6001600160a01b03811660c0840152506131dd60c08401612a01565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061321e818501856130ee565b9150610180610160818187015261323a6101a087018585613133565b9350613248818801886130ee565b878603601f1901848901529350905061121c848483613133565b85815260018060a01b038516602082015283604082015260806060820152600061121c608083018486613133565b600082601f8301126132a157600080fd5b6040516101008082018281106001600160401b03821117156132c5576132c5612c94565b604052830181858211156132d857600080fd5b845b828110156132f25780358252602091820191016132da565b509195945050505050565b80356001600160801b038116811461063657600080fd5b80356001600160401b038116811461063657600080fd5b60006020828403121561333d57600080fd5b81356001600160401b038082111561335457600080fd5b908301906040828603121561336857600080fd5b613370612cd3565b82358281111561337f57600080fd5b8301610300818803121561339257600080fd5b61339a612cf5565b81358152602082013560208201526133b460408301612a01565b6040820152606082013560608201526080820135608082015260a082013560a08201526133e48860c08401613290565b60c08201526101c08083013560e08301526101e06134038185016132fd565b610100840152610200613417818601613314565b61012085015261342a6102208601613314565b61014085015261343d6102408601613314565b6101608501526102608501358781111561345657600080fd5b6134628c828801612d18565b610180860152506102808501356101a08501526134826102a08601613314565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134b457600080fd5b6134c087828601612d18565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061121c60a0830184612ebe565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261356457600080fd5b8301803591506001600160401b0382111561357e57600080fd5b602001915036819003821315612b1657600080fd5b8183823760009101908152919050565b604081016135b18285612aa5565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b60088110156136045781518352602092830192909101906001016135e5565b5050506101008201905092915050565b60008351613626818460208801612e9a565b83519083019061363a818360208801612e9a565b01949350505050565b60ff818116838216019081111561060757610607612fd7565b634e487b7160e01b600052601260045260246000fd5b6000826136815761368161365c565b500490565b808202811582820484141761060757610607612fd7565b8181038181111561060757610607612fd7565b600181815b808511156136eb5781600019048211156136d1576136d1612fd7565b808516156136de57918102915b93841c93908002906136b5565b509250929050565b60008261370257506001610607565b8161370f57506000610607565b8160018114613725576002811461372f5761374b565b6001915050610607565b60ff84111561374057613740612fd7565b50506001821b610607565b5060208310610133831016604e8410600b841016171561376e575081810a610607565b61377883836136b0565b806000190482111561378c5761378c612fd7565b029392505050565b60006106a683836136f3565b6000826137af576137af61365c565b50069056fea264697066735822122009d4dcbca9999e37ccb242253cd0d63b06c0f688cf947134dcdeef074e36412964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedERC20Vault", + "storage": {}, + "code": "0x608060405260043610620000fb5760003560e01c8063715018a61162000095578063c287e5781162000060578063c287e57814620002e0578063cb03d23c1462000314578063e2dc9033146200032b578063f2fde38b146200034257600080fd5b8063715018a6146200024b5780638da5cb5b14620002635780639aa8605c1462000283578063a86f9d9e14620002bb57600080fd5b806332a642ca11620000d657806332a642ca14620001965780633ab76e9f14620001ad57806367090ccf14620001e15780636c6563f6146200022657600080fd5b806301ffc9a714620001005780630652b57a146200014a57806319ab453c1462000171575b600080fd5b3480156200010d57600080fd5b50620001356200011f36600462001fb6565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200015757600080fd5b506200016f6200016936600462002005565b62000367565b005b3480156200017e57600080fd5b506200016f6200019036600462002005565b620003e3565b6200016f620001a736600462002025565b62000503565b348015620001ba57600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000141565b348015620001ee57600080fd5b50620001c86200020036600462002064565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200023357600080fd5b50620001c862000245366004620020a6565b620007b5565b3480156200025857600080fd5b506200016f620007ce565b3480156200027057600080fd5b506065546001600160a01b0316620001c8565b3480156200029057600080fd5b50620002a8620002a236600462002005565b620007e6565b6040516200014195949392919062002136565b348015620002c857600080fd5b50620001c8620002da3660046200218b565b62000947565b348015620002ed57600080fd5b5062000135620002ff36600462002005565b60c96020526000908152604090205460ff1681565b6200016f62000325366004620021b3565b6200095f565b6200016f6200033c36600462002229565b62000c0f565b3480156200034f57600080fd5b506200016f6200036136600462002005565b62000fb4565b6200037162001030565b6001600160a01b0381166200039957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004045750600054600160ff909116105b80620004205750303b15801562000420575060005460ff166001145b620004895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620004ad576000805461ff0019166101001790555b620004b8826200108c565b8015620004ff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200050d620010ab565b6562726964676560d01b6200052481600162000947565b6001600160a01b0316336001600160a01b0316146200055657604051630d85cccf60e11b815260040160405180910390fd5b60006200056e6562726964676560d01b600062000947565b90506000816001600160a01b031663263463c8856040518263ffffffff1660e01b8152600401620005a09190620022e1565b602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e4919062002402565b9050600080620005f96101408701876200241c565b6200060991600490829062002466565b8101906200061891906200259f565b919450909250506001600160a01b038316905062000649576040516303f8a7d360e01b815260040160405180910390fd5b801562000739576001600160a01b038216600090815260c9602052604090205460ff1680620006a357506200068e6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316826001600160a01b0316145b156200071157604051632770a7eb60e21b8152306004820152602481018290526001600160a01b03831690639dc29fac90604401600060405180830381600087803b158015620006f257600080fd5b505af115801562000707573d6000803e3d6000fd5b5050505062000739565b620007396200072760a088016080890162002005565b6001600160a01b038416908362001106565b6200074b60a087016080880162002005565b6001600160a01b0316837f75c5fedbd5fff6123ad9b70827e9742ea1eee996583d6e14249f1429fc4fd99384846040516200079b9291906001600160a01b03929092168252602082015260400190565b60405180910390a35050505050620007b260018055565b50565b6000620007c484848462001165565b90505b9392505050565b620007d862001030565b620007e460006200121f565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff169290919062000828906200268d565b80601f016020809104026020016040519081016040528092919081815260200182805462000856906200268d565b8015620008a75780601f106200087b57610100808354040283529160200191620008a7565b820191906000526020600020905b8154815290600101906020018083116200088957829003601f168201915b505050505090806003018054620008be906200268d565b80601f0160208091040260200160405190810160405280929190818152602001828054620008ec906200268d565b80156200093d5780601f1062000911576101008083540402835291602001916200093d565b820191906000526020600020905b8154815290600101906020018083116200091f57829003601f168201915b5050505050905085565b60006200095646848462001165565b90505b92915050565b62000969620010ab565b6562726964676560d01b6200098081600162000947565b6001600160a01b0316336001600160a01b031614620009b257604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526a195c98cc8c17dd985d5b1d60aa1b600482015230602482015260009073502cF119B821a241E25F3acd19548C0Bd825DD759063881107d990604401606060405180830381865af415801562000a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3f9190620026c9565b905060004687350362000b1a5762000a5e604088016020890162002005565b905062000a7b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316816001600160a01b03160362000afe576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801562000adf57600080fd5b505af115801562000af4573d6000803e3d6000fd5b5050505062000b8e565b62000b146001600160a01b038216868662001106565b62000b8e565b62000b258762001271565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801562000b7457600080fd5b505af115801562000b89573d6000803e3d6000fd5b505050505b62000ba36001600160a01b03861634620012d0565b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907f883b72735ca0ee2cdd2a462a393658b1a0b36ebd8756e4c22b7509a92ff86a029060600160405180910390a450505062000c0960018055565b50505050565b62000c19620010ab565b80356a195c98cc8c17dd985d5b1d60aa1b62000c3c604084016020850162002005565b62000c4e606085016040860162002005565b6001600160a01b038216158062000c83575062000c6e84846000620007b5565b6001600160a01b0316826001600160a01b0316145b1562000ca25760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000cca576040516303f8a7d360e01b815260040160405180910390fd5b846060013560000362000cf057604051634299323b60e11b815260040160405180910390fd5b600062000d7b6040518061018001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b608081015162000db49062000d9760608a0160408b0162002005565b62000da960408b0160208c0162002005565b8a606001356200138c565b61014083019190915287356060830181905233608084015290925062000deb906a195c98cc8c17dd985d5b1d60aa1b6000620007b5565b6001600160a01b031660a080830191909152608088013561012083015262000e17908801353462002731565b60e08083019190915260a088013561010083015262000e3c90880160c0890162002005565b6001600160a01b031660c082015262000e5960e08801886200241c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000eac91506562726964676560d01b90508262000947565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000eda919062002753565b60206040518083038185885af115801562000ef9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000f20919062002402565b905062000f346040890160208a0162002005565b60808301516001600160a01b039182169116827f91462591aed3d13dcadac8ed73fdc175ec6e79b798ca205822e7ec33dc019e888b3562000f7c60608e0160408f0162002005565b604080519283526001600160a01b039091166020830152810188905260600160405180910390a450505050505050620007b260018055565b62000fbe62001030565b6001600160a01b038116620010255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000480565b620007b2816200121f565b6065546001600160a01b03163314620007e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000480565b62001096620019db565b620010a062001a0f565b620007b28162001a43565b600260015403620010ff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000480565b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526200115a90849062001a8d565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620011b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011dd919062002846565b905081158015620011f557506001600160a01b038116155b15620007c757604051631467050360e21b8152600481018590526024810184905260440162000480565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8035600090815260cb60209081526040808320918391620012989190860190860162002005565b6001600160a01b03908116825260208201929092526040016000205416905080620012cb57620012c88262001b66565b90505b919050565b801580620012e557506001600160a01b038216155b15620012ef575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200133e576040519150601f19603f3d011682016040523d82523d6000602084013e62001343565b606091505b50509050806200115a5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000480565b60606000620013cf6040518060a001604052806000815260200160006001600160a01b03168152602001600060ff16815260200160608152602001606081525090565b6001600160a01b038616600090815260c9602052604090205460ff161562001603576001600160a01b03868116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff169181019190915260028201805491929160608401919062001455906200268d565b80601f016020809104026020016040519081016040528092919081815260200182805462001483906200268d565b8015620014d45780601f10620014a857610100808354040283529160200191620014d4565b820191906000526020600020905b815481529060010190602001808311620014b657829003601f168201915b50505050508152602001600382018054620014ef906200268d565b80601f01602080910402602001604051908101604052809291908181526020018280546200151d906200268d565b80156200156e5780601f1062001542576101008083540402835291602001916200156e565b820191906000526020600020905b8154815290600101906020018083116200155057829003601f168201915b5050509190925250505060208101519091506001600160a01b031662001598576200159862002866565b604051632770a7eb60e21b8152336004820152602481018590526001600160a01b03871690639dc29fac90604401600060405180830381600087803b158015620015e157600080fd5b505af1158015620015f6573d6000803e3d6000fd5b505050508391506200197a565b60008690506040518060a00160405280468152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001667573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200168d91906200287c565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620016d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620016fe91908101906200289c565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001742573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200176c91908101906200289c565b905291506200178b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316876001600160a01b0316036200180f57604051632770a7eb60e21b8152336004820152602481018690526001600160a01b03881690639dc29fac90604401600060405180830381600087803b158015620017ed57600080fd5b505af115801562001802573d6000803e3d6000fd5b5050505084925062001978565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562001857573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187d919062002402565b6040516323b872dd60e01b8152336004820152306024820152604481018890529091506001600160a01b038316906323b872dd906064016020604051808303816000875af1158015620018d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018fa91906200291c565b506040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801562001942573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001968919062002402565b62001974919062002731565b9350505b505b6040516332c0f48f60e21b906200199c9083908a90899087906024016200293c565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529791965090945050505050565b600054610100900460ff1662001a055760405162461bcd60e51b81526004016200048090620029d9565b620007e462001e14565b600054610100900460ff1662001a395760405162461bcd60e51b81526004016200048090620029d9565b620007e462001e3e565b6001600160a01b03811662001a6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600062001ae4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662001e739092919063ffffffff16565b8051909150156200115a578080602001905181019062001b0591906200291c565b6200115a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000480565b60008060405162001b779062001fa8565b604051809103906000f08015801562001b94573d6000803e3d6000fd5b50905073502cF119B821a241E25F3acd19548C0Bd825DD756378adc0d68262001bc56065546001600160a01b031690565b609754636c0db62b60e01b906001600160a01b031662001bec60408a0160208b0162002005565b893562001c0060608c0160408d0162002a24565b62001c0f60608d018d6200241c565b62001c1e60808f018f6200241c565b60405160200162001c3798979695949392919062002a44565b60408051601f198184030181529082905262001c57929160200162002aa7565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001c869392919062002ada565b602060405180830381865af415801562001ca4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cca919062002846565b6001600160a01b038116600090815260c960209081526040808320805460ff1916600117905560ca9091529020909250839062001d08828262002c28565b50508235600090815260cb6020908152604080832085939092909162001d349190880190880162002005565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031683602001602081019062001d97919062002005565b6001600160a01b031684357fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907962001dd260608801886200241c565b62001de160808a018a6200241c565b62001df360608c0160408d0162002a24565b60405162001e0695949392919062002cbb565b60405180910390a450919050565b600054610100900460ff166200115f5760405162461bcd60e51b81526004016200048090620029d9565b600054610100900460ff1662001e685760405162461bcd60e51b81526004016200048090620029d9565b620007e4336200121f565b6060620007c4848460008585600080866001600160a01b0316858760405162001e9d919062002cfc565b60006040518083038185875af1925050503d806000811462001edc576040519150601f19603f3d011682016040523d82523d6000602084013e62001ee1565b606091505b509150915062001ef48783838762001f01565b925050505b949350505050565b6060831562001f7557825160000362001f6d576001600160a01b0385163b62001f6d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000480565b508162001ef9565b62001ef9838381511562001f8c5781518083602001fd5b8060405162461bcd60e51b815260040162000480919062002d1a565b61193c8062002d3083390190565b60006020828403121562001fc957600080fd5b81356001600160e01b031981168114620007c757600080fd5b6001600160a01b0381168114620007b257600080fd5b8035620012cb8162001fe2565b6000602082840312156200201857600080fd5b8135620007c78162001fe2565b6000602082840312156200203857600080fd5b813567ffffffffffffffff8111156200205057600080fd5b82016101808185031215620007c757600080fd5b600080604083850312156200207857600080fd5b8235915060208301356200208c8162001fe2565b809150509250929050565b8015158114620007b257600080fd5b600080600060608486031215620020bc57600080fd5b83359250602084013591506040840135620020d78162002097565b809150509250925092565b60005b83811015620020ff578181015183820152602001620020e5565b50506000910152565b6000815180845262002122816020860160208601620020e2565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906200216b9083018562002108565b82810360808401526200217f818562002108565b98975050505050505050565b600080604083850312156200219f57600080fd5b8235915060208301356200208c8162002097565b60008060008060808587031215620021ca57600080fd5b843567ffffffffffffffff811115620021e257600080fd5b850160a08188031215620021f557600080fd5b93506020850135620022078162001fe2565b92506040850135620022198162001fe2565b9396929550929360600135925050565b6000602082840312156200223c57600080fd5b813567ffffffffffffffff8111156200225457600080fd5b82016101008185031215620007c757600080fd5b6000808335601e198436030181126200228057600080fd5b830160208101925035905067ffffffffffffffff811115620022a157600080fd5b803603821315620022b157600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152813560208201526000620022fc6020840162001ff8565b6001600160a01b03811660408401525060408301356060830152606083013560808301526200232e6080840162001ff8565b6001600160a01b03811660a0840152506200234c60a0840162001ff8565b6001600160a01b03811660c0840152506200236a60c0840162001ff8565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250620023ad8185018562002268565b91506101806101608181870152620023cb6101a087018585620022b8565b9350620023db8188018862002268565b878603601f19018489015293509050620023f7848483620022b8565b979650505050505050565b6000602082840312156200241557600080fd5b5051919050565b6000808335601e198436030181126200243457600080fd5b83018035915067ffffffffffffffff8211156200245057600080fd5b602001915036819003821315620022b157600080fd5b600080858511156200247757600080fd5b838611156200248557600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715620024ce57620024ce62002492565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562002500576200250062002492565b604052919050565b60ff81168114620007b257600080fd5b600067ffffffffffffffff82111562002535576200253562002492565b50601f01601f191660200190565b600082601f8301126200255557600080fd5b81356200256c620025668262002518565b620024d4565b8181528460208386010111156200258257600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215620025b657600080fd5b843567ffffffffffffffff80821115620025cf57600080fd5b9086019060a08289031215620025e457600080fd5b620025ee620024a8565b823581526020830135620026028162001fe2565b60208201526040830135620026178162002508565b60408201526060830135828111156200262f57600080fd5b6200263d8a82860162002543565b6060830152506080830135828111156200265657600080fd5b620026648a82860162002543565b60808301525095506200267d9150506020860162001ff8565b9250620022196040860162001ff8565b600181811c90821680620026a257607f821691505b602082108103620026c357634e487b7160e01b600052602260045260246000fd5b50919050565b600060608284031215620026dc57600080fd5b6040516060810181811067ffffffffffffffff8211171562002702576200270262002492565b604052825181526020830151620027198162001fe2565b60208201526040928301519281019290925250919050565b818103818111156200095957634e487b7160e01b600052601160045260246000fd5b6020815281516020820152600060208301516200277b60408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151620027ab60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e08301516101008381019190915283015161012080840191909152830151610140808401919091528301516101806101608085018290526200281e6101a086018462002108565b90860151858203601f1901838701529092506200283c838262002108565b9695505050505050565b6000602082840312156200285957600080fd5b8151620007c78162001fe2565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156200288f57600080fd5b8151620007c78162002508565b600060208284031215620028af57600080fd5b815167ffffffffffffffff811115620028c757600080fd5b8201601f81018413620028d957600080fd5b8051620028ea620025668262002518565b8181528560208385010111156200290057600080fd5b62002913826020830160208601620020e2565b95945050505050565b6000602082840312156200292f57600080fd5b8151620007c78162002097565b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e08501526200298861012085018362002108565b91506080880151607f1985840301610100860152620029a8838262002108565b9188166020860152506001600160a01b03861660408501529150620029ca9050565b82606083015295945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121562002a3757600080fd5b8135620007c78162002508565b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c06080820181905260009062002a839083018688620022b8565b82810360a084015262002a98818587620022b8565b9b9a5050505050505050505050565b6001600160e01b031983168152815160009062002acc816004850160208701620020e2565b919091016004019392505050565b6001600160a01b03848116825283166020820152606060408201819052600090620029139083018462002108565b601f8211156200115a57600081815260208120601f850160051c8101602086101562002b315750805b601f850160051c820191505b8181101562002b525782815560010162002b3d565b505050505050565b67ffffffffffffffff83111562002b755762002b7562002492565b62002b8d8362002b8683546200268d565b8362002b08565b6000601f84116001811462002bc4576000851562002bab5750838201355b600019600387901b1c1916600186901b17835562002c21565b600083815260209020601f19861690835b8281101562002bf7578685013582556020948501946001909201910162002bd5565b508682101562002c155760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135815560018101602083013562002c408162001fe2565b8154604085013562002c528162002508565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b0319919091161717905562002c8a60608301836200241c565b62002c9a81836002860162002b5a565b505062002cab60808301836200241c565b62000c0981836003860162002b5a565b60608152600062002cd1606083018789620022b8565b828103602084015262002ce6818688620022b8565b91505060ff831660408301529695505050505050565b6000825162002d10818460208701620020e2565b9190910192915050565b6020815260006200095660208301846200210856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61184f806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b36600461130d565b61036c565b005b61017a6103e5565b604051610187919061134e565b60405180910390f35b6101a361019e366004611381565b61041f565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046113ad565b610439565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a3610231366004611381565b610479565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b610170610269366004611381565b61049b565b6101b760fc5481565b610170610285366004611491565b610525565b610243610298366004611550565b6106cb565b6101b76102ab36600461130d565b6001600160a01b0316600090815260c9602052604090205490565b6101706106d8565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a6106ec565b610170610308366004611381565b61077e565b6101a361031b366004611381565b6107ff565b61024361032e366004611585565b610885565b6101a3610341366004611381565b610892565b6101b76103543660046115b1565b6108c7565b61017061036736600461130d565b6108f2565b61037461096b565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606103ef6109c5565b6103fa60fc546109d4565b60405160200161040b9291906115ea565b604051602081830303815290604052905090565b60003361042d818585610a67565b60019150505b92915050565b6000306001600160a01b0384160361046457604051636cfe544760e01b815260040160405180910390fd5b61046f848484610b83565b90505b9392505050565b60003361042d81858561048c83836108c7565b6104969190611628565b610a67565b6a195c98cc8c17dd985d5b1d60aa1b6104b5816001610885565b6001600160a01b0316336001600160a01b0316146104e657604051630d85cccf60e11b815260040160405180910390fd5b6104f08383610b9c565b6040518281526001600160a01b038416906000906000805160206117fa833981519152906020015b60405180910390a3505050565b600054610100900460ff16158080156105455750600054600160ff909116105b8061055f5750303b15801561055f575060005460ff166001145b6105c75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105ea576000805461ff0019166101001790555b6001600160a01b03861615806105fe575084155b8061060857504685145b8061061257508251155b8061061c57508151155b1561063a57604051635d061ab760e11b815260040160405180910390fd5b61064387610c4c565b61064d8284610c65565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff861617905580156106c2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b600061046f848484610c96565b6106e061096b565b6106ea6000610d4a565b565b606060cd80546106fb90611649565b80601f016020809104026020016040519081016040528092919081815260200182805461072790611649565b80156107745780601f1061074957610100808354040283529160200191610774565b820191906000526020600020905b81548152906001019060200180831161075757829003601f168201915b5050505050905090565b6a195c98cc8c17dd985d5b1d60aa1b610798816001610885565b6001600160a01b0316336001600160a01b0316146107c957604051630d85cccf60e11b815260040160405180910390fd5b6107d38383610d9c565b6040518281526000906001600160a01b038516906000805160206117fa83398151915290602001610518565b6000338161080d82866108c7565b90508381101561086d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105be565b61087a8286868403610a67565b506001949350505050565b6000610472468484610c96565b6000306001600160a01b038416036108bd57604051636cfe544760e01b815260040160405180910390fd5b6104728383610ebb565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6108fa61096b565b6001600160a01b03811661095f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105be565b61096881610d4a565b50565b6065546001600160a01b031633146106ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105be565b606060cc80546106fb90611649565b606060006109e183610ec9565b600101905060008167ffffffffffffffff811115610a0157610a016113ee565b6040519080825280601f01601f191660200182016040528015610a2b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a3557509392505050565b6001600160a01b038316610ac95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105be565b6001600160a01b038216610b2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105be565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610518565b600033610b91858285610fa1565b61087a85858561101b565b6001600160a01b038216610bf25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105be565b8060cb6000828254610c049190611628565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481526000805160206117fa833981519152910160405180910390a35b5050565b610c546111b4565b610c5c6111e3565b61096881611212565b600054610100900460ff16610c8c5760405162461bcd60e51b81526004016105be90611683565b610c48828261125b565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0b91906116ce565b905081158015610d2257506001600160a01b038116155b1561047257604051631467050360e21b815260048101859052602481018490526044016105be565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610dfc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105be565b6001600160a01b038216600090815260c9602052604090205481811015610e705760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105be565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192916000805160206117fa8339815191529101610518565b505050565b60003361042d81858561101b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f085772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f34576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f5257662386f26fc10000830492506010015b6305f5e1008310610f6a576305f5e100830492506008015b6127108310610f7e57612710830492506004015b60648310610f90576064830492506002015b600a83106104335760010192915050565b6000610fad84846108c7565b9050600019811461101557818110156110085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105be565b6110158484848403610a67565b50505050565b6001600160a01b03831661107f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105be565b6001600160a01b0382166110e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105be565b6001600160a01b038316600090815260c96020526040902054818110156111595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105be565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591516000805160206117fa833981519152906111a79086815260200190565b60405180910390a3611015565b600054610100900460ff166111db5760405162461bcd60e51b81526004016105be90611683565b6106ea61129b565b600054610100900460ff1661120a5760405162461bcd60e51b81526004016105be90611683565b6106ea6112c8565b6001600160a01b03811661123957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166112825760405162461bcd60e51b81526004016105be90611683565b60cc61128e8382611739565b5060cd610eb68282611739565b600054610100900460ff166112c25760405162461bcd60e51b81526004016105be90611683565b60018055565b600054610100900460ff166112ef5760405162461bcd60e51b81526004016105be90611683565b6106ea33610d4a565b6001600160a01b038116811461096857600080fd5b60006020828403121561131f57600080fd5b8135610472816112f8565b60005b8381101561134557818101518382015260200161132d565b50506000910152565b602081526000825180602084015261136d81604085016020870161132a565b601f01601f19169190910160400192915050565b6000806040838503121561139457600080fd5b823561139f816112f8565b946020939093013593505050565b6000806000606084860312156113c257600080fd5b83356113cd816112f8565b925060208401356113dd816112f8565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261141557600080fd5b813567ffffffffffffffff80821115611430576114306113ee565b604051601f8301601f19908116603f01168101908282118183101715611458576114586113ee565b8160405283815286602085880101111561147157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156114aa57600080fd5b86356114b5816112f8565b955060208701356114c5816112f8565b945060408701359350606087013560ff811681146114e257600080fd5b9250608087013567ffffffffffffffff808211156114ff57600080fd5b61150b8a838b01611404565b935060a089013591508082111561152157600080fd5b5061152e89828a01611404565b9150509295509295509295565b8035801515811461154b57600080fd5b919050565b60008060006060848603121561156557600080fd5b833592506020840135915061157c6040850161153b565b90509250925092565b6000806040838503121561159857600080fd5b823591506115a86020840161153b565b90509250929050565b600080604083850312156115c457600080fd5b82356115cf816112f8565b915060208301356115df816112f8565b809150509250929050565b600083516115fc81846020880161132a565b6241c55b60e71b908301908152835161161c81600484016020880161132a565b01600401949350505050565b8082018082111561043357634e487b7160e01b600052601160045260246000fd5b600181811c9082168061165d57607f821691505b60208210810361167d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156116e057600080fd5b8151610472816112f8565b601f821115610eb657600081815260208120601f850160051c810160208610156117125750805b601f850160051c820191505b818110156117315782815560010161171e565b505050505050565b815167ffffffffffffffff811115611753576117536113ee565b611767816117618454611649565b846116eb565b602080601f83116001811461179c57600084156117845750858301515b600019600386901b1c1916600185901b178555611731565b600085815260208120601f198616915b828110156117cb578886015182559484019460019091019084016117ac565b50858210156117e95787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122047acde6ba7febf1974be89ad4e7d142e0506798503202cde047ca400b261829864736f6c63430008140033a26469706673582212207ae53e1c43f34f7c9484655d320d49ab4fbe8cbb2e72a68279fbae7006b09b4964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "ERC20VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000008": { + "contractName": "ProxiedERC721Vault", + "storage": {}, + "code": "0x6080604052600436106200011f5760003560e01c80636c6563f611620000a15780639aa8605c116200006c5780639aa8605c1462000342578063a86f9d9e1462000379578063a9976baf146200039e578063c287e57814620003b5578063f2fde38b14620003e957600080fd5b80636c6563f614620002ce578063715018a614620002f357806373339643146200030b5780638da5cb5b146200032257600080fd5b80632ca069a511620000ee5780632ca069a5146200020457806332a642ca14620002215780633ab76e9f146200023857806359f4a907146200026c57806367090ccf146200028957600080fd5b806301ffc9a714620001245780630652b57a146200016e578063150b7a02146200019557806319ab453c14620001df575b600080fd5b3480156200013157600080fd5b50620001596200014336600462001fda565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200017b57600080fd5b50620001936200018d36600462002029565b6200040e565b005b348015620001a257600080fd5b50620001c5620001b436600462002049565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200162000165565b348015620001ec57600080fd5b5062000193620001fe36600462002029565b6200048a565b3480156200021157600080fd5b50620001c5636cdb3d1360e11b81565b6200019362000232366004620020f0565b620005aa565b3480156200024557600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000165565b3480156200027957600080fd5b50620001c56380ac58cd60e01b81565b3480156200029657600080fd5b5062000253620002a83660046200212e565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002db57600080fd5b5062000253620002ed36600462002170565b620009cd565b3480156200030057600080fd5b5062000193620009e6565b620001936200031c366004620021ac565b620009fe565b3480156200032f57600080fd5b506065546001600160a01b031662000253565b3480156200034f57600080fd5b50620003676200036136600462002029565b62000eaa565b6040516200016594939291906200223e565b3480156200038657600080fd5b50620002536200039836600462002289565b62000ffd565b62000193620003af36600462002377565b62001015565b348015620003c257600080fd5b5062000159620003d436600462002029565b60c96020526000908152604090205460ff1681565b348015620003f657600080fd5b50620001936200040836600462002029565b62001336565b62000418620013b2565b6001600160a01b0381166200044057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004ab5750600054600160ff909116105b80620004c75750303b158015620004c7575060005460ff166001145b620005305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000554576000805461ff0019166101001790555b6200055f826200140e565b8015620005a6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b620005b46200142d565b6562726964676560d01b620005cb81600162000ffd565b6001600160a01b0316336001600160a01b031614620005fd57604051630d85cccf60e11b815260040160405180910390fd5b60006200061160a084016080850162002029565b6001600160a01b031603620006395760405163016a294f60e41b815260040160405180910390fd5b468260400135146200065e57604051630a15fbb960e01b815260040160405180910390fd5b6000806200067161014085018562002415565b6200068191600490829062002465565b810190620006909190620025cc565b935050509150600073502cF119B821a241E25F3acd19548C0Bd825DD75632c6a56af86620006c96562726964676560d01b600062000ffd565b86602001516040518463ffffffff1660e01b8152600401620006ee939291906200268e565b602060405180830381865af41580156200070c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007329190620027e8565b6020808501516001600160a01b0316600090815260c9909152604090205490915060ff1615620008245760005b82518110156200081d5760208401516001600160a01b03166340c10f196200078e60a0890160808a0162002029565b858481518110620007a357620007a362002802565b60200260200101516040518363ffffffff1660e01b8152600401620007dd9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015620007f857600080fd5b505af11580156200080d573d6000803e3d6000fd5b505050508060010190506200075f565b50620008ee565b60005b8251811015620008ec5760208401516001600160a01b03166342842e0e306200085760a08a0160808b0162002029565b8685815181106200086c576200086c62002802565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620008c757600080fd5b505af1158015620008dc573d6000803e3d6000fd5b5050505080600101905062000827565b505b6200091960e08601356200090960a088016080890162002029565b6001600160a01b03169062001488565b6200092b60a086016080870162002029565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd85602001518560006001600160401b03811115620009785762000978620022b1565b604051908082528060200260200182016040528015620009a2578160200160208202803683370190505b50604051620009b49392919062002855565b60405180910390a350505050620009ca60018055565b50565b6000620009dc8484846200154f565b90505b9392505050565b620009f0620013b2565b620009fc600062001609565b565b62000a086200142d565b73502cF119B821a241E25F3acd19548C0Bd825DD7563c0619cc262000a31608084018462002899565b62000a40606086018662002899565b60016040518663ffffffff1660e01b815260040162000a6495949392919062002918565b60006040518083038186803b15801562000a7d57600080fd5b505af415801562000a92573d6000803e3d6000fd5b5050505073502cF119B821a241E25F3acd19548C0Bd825DD756393522e3e62000ad183600001356b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b62000ae3604085016020860162002029565b62000af5606086016040870162002029565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160006040518083038186803b15801562000b4557600080fd5b505af415801562000b5a573d6000803e3d6000fd5b5062000b8f92506380ac58cd60e01b915062000b7f9050606084016040850162002029565b6001600160a01b0316906200165b565b62000bad57604051633ee915f560e11b815260040160405180910390fd5b600062000bbe608083018362002899565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000c0492505050606084016040850162002029565b9050600062000c17606085018562002899565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525060408051610180810182528281526020810183905290810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810182905261016081019190915293945062000cb292505050565b8435606082015262000cc53386620016d8565b610140820152336080820152606081015162000cf3906b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b6001600160a01b031660a08083019190915285013561012082015262000d1e60c08601353462002958565b60e08083019190915260c08601356101008084019190915262000d479190870190870162002029565b6001600160a01b031660c082015262000d6561010086018662002415565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000db891506562726964676560d01b90508262000ffd565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000de691906200297a565b60206040518083038185885af115801562000e05573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000e2c9190620027e8565b905062000e40604087016020880162002029565b6001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b60405162000e93949392919062002a63565b60405180910390a45050505050620009ca60018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b039092169262000ede9062002aa3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f0c9062002aa3565b801562000f5d5780601f1062000f315761010080835404028352916020019162000f5d565b820191906000526020600020905b81548152906001019060200180831162000f3f57829003601f168201915b50505050509080600301805462000f749062002aa3565b80601f016020809104026020016040519081016040528092919081815260200182805462000fa29062002aa3565b801562000ff35780601f1062000fc75761010080835404028352916020019162000ff3565b820191906000526020600020905b81548152906001019060200180831162000fd557829003601f168201915b5050505050905084565b60006200100c4684846200154f565b90505b92915050565b6200101f6200142d565b6562726964676560d01b6200103681600162000ffd565b6001600160a01b0316336001600160a01b0316146200106857604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526b195c98cdcc8c57dd985d5b1d60a21b600482015230602482015260009073502cF119B821a241E25F3acd19548C0Bd825DD759063881107d990604401606060405180830381865af4158015620010d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f6919062002adf565b9050600046873503620011d15762001115604088016020890162002029565b905060005b8451811015620011ca57816001600160a01b03166323b872dd30888885815181106200114a576200114a62002802565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620011a557600080fd5b505af1158015620011ba573d6000803e3d6000fd5b505050508060010190506200111a565b506200128c565b620011dc8762001c07565b905060005b84518110156200128a57816001600160a01b03166340c10f198787848151811062001210576200121062002802565b60200260200101516040518363ffffffff1660e01b81526004016200124a9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200126557600080fd5b505af11580156200127a573d6000803e3d6000fd5b50505050806001019050620011e1565b505b620012a16001600160a01b0386163462001488565b815160408301516001600160a01b0380881692908916917f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b1908589600060405190808252806020026020018201604052801562001308578160200160208202803683370190505b506040516200131b949392919062002a63565b60405180910390a45050506200133060018055565b50505050565b62001340620013b2565b6001600160a01b038116620013a75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000527565b620009ca8162001609565b6065546001600160a01b03163314620009fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000527565b6200141862001c70565b6200142262001ca4565b620009ca8162001cd8565b600260015403620014815760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000527565b6002600155565b8015806200149d57506001600160a01b038216155b15620014a7575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620014f6576040519150601f19603f3d011682016040523d82523d6000602084013e620014fb565b606091505b5050905080620015445760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000527565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620015a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015c7919062002b46565b905081158015620015df57506001600160a01b038116155b15620009df57604051631467050360e21b8152600481018590526024810184905260440162000527565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015620016cb575060408051601f3d908101601f19168201909252620016c89181019062002b66565b60015b156200100f579392505050565b6040805160808101825260008082526020820152606091810182905280820182905260c9600062001710606086016040870162002029565b6001600160a01b0316815260208101919091526040016000205460ff1615620019985760ca600062001749606086016040870162002029565b6001600160a01b0390811682526020808301939093526040918201600020825160808101845281548152600182015490921693820193909352600283018054919392840191620017999062002aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054620017c79062002aa3565b8015620018185780601f10620017ec5761010080835404028352916020019162001818565b820191906000526020600020905b815481529060010190602001808311620017fa57829003601f168201915b50505050508152602001600382018054620018339062002aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054620018619062002aa3565b8015620018b25780601f106200188657610100808354040283529160200191620018b2565b820191906000526020600020905b8154815290600101906020018083116200189457829003601f168201915b505050505081525050905060005b620018cf606085018562002899565b90508110156200199157620018eb606085016040860162002029565b6001600160a01b0316639dc29fac8662001909606088018862002899565b858181106200191c576200191c62002802565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526020029190910135602483015250604401600060405180830381600087803b1580156200196c57600080fd5b505af115801562001981573d6000803e3d6000fd5b50505050806001019050620018c0565b5062001b8c565b6000620019ac606085016040860162002029565b90506040518060800160405280468152602001856040016020810190620019d4919062002029565b6001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001a4b919081019062002b86565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ab9919081019062002b86565b9052915060005b62001acf606086018662002899565b905081101562001b89576001600160a01b0382166323b872dd873062001af960608a018a62002899565b8681811062001b0c5762001b0c62002802565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801562001b6457600080fd5b505af115801562001b79573d6000803e3d6000fd5b5050505080600101905062001ac0565b50505b63a9976baf60e01b818562001ba8604087016020880162002029565b62001bb7606088018862002899565b60405160240162001bcd95949392919062002c05565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b8035600090815260cb6020908152604080832091839162001c2e9190860190860162002029565b6001600160a01b0390811682526020820192909252604001600020541690508062001c6b5762001c6862001c628362002c99565b62001d22565b90505b919050565b600054610100900460ff1662001c9a5760405162461bcd60e51b8152600401620005279062002ca7565b620009fc62001f6d565b600054610100900460ff1662001cce5760405162461bcd60e51b8152600401620005279062002ca7565b620009fc62001f97565b6001600160a01b03811662001d0057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060405162001d339062001fcc565b604051809103906000f08015801562001d50573d6000803e3d6000fd5b50905073502cF119B821a241E25F3acd19548C0Bd825DD756378adc0d68262001d816065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001dbd966001600160a01b03909116959493910162002cf2565b60408051601f198184030181529082905262001ddd929160200162002d3b565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001e0c9392919062002d6e565b602060405180830381865af415801562001e2a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e50919062002b46565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001ebe908262002dee565b506060820151600382019062001ed5908262002dee565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001f5f929162002eba565b60405180910390a450919050565b600054610100900460ff16620015495760405162461bcd60e51b8152600401620005279062002ca7565b600054610100900460ff1662001fc15760405162461bcd60e51b8152600401620005279062002ca7565b620009fc3362001609565b611f558062002ee483390190565b60006020828403121562001fed57600080fd5b81356001600160e01b0319811681146200100c57600080fd5b6001600160a01b0381168114620009ca57600080fd5b803562001c6b8162002006565b6000602082840312156200203c57600080fd5b81356200100c8162002006565b6000806000806000608086880312156200206257600080fd5b85356200206f8162002006565b94506020860135620020818162002006565b93506040860135925060608601356001600160401b0380821115620020a557600080fd5b818801915088601f830112620020ba57600080fd5b813581811115620020ca57600080fd5b896020828501011115620020dd57600080fd5b9699959850939650602001949392505050565b6000602082840312156200210357600080fd5b81356001600160401b038111156200211a57600080fd5b820161018081850312156200100c57600080fd5b600080604083850312156200214257600080fd5b823591506020830135620021568162002006565b809150509250929050565b8015158114620009ca57600080fd5b6000806000606084860312156200218657600080fd5b83359250602084013591506040840135620021a18162002161565b809150509250925092565b600060208284031215620021bf57600080fd5b81356001600160401b03811115620021d657600080fd5b820161012081850312156200100c57600080fd5b60005b8381101562002207578181015183820152602001620021ed565b50506000910152565b600081518084526200222a816020860160208601620021ea565b601f01601f19169290920160200192915050565b8481526001600160a01b03841660208201526080604082018190526000906200226a9083018562002210565b82810360608401526200227e818562002210565b979650505050505050565b600080604083850312156200229d57600080fd5b823591506020830135620021568162002161565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620022f257620022f2620022b1565b604052919050565b600082601f8301126200230c57600080fd5b813560206001600160401b038211156200232a576200232a620022b1565b8160051b6200233b828201620022c7565b92835284810182019282810190878511156200235657600080fd5b83870192505b848310156200227e578235825291830191908301906200235c565b600080600080608085870312156200238e57600080fd5b84356001600160401b0380821115620023a657600080fd5b9086019060808289031215620023bb57600080fd5b909450602086013590620023cf8262002006565b909350604086013590620023e38262002006565b90925060608601359080821115620023fa57600080fd5b506200240987828801620022fa565b91505092959194509250565b6000808335601e198436030181126200242d57600080fd5b8301803591506001600160401b038211156200244857600080fd5b6020019150368190038213156200245e57600080fd5b9250929050565b600080858511156200247657600080fd5b838611156200248457600080fd5b5050820193919092039150565b60006001600160401b03821115620024ad57620024ad620022b1565b50601f01601f191660200190565b600082601f830112620024cd57600080fd5b8135620024e4620024de8262002491565b620022c7565b818152846020838601011115620024fa57600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082840312156200252a57600080fd5b604051608081016001600160401b038282108183111715620025505762002550620022b1565b8160405282935084358352602085013591506200256d8262002006565b81602084015260408501359150808211156200258857600080fd5b6200259686838701620024bb565b60408401526060850135915080821115620025b057600080fd5b50620025bf85828601620024bb565b6060830152505092915050565b60008060008060808587031215620025e357600080fd5b84356001600160401b0380821115620025fb57600080fd5b620026098883890162002517565b955060208701359150620023cf8262002006565b6000808335601e198436030181126200263557600080fd5b83016020810192503590506001600160401b038111156200265557600080fd5b8036038213156200245e57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152833560608201526000620026a9602086016200201c565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620026db608086016200201c565b6001600160a01b031660e0830152620026f760a086016200201c565b6101006200270f818501836001600160a01b03169052565b6200271d60c088016200201c565b915061012062002737818601846001600160a01b03169052565b610140925060e0880135838601526101608289013581870152610180925081890135838701526200276b848a018a6200261d565b94509150826101a0870152620027876101e08701858462002665565b935062002797818a018a6200261d565b9350915050605f19858403016101c0860152620027b683838362002665565b9350505050620027d160208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b600060208284031215620027fb57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156200284a578151875295820195908201906001016200282c565b509495945050505050565b6001600160a01b03841681526060602082018190526000906200287b9083018562002818565b82810360408401526200288f818562002818565b9695505050505050565b6000808335601e19843603018112620028b157600080fd5b8301803591506001600160401b03821115620028cc57600080fd5b6020019150600581901b36038213156200245e57600080fd5b81835260006001600160fb1b03831115620028ff57600080fd5b8260051b80836020870137939093016020019392505050565b6060815260006200292e606083018789620028e5565b828103602084015262002943818688620028e5565b91505082151560408301529695505050505050565b818103818111156200100f57634e487b7160e01b600052601160045260246000fd5b602081528151602082015260006020830151620029a260408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151620029d260a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002a456101a086018462002210565b90860151858203601f1901838701529092506200288f838262002210565b8481526001600160a01b038416602082015260806040820181905260009062002a8f9083018562002818565b82810360608401526200227e818562002818565b600181811c9082168062002ab857607f821691505b60208210810362002ad957634e487b7160e01b600052602260045260246000fd5b50919050565b60006060828403121562002af257600080fd5b604051606081018181106001600160401b038211171562002b175762002b17620022b1565b60405282518152602083015162002b2e8162002006565b60208201526040928301519281019290925250919050565b60006020828403121562002b5957600080fd5b81516200100c8162002006565b60006020828403121562002b7957600080fd5b81516200100c8162002161565b60006020828403121562002b9957600080fd5b81516001600160401b0381111562002bb057600080fd5b8201601f8101841362002bc257600080fd5b805162002bd3620024de8262002491565b81815285602083850101111562002be957600080fd5b62002bfc826020830160208601620021ea565b95945050505050565b608080825286518282015260208701516001600160a01b0390811660a0840152604088015160c08401929092526000919062002c4661010085018362002210565b91506060890151607f198584030160e086015262002c65838262002210565b89831660208701529188166040860152508381036060850152905062002c8d818587620028e5565b98975050505050505050565b600062001c68368362002517565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002d279083018562002210565b828103608084015262002c8d818562002210565b6001600160e01b031983168152815160009062002d60816004850160208701620021ea565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002bfc9083018462002210565b601f8211156200154457600081815260208120601f850160051c8101602086101562002dc55750805b601f850160051c820191505b8181101562002de65782815560010162002dd1565b505050505050565b81516001600160401b0381111562002e0a5762002e0a620022b1565b62002e228162002e1b845462002aa3565b8462002d9c565b602080601f83116001811462002e5a576000841562002e415750858301515b600019600386901b1c1916600185901b17855562002de6565b600085815260208120601f198616915b8281101562002e8b5788860151825594840194600190910190840162002e6a565b508582101562002eaa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062002ecf604083018562002210565b828103602084015262002bfc81856200221056fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611e68806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610377578063d1399b1a14610398578063e985e9c5146103ab578063f2fde38b146103e857600080fd5b8063a22cb4651461033e578063a86f9d9e14610351578063b88d4fde1461036457600080fd5b806370a08231146102e3578063715018a6146102f65780637cf8ed0d146102fe5780638da5cb5b1461031257806395d89b41146103235780639dc29fac1461032b57600080fd5b80633ab76e9f1161014b57806349d126051161012557806349d126051461026d5780636352211e1461028557806367e828bf146102985780636c6563f6146102d057600080fd5b80633ab76e9f1461023657806340c10f191461024757806342842e0e1461025a57600080fd5b806301ffc9a7146101935780630652b57a146101bb57806306fdde03146101d0578063081812fc146101e5578063095ea7b31461021057806323b872dd14610223575b600080fd5b6101a66101a136600461171c565b6103fb565b60405190151581526020015b60405180910390f35b6101ce6101c936600461174e565b61044d565b005b6101d86104c6565b6040516101b291906117bb565b6101f86101f33660046117ce565b610501565b6040516001600160a01b0390911681526020016101b2565b6101ce61021e3660046117e7565b610528565b6101ce610231366004611813565b610642565b6097546001600160a01b03166101f8565b6101ce6102553660046117e7565b610676565b6101ce610268366004611813565b6106f7565b61027761012e5481565b6040519081526020016101b2565b6101f86102933660046117ce565b610712565b6102b161012d5461012e546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016101b2565b6101f86102de366004611869565b610772565b6102776102f136600461174e565b610789565b6101ce61080f565b61012d546101f8906001600160a01b031681565b6065546001600160a01b03166101f8565b6101d8610823565b6101ce6103393660046117e7565b6108b5565b6101ce61034c36600461189e565b61096f565b6101f861035f3660046118d3565b61097e565b6101ce610372366004611982565b61098b565b6101d86103853660046117ce565b5060408051602081019091526000815290565b6101ce6103a6366004611a22565b6109c3565b6101a66103b9366004611ab5565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b6101ce6103f636600461174e565b610b56565b60006001600160e01b031982166380ac58cd60e01b148061042c57506001600160e01b03198216635b5e139f60e01b145b8061044757506301ffc9a760e01b6001600160e01b03198316145b92915050565b610455610bcf565b6001600160a01b03811661047c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606104d0610c29565b6104dc61012e54610c38565b6040516020016104ed929190611aee565b604051602081830303815290604052905090565b600061050c82610ccb565b50600090815260ff60205260409020546001600160a01b031690565b600061053382610712565b9050806001600160a01b0316836001600160a01b0316036105a55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105c157506105c181336103b9565b6106335760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161059c565b61063d8383610d2a565b505050565b306001600160a01b0383160361066b57604051636cfe544760e01b815260040160405180910390fd5b61063d838383610d98565b6b195c98cdcc8c57dd985d5b1d60a21b61069181600161097e565b6001600160a01b0316336001600160a01b0316146106c257604051630d85cccf60e11b815260040160405180910390fd5b6106cc8383610dc9565b60405182906001600160a01b03851690600090600080516020611e13833981519152908290a4505050565b61063d8383836040518060200160405280600081525061098b565b600081815260fd60205260408120546001600160a01b0316806104475760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600061077f848484610f42565b90505b9392505050565b60006001600160a01b0382166107f35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161059c565b506001600160a01b0316600090815260fe602052604090205490565b610817610bcf565b6108216000610ff6565b565b606060fc805461083290611b2c565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611b2c565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6b195c98cdcc8c57dd985d5b1d60a21b6108d081600161097e565b6001600160a01b0316336001600160a01b03161461090157604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b031661091483610712565b6001600160a01b03161461093b576040516302dca79760e41b815260040160405180910390fd5b61094482611048565b60405182906000906001600160a01b03861690600080516020611e13833981519152908390a4505050565b61097a3383836110cb565b5050565b6000610782468484610f42565b610995338361119a565b6109b15760405162461bcd60e51b815260040161059c90611b66565b6109bd8484848461121a565b50505050565b600054610100900460ff16158080156109e35750600054600160ff909116105b806109fd5750303b1580156109fd575060005460ff166001145b610a605760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161059c565b6000805460ff191660011790558015610a83576000805461ff0019166101001790555b6001600160a01b0385161580610a97575083155b80610aa157504684145b80610aab57508251155b80610ab557508151155b15610ad357604051635d061ab760e11b815260040160405180910390fd5b610adc8661124d565b610ae68284611266565b61012d80546001600160a01b0319166001600160a01b03871617905561012e8490558015610b4e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610b5e610bcf565b6001600160a01b038116610bc35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059c565b610bcc81610ff6565b50565b6065546001600160a01b031633146108215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059c565b606060fb805461083290611b2c565b60606000610c4583611297565b600101905060008167ffffffffffffffff811115610c6557610c656118f6565b6040519080825280601f01601f191660200182016040528015610c8f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c9957509392505050565b600081815260fd60205260409020546001600160a01b0316610bcc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d5f82610712565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610da2338261119a565b610dbe5760405162461bcd60e51b815260040161059c90611b66565b61063d83838361136f565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610e845760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610ee95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b6001600160a01b038216600081815260fe602090815260408083208054600101905584835260fd90915280822080546001600160a01b031916841790555183929190600080516020611e13833981519152908290a45050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190611bb3565b905081158015610fce57506001600160a01b038116155b1561078257604051631467050360e21b8152600481018590526024810184905260440161059c565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061105382610712565b905061105e82610712565b600083815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b03851680855260fe8452828520805460001901905587855260fd90935281842080549091169055519293508492600080516020611e13833981519152908390a45050565b816001600160a01b0316836001600160a01b03160361112c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161059c565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806111a683610712565b9050806001600160a01b0316846001600160a01b031614806111ee57506001600160a01b038082166000908152610100602090815260408083209388168352929052205460ff165b806112125750836001600160a01b031661120784610501565b6001600160a01b0316145b949350505050565b61122584848461136f565b611231848484846114c1565b6109bd5760405162461bcd60e51b815260040161059c90611bd0565b6112556115c2565b61125d6115f1565b610bcc81611620565b600054610100900460ff1661128d5760405162461bcd60e51b815260040161059c90611c22565b61097a8282611669565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106112d65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611302576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061132057662386f26fc10000830492506010015b6305f5e1008310611338576305f5e100830492506008015b612710831061134c57612710830492506004015b6064831061135e576064830492506002015b600a83106104475760010192915050565b826001600160a01b031661138282610712565b6001600160a01b0316146113a85760405162461bcd60e51b815260040161059c90611c6d565b6001600160a01b03821661140a5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b826001600160a01b031661141d82610712565b6001600160a01b0316146114435760405162461bcd60e51b815260040161059c90611c6d565b600081815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260fe855283862080546000190190559087168086528386208054600101905586865260fd9094528285208054909216841790915590518493600080516020611e1383398151915291a4505050565b60006001600160a01b0384163b156115b757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611505903390899088908890600401611cb2565b6020604051808303816000875af1925050508015611540575060408051601f3d908101601f1916820190925261153d91810190611cef565b60015b61159d573d80801561156e576040519150601f19603f3d011682016040523d82523d6000602084013e611573565b606091505b5080516000036115955760405162461bcd60e51b815260040161059c90611bd0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611212565b506001949350505050565b600054610100900460ff166115e95760405162461bcd60e51b815260040161059c90611c22565b6108216116a9565b600054610100900460ff166116185760405162461bcd60e51b815260040161059c90611c22565b6108216116d6565b6001600160a01b03811661164757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166116905760405162461bcd60e51b815260040161059c90611c22565b60fb61169c8382611d52565b5060fc61063d8282611d52565b600054610100900460ff166116d05760405162461bcd60e51b815260040161059c90611c22565b60018055565b600054610100900460ff166116fd5760405162461bcd60e51b815260040161059c90611c22565b61082133610ff6565b6001600160e01b031981168114610bcc57600080fd5b60006020828403121561172e57600080fd5b813561078281611706565b6001600160a01b0381168114610bcc57600080fd5b60006020828403121561176057600080fd5b813561078281611739565b60005b8381101561178657818101518382015260200161176e565b50506000910152565b600081518084526117a781602086016020860161176b565b601f01601f19169290920160200192915050565b602081526000610782602083018461178f565b6000602082840312156117e057600080fd5b5035919050565b600080604083850312156117fa57600080fd5b823561180581611739565b946020939093013593505050565b60008060006060848603121561182857600080fd5b833561183381611739565b9250602084013561184381611739565b929592945050506040919091013590565b8035801515811461186457600080fd5b919050565b60008060006060848603121561187e57600080fd5b833592506020840135915061189560408501611854565b90509250925092565b600080604083850312156118b157600080fd5b82356118bc81611739565b91506118ca60208401611854565b90509250929050565b600080604083850312156118e657600080fd5b823591506118ca60208401611854565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611927576119276118f6565b604051601f8501601f19908116603f0116810190828211818310171561194f5761194f6118f6565b8160405280935085815286868601111561196857600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561199857600080fd5b84356119a381611739565b935060208501356119b381611739565b925060408501359150606085013567ffffffffffffffff8111156119d657600080fd5b8501601f810187136119e757600080fd5b6119f68782356020840161190c565b91505092959194509250565b600082601f830112611a1357600080fd5b6107828383356020850161190c565b600080600080600060a08688031215611a3a57600080fd5b8535611a4581611739565b94506020860135611a5581611739565b935060408601359250606086013567ffffffffffffffff80821115611a7957600080fd5b611a8589838a01611a02565b93506080880135915080821115611a9b57600080fd5b50611aa888828901611a02565b9150509295509295909350565b60008060408385031215611ac857600080fd5b8235611ad381611739565b91506020830135611ae381611739565b809150509250929050565b60008351611b0081846020880161176b565b6241c55b60e71b9083019081528351611b2081600484016020880161176b565b01600401949350505050565b600181811c90821680611b4057607f821691505b602082108103611b6057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215611bc557600080fd5b815161078281611739565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ce59083018461178f565b9695505050505050565b600060208284031215611d0157600080fd5b815161078281611706565b601f82111561063d57600081815260208120601f850160051c81016020861015611d335750805b601f850160051c820191505b81811015610b4e57828155600101611d3f565b815167ffffffffffffffff811115611d6c57611d6c6118f6565b611d8081611d7a8454611b2c565b84611d0c565b602080601f831160018114611db55760008415611d9d5750858301515b600019600386901b1c1916600185901b178555610b4e565b600085815260208120601f198616915b82811015611de457888601518255948401946001909101908401611dc5565b5085821015611e025787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122042a105c46fde38f092417f69e38fe24753cadb7bf35bfc7329ea474ccd79239d64736f6c63430008140033a2646970667358221220ec64a175990355331b315a49ec2630b7d05f705096678cd5eb54ff91bcf0886b64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000008": { + "contractName": "ERC721VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000008" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000009": { + "contractName": "ProxiedERC1155Vault", + "storage": {}, + "code": "0x6080604052600436106200012b5760003560e01c80636c6563f611620000ad578063a86f9d9e116200006c578063a86f9d9e146200035c578063bc197c811462000381578063c287e57814620003b4578063f23a6e6114620003e8578063f2fde38b146200041957600080fd5b80636c6563f614620002b1578063715018a614620002d65780637333964314620002ee5780638da5cb5b14620003055780639aa8605c146200032557600080fd5b80632ca069a511620000fa5780632ca069a514620001cd57806332a642ca14620002045780633ab76e9f146200021b57806359f4a907146200024f57806367090ccf146200026c57600080fd5b806301ffc9a714620001305780630652b57a146200016a57806319ab453c146200019157806320b8155914620001b6575b600080fd5b3480156200013d57600080fd5b50620001556200014f36600462001e97565b6200043e565b60405190151581526020015b60405180910390f35b3480156200017757600080fd5b506200018f6200018936600462001ee6565b62000488565b005b3480156200019e57600080fd5b506200018f620001b036600462001ee6565b62000504565b6200018f620001c736600462002003565b62000624565b348015620001da57600080fd5b50620001ea636cdb3d1360e11b81565b6040516001600160e01b0319909116815260200162000161565b6200018f62000215366004620020c9565b62000953565b3480156200022857600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000161565b3480156200025c57600080fd5b50620001ea6380ac58cd60e01b81565b3480156200027957600080fd5b50620002366200028b36600462002107565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002be57600080fd5b5062000236620002d036600462002149565b62000cfb565b348015620002e357600080fd5b506200018f62000d14565b6200018f620002ff3660046200220b565b62000d2c565b3480156200031257600080fd5b506065546001600160a01b031662000236565b3480156200033257600080fd5b506200034a6200034436600462001ee6565b620010a7565b6040516200016194939291906200237d565b3480156200036957600080fd5b50620002366200037b366004620023bd565b620011fa565b3480156200038e57600080fd5b50620001ea620003a036600462002477565b63bc197c8160e01b98975050505050505050565b348015620003c157600080fd5b5062000155620003d336600462001ee6565b60c96020526000908152604090205460ff1681565b348015620003f557600080fd5b50620001ea6200040736600462002543565b63f23a6e6160e01b9695505050505050565b3480156200042657600080fd5b506200018f6200043836600462001ee6565b62001209565b60006001600160e01b031982166301ffc9a760e01b14806200047057506001600160e01b03198216631953216560e11b145b80620004825750620004828262001285565b92915050565b62000492620012bc565b6001600160a01b038116620004ba57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620005255750600054600160ff909116105b80620005415750303b15801562000541575060005460ff166001145b620005aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620005ce576000805461ff0019166101001790555b620005d98262001318565b801562000620576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200062e62001337565b6562726964676560d01b62000645816001620011fa565b6001600160a01b0316336001600160a01b0316146200067757604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526c195c98cc4c4d4d57dd985d5b1d609a1b600482015230602482015260009073502cF119B821a241E25F3acd19548C0Bd825DD759063881107d990604401606060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620025c6565b9050600046883503620007e757620007256040890160208a0162001ee6565b905060005b8551811015620007e057816001600160a01b031663f242432a30898985815181106200075a576200075a6200262d565b60200260200101518986815181106200077757620007776200262d565b60200260200101516040518563ffffffff1660e01b8152600401620007a0949392919062002643565b600060405180830381600087803b158015620007bb57600080fd5b505af1158015620007d0573d6000803e3d6000fd5b505050508060010190506200072a565b50620008ce565b620007fc620007f68962002730565b62001392565b905060005b8551811015620008cc57816001600160a01b031663156e29f6888884815181106200083057620008306200262d565b60200260200101518885815181106200084d576200084d6200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015620008a757600080fd5b505af1158015620008bc573d6000803e3d6000fd5b5050505080600101905062000801565b505b620008e36001600160a01b03871634620013d3565b856001600160a01b0316876001600160a01b031683600001517f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b18560400151858a8a6040516200093794939291906200277b565b60405180910390a45050506200094c60018055565b5050505050565b6200095d62001337565b6562726964676560d01b62000974816001620011fa565b6001600160a01b0316336001600160a01b031614620009a657604051630d85cccf60e11b815260040160405180910390fd5b60008080620009ba610140860186620027bb565b620009ca91600490829062002804565b810190620009d9919062002830565b9450945050509250600073502cF119B821a241E25F3acd19548C0Bd825DD75632c6a56af8762000a146562726964676560d01b6000620011fa565b87602001516040518463ffffffff1660e01b815260040162000a3993929190620028f4565b602060405180830381865af415801562000a57573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a7d919062002a4e565b6020808601516001600160a01b0316600090815260c9909152604090205490915060ff161562000b915760005b835181101562000b8a5760208501516001600160a01b031663156e29f662000ad960a08a0160808b0162001ee6565b86848151811062000aee5762000aee6200262d565b602002602001015186858151811062000b0b5762000b0b6200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000b6557600080fd5b505af115801562000b7a573d6000803e3d6000fd5b5050505080600101905062000aaa565b5062000c61565b60005b835181101562000c5f5760208501516001600160a01b031663f242432a3062000bc460a08b0160808c0162001ee6565b87858151811062000bd95762000bd96200262d565b602002602001015187868151811062000bf65762000bf66200262d565b60200260200101516040518563ffffffff1660e01b815260040162000c1f949392919062002643565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b5050505080600101905062000b94565b505b62000c8c60e087013562000c7c60a0890160808a0162001ee6565b6001600160a01b031690620013d3565b62000c9e60a087016080880162001ee6565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd8660200151868660405162000ce19392919062002a68565b60405180910390a3505050505062000cf860018055565b50565b600062000d0a8484846200149a565b90505b9392505050565b62000d1e620012bc565b62000d2a600062001554565b565b62000d3662001337565b60808101516060820151604051636030ce6160e11b815273502cF119B821a241E25F3acd19548C0Bd825DD759263c0619cc29262000d7a9260009060040162002aac565b60006040518083038186803b15801562000d9357600080fd5b505af415801562000da8573d6000803e3d6000fd5b5050505073502cF119B821a241E25F3acd19548C0Bd825DD756393522e3e62000de883600001516c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b602084015160408086015190516001600160e01b031960e086901b1681526001600160a01b039384166004820152918316602483015291909116604482015260640160006040518083038186803b15801562000e4357600080fd5b505af415801562000e58573d6000803e3d6000fd5b505050604082015162000e7d91506001600160a01b0316636cdb3d1360e11b620015a6565b62000e9b57604051633ee915f560e11b815260040160405180910390fd5b60808082015160408084015160608086015183516101808101855260008082526020820181905294810185905280830185905295860184905260a0860184905260c0860184905260e086018490526101008601849052610120860193909352610140850181905261016085015291928451606082015262000f1d338662001623565b610140820152336080820152606081015162000f4c906c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b6001600160a01b031660a08083019190915285015161012082015260c085015162000f78903462002ae8565b60e08083019190915260c08087015161010080850191909152918701516001600160a01b031690830152850151610160820152600062000fc26562726964676560d01b82620011fa565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000ff0919062002b0a565b60206040518083038185885af11580156200100f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062001036919062002a4e565b905085602001516001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b6040516200109094939291906200277b565b60405180910390a4505050505062000cf860018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b0390921692620010db9062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011099062002bf3565b80156200115a5780601f106200112e576101008083540402835291602001916200115a565b820191906000526020600020905b8154815290600101906020018083116200113c57829003601f168201915b505050505090806003018054620011719062002bf3565b80601f01602080910402602001604051908101604052809291908181526020018280546200119f9062002bf3565b8015620011f05780601f10620011c457610100808354040283529160200191620011f0565b820191906000526020600020905b815481529060010190602001808311620011d257829003601f168201915b5050505050905084565b600062000d0d4684846200149a565b62001213620012bc565b6001600160a01b0381166200127a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005a1565b62000cf88162001554565b60006001600160e01b03198216630271189760e51b14806200048257506301ffc9a760e01b6001600160e01b031983161462000482565b6065546001600160a01b0316331462000d2a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005a1565b6200132262001b2d565b6200132c62001b61565b62000cf88162001b95565b6002600154036200138b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620005a1565b6002600155565b8051600090815260cb60209081526040808320828501516001600160a01b0390811685529252909120541680620013ce57620004828262001bdf565b919050565b801580620013e857506001600160a01b038216155b15620013f2575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811462001441576040519150601f19603f3d011682016040523d82523d6000602084013e62001446565b606091505b50509050806200148f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401620005a1565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620014ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001512919062002c2f565b9050811580156200152a57506001600160a01b038116155b1562000d0d57604051631467050360e21b81526004810185905260248101849052604401620005a1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001616575060408051601f3d908101601f19168201909252620016139181019062002c4f565b60015b1562000482579392505050565b604080516080810182526000808252602082015260609181018290528082018290526040808401516001600160a01b0316600090815260c9602052205460ff1615620018c7576040808401516001600160a01b03908116600090815260ca6020908152908390208351608081018552815481526001820154909316918301919091526002810180549293919291840191620016be9062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620016ec9062002bf3565b80156200173d5780601f1062001711576101008083540402835291602001916200173d565b820191906000526020600020905b8154815290600101906020018083116200171f57829003601f168201915b50505050508152602001600382018054620017589062002bf3565b80601f0160208091040260200160405190810160405280929190818152602001828054620017869062002bf3565b8015620017d75780601f10620017ab57610100808354040283529160200191620017d7565b820191906000526020600020905b815481529060010190602001808311620017b957829003601f168201915b505050505081525050905060005b836060015151811015620018c05783604001516001600160a01b031663f5298aca86866060015184815181106200182057620018206200262d565b6020026020010151876080015185815181106200184157620018416200262d565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b1580156200189b57600080fd5b505af1158015620018b0573d6000803e3d6000fd5b50505050806001019050620017e5565b5062001ac6565b604051806080016040528046815260200184604001516001600160a01b03168152602001604051806020016040528060008152508152602001604051806020016040528060008152508152509050600083604001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156200198057506040513d6000823e601f3d908101601f191682016040526200197d919081019062002c6f565b60015b156200198c5760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015620019ee57506040513d6000823e601f3d908101601f19168201604052620019eb919081019062002c6f565b60015b15620019fa5760408301525b60005b84606001515181101562001ac35784604001516001600160a01b031663f242432a33308860600151858151811062001a395762001a396200262d565b60200260200101518960800151868151811062001a5a5762001a5a6200262d565b60200260200101516040518563ffffffff1660e01b815260040162001a83949392919062002643565b600060405180830381600087803b15801562001a9e57600080fd5b505af115801562001ab3573d6000803e3d6000fd5b50505050806001019050620019fd565b50505b6020830151606084015160808501516040516320b8155960e01b9362001af39386938a9360240162002cee565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b600054610100900460ff1662001b575760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a62001e2a565b600054610100900460ff1662001b8b5760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a62001e54565b6001600160a01b03811662001bbd57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060405162001bf09062001e89565b604051809103906000f08015801562001c0d573d6000803e3d6000fd5b50905073502cF119B821a241E25F3acd19548C0Bd825DD756378adc0d68262001c3e6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001c7a966001600160a01b03909116959493910162002de8565b60408051601f198184030181529082905262001c9a929160200162002e31565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cc99392919062002e64565b602060405180830381865af415801562001ce7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d0d919062002c2f565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001d7b908262002ee4565b506060820151600382019062001d92908262002ee4565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001e1c929162002fb0565b60405180910390a450919050565b600054610100900460ff16620014945760405162461bcd60e51b8152600401620005a19062002d9d565b600054610100900460ff1662001e7e5760405162461bcd60e51b8152600401620005a19062002d9d565b62000d2a3362001554565b6125468062002fda83390190565b60006020828403121562001eaa57600080fd5b81356001600160e01b03198116811462000d0d57600080fd5b6001600160a01b038116811462000cf857600080fd5b8035620013ce8162001ec3565b60006020828403121562001ef957600080fd5b813562000d0d8162001ec3565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001f425762001f4262001f06565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001f735762001f7362001f06565b604052919050565b600082601f83011262001f8d57600080fd5b813560206001600160401b0382111562001fab5762001fab62001f06565b8160051b62001fbc82820162001f48565b928352848101820192828101908785111562001fd757600080fd5b83870192505b8483101562001ff85782358252918301919083019062001fdd565b979650505050505050565b600080600080600060a086880312156200201c57600080fd5b85356001600160401b03808211156200203457600080fd5b908701906080828a0312156200204957600080fd5b9095506020870135906200205d8262001ec3565b909450604087013590620020718262001ec3565b909350606087013590808211156200208857600080fd5b6200209689838a0162001f7b565b93506080880135915080821115620020ad57600080fd5b50620020bc8882890162001f7b565b9150509295509295909350565b600060208284031215620020dc57600080fd5b81356001600160401b03811115620020f357600080fd5b8201610180818503121562000d0d57600080fd5b600080604083850312156200211b57600080fd5b8235915060208301356200212f8162001ec3565b809150509250929050565b801515811462000cf857600080fd5b6000806000606084860312156200215f57600080fd5b833592506020840135915060408401356200217a816200213a565b809150509250925092565b60006001600160401b03821115620021a157620021a162001f06565b50601f01601f191660200190565b600082601f830112620021c157600080fd5b8135620021d8620021d28262002185565b62001f48565b818152846020838601011115620021ee57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156200221e57600080fd5b81356001600160401b03808211156200223657600080fd5b9083019061012082860312156200224c57600080fd5b6200225662001f1c565b82358152620022686020840162001ed9565b60208201526200227b6040840162001ed9565b60408201526060830135828111156200229357600080fd5b620022a18782860162001f7b565b606083015250608083013582811115620022ba57600080fd5b620022c88782860162001f7b565b60808301525060a083013560a082015260c083013560c0820152620022f060e0840162001ed9565b60e082015261010080840135838111156200230a57600080fd5b6200231888828701620021af565b918301919091525095945050505050565b60005b83811015620023465781810151838201526020016200232c565b50506000910152565b600081518084526200236981602086016020860162002329565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620023a9908301856200234f565b828103606084015262001ff881856200234f565b60008060408385031215620023d157600080fd5b8235915060208301356200212f816200213a565b60008083601f840112620023f857600080fd5b5081356001600160401b038111156200241057600080fd5b6020830191508360208260051b85010111156200242c57600080fd5b9250929050565b60008083601f8401126200244657600080fd5b5081356001600160401b038111156200245e57600080fd5b6020830191508360208285010111156200242c57600080fd5b60008060008060008060008060a0898b0312156200249457600080fd5b8835620024a18162001ec3565b97506020890135620024b38162001ec3565b965060408901356001600160401b0380821115620024d057600080fd5b620024de8c838d01620023e5565b909850965060608b0135915080821115620024f857600080fd5b620025068c838d01620023e5565b909650945060808b01359150808211156200252057600080fd5b506200252f8b828c0162002433565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156200255d57600080fd5b86356200256a8162001ec3565b955060208701356200257c8162001ec3565b9450604087013593506060870135925060808701356001600160401b03811115620025a657600080fd5b620025b489828a0162002433565b979a9699509497509295939492505050565b600060608284031215620025d957600080fd5b604051606081018181106001600160401b0382111715620025fe57620025fe62001f06565b604052825181526020830151620026158162001ec3565b60208201526040928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6000608082840312156200268e57600080fd5b604051608081016001600160401b038282108183111715620026b457620026b462001f06565b816040528293508435835260208501359150620026d18262001ec3565b8160208401526040850135915080821115620026ec57600080fd5b620026fa86838701620021af565b604084015260608501359150808211156200271457600080fd5b506200272385828601620021af565b6060830152505092915050565b60006200048236836200267b565b600081518084526020808501945080840160005b83811015620027705781518752958201959082019060010162002752565b509495945050505050565b8481526001600160a01b0384166020820152608060408201819052600090620027a7908301856200273e565b828103606084015262001ff881856200273e565b6000808335601e19843603018112620027d357600080fd5b8301803591506001600160401b03821115620027ee57600080fd5b6020019150368190038213156200242c57600080fd5b600080858511156200281557600080fd5b838611156200282357600080fd5b5050820193919092039150565b600080600080600060a086880312156200284957600080fd5b85356001600160401b03808211156200286157600080fd5b6200286f89838a016200267b565b9650602088013591506200205d8262001ec3565b6000808335601e198436030181126200289b57600080fd5b83016020810192503590506001600160401b03811115620028bb57600080fd5b8036038213156200242c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081528335606082015260006200290f6020860162001ed9565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620029416080860162001ed9565b6001600160a01b031660e08301526200295d60a0860162001ed9565b61010062002975818501836001600160a01b03169052565b6200298360c0880162001ed9565b91506101206200299d818601846001600160a01b03169052565b610140925060e088013583860152610160828901358187015261018092508189013583870152620029d1848a018a62002883565b94509150826101a0870152620029ed6101e087018584620028cb565b9350620029fd818a018a62002883565b9350915050605f19858403016101c086015262002a1c838383620028cb565b935050505062002a3760208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b60006020828403121562002a6157600080fd5b5051919050565b6001600160a01b038416815260606020820181905260009062002a8e908301856200273e565b828103604084015262002aa281856200273e565b9695505050505050565b60608152600062002ac160608301866200273e565b828103602084015262002ad581866200273e565b9150508215156040830152949350505050565b818103818111156200048257634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002b3260408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002b6260a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002bd56101a08601846200234f565b90860151858203601f19018387015290925062002aa283826200234f565b600181811c9082168062002c0857607f821691505b60208210810362002c2957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562002c4257600080fd5b815162000d0d8162001ec3565b60006020828403121562002c6257600080fd5b815162000d0d816200213a565b60006020828403121562002c8257600080fd5b81516001600160401b0381111562002c9957600080fd5b8201601f8101841362002cab57600080fd5b805162002cbc620021d28262002185565b81815285602083850101111562002cd257600080fd5b62002ce582602083016020860162002329565b95945050505050565b60a080825286519082015260208601516001600160a01b0390811660c08301526040870151608060e084015260009162002d2d6101208501836200234f565b91506060890151609f198584030161010086015262002d4d83826200234f565b9189166020860152506001600160a01b03871660408501529050828103606084015262002d7b81866200273e565b9050828103608084015262002d9181856200273e565b98975050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002e1d908301856200234f565b828103608084015262002d9181856200234f565b6001600160e01b031983168152815160009062002e5681600485016020870162002329565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002ce5908301846200234f565b601f8211156200148f57600081815260208120601f850160051c8101602086101562002ebb5750805b601f850160051c820191505b8181101562002edc5782815560010162002ec7565b505050505050565b81516001600160401b0381111562002f005762002f0062001f06565b62002f188162002f11845462002bf3565b8462002e92565b602080601f83116001811462002f50576000841562002f375750858301515b600019600386901b1c1916600185901b17855562002edc565b600085815260208120601f198616915b8281101562002f815788860151825594840194600190910190840162002f60565b508582101562002fa05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062002fc560408301856200234f565b828103602084015262002ce581856200234f56fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61245880620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c8063715018a6116100b8578063a86f9d9e1161007c578063a86f9d9e1461029c578063d1399b1a146102af578063e985e9c5146102c2578063f242432a146102fe578063f2fde38b14610311578063f5298aca1461032457600080fd5b8063715018a6146102545780637cf8ed0d1461025c5780638da5cb5b1461027057806395d89b4114610281578063a22cb4651461028957600080fd5b8063156e29f61161010a578063156e29f6146101cc5780632eb2c2d6146101df5780633ab76e9f146101f257806349d12605146102175780634e1273f4146102215780636c6563f61461024157600080fd5b8062fdd58e1461014657806301ffc9a71461016c5780630652b57a1461018f57806306fdde03146101a45780630e89341c146101b9575b600080fd5b6101596101543660046118e5565b610337565b6040519081526020015b60405180910390f35b61017f61017a366004611927565b6103d2565b6040519015158152602001610163565b6101a261019d366004611944565b610422565b005b6101ac61049b565b60405161016391906119b1565b6101ac6101c73660046119c4565b6104d1565b6101a26101da3660046119dd565b610565565b6101a26101ed366004611b5e565b61061b565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610163565b61015961012e5481565b61023461022f366004611c0c565b610667565b6040516101639190611d14565b6101ff61024f366004611d3c565b610791565b6101a26107a8565b61012d546101ff906001600160a01b031681565b6065546001600160a01b03166101ff565b6101ac6107bc565b6101a2610297366004611d71565b61084b565b6101ff6102aa366004611da6565b61085a565b6101a26102bd366004611dc9565b610867565b61017f6102d0366004611e2c565b6001600160a01b03918216600090815260fc6020908152604080832093909416825291909152205460ff1690565b6101a261030c366004611e65565b610a10565b6101a261031f366004611944565b610a46565b6101a26103323660046119dd565b610abf565b60006001600160a01b0383166103a75760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815260fb602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061040357506001600160e01b031982166303a24d0760e21b145b806103cc57506301ffc9a760e01b6001600160e01b03198316146103cc565b61042a610b5b565b6001600160a01b03811661045157604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606101306104ac61012e54610bb5565b6040516020016104bd929190611f08565b604051602081830303815290604052905090565b606060fd80546104e090611ece565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90611ece565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b50505050509050919050565b6c195c98cc4c4d4d57dd985d5b1d609a1b61058181600161085a565b6001600160a01b0316336001600160a01b0316146105b257604051630d85cccf60e11b815260040160405180910390fd5b6105cd84848460405180602001604052806000815250610c48565b60408051848152602081018490526001600160a01b038616916000917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc4491015b60405180910390a350505050565b6001600160a01b038516331480610637575061063785336102d0565b6106535760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585610d5e565b5050505050565b606081518351146106cc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161039e565b6000835167ffffffffffffffff8111156106e8576106e8611a12565b604051908082528060200260200182016040528015610711578160200160208202803683370190505b50905060005b84518110156107895761075c85828151811061073557610735611fec565b602002602001015185838151811061074f5761074f611fec565b6020026020010151610337565b82828151811061076e5761076e611fec565b602090810291909101015261078281612018565b9050610717565b509392505050565b600061079e848484610f36565b90505b9392505050565b6107b0610b5b565b6107ba6000610fea565b565b61012f80546107ca90611ece565b80601f01602080910402602001604051908101604052809291908181526020018280546107f690611ece565b80156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b61085633838361103c565b5050565b60006107a1468484610f36565b600054610100900460ff16158080156108875750600054600160ff909116105b806108a15750303b1580156108a1575060005460ff166001145b6109045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610927576000805461ff0019166101001790555b6001600160a01b038516158061093b575083155b8061094557504684145b1561096357604051635d061ab760e11b815260040160405180910390fd5b61096c8661111c565b61098460405180602001604052806000815250611135565b61012d80546001600160a01b0319166001600160a01b03871617905561012e84905561012f6109b3848261207c565b506101306109c1838261207c565b508015610a08576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b306001600160a01b03851603610a3957604051636cfe544760e01b815260040160405180910390fd5b6106608585858585611165565b610a4e610b5b565b6001600160a01b038116610ab35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b610abc81610fea565b50565b6c195c98cc4c4d4d57dd985d5b1d609a1b610adb81600161085a565b6001600160a01b0316336001600160a01b031614610b0c57604051630d85cccf60e11b815260040160405180910390fd5b610b178484846111aa565b60408051848152602081018490526000916001600160a01b038716917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910161060d565b6065546001600160a01b031633146107ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b60606000610bc283611329565b600101905060008167ffffffffffffffff811115610be257610be2611a12565b6040519080825280601f01601f191660200182016040528015610c0c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c1657509392505050565b6001600160a01b038416610ca85760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161039e565b336000610cb485611401565b90506000610cc185611401565b9050600086815260fb602090815260408083206001600160a01b038b16845290915281208054879290610cf590849061213c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610d558360008989898961144c565b50505050505050565b8151835114610dc05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b606482015260840161039e565b6001600160a01b038416610de65760405162461bcd60e51b815260040161039e9061214f565b3360005b8451811015610ed0576000858281518110610e0757610e07611fec565b602002602001015190506000858381518110610e2557610e25611fec565b602090810291909101810151600084815260fb835260408082206001600160a01b038e168352909352919091205490915081811015610e765760405162461bcd60e51b815260040161039e90612194565b600083815260fb602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610eb590849061213c565b9250508190555050505080610ec990612018565b9050610dea565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610f209291906121de565b60405180910390a4610a088187878787876115a7565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab919061220c565b905081158015610fc257506001600160a01b038116155b156107a157604051631467050360e21b8152600481018590526024810184905260440161039e565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036110af5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161039e565b6001600160a01b03838116600081815260fc6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611124611662565b61112c611691565b610abc816116c0565b600054610100900460ff1661115c5760405162461bcd60e51b815260040161039e90612229565b610abc81611709565b6001600160a01b038516331480611181575061118185336102d0565b61119d5760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585611739565b6001600160a01b03831661120c5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161039e565b33600061121884611401565b9050600061122584611401565b604080516020808201835260009182905288825260fb81528282206001600160a01b038b16835290522054909150848110156112af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b606482015260840161039e565b600086815260fb602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610d55565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611394576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113b257662386f26fc10000830492506010015b6305f5e10083106113ca576305f5e100830492506008015b61271083106113de57612710830492506004015b606483106113f0576064830492506002015b600a83106103cc5760010192915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061143b5761143b611fec565b602090810291909101015292915050565b6001600160a01b0384163b15610a085760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114909089908990889088908890600401612274565b6020604051808303816000875af19250505080156114cb575060408051601f3d908101601f191682019092526114c8918101906122b9565b60015b611577576114d76122d6565b806308c379a00361151057506114eb6122f2565b806114f65750611512565b8060405162461bcd60e51b815260040161039e91906119b1565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161039e565b6001600160e01b0319811663f23a6e6160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b6001600160a01b0384163b15610a085760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115eb90899089908890889088906004016123c4565b6020604051808303816000875af1925050508015611626575060408051601f3d908101601f19168201909252611623918101906122b9565b60015b611632576114d76122d6565b6001600160e01b0319811663bc197c8160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b600054610100900460ff166116895760405162461bcd60e51b815260040161039e90612229565b6107ba611867565b600054610100900460ff166116b85760405162461bcd60e51b815260040161039e90612229565b6107ba611894565b6001600160a01b0381166116e757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166117305760405162461bcd60e51b815260040161039e90612229565b610abc816118c4565b6001600160a01b03841661175f5760405162461bcd60e51b815260040161039e9061214f565b33600061176b85611401565b9050600061177885611401565b9050600086815260fb602090815260408083206001600160a01b038c168452909152902054858110156117bd5760405162461bcd60e51b815260040161039e90612194565b600087815260fb602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906117fc90849061213c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461185c848a8a8a8a8a61144c565b505050505050505050565b600054610100900460ff1661188e5760405162461bcd60e51b815260040161039e90612229565b60018055565b600054610100900460ff166118bb5760405162461bcd60e51b815260040161039e90612229565b6107ba33610fea565b60fd610856828261207c565b6001600160a01b0381168114610abc57600080fd5b600080604083850312156118f857600080fd5b8235611903816118d0565b946020939093013593505050565b6001600160e01b031981168114610abc57600080fd5b60006020828403121561193957600080fd5b81356107a181611911565b60006020828403121561195657600080fd5b81356107a1816118d0565b60005b8381101561197c578181015183820152602001611964565b50506000910152565b6000815180845261199d816020860160208601611961565b601f01601f19169290920160200192915050565b6020815260006107a16020830184611985565b6000602082840312156119d657600080fd5b5035919050565b6000806000606084860312156119f257600080fd5b83356119fd816118d0565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611a4e57611a4e611a12565b6040525050565b600067ffffffffffffffff821115611a6f57611a6f611a12565b5060051b60200190565b600082601f830112611a8a57600080fd5b81356020611a9782611a55565b604051611aa48282611a28565b83815260059390931b8501820192828101915086841115611ac457600080fd5b8286015b84811015611adf5780358352918301918301611ac8565b509695505050505050565b600082601f830112611afb57600080fd5b813567ffffffffffffffff811115611b1557611b15611a12565b604051611b2c601f8301601f191660200182611a28565b818152846020838601011115611b4157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611b7657600080fd5b8535611b81816118d0565b94506020860135611b91816118d0565b9350604086013567ffffffffffffffff80821115611bae57600080fd5b611bba89838a01611a79565b94506060880135915080821115611bd057600080fd5b611bdc89838a01611a79565b93506080880135915080821115611bf257600080fd5b50611bff88828901611aea565b9150509295509295909350565b60008060408385031215611c1f57600080fd5b823567ffffffffffffffff80821115611c3757600080fd5b818501915085601f830112611c4b57600080fd5b81356020611c5882611a55565b604051611c658282611a28565b83815260059390931b8501820192828101915089841115611c8557600080fd5b948201945b83861015611cac578535611c9d816118d0565b82529482019490820190611c8a565b96505086013592505080821115611cc257600080fd5b50611ccf85828601611a79565b9150509250929050565b600081518084526020808501945080840160005b83811015611d0957815187529582019590820190600101611ced565b509495945050505050565b6020815260006107a16020830184611cd9565b80358015158114611d3757600080fd5b919050565b600080600060608486031215611d5157600080fd5b8335925060208401359150611d6860408501611d27565b90509250925092565b60008060408385031215611d8457600080fd5b8235611d8f816118d0565b9150611d9d60208401611d27565b90509250929050565b60008060408385031215611db957600080fd5b82359150611d9d60208401611d27565b600080600080600060a08688031215611de157600080fd5b8535611dec816118d0565b94506020860135611dfc816118d0565b935060408601359250606086013567ffffffffffffffff80821115611e2057600080fd5b611bdc89838a01611aea565b60008060408385031215611e3f57600080fd5b8235611e4a816118d0565b91506020830135611e5a816118d0565b809150509250929050565b600080600080600060a08688031215611e7d57600080fd5b8535611e88816118d0565b94506020860135611e98816118d0565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ec257600080fd5b611bff88828901611aea565b600181811c90821680611ee257607f821691505b602082108103611f0257634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611f1681611ece565b60018281168015611f2e5760018114611f4357611f72565b60ff1984168752821515830287019450611f72565b8860005260208060002060005b85811015611f695781548a820152908401908201611f50565b50505082870194505b50506241c55b60e71b835250508351611f92816004840160208801611961565b01600401949350505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161202a5761202a612002565b5060010190565b601f82111561207757600081815260208120601f850160051c810160208610156120585750805b601f850160051c820191505b81811015610a0857828155600101612064565b505050565b815167ffffffffffffffff81111561209657612096611a12565b6120aa816120a48454611ece565b84612031565b602080601f8311600181146120df57600084156120c75750858301515b600019600386901b1c1916600185901b178555610a08565b600085815260208120601f198616915b8281101561210e578886015182559484019460019091019084016120ef565b508582101561212c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156103cc576103cc612002565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006121f16040830185611cd9565b82810360208401526122038185611cd9565b95945050505050565b60006020828403121561221e57600080fd5b81516107a1816118d0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122ae90830184611985565b979650505050505050565b6000602082840312156122cb57600080fd5b81516107a181611911565b600060033d11156122ef5760046000803e5060005160e01c5b90565b600060443d10156123005790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561233057505050505090565b82850191508151818111156123485750505050505090565b843d87010160208285010111156123625750505050505090565b61237160208286010187611a28565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906123f090830186611cd9565b82810360608401526124028186611cd9565b905082810360808401526124168185611985565b9897505050505050505056fea264697066735822122041b57730fb812611c4b5683f82e30d12871eba6749bd356dd8d5fdc9daea892a64736f6c63430008140033a26469706673582212204e8719aa190c4198a21918232e478421f94c5d04a20d20a1aa2824c49fe8d9dd64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000009": { + "contractName": "ERC1155VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000009" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a8d565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a8d565b610320565b34801561014057600080fd5b506100ed61014f366004610abf565b610438565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af4565b6104f1565b3480156101b757600080fd5b506100ed610508565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b29565b61051c565b34801561020a57600080fd5b506100ed610219366004610b4c565b610529565b34801561022a57600080fd5b506100ed610239366004610b78565b6105ee565b34801561024a57600080fd5b506100ed610259366004610a8d565b610671565b34801561026a57600080fd5b50610297610279366004610a8d565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106e7565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156103405750600054600160ff909116105b8061035a5750303b15801561035a575060005460ff166001145b6103c25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103e5576000805461ff0019166101001790555b6103ee82610741565b8015610434576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6104406106e7565b6001600160a01b038216158061047457506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049257604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006104fe84848461075a565b90505b9392505050565b6105106106e7565b61051a600061080e565b565b600061050146848461075a565b33600090815260c9602052604090205460ff1661055957604051634fa3f24560e01b815260040160405180910390fd5b610561610860565b80156105e5576001600160a01b03821661058e5760405163687563df60e01b815260040160405180910390fd5b6105a16001600160a01b038316826108b9565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105dc91815260200190565b60405180910390a25b61043460018055565b33600090815260c9602052604090205460ff1661061e57604051634fa3f24560e01b815260040160405180910390fd5b610626610860565b61063033826108b9565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261066e60018055565b50565b6106796106e7565b6001600160a01b0381166106de5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b9565b61066e8161080e565b6065546001600160a01b0316331461051a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b9565b61074961097a565b6107516109a9565b61066e816109d8565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190610b91565b9050811580156107e657506001600160a01b038116155b1561050157604051631467050360e21b815260048101859052602481018490526044016103b9565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103b9565b6002600155565b8015806108cd57506001600160a01b038216155b156108d6575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610923576040519150601f19603f3d011682016040523d82523d6000602084013e610928565b606091505b505090508061096f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103b9565b505050565b60018055565b600054610100900460ff166109a15760405162461bcd60e51b81526004016103b990610bae565b61051a610a21565b600054610100900460ff166109d05760405162461bcd60e51b81526004016103b990610bae565b61051a610a48565b6001600160a01b0381166109ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109745760405162461bcd60e51b81526004016103b990610bae565b600054610100900460ff16610a6f5760405162461bcd60e51b81526004016103b990610bae565b61051a3361080e565b6001600160a01b038116811461066e57600080fd5b600060208284031215610a9f57600080fd5b813561050181610a78565b80358015158114610aba57600080fd5b919050565b60008060408385031215610ad257600080fd5b8235610add81610a78565b9150610aeb60208401610aaa565b90509250929050565b600080600060608486031215610b0957600080fd5b8335925060208401359150610b2060408501610aaa565b90509250925092565b60008060408385031215610b3c57600080fd5b82359150610aeb60208401610aaa565b60008060408385031215610b5f57600080fd5b8235610b6a81610a78565b946020939093013593505050565b600060208284031215610b8a57600080fd5b5035919050565b600060208284031215610ba357600080fd5b815161050181610a78565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d0d99f56f19199de521bdab1ffbc956624a2d999b2d40703d11b4f151f9a37ae64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0xfffffffffffffba9c6e7dbb0bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a23565b6101e0565b005b6100cc6100dc366004611a23565b610259565b6100f46100ef366004611a40565b610371565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a6c565b6103e3565b61015461014f366004611b02565b61055d565b604051908152602001610100565b610116610170366004611b30565b6105a4565b6100cc6105bb565b6065546001600160a01b0316610116565b61011661019c366004611b65565b6105cf565b6100cc6101af366004611a23565b6105e5565b6101546101c2366004611a40565b6040805192835260208301919091526034600c830120918101905290565b6101e861065e565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156102795750600054600160ff909116105b806102935750303b158015610293575060005460ff166001145b6102fb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561031e576000805461ff0019166101001790555b610327826106b8565b801561036d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000826001600160a01b03811661039b576040516354cdfc8d60e11b815260040160405180910390fd5b8260008190036103be5760405163014f1da760e21b815260040160405180910390fd5b5050604080519384526020840192909252506034600c83012091810190525460011490565b6000854681036104065760405163e822b48d60e01b815260040160405180910390fd5b856001600160a01b03811661042e576040516354cdfc8d60e11b815260040160405180910390fd5b8560008190036104515760405163014f1da760e21b815260040160405180910390fd5b600061045f86880188611c01565b90506000610476647461696b6f60d81b60006105cf565b825160405163016674a560e21b815267ffffffffffffffff90911660048201526001600160a01b039190911690630599d29490602401602060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611cd6565b604080518c8152602081018c90526034600c820120818301909252606081019190915290915061054e90608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106d1565b9b9a5050505050505050505050565b6000818082036105805760405163014f1da760e21b815260040160405180910390fd5b50506040805133815260208101929092526034600c83012091810190526001815590565b60006105b18484846106f5565b90505b9392505050565b6105c361065e565b6105cd60006107a9565b565b60006105dc4684846106f5565b90505b92915050565b6105ed61065e565b6001600160a01b0381166106525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f2565b61065b816107a9565b50565b6065546001600160a01b031633146105cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f2565b6106c06107fb565b6106c861082a565b61065b81610859565b6000806106dd866108a2565b90506106eb818686866108d4565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a9190611cef565b90508115801561078157506001600160a01b038116155b156105b457604051631467050360e21b815260048101859052602481018490526044016102f2565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108225760405162461bcd60e51b81526004016102f290611d0c565b6105cd610911565b600054610100900460ff166108515760405162461bcd60e51b81526004016102f290611d0c565b6105cd61093e565b6001600160a01b03811661088057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108be91815260200190565b6040516020818303038152906040529050919050565b60008060006108e487868661096e565b9150915081801561090657508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff166109385760405162461bcd60e51b81526004016102f290611d0c565b60018055565b600054610100900460ff166109655760405162461bcd60e51b81526004016102f290611d0c565b6105cd336107a9565b60006060600061097d85610a49565b9050600080600061098f848a89610b42565b815192955090935091501580806109a35750815b6109ef5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102f2565b600081610a0b5760405180602001604052806000815250610a37565b610a3786610a1a600188611d6d565b81518110610a2a57610a2a611d80565b6020026020010151610f62565b919b919a509098505050505050505050565b60606000610a5683610f89565b90506000815167ffffffffffffffff811115610a7457610a74611b91565b604051908082528060200260200182016040528015610ab957816020015b6040805180820190915260608082526020820152815260200190600190039081610a925790505b50905060005b8251811015610b3a576000610aec848381518110610adf57610adf611d80565b6020026020010151610fbc565b90506040518060400160405280610b0283610f89565b815260200182815250838381518110610b1d57610b1d611d80565b60200260200101819052505080610b3390611d96565b9050610abf565b509392505050565b600060606000806000610b548761104c565b90506000869050600080610b7b604051806040016040528060608152602001606081525090565b60005b8c51811015610f3a578c8181518110610b9957610b99611d80565b602002602001015191508284610baf9190611daf565b9350610bbc600188611daf565b965083600003610c19578482602001518051906020012014610c145760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102f2565b610cdb565b602082602001515110610c80578482602001518051906020012014610c145760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102f2565b84610c8e8360200151611185565b14610cdb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102f2565b610ce760106001611dc2565b60ff1682600001515103610d555785518414610f3a576000868581518110610d1157610d11611d80565b01602001518351805160f89290921c925060009183908110610d3557610d35611d80565b60200260200101519050610d48816111ad565b9650600194505050610f2a565b81515160011901610ee2576000610d6b836111e3565b9050600081600081518110610d8257610d82611d80565b016020015160f81c90506000610d99600283611ddb565b610da4906002611e0b565b90506000610db5848360ff16611207565b90506000610dc38b8a611207565b90506000610dd1838361123d565b905060ff851660021480610de8575060ff85166003145b15610e2257808351148015610dfd5750808251145b15610e0f57610e0c818b611daf565b99505b50600160ff1b9950610f3a945050505050565b60ff85161580610e35575060ff85166001145b15610e8b5782518114610e555750600160ff1b9950610f3a945050505050565b610e7c8860000151600181518110610e6f57610e6f611d80565b60200260200101516111ad565b9a509750610f2a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102f2565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102f2565b610f3381611d96565b9050610b7e565b50600160ff1b841486610f4d8786611207565b909e909d50909b509950505050505050505050565b805180516060916105df91610f7990600190611d6d565b81518110610adf57610adf611d80565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906105df906112b7565b60606000806000610fcc856114a3565b919450925090506000816001811115610fe757610fe7611e24565b146110345760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102f2565b611043856020015184846117ed565b95945050505050565b606060008251600261105e9190611e3a565b67ffffffffffffffff81111561107657611076611b91565b6040519080825280601f01601f1916602001820160405280156110a0576020820181803683370190505b50905060005b835181101561117e5760048482815181106110c3576110c3611d80565b01602001516001600160f81b031916901c826110e0836002611e3a565b815181106110f0576110f0611d80565b60200101906001600160f81b031916908160001a905350601084828151811061111b5761111b611d80565b016020015161112d919060f81c611ddb565b60f81b8261113c836002611e3a565b611147906001611daf565b8151811061115757611157611d80565b60200101906001600160f81b031916908160001a90535061117781611d96565b90506110a6565b5092915050565b600060208251101561119957506020015190565b818060200190518101906105df9190611cd6565b600060606020836000015110156111ce576111c783611896565b90506111da565b6111d783610fbc565b90505b6105b481611185565b60606105df6112028360000151600081518110610adf57610adf611d80565b61104c565b60608251821061122657506040805160208101909152600081526105df565b6105dc83838486516112389190611d6d565b6118a1565b6000805b8084511180156112515750808351115b80156112a2575082818151811061126a5761126a611d80565b602001015160f81c60f81b6001600160f81b03191684828151811061129157611291611d80565b01602001516001600160f81b031916145b156105dc576112b081611d96565b9050611241565b60606000806112c5846114a3565b919350909150600190508160018111156112e1576112e1611e24565b1461132e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102f2565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816113475790505090506000835b865181101561149857602082106113e05760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102f2565b60008061141d6040518060400160405280858c600001516114019190611d6d565b8152602001858c602001516114169190611daf565b90526114a3565b5091509150604051806040016040528083836114399190611daf565b8152602001848b6020015161144e9190611daf565b81525085858151811061146357611463611d80565b6020908102919091010152611479600185611daf565b93506114858183611daf565b61148f9084611daf565b92505050611374565b508152949350505050565b6000806000808460000151116114fb5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102f2565b6020840151805160001a607f81116115205760006001600094509450945050506117e6565b60b7811161159c576000611535608083611d6d565b90508087600001511161158a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102f2565b600195509350600092506117e6915050565b60bf811161168b5760006115b160b783611d6d565b9050808760000151116116065760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102f2565b600183015160208290036101000a90046116208183611daf565b88511161166f5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102f2565b61167a826001611daf565b96509450600093506117e692505050565b60f781116117065760006116a060c083611d6d565b9050808760000151116116f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102f2565b6001955093508492506117e6915050565b600061171360f783611d6d565b9050808760000151116117685760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102f2565b600183015160208290036101000a90046117828183611daf565b8851116117ca5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102f2565b6117d5826001611daf565b96509450600193506117e692505050565b9193909250565b606060008267ffffffffffffffff81111561180a5761180a611b91565b6040519080825280601f01601f191660200182016040528015611834576020820181803683370190505b50905080516000036118475790506105b4565b8484016020820160005b85811015611869578281015182820152602001611851565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606105df826119f8565b6060816118af81601f611daf565b10156118ee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b826118f98382611daf565b10156119385760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b6119428284611daf565b845110156119865760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102f2565b6060821580156119a557604051915060008252602082016040526119ef565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119de5780518352602092830192016119c6565b5050858452601f01601f1916604052505b50949350505050565b60606105df8260200151600084600001516117ed565b6001600160a01b038116811461065b57600080fd5b600060208284031215611a3557600080fd5b81356105dc81611a0e565b60008060408385031215611a5357600080fd5b8235611a5e81611a0e565b946020939093013593505050565b600080600080600060808688031215611a8457600080fd5b853594506020860135611a9681611a0e565b935060408601359250606086013567ffffffffffffffff80821115611aba57600080fd5b818801915088601f830112611ace57600080fd5b813581811115611add57600080fd5b896020828501011115611aef57600080fd5b9699959850939650602001949392505050565b600060208284031215611b1457600080fd5b5035919050565b80358015158114611b2b57600080fd5b919050565b600080600060608486031215611b4557600080fd5b8335925060208401359150611b5c60408501611b1b565b90509250925092565b60008060408385031215611b7857600080fd5b82359150611b8860208401611b1b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bca57611bca611b91565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf957611bf9611b91565b604052919050565b60006020808385031215611c1457600080fd5b823567ffffffffffffffff80821115611c2c57600080fd5b9084019060408287031215611c4057600080fd5b611c48611ba7565b82358281168114611c5857600080fd5b81528284013582811115611c6b57600080fd5b80840193505086601f840112611c8057600080fd5b823582811115611c9257611c92611b91565b611ca4601f8201601f19168601611bd0565b92508083528785828601011115611cba57600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b81516105dc81611a0e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105df576105df611d57565b634e487b7160e01b600052603260045260246000fd5b600060018201611da857611da8611d57565b5060010190565b808201808211156105df576105df611d57565b60ff81811683821601908111156105df576105df611d57565b600060ff831680611dfc57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156105df576105df611d57565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176105df576105df611d5756fea2646970667358221220151fc91dac790a2ffff3f5862cbc56fc2ca0ee6980528cb06692174bd7c2d26064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000001388000", + "0x723077b8a1b173adc35e5f0e7e3662fd1208212cb629f9c128551ea7168da722": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x14e04a66bf74771820a7400ff6cf065175b3d7eb25805a5bd1633b161af5d101": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x215be5d23550ceb1beff54fb579a765903ba2ccc85b6f79bcf9bda4e8cb86034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d1035fce6503985ab075a4ff3f7ce2e57cd5a9c5e6a0589dccacfea7bcb0af4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2a95ee547cef07a2fff0a68144824a0d9ded35ed87da118a53e1cda4aca8b944": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x7fcecd2a720442e9bc0cf1a8a6976f9fbddf6b996dc0d78af7e94dadf360d579": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x18bbf5fcf8fe870ecff419c4677497c08b2e6a5431bb94541d06c9da3f308e55": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6e3431b4e42570cb9e3d926eb26f9e54de2df536ae0741ae16350d17a6c16ddc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xdb302bf24b1ad5f23949da8e6b05747dc699499a995361a7bf40ec7204696d6f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xa1d47ef1a6916dfbe65888f77739da164feb3a9a6afc95ee57e8b3e85ea5e955": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x454340b1295f9ff1c0fb9192166d0215d33f84dc5f2dc3f3e5732a4b557186bf": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6a3bb1dada7c82a99b4a02d16da3fda07cb31d8887b9b99ec829ab67fd7a817e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2fe2844d12634f5dce1e2be5be96b2ea1c573f8f25171997e2f4bd943dd32f92": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x3836a017087644fbf6925ae1aca14201ce898a35434d9dea9ebd03cea44e049a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1c7a29f5a750951acb14fdf82a876085914eb17f15a162b054a3d2f8c92e2451": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x271927a243b678b7a071f19b4051ef93b16e397066e3fdef5bba26527e34a1a1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4663d660b5d810c9ab2f6dc64af7ff84ebae28a72342391622649a7fe87c93d4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x352c3281a58937f04ef7cc7b88f3456b6ffd47f52a321c253dc083fb53a3a114": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d5faa5f4e671e6fe47b0eab51c62f8cebf354e21e8fdccf8cdfc0293dd341a3": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x673de83553dc3a2c0f59aa7193de392a4530feb73b9d6cd4fcef68802b8195c1": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/jolnir.json taikoxyz/taiko-geth/core/taiko_genesis/jolnir.json new file mode 100644 index 0000000000000000000000000000000000000000..d460a95a4d9e288c338e89248803ad14ed65f362 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/jolnir.json @@ -0,0 +1,210 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xFa9d666c396c64d155BDc23a2AAA53984939A4Ee": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xb631796561d587AeEF2Fdd09AD33b8DE4bc92510": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x8a9f79C3dc6158E58484ceEd46d93c4B0bAD0824": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636892abdc1461003a575b600080fd5b61004d61004836600461170f565b610061565b604051901515815260200160405180910390f35b600080806100718486018661185f565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610150565b91509150816100d657604051639dbcc1a760e01b815260040160405180910390fd5b60006100e182610179565b90506000610108826002815181106100fb576100fb6118c3565b60200260200101516101b2565b905061013f8b60405160200161012091815260200190565b6040516020818303038152906040526101388c6102ba565b87846102cd565b9d9c50505050505050505050505050565b60006060600061015f866102e7565b905061016c818686610319565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101ac906103f4565b92915050565b600060218260000151111561020e5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e00000000000060448201526064015b60405180910390fd5b600080600061021c856105e0565b919450925090506000816001811115610237576102376118d9565b146102845760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610205565b60008386602001516102969190611905565b805190915060208410156102b05760208490036101000a90045b9695505050505050565b60606101ac6102c88361092a565b610a5e565b6000806102d9866102e7565b90506102b081868686610acd565b6060818051906020012060405160200161030391815260200190565b6040516020818303038152906040529050919050565b60006060600061032885610b0a565b9050600080600061033a848a89610c03565b8151929550909350915015808061034e5750815b61039a5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610205565b6000816103b657604051806020016040528060008152506103e2565b6103e2866103c5600188611918565b815181106103d5576103d56118c3565b6020026020010151611023565b919b919a509098505050505050505050565b6060600080610402846105e0565b9193509091506001905081600181111561041e5761041e6118d9565b1461046b5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610205565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104845790505090506000835b86518110156105d5576020821061051d5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610205565b60008061055a6040518060400160405280858c6000015161053e9190611918565b8152602001858c602001516105539190611905565b90526105e0565b5091509150604051806040016040528083836105769190611905565b8152602001848b6020015161058b9190611905565b8152508585815181106105a0576105a06118c3565b60209081029190910101526105b6600185611905565b93506105c28183611905565b6105cc9084611905565b925050506104b1565b508152949350505050565b6000806000808460000151116106385760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610205565b6020840151805160001a607f811161065d576000600160009450945094505050610923565b60b781116106d9576000610672608083611918565b9050808760000151116106c75760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610205565b60019550935060009250610923915050565b60bf81116107c85760006106ee60b783611918565b9050808760000151116107435760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610205565b600183015160208290036101000a900461075d8183611905565b8851116107ac5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610205565b6107b7826001611905565b965094506000935061092392505050565b60f781116108435760006107dd60c083611918565b9050808760000151116108325760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610205565b600195509350849250610923915050565b600061085060f783611918565b9050808760000151116108a55760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610205565b600183015160208290036101000a90046108bf8183611905565b8851116109075760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610205565b610912826001611905565b965094506001935061092392505050565b9193909250565b606060008260405160200161094191815260200190565b604051602081830303815290604052905060005b602081101561099657818181518110610970576109706118c3565b01602001516001600160f81b0319166000036109965761098f8161192b565b9050610955565b60006109a3826020611918565b67ffffffffffffffff8111156109bb576109bb6117bc565b6040519080825280601f01601f1916602001820160405280156109e5576020820181803683370190505b50905060005b8151811015610a555783836109ff8161192b565b945081518110610a1157610a116118c3565b602001015160f81c60f81b828281518110610a2e57610a2e6118c3565b60200101906001600160f81b031916908160001a905350610a4e8161192b565b90506109eb565b50949350505050565b60608082516001148015610a8c5750608083600081518110610a8257610a826118c3565b016020015160f81c105b15610a985750816101ac565b610aa48351608061104a565b83604051602001610ab6929190611974565b604051602081830303815290604052905092915050565b6000806000610add878686610319565b91509150818015610aff57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b1783610179565b90506000815167ffffffffffffffff811115610b3557610b356117bc565b604051908082528060200260200182016040528015610b7a57816020015b6040805180820190915260608082526020820152815260200190600190039081610b535790505b50905060005b8251811015610bfb576000610bad848381518110610ba057610ba06118c3565b60200260200101516111f4565b90506040518060400160405280610bc383610179565b815260200182815250838381518110610bde57610bde6118c3565b60200260200101819052505080610bf49061192b565b9050610b80565b509392505050565b600060606000806000610c1587611284565b90506000869050600080610c3c604051806040016040528060608152602001606081525090565b60005b8c51811015610ffb578c8181518110610c5a57610c5a6118c3565b602002602001015191508284610c709190611905565b9350610c7d600188611905565b965083600003610cda578482602001518051906020012014610cd55760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610205565b610d9c565b602082602001515110610d41578482602001518051906020012014610cd55760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610205565b84610d4f83602001516113bd565b14610d9c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610205565b610da860106001611991565b60ff1682600001515103610e165785518414610ffb576000868581518110610dd257610dd26118c3565b01602001518351805160f89290921c925060009183908110610df657610df66118c3565b60200260200101519050610e09816113e5565b9650600194505050610feb565b81515160011901610fa3576000610e2c8361141b565b9050600081600081518110610e4357610e436118c3565b016020015160f81c90506000610e5a6002836119c0565b610e659060026119e2565b90506000610e76848360ff1661143f565b90506000610e848b8a61143f565b90506000610e928383611475565b905060ff851660021480610ea9575060ff85166003145b15610ee357808351148015610ebe5750808251145b15610ed057610ecd818b611905565b99505b50600160ff1b9950610ffb945050505050565b60ff85161580610ef6575060ff85166001145b15610f4c5782518114610f165750600160ff1b9950610ffb945050505050565b610f3d8860000151600181518110610f3057610f306118c3565b60200260200101516113e5565b9a509750610feb945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610205565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610205565b610ff48161192b565b9050610c3f565b50600160ff1b84148661100e878661143f565b909e909d50909b509950505050505050505050565b805180516060916101ac9161103a90600190611918565b81518110610ba057610ba06118c3565b60608060388410156110b1576040805160018082528183019092529060208201818036833701905050905061107f8385611991565b60f81b81600081518110611095576110956118c3565b60200101906001600160f81b031916908160001a9053506111ed565b600060015b6110c081876119fb565b156110e3576110ce8261192b565b91506110dc61010082611a0f565b90506110b6565b6110ee826001611905565b67ffffffffffffffff811115611106576111066117bc565b6040519080825280601f01601f191660200182016040528015611130576020820181803683370190505b50925061113d8583611991565b611148906037611991565b60f81b8360008151811061115e5761115e6118c3565b60200101906001600160f81b031916908160001a905350600190505b8181116111ea5761010061118e8284611918565b61119a90610100611b0a565b6111a490886119fb565b6111ae9190611b16565b60f81b8382815181106111c3576111c36118c3565b60200101906001600160f81b031916908160001a9053506111e38161192b565b905061117a565b50505b9392505050565b60606000806000611204856105e0565b91945092509050600081600181111561121f5761121f6118d9565b1461126c5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610205565b61127b856020015184846114ef565b95945050505050565b60606000825160026112969190611a0f565b67ffffffffffffffff8111156112ae576112ae6117bc565b6040519080825280601f01601f1916602001820160405280156112d8576020820181803683370190505b50905060005b83518110156113b65760048482815181106112fb576112fb6118c3565b01602001516001600160f81b031916901c82611318836002611a0f565b81518110611328576113286118c3565b60200101906001600160f81b031916908160001a9053506010848281518110611353576113536118c3565b0160200151611365919060f81c6119c0565b60f81b82611374836002611a0f565b61137f906001611905565b8151811061138f5761138f6118c3565b60200101906001600160f81b031916908160001a9053506113af8161192b565b90506112de565b5092915050565b60006020825110156113d157506020015190565b818060200190518101906101ac9190611b2a565b60006060602083600001511015611406576113ff83611598565b9050611412565b61140f836111f4565b90505b6111ed816113bd565b60606101ac61143a8360000151600081518110610ba057610ba06118c3565b611284565b60608251821061145e57506040805160208101909152600081526101ac565b6111ed83838486516114709190611918565b6115a3565b6000805b8084511180156114895750808351115b80156114da57508281815181106114a2576114a26118c3565b602001015160f81c60f81b6001600160f81b0319168482815181106114c9576114c96118c3565b01602001516001600160f81b031916145b156111ed576114e88161192b565b9050611479565b606060008267ffffffffffffffff81111561150c5761150c6117bc565b6040519080825280601f01601f191660200182016040528015611536576020820181803683370190505b50905080516000036115495790506111ed565b8484016020820160005b8581101561156b578281015182820152602001611553565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101ac826116f9565b6060816115b181601f611905565b10156115f05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b826115fb8382611905565b101561163a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b6116448284611905565b845110156116885760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610205565b6060821580156116a75760405191506000825260208201604052610a55565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156116e05780518352602092830192016116c8565b5050858452601f01601f19166040525050949350505050565b60606101ac8260200151600084600001516114ef565b60008060008060008060a0878903121561172857600080fd5b8635955060208701356001600160a01b038116811461174657600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff8082111561177157600080fd5b818901915089601f83011261178557600080fd5b81358181111561179457600080fd5b8a60208285010111156117a657600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126117e357600080fd5b813567ffffffffffffffff808211156117fe576117fe6117bc565b604051601f8301601f19908116603f01168101908282118183101715611826576118266117bc565b8160405283815286602085880101111561183f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561187257600080fd5b823567ffffffffffffffff8082111561188a57600080fd5b611896868387016117d2565b935060208501359150808211156118ac57600080fd5b506118b9858286016117d2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101ac576101ac6118ef565b818103818111156101ac576101ac6118ef565b60006001820161193d5761193d6118ef565b5060010190565b6000815160005b81811015611965576020818501810151868301520161194b565b50600093019283525090919050565b60006119896119838386611944565b84611944565b949350505050565b60ff81811683821601908111156101ac576101ac6118ef565b634e487b7160e01b600052601260045260246000fd5b600060ff8316806119d3576119d36119aa565b8060ff84160691505092915050565b60ff82811682821603908111156101ac576101ac6118ef565b600082611a0a57611a0a6119aa565b500490565b80820281158282048414176101ac576101ac6118ef565b600181815b80851115611a61578160001904821115611a4757611a476118ef565b80851615611a5457918102915b93841c9390800290611a2b565b509250929050565b600082611a78575060016101ac565b81611a85575060006101ac565b8160018114611a9b5760028114611aa557611ac1565b60019150506101ac565b60ff841115611ab657611ab66118ef565b50506001821b6101ac565b5060208310610133831016604e8410600b8410161715611ae4575081810a6101ac565b611aee8383611a26565b8060001904821115611b0257611b026118ef565b029392505050565b60006111ed8383611a69565b600082611b2557611b256119aa565b500690565b600060208284031215611b3c57600080fd5b505191905056fea26469706673582212204875324a0ffbec2ef4b8b54e737ba4f199bc66a7bbc669362262c64003f5eb4964736f6c63430008140033", + "balance": "0x0" + }, + "0xb2Bcd028F53637a4FC4E06C52d247F38f44cBe4d": { + "contractName": "LibVaultUtils", + "storage": {}, + "code": "0x7300000000000000000000000000000000000000003014608060405260043610620000735760003560e01c80632c6a56af1462000078578063634da63a14620000a257806378adc0d614620000ab578063881107d914620000e957806393522e3e146200012c578063c0619cc21462000145575b600080fd5b6200008f6200008936600462000567565b6200015c565b6040519081526020015b60405180910390f35b6200008f600a81565b818015620000b857600080fd5b50620000d0620000ca36600462000622565b62000205565b6040516001600160a01b03909116815260200162000099565b62000100620000fa366004620006e9565b62000265565b60408051825181526020808401516001600160a01b031690820152918101519082015260600162000099565b620001436200013d3660046200071c565b620003a6565b005b6200014362000156366004620007c8565b6200041a565b6040516304c68c7960e31b815260009083906001600160a01b0382169063263463c8906200018f908890600401620008bb565b602060405180830381865afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d39190620009d1565b91506001600160a01b038316620001fd576040516303f8a7d360e01b815260040160405180910390fd5b509392505050565b60006001600160a01b038416620002205762000220620009eb565b83838360405162000231906200052e565b6200023f9392919062000a01565b604051809103906000f0801580156200025c573d6000803e3d6000fd5b50949350505050565b6040805160608101825260008082526020820181905291810191909152336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e7919062000a6d565b6040818101519051633632b1fb60e11b8152600481019190915260248101859052600060448201529091506001600160a01b03831690636c6563f690606401602060405180830381865afa15801562000344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036a919062000ad5565b6001600160a01b031681602001516001600160a01b031614620003a057604051636659b9bb60e11b815260040160405180910390fd5b92915050565b6001600160a01b0382161580620003ce5750826001600160a01b0316826001600160a01b0316145b15620003ed5760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000415576040516303f8a7d360e01b815260040160405180910390fd5b505050565b82518251146200043d5760405163196e8a4160e31b815260040160405180910390fd5b600a82511115620004615760405163e4a4c1c760e01b815260040160405180910390fd5b8015620004ce5760005b8251811015620004c8578381815181106200048a576200048a62000afc565b6020026020010151600014620004b357604051634299323b60e11b815260040160405180910390fd5b80620004bf8162000b12565b9150506200046b565b50505050565b60005b8351811015620004c857838181518110620004f057620004f062000afc565b60200260200101516000036200051957604051634299323b60e11b815260040160405180910390fd5b80620005258162000b12565b915050620004d1565b610dcf8062000b3b83390190565b6001600160a01b03811681146200055257600080fd5b50565b803562000562816200053c565b919050565b6000806000606084860312156200057d57600080fd5b833567ffffffffffffffff8111156200059557600080fd5b84016101808187031215620005a957600080fd5b92506020840135620005bb816200053c565b91506040840135620005cd816200053c565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200061a576200061a620005d8565b604052919050565b6000806000606084860312156200063857600080fd5b833562000645816200053c565b925060208481013562000658816200053c565b9250604085013567ffffffffffffffff808211156200067657600080fd5b818701915087601f8301126200068b57600080fd5b813581811115620006a057620006a0620005d8565b620006b4601f8201601f19168501620005ee565b91508082528884828501011115620006cb57600080fd5b80848401858401376000848284010152508093505050509250925092565b60008060408385031215620006fd57600080fd5b82359150602083013562000711816200053c565b809150509250929050565b6000806000606084860312156200073257600080fd5b8335620005a9816200053c565b600082601f8301126200075157600080fd5b8135602067ffffffffffffffff821115620007705762000770620005d8565b8160051b62000781828201620005ee565b92835284810182019282810190878511156200079c57600080fd5b83870192505b84831015620007bd57823582529183019190830190620007a2565b979650505050505050565b600080600060608486031215620007de57600080fd5b833567ffffffffffffffff80821115620007f757600080fd5b62000805878388016200073f565b945060208601359150808211156200081c57600080fd5b506200082b868287016200073f565b92505060408401358015158114620005cd57600080fd5b6000808335601e198436030181126200085a57600080fd5b830160208101925035905067ffffffffffffffff8111156200087b57600080fd5b8036038213156200088b57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152813560208201526000620008d66020840162000555565b6001600160a01b0381166040840152506040830135606083015260608301356080830152620009086080840162000555565b6001600160a01b03811660a0840152506200092660a0840162000555565b6001600160a01b03811660c0840152506200094460c0840162000555565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250620009878185018562000842565b91506101806101608181870152620009a56101a08701858562000892565b9350620009b58188018862000842565b878603601f19018489015293509050620007bd84848362000892565b600060208284031215620009e457600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b600060018060a01b038086168352602081861681850152606060408501528451915081606085015260005b8281101562000a4a5785810182015185820160800152810162000a2c565b50506000608082850101526080601f19601f830116840101915050949350505050565b60006060828403121562000a8057600080fd5b6040516060810181811067ffffffffffffffff8211171562000aa65762000aa6620005d8565b60405282518152602083015162000abd816200053c565b60208201526040928301519281019290925250919050565b60006020828403121562000ae857600080fd5b815162000af5816200053c565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60006001820162000b3357634e487b7160e01b600052601160045260246000fd5b506001019056fe608060405260405162000dcf38038062000dcf833981016040819052620000269162000424565b828162000036828260006200004d565b50620000449050826200007f565b50505062000557565b6200005883620000f1565b600082511180620000665750805b156200007a5762000078838362000133565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c160008051602062000d88833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000ee8162000162565b50565b620000fc8162000200565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200015b838360405180606001604052806027815260200162000da86027913962000297565b9392505050565b6001600160a01b038116620001cd5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b8060008051602062000d888339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6200026f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001c4565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc620001df565b6060600080856001600160a01b031685604051620002b6919062000504565b600060405180830381855af49150503d8060008114620002f3576040519150601f19603f3d011682016040523d82523d6000602084013e620002f8565b606091505b5090925090506200030c8683838762000316565b9695505050505050565b606083156200038a57825160000362000382576001600160a01b0385163b620003825760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001c4565b508162000396565b6200039683836200039e565b949350505050565b815115620003af5781518083602001fd5b8060405162461bcd60e51b8152600401620001c4919062000522565b80516001600160a01b0381168114620003e357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200041b57818101518382015260200162000401565b50506000910152565b6000806000606084860312156200043a57600080fd5b6200044584620003cb565b92506200045560208501620003cb565b60408501519092506001600160401b03808211156200047357600080fd5b818601915086601f8301126200048857600080fd5b8151818111156200049d576200049d620003e8565b604051601f8201601f19908116603f01168101908382118183101715620004c857620004c8620003e8565b81604052828152896020848701011115620004e257600080fd5b620004f5836020830160208801620003fe565b80955050505050509250925092565b6000825162000518818460208701620003fe565b9190910192915050565b602081526000825180602084015262000543816040850160208701620003fe565b601f01601f19169190910160400192915050565b61082180620005676000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f7eab1ca665847bc4018294f96a153d69cce361a3d5f12cfd1bc2273590d44a364736f6c63430008140033", + "balance": "0x0" + }, + "0x455B9Bc4d78992D3c215AA37dEa16820d407b4c3": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c21ca915ccc921edec3de901a4d0348cf4bc5bff9797f582b0cf946ba041f74364736f6c63430008140033", + "balance": "0x0" + }, + "0xe1f32A7D3C6C23aA32B903E6518C5cEDa1233dE1": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122035fc1d40b735b2ee73e7108c8c67c328cd61e0193243acbff8377126b576539064736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051630532024960e01b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212209632508c2a715b76d0a2d3aa58ee92c804730127c9ce52ca1746b6dd53e3493564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xb1e89ee2bb78a419041fe24e740013159340b56d268f604f33f3c055e32347b5": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x13f577b9913c89bd350f4a404ebd8d505e1c9a69978cbcc8529fdd540bc949f3": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0xd38903d6274a6db84688a349e4b3b67ae5c236d486bf6a62bd09314bf30ba140": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0xbafc6b13b2f0c6eb23ba53cc40dafc5b57926d1acd46063721f26d168d8ac8e6": "0x0000000000000000000000001000777700000000000000000000000000000008", + "0xc278a37e264ab267ad37b6ee48041a93f8cea8fcfcaf9b7fd59d772e0ec551f1": "0x0000000000000000000000001000777700000000000000000000000000000009", + "0x72e9081aff0e8fea1bb15ead8a2c76d8049574549467dd79a558ba6534aacfed": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x03daec7c59de2c9cb8db9482af6aa07e46780a7bf4f7aa548e6a50a0b38b544d": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063bdd6bc361161007c578063bdd6bc36146102f3578063c7b9690814610306578063da69d3db14610320578063dac5df7814610333578063f2fde38b1461033c578063f535bd561461034f57600080fd5b8063715018a61461029b5780638da5cb5b146102a35780639ee512f2146102b4578063a7e022d1146102cd578063a86f9d9e146102e057600080fd5b80634e755573116100ff5780634e755573146101d6578063539b8ade14610218578063591aad8a146102435780635c82e9c2146102755780636c6563f61461028857600080fd5b80630599d2941461013c5780630652b57a1461016257806310da37381461017757806323ac71361461019e5780633ab76e9f146101b1575b600080fd5b61014f61014a36600461171c565b610369565b6040519081526020015b60405180910390f35b61017561017036600461174c565b6103b7565b005b61014f7f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b61014f6101ac36600461171c565b610430565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610159565b6101de6104aa565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610159565b60cd5461022b906001600160401b031681565b6040516001600160401b039091168152602001610159565b610256610251366004611769565b61050d565b6040805160ff9094168452602084019290925290820152606001610159565b61017561028336600461179f565b610748565b6101be6102963660046117f0565b610b04565b610175610b1b565b6065546001600160a01b03166101be565b6101be71777735367b36bc9b61c50022d9d0700db4ec81565b61014f6102db366004611839565b610b2f565b6101be6102ee36600461186c565b610b54565b61014f61030136600461171c565b610b6a565b60cd5461022b90600160401b90046001600160401b031681565b61017561032e36600461188f565b610bb5565b61014f60cb5481565b61017561034a36600461174c565b610e1e565b60cd5461022b90600160801b90046001600160401b031681565b6000806001600160401b038316156103815782610395565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020600101549392505050565b6103bf610e97565b6001600160a01b0381166103e657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600043826001600160401b03161061044a57506000919050565b43826001600160401b03161080156104765750610469610100436118eb565b826001600160401b031610155b1561048957506001600160401b03164090565b506001600160401b0316600090815260c9602052604090205490565b919050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561052a57508360ff16600214155b156105485760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff16600114610579577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561059b565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff166001146105d0577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186105f2565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610627577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2610649565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036106835761067c8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92506106f2565b6106cb7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106c68484600170014551231950b75fc4402da1732fc9bebe19610ef1565b610f40565b90925090506106ef8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561073f576107368370014551231950b75fc4402da1732fc9bebe196118eb565b92506001851894505b50509250925092565b600054610100900460ff16158080156107685750600054600160ff909116105b806107825750303b158015610782575060005460ff166001145b6107ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561080d576000805461ff0019166101001790555b600146111580610821575063ffffffff4610155b1561083f576040516306cffa2760e01b815260040160405180910390fd5b600143111561086157604051635a0f9e4160e11b815260040160405180910390fd5b61087160408301602084016118fe565b63ffffffff1615610a6057610889602083018361171c565b6001600160401b031615806108b457506108a9606083016040840161171c565b6001600160401b0316155b806108d557506108ca608083016060840161171c565b6001600160401b0316155b806108f657506108eb60a083016080840161171c565b6001600160401b0316155b1561091457604051639cc448b560e01b815260040160405180910390fd5b60008061095c61092a606086016040870161171c565b610937602087018761171c565b610947608088016060890161171c565b61095760a0890160808a0161171c565b610f5f565b91509150816001600160801b03166000148061098857506001600160401b036001600160801b03831610155b8061099a57506001600160801b038116155b156109b857604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b038416171790556109f660408501602086016118fe565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b199092169190911790556002610a2d606086016040870161171c565b610a37919061192f565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610a858361105e565b610a8e43611077565b5060cb554315610ab9576000610aa56001436118eb565b600081815260c96020526040902090409055505b8015610aff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610b1184848461110a565b90505b9392505050565b610b23610e97565b610b2d60006111be565b565b6000610b4c610b3c6104aa565b846001600160401b031684611210565b509392505050565b6000610b6146848461110a565b90505b92915050565b6000806001600160401b03831615610b825782610b96565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020549392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610be757604051636494e9f760e01b815260040160405180910390fd5b6000610bf46001436118eb565b90508040600080610c0484611077565b915091508160cb5414610c385760cb54604051636340d9fb60e11b81526004810191909152602481018390526044016107e1565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527e4ce985b8852a486571d0545799251fd671adcf33b7854a5f0f6a6a2431a555910160405180910390a2600080610cec6104aa565b9050806040015163ffffffff16600014610d505760cd54610d22908290610d1c906001600160401b0316426118eb565b89611210565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610d8357604051634083acad60e01b81526001600160401b038084166004830152481660248201526044016107e1565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b610e26610e97565b6001600160a01b038116610e8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e1565b610e94816111be565b50565b6065546001600160a01b03163314610b2d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e1565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610f3657600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f7b57610f7b611955565b6000610f8860028861192f565b9050610fa66001600160401b038816680755bf798b4a1bf1e461196b565b9250610fc5610fc084886001600160401b031684896112ad565b61136c565b91506000610fd5848484896112ad565b90506000610fef858585610fea8b6002611985565b6112ad565b9050600082611000836127106119b0565b61100a91906119c7565b9050806001600160401b0316876001600160401b03161461105157604051631530943760e11b81526001600160401b038089166004830152821660248201526044016107e1565b5050505094509492505050565b6110666113d9565b61106e611408565b610e9481611437565b6000806110826116e5565b60005b60ff811080156110985750806001018510155b156110ca576000198186030180408360ff830661010081106110bc576110bc6119db565b602002015250600101611085565b5046611fe0820152612000812092508340816110e760ff876119f1565b61010081106110f8576110f86119db565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190611a05565b90508115801561119657506001600160a01b038116155b15610b1457604051631467050360e21b815260048101859052602481018490526044016107e1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000856040015163ffffffff1685029050600061125f828663ffffffff1660cd60109054906101000a90046001600160401b03166001600160401b03160161148090919063ffffffff16565b90506112748282036001600160401b03611496565b9250505061129685602001516001600160401b031686600001518360006112ad565b9150816000036112a557600191505b935093915050565b60006001600160801b038516158015906112cf57506001600160801b03841615155b6112db576112db611955565b60006001600160401b038316156112f257826112f5565b60015b9050600061130c856001600160401b0316886114ab565b9050600061132c61131d8488611a22565b6001600160401b0316896114ab565b90506001600160801b0387166001600160401b03841661134c84846118eb565b61135691906119c7565b61136091906119c7565b98975050505050505050565b60006001600160801b038211156113d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016107e1565b5090565b600054610100900460ff166114005760405162461bcd60e51b81526004016107e190611a49565b610b2d6114fd565b600054610100900460ff1661142f5760405162461bcd60e51b81526004016107e190611a49565b610b2d61152a565b6001600160a01b03811661145e57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600081831161148f5781610b61565b5090919050565b60008183116114a55782610b61565b50919050565b6000806114c16001600160801b038416856119b0565b9050680755bf798b4a1bf1e481106114ec5760405163576ff4f160e01b815260040160405180910390fd5b6114f58161155a565b949350505050565b600054610100900460ff166115245760405162461bcd60e51b81526004016107e190611a49565b60018055565b600054610100900460ff166115515760405162461bcd60e51b81526004016107e190611a49565b610b2d336111be565b6000680248ce36a70cb26b3e19821361157557506000919050565b680755bf798b4a1bf1e5821261159e57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b03811681146104a557600080fd5b60006020828403121561172e57600080fd5b610b6182611705565b6001600160a01b0381168114610e9457600080fd5b60006020828403121561175e57600080fd5b8135610b1481611737565b6000806040838503121561177c57600080fd5b82359150602083013560ff8116811461179457600080fd5b809150509250929050565b60008082840360c08112156117b357600080fd5b83356117be81611737565b925060a0601f19820112156117d257600080fd5b506020830190509250929050565b803580151581146104a557600080fd5b60008060006060848603121561180557600080fd5b833592506020840135915061181c604085016117e0565b90509250925092565b803563ffffffff811681146104a557600080fd5b6000806040838503121561184c57600080fd5b61185583611705565b915061186360208401611825565b90509250929050565b6000806040838503121561187f57600080fd5b82359150611863602084016117e0565b600080600080608085870312156118a557600080fd5b84359350602085013592506118bc60408601611705565b91506118ca60608601611825565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b6457610b646118d5565b60006020828403121561191057600080fd5b610b6182611825565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061194957611949611919565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061194957611949611919565b6001600160401b038181168382160280821691908281146119a8576119a86118d5565b505092915050565b8082028115828204841417610b6457610b646118d5565b6000826119d6576119d6611919565b500490565b634e487b7160e01b600052603260045260246000fd5b600082611a0057611a00611919565b500690565b600060208284031215611a1757600080fd5b8151610b1481611737565b6001600160401b03818116838216019080821115611a4257611a426118d5565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212205f4efdbc77034498385a78f6fb0b8114f654cc25350f8d3ca6d3701f54f91fd464736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0x39d135ad4110ebf27f74d4b2e044581f2a2c91345cd1f81f6c0f3ab5e769f35f", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x000000000028b0aa000000019fe2e7a60000001532d76dedb5e5af7fbea79f5e", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000241ed2e8800000000000000000000000065001f60", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063620c23fb116100ab578063a86f9d9e1161006f578063a86f9d9e14610354578063ce70f39b14610374578063d0496d6a14610394578063ec9b312114610403578063f21be36f14610423578063f2fde38b1461044357600080fd5b8063620c23fb146102c15780636c6563f6146102e1578063715018a6146103015780638da5cb5b14610316578063a4444efd1461033457600080fd5b80634f5f9772116100f25780634f5f9772146101f45780635075a9d414610234578063540be6a3146102615780635d0bd98614610281578063606b5b74146102a157600080fd5b80630652b57a1461013a57806319ab453c1461015c578063263463c81461017c5780633ab76e9f146101af5780634c1888bc146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004612a0c565b610463565b005b34801561016857600080fd5b5061015a610177366004612a0c565b6104dc565b34801561018857600080fd5b5061019c610197366004612a42565b6105f4565b6040519081526020015b60405180910390f35b3480156101bb57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020016101a6565b61019c6101ef366004612a42565b61060d565b34801561020057600080fd5b5061022461020f366004612a76565b600090815260cd602052604090205460ff1690565b60405190151581526020016101a6565b34801561024057600080fd5b5061025461024f366004612a76565b61063b565b6040516101a69190612ac7565b34801561026d57600080fd5b5061022461027c366004612a76565b610646565b34801561028d57600080fd5b5061022461029c366004612a76565b610652565b3480156102ad57600080fd5b5061019c6102bc366004612a76565b610665565b3480156102cd57600080fd5b5061015a6102dc366004612b1d565b610670565b3480156102ed57600080fd5b506101c96102fc366004612b93565b610696565b34801561030d57600080fd5b5061015a6106ad565b34801561032257600080fd5b506065546001600160a01b03166101c9565b34801561034057600080fd5b5061022461034f366004612bcc565b6106c1565b34801561036057600080fd5b506101c961036f366004612c1e565b6106d9565b34801561038057600080fd5b5061022461038f366004612bcc565b6106e6565b3480156103a057600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016101a6565b34801561040f57600080fd5b5061015a61041e366004612b1d565b6106f5565b34801561042f57600080fd5b5061015a61043e366004612c4e565b61070d565b34801561044f57600080fd5b5061015a61045e366004612a0c565b61072b565b61046b6107a4565b6001600160a01b03811661049257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156104fc5750600054600160ff909116105b806105165750303b158015610516575060005460ff166001145b61057e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105a1576000805461ff0019166101001790555b6105aa826107fe565b80156105f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060761060283612da4565b610817565b92915050565b6000610617610847565b61062b60c93061062685612da4565b6108a0565b905061063660018055565b919050565b600061060782610b71565b60006106073083610b9c565b600061065e3083610c7d565b5092915050565b600061060782610d06565b610678610847565b61068860c9308585856001610d41565b61069160018055565b505050565b60006106a3848484610fbe565b90505b9392505050565b6106b56107a4565b6106bf6000611072565b565b60006106d030868686866110c4565b95945050505050565b60006106a6468484610fbe565b60006106d03086868686611227565b6106fd610847565b61068860c93085858560016114ac565b610715610847565b61072260c930848461197f565b6105f060018055565b6107336107a4565b6001600160a01b0381166107985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610575565b6107a181611072565b50565b6065546001600160a01b031633146106bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610575565b610806611b55565b61080e611b84565b6107a181611bb3565b60008160405160200161082a9190612eea565b604051602081830303815290604052805190602001209050919050565b6002600154036108995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610575565b6002600155565b60808101516000906001600160a01b03166108ce576040516398fc91f160e01b815260040160405180910390fd5b6000806108df858560600151610c7d565b915091508115806108f35750468460600151145b156109115760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b031615806109405750806001600160a01b03168460a001516001600160a01b0316145b1561095e5760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461010001518560e001516109759190612fed565b905034811461099757604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906109c790600190600401613000565b602060405180830381865afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a08919061301f565b9050610a1d6001600160a01b03821683611bfc565b8754886000610a2b8361303c565b909155508652336020870152466040870152610a4686610817565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610a7690600090600401613055565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab7919061301f565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610ae491815260200190565b6020604051808303816000875af1158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b279190613077565b50847f238646a410b383b664b8d2fe57d2895c1ecd3464a3159cae73a93a9f21a4335587604051610b589190612eea565b60405180910390a2505050509392505050565b60018055565b600080610b7d83610d06565b8054909150806003811115610b9457610b94612a8f565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e90610bcb908490600401613055565b602060405180830381865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c919061301f565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610c59573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190613090565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610caf9291906130ad565b602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061301f565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b8152508260405160200161082a9291906130cc565b6000610d4f61060286612da4565b600081815260048901602052604090205490915060ff1615610d845760405163bd7e9a9d60e01b815260040160405180910390fd5b818015610d9f5750610d9d868287606001358787611227565b155b15610dbd5760405163498b0b1d60e01b815260040160405180910390fd5b600081815260048089016020526040808320805460ff191660019081179091559051635437cecf60e11b81526001600160a01b038a169263a86f9d9e92610e0692909101613000565b602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061301f565b90506001600160a01b03811615610ebc5760405163ba0bbd9560e01b815230600482015260e087013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015610ea357600080fd5b505af1158015610eb7573d6000803e3d6000fd5b505050505b610ee6631953216560e11b610ed76040890160208a01612a0c565b6001600160a01b031690611cb2565b15610f6257610efb6040870160208801612a0c565b6001600160a01b03166332a642ca8760e00135886040518363ffffffff1660e01b8152600401610f2b919061315c565b6000604051808303818588803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b5050505050610f89565b610f8960e0870135610f7a60a0890160808a01612a0c565b6001600160a01b031690611bfc565b60405182907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa290600090a25050505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061301f565b90508115801561104a57506001600160a01b038116155b156106a657604051631467050360e21b81526004810185905260248101849052604401610575565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b81526004016110f69291906130ad565b602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611137919061301f565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e9061116790600090600401613055565b602060405180830381865afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061301f565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016111db959493929190613262565b602060405180830381865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c9190613090565b979650505050505050565b60004684036112495760405163e822b48d60e01b815260040160405180910390fd5b600085900361126b5760405163a6407c9360e01b815260040160405180910390fd5b60006112798385018561332b565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f5919061301f565b82516101000151604051635eeb5e1b60e11b81526001600160401b0390911660048201526001600160a01b03919091169063bdd6bc3690602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190613077565b90508015806113895750815161138590611d2b565b8114155b15611399576000925050506106d0565b815160600151604051633632b1fb60e11b8152738a9f79C3dc6158E58484ceEd46d93c4B0bAD082491636892abdc916001600160a01b038c1690636c6563f6906113ea908c906000906004016130ad565b602060405180830381865afa158015611407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142b919061301f565b6114348b610d06565b602087015160405160e086901b6001600160e01b031916815261145f949392916003916004016134cf565b602060405180830381865af415801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190613090565b98975050505050505050565b6101208401351580156114e057506114ca60a0850160808601612a0c565b6001600160a01b0316336001600160a01b031614155b156114fe5760405163398b635960e21b815260040160405180910390fd5b468460600135146115225760405163e822b48d60e01b815260040160405180910390fd5b600061153061060286612da4565b9050600061153d82610b71565b600381111561154e5761154e612a8f565b1461156c57604051630cfafbf960e01b815260040160405180910390fd5b6000866001600160a01b0316636c6563f6876040013560006040518363ffffffff1660e01b81526004016115a19291906130ad565b602060405180830381865afa1580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e2919061301f565b90508280156116d45750604051635437cecf60e11b81526001600160a01b0388169063a86f9d9e9061161990600090600401613055565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a919061301f565b6001600160a01b0316635221f6138760400135838589896040518663ffffffff1660e01b8152600401611691959493929190613262565b602060405180830381865afa1580156116ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d29190613090565b155b156116f2576040516314504c7360e31b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0389169063a86f9d9e9061172290600190600401613000565b602060405180830381865afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611763919061301f565b90506001600160a01b038116156117f6576001600160a01b03811663ba0bbd95306117976101008b013560e08c0135612fed565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050505b6000803061180a60c08b0160a08c01612a0c565b6001600160a01b031614806118375750600061182c60c08b0160a08c01612a0c565b6001600160a01b0316145b1561184b57506002905060e08801356118c1565b600061185d60a08b0160808c01612a0c565b6001600160a01b0316336001600160a01b03161461188057896101200135611882565b5a5b905060006118928d8c8985611d50565b905080156118a357600293506118be565b600193506118be6001600160a01b03861660e08d0135611bfc565b50505b6118cb8583611ea7565b6000806118de60e08c0160c08d01612a0c565b6001600160a01b031614611901576118fc60e08b0160c08c01612a0c565b611911565b61191160a08b0160808c01612a0c565b90506001600160a01b038116330361194f576000611934836101008d0135612fed565b90506119496001600160a01b03831682611bfc565b50611971565b61195e336101008c0135611bfc565b6119716001600160a01b03821683611bfc565b505050505050505050505050565b610120820135158061198e5750805b156119d4576119a360a0830160808401612a0c565b6001600160a01b0316336001600160a01b0316146119d45760405163d7f4fc9f60e01b815260040160405180910390fd5b60006119e261060284612da4565b905060016119ef82610b71565b6003811115611a0057611a00612a8f565b14611a1e57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e90611a4e90600190600401613000565b602060405180830381865afa158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f919061301f565b90506001600160a01b03811615611b045760405163ba0bbd9560e01b815230600482015260e085013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015611aeb57600080fd5b505af1158015611aff573d6000803e3d6000fd5b505050505b6000611b128786855a611d50565b90508015611b2a57611b25836002611ea7565b611b4c565b611b35836003611ea7565b611b4c6001600160a01b03831660e0870135611bfc565b50505050505050565b600054610100900460ff16611b7c5760405162461bcd60e51b815260040161057590613502565b6106bf611f20565b600054610100900460ff16611bab5760405162461bcd60e51b815260040161057590613502565b6106bf611f47565b6001600160a01b038116611bda57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611c1057506001600160a01b038216155b15611c19575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c66576040519150601f19603f3d011682016040523d82523d6000602084013e611c6b565b606091505b50509050806106915760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610575565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611d1f575060408051601f3d908101601f19168201909252611d1c91810190613090565b60015b15610607579392505050565b600080611d41611d3c846000611f77565b612398565b80516020909101209392505050565b600081600003611d7357604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611d979190612a0c565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611de960c0850160a08601612a0c565b6001600160a01b03168260e0860135611e0661014088018861354d565b604051611e14929190613593565b600060405180830381858888f193505050503d8060008114611e52576040519150601f19603f3d011682016040523d82523d6000602084013e611e57565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b806003811115611eb957611eb9612a8f565b611ec283610b71565b6003811115611ed357611ed3612a8f565b146105f057611ee282826123dc565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051611f149291906135a3565b60405180910390a25050565b600054610100900460ff16610b6b5760405162461bcd60e51b815260040161057590613502565b600054610100900460ff16611f6e5760405162461bcd60e51b815260040161057590613502565b6106bf33611072565b61020082015160609015611fe257611f90826011612fed565b6001600160401b03811115611fa757611fa7612c94565b604051908082528060200260200182016040528015611fda57816020015b6060815260200190600190039081611fc55790505b509050612051565b6101e083015115611ff857611f90826010612fed565b61200382600f612fed565b6001600160401b0381111561201a5761201a612c94565b60405190808252806020026020018201604052801561204d57816020015b60608152602001906001900390816120385790505b5090505b825161205c90612405565b8160008151811061206f5761206f6135c9565b60200260200101819052506120878360200151612405565b8160018151811061209a5761209a6135c9565b60200260200101819052506120b28360400151612418565b816002815181106120c5576120c56135c9565b60200260200101819052506120dd8360600151612405565b816003815181106120f0576120f06135c9565b60200260200101819052506121088360800151612405565b8160048151811061211b5761211b6135c9565b60200260200101819052506121338360a00151612405565b81600581518110612146576121466135c9565b602002602001018190525061217d8360c0015160405160200161216991906135df565b604051602081830303815290604052612441565b81600681518110612190576121906135c9565b60200260200101819052506121a88360e001516124b0565b816007815181106121bb576121bb6135c9565b60200260200101819052506121dd8361010001516001600160801b03166124b0565b816008815181106121f0576121f06135c9565b60200260200101819052506122098361012001516124be565b8160098151811061221c5761221c6135c9565b60200260200101819052506122358361014001516124be565b81600a81518110612248576122486135c9565b60200260200101819052506122618361016001516124be565b81600b81518110612274576122746135c9565b602002602001018190525061228d836101800151612441565b81600c815181106122a0576122a06135c9565b60200260200101819052506122b9836101a00151612405565b81600d815181106122cc576122cc6135c9565b6020026020010181905250612303836101c00151604051602001612169919060c09190911b6001600160c01b031916815260080190565b81600e81518110612316576123166135c9565b6020026020010181905250826101e0015160001461235b5761233c836101e001516124b0565b81600f8151811061234f5761234f6135c9565b60200260200101819052505b6102008301511561060757612374836102000151612405565b81601081518110612387576123876135c9565b602002602001018190525092915050565b606060006123a5836124d5565b90506123b3815160c061260a565b816040516020016123c5929190613614565b604051602081830303815290604052915050919050565b60006123e783610d06565b905060008260038111156123fd576123fd612a8f565b909155505050565b6060610607612413836127b3565b612441565b604051606082811b6bffffffffffffffffffffffff191660208301529061060790603401612169565b6060808251600114801561246f5750608083600081518110612465576124656135c9565b016020015160f81c105b1561247b575081610607565b6124878351608061260a565b83604051602001612499929190613614565b604051602081830303815290604052905092915050565b606061060761241383612865565b6060610607612413836001600160401b0316612865565b606081516000036124f657604080516000808252602082019092529061065e565b6000805b835181101561253b57838181518110612515576125156135c9565b602002602001015151826125299190612fed565b91506125348161303c565b90506124fa565b6000826001600160401b0381111561255557612555612c94565b6040519080825280601f01601f19166020018201604052801561257f576020820181803683370190505b50600092509050602081015b85518310156126015760008684815181106125a8576125a86135c9565b6020026020010151905060006020820190506125c68382845161298f565b8785815181106125d8576125d86135c9565b602002602001015151836125ec9190612fed565b92505050826125fa9061303c565b925061258b565b50949350505050565b6060806038841015612671576040805160018082528183019092529060208201818036833701905050905061263f8385613643565b60f81b81600081518110612655576126556135c9565b60200101906001600160f81b031916908160001a9053506106a6565b600060015b6126808187613672565b156126a35761268e8261303c565b915061269c61010082613686565b9050612676565b6126ae826001612fed565b6001600160401b038111156126c5576126c5612c94565b6040519080825280601f01601f1916602001820160405280156126ef576020820181803683370190505b5092506126fc8583613643565b612707906037613643565b60f81b8360008151811061271d5761271d6135c9565b60200101906001600160f81b031916908160001a905350600190505b8181116127a95761010061274d828461369d565b61275990610100613794565b6127639088613672565b61276d91906137a0565b60f81b838281518110612782576127826135c9565b60200101906001600160f81b031916908160001a9053506127a28161303c565b9050612739565b5050905092915050565b60606000826040516020016127ca91815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561260157838361280f8161303c565b945081518110612821576128216135c9565b602001015160f81c60f81b82828151811061283e5761283e6135c9565b60200101906001600160f81b031916908160001a90535061285e8161303c565b90506127fb565b606060008260405160200161287c91815260200190565b604051602081830303815290604052905060005b60208110156128d1578181815181106128ab576128ab6135c9565b01602001516001600160f81b0319166000036128d1576128ca8161303c565b9050612890565b60006128de82602061369d565b6001600160401b038111156128f5576128f5612c94565b6040519080825280601f01601f19166020018201604052801561291f576020820181803683370190505b50905060005b81518110156126015783836129398161303c565b94508151811061294b5761294b6135c9565b602001015160f81c60f81b828281518110612968576129686135c9565b60200101906001600160f81b031916908160001a9053506129888161303c565b9050612925565b8282825b602081106129cb57815183526129aa602084612fed565b92506129b7602083612fed565b91506129c460208261369d565b9050612993565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b03811681146107a157600080fd5b8035610636816129ec565b600060208284031215612a1e57600080fd5b81356106a6816129ec565b60006101808284031215612a3c57600080fd5b50919050565b600060208284031215612a5457600080fd5b81356001600160401b03811115612a6a57600080fd5b610b9484828501612a29565b600060208284031215612a8857600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612ac357634e487b7160e01b600052602160045260246000fd5b9052565b602081016106078284612aa5565b60008083601f840112612ae757600080fd5b5081356001600160401b03811115612afe57600080fd5b602083019150836020828501011115612b1657600080fd5b9250929050565b600080600060408486031215612b3257600080fd5b83356001600160401b0380821115612b4957600080fd5b612b5587838801612a29565b94506020860135915080821115612b6b57600080fd5b50612b7886828701612ad5565b9497909650939450505050565b80151581146107a157600080fd5b600080600060608486031215612ba857600080fd5b83359250602084013591506040840135612bc181612b85565b809150509250925092565b60008060008060608587031215612be257600080fd5b843593506020850135925060408501356001600160401b03811115612c0657600080fd5b612c1287828801612ad5565b95989497509550505050565b60008060408385031215612c3157600080fd5b823591506020830135612c4381612b85565b809150509250929050565b60008060408385031215612c6157600080fd5b82356001600160401b03811115612c7757600080fd5b612c8385828601612a29565b9250506020830135612c4381612b85565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715612ccd57612ccd612c94565b60405290565b604080519081016001600160401b0381118282101715612ccd57612ccd612c94565b60405161022081016001600160401b0381118282101715612ccd57612ccd612c94565b600082601f830112612d2957600080fd5b81356001600160401b0380821115612d4357612d43612c94565b604051601f8301601f19908116603f01168101908282118183101715612d6b57612d6b612c94565b81604052838152866020858801011115612d8457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101808236031215612db757600080fd5b612dbf612caa565b82358152612dcf60208401612a01565b60208201526040830135604082015260608301356060820152612df460808401612a01565b6080820152612e0560a08401612a01565b60a0820152612e1660c08401612a01565b60c082015260e0838101359082015261010080840135908201526101208084013590820152610140808401356001600160401b0380821115612e5757600080fd5b612e6336838801612d18565b83850152610160925082860135915080821115612e7f57600080fd5b50612e8c36828701612d18565b918301919091525092915050565b60005b83811015612eb5578181015183820152602001612e9d565b50506000910152565b60008151808452612ed6816020860160208601612e9a565b601f01601f19169290920160200192915050565b602081528151602082015260006020830151612f1160408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612f4060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052612fb16101a0860184612ebe565b90860151858203601f190183870152909250612fcd8382612ebe565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612fd7565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006020828403121561303157600080fd5b81516106a6816129ec565b60006001820161304e5761304e612fd7565b5060010190565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561308957600080fd5b5051919050565b6000602082840312156130a257600080fd5b81516106a681612b85565b9182526562726964676560d01b60208301521515604082015260600190565b600083516130de818460208801612e9a565b9190910191825250602001919050565b6000808335601e1984360301811261310557600080fd5b83016020810192503590506001600160401b0381111561312457600080fd5b803603821315612b1657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061317560208401612a01565b6001600160a01b03811660408401525060408301356060830152606083013560808301526131a560808401612a01565b6001600160a01b03811660a0840152506131c160a08401612a01565b6001600160a01b03811660c0840152506131dd60c08401612a01565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061321e818501856130ee565b9150610180610160818187015261323a6101a087018585613133565b9350613248818801886130ee565b878603601f1901848901529350905061121c848483613133565b85815260018060a01b038516602082015283604082015260806060820152600061121c608083018486613133565b600082601f8301126132a157600080fd5b6040516101008082018281106001600160401b03821117156132c5576132c5612c94565b604052830181858211156132d857600080fd5b845b828110156132f25780358252602091820191016132da565b509195945050505050565b80356001600160801b038116811461063657600080fd5b80356001600160401b038116811461063657600080fd5b60006020828403121561333d57600080fd5b81356001600160401b038082111561335457600080fd5b908301906040828603121561336857600080fd5b613370612cd3565b82358281111561337f57600080fd5b8301610300818803121561339257600080fd5b61339a612cf5565b81358152602082013560208201526133b460408301612a01565b6040820152606082013560608201526080820135608082015260a082013560a08201526133e48860c08401613290565b60c08201526101c08083013560e08301526101e06134038185016132fd565b610100840152610200613417818601613314565b61012085015261342a6102208601613314565b61014085015261343d6102408601613314565b6101608501526102608501358781111561345657600080fd5b6134628c828801612d18565b610180860152506102808501356101a08501526134826102a08601613314565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134b457600080fd5b6134c087828601612d18565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061121c60a0830184612ebe565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261356457600080fd5b8301803591506001600160401b0382111561357e57600080fd5b602001915036819003821315612b1657600080fd5b8183823760009101908152919050565b604081016135b18285612aa5565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b60088110156136045781518352602092830192909101906001016135e5565b5050506101008201905092915050565b60008351613626818460208801612e9a565b83519083019061363a818360208801612e9a565b01949350505050565b60ff818116838216019081111561060757610607612fd7565b634e487b7160e01b600052601260045260246000fd5b6000826136815761368161365c565b500490565b808202811582820484141761060757610607612fd7565b8181038181111561060757610607612fd7565b600181815b808511156136eb5781600019048211156136d1576136d1612fd7565b808516156136de57918102915b93841c93908002906136b5565b509250929050565b60008261370257506001610607565b8161370f57506000610607565b8160018114613725576002811461372f5761374b565b6001915050610607565b60ff84111561374057613740612fd7565b50506001821b610607565b5060208310610133831016604e8410600b841016171561376e575081810a610607565b61377883836136b0565b806000190482111561378c5761378c612fd7565b029392505050565b60006106a683836136f3565b6000826137af576137af61365c565b50069056fea26469706673582212204997777a1031b83fdf2e825630d2f95588a7e236b52b64399419b4df680ff6ee64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedERC20Vault", + "storage": {}, + "code": "0x608060405260043610620000fb5760003560e01c8063715018a61162000095578063c287e5781162000060578063c287e57814620002e0578063cb03d23c1462000314578063e2dc9033146200032b578063f2fde38b146200034257600080fd5b8063715018a6146200024b5780638da5cb5b14620002635780639aa8605c1462000283578063a86f9d9e14620002bb57600080fd5b806332a642ca11620000d657806332a642ca14620001965780633ab76e9f14620001ad57806367090ccf14620001e15780636c6563f6146200022657600080fd5b806301ffc9a714620001005780630652b57a146200014a57806319ab453c1462000171575b600080fd5b3480156200010d57600080fd5b50620001356200011f36600462002156565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200015757600080fd5b506200016f62000169366004620021a5565b62000367565b005b3480156200017e57600080fd5b506200016f62000190366004620021a5565b620003e3565b6200016f620001a7366004620021c5565b62000503565b348015620001ba57600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000141565b348015620001ee57600080fd5b50620001c86200020036600462002204565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200023357600080fd5b50620001c86200024536600462002246565b620007b5565b3480156200025857600080fd5b506200016f620007ce565b3480156200027057600080fd5b506065546001600160a01b0316620001c8565b3480156200029057600080fd5b50620002a8620002a2366004620021a5565b620007e6565b60405162000141959493929190620022d6565b348015620002c857600080fd5b50620001c8620002da3660046200232b565b62000947565b348015620002ed57600080fd5b5062000135620002ff366004620021a5565b60c96020526000908152604090205460ff1681565b6200016f6200032536600462002353565b6200095f565b6200016f6200033c366004620023c9565b62000c0f565b3480156200034f57600080fd5b506200016f62000361366004620021a5565b62000fb4565b6200037162001030565b6001600160a01b0381166200039957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004045750600054600160ff909116105b80620004205750303b15801562000420575060005460ff166001145b620004895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620004ad576000805461ff0019166101001790555b620004b8826200108c565b8015620004ff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200050d620010ab565b6562726964676560d01b6200052481600162000947565b6001600160a01b0316336001600160a01b0316146200055657604051630d85cccf60e11b815260040160405180910390fd5b60006200056e6562726964676560d01b600062000947565b90506000816001600160a01b031663263463c8856040518263ffffffff1660e01b8152600401620005a0919062002481565b602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620025a2565b9050600080620005f9610140870187620025bc565b6200060991600490829062002606565b8101906200061891906200273f565b919450909250506001600160a01b038316905062000649576040516303f8a7d360e01b815260040160405180910390fd5b801562000739576001600160a01b038216600090815260c9602052604090205460ff1680620006a357506200068e6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316826001600160a01b0316145b156200071157604051632770a7eb60e21b8152306004820152602481018290526001600160a01b03831690639dc29fac90604401600060405180830381600087803b158015620006f257600080fd5b505af115801562000707573d6000803e3d6000fd5b5050505062000739565b620007396200072760a0880160808901620021a5565b6001600160a01b038416908362001106565b6200074b60a0870160808801620021a5565b6001600160a01b0316837f75c5fedbd5fff6123ad9b70827e9742ea1eee996583d6e14249f1429fc4fd99384846040516200079b9291906001600160a01b03929092168252602082015260400190565b60405180910390a35050505050620007b260018055565b50565b6000620007c484848462001165565b90505b9392505050565b620007d862001030565b620007e460006200121f565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff169290919062000828906200282d565b80601f016020809104026020016040519081016040528092919081815260200182805462000856906200282d565b8015620008a75780601f106200087b57610100808354040283529160200191620008a7565b820191906000526020600020905b8154815290600101906020018083116200088957829003601f168201915b505050505090806003018054620008be906200282d565b80601f0160208091040260200160405190810160405280929190818152602001828054620008ec906200282d565b80156200093d5780601f1062000911576101008083540402835291602001916200093d565b820191906000526020600020905b8154815290600101906020018083116200091f57829003601f168201915b5050505050905085565b60006200095646848462001165565b90505b92915050565b62000969620010ab565b6562726964676560d01b6200098081600162000947565b6001600160a01b0316336001600160a01b031614620009b257604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526a195c98cc8c17dd985d5b1d60aa1b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af415801562000a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3f919062002869565b905060004687350362000b1a5762000a5e6040880160208901620021a5565b905062000a7b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316816001600160a01b03160362000afe576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801562000adf57600080fd5b505af115801562000af4573d6000803e3d6000fd5b5050505062000b8e565b62000b146001600160a01b038216868662001106565b62000b8e565b62000b258762001271565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801562000b7457600080fd5b505af115801562000b89573d6000803e3d6000fd5b505050505b62000ba36001600160a01b03861634620012d0565b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907f883b72735ca0ee2cdd2a462a393658b1a0b36ebd8756e4c22b7509a92ff86a029060600160405180910390a450505062000c0960018055565b50505050565b62000c19620010ab565b80356a195c98cc8c17dd985d5b1d60aa1b62000c3c6040840160208501620021a5565b62000c4e6060850160408601620021a5565b6001600160a01b038216158062000c83575062000c6e84846000620007b5565b6001600160a01b0316826001600160a01b0316145b1562000ca25760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000cca576040516303f8a7d360e01b815260040160405180910390fd5b846060013560000362000cf057604051634299323b60e11b815260040160405180910390fd5b600062000d7b6040518061018001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b608081015162000db49062000d9760608a0160408b01620021a5565b62000da960408b0160208c01620021a5565b8a606001356200138c565b61014083019190915287356060830181905233608084015290925062000deb906a195c98cc8c17dd985d5b1d60aa1b6000620007b5565b6001600160a01b031660a080830191909152608088013561012083015262000e179088013534620028d1565b60e08083019190915260a088013561010083015262000e3c90880160c08901620021a5565b6001600160a01b031660c082015262000e5960e0880188620025bc565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000eac91506562726964676560d01b90508262000947565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000eda9190620028f3565b60206040518083038185885af115801562000ef9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000f209190620025a2565b905062000f346040890160208a01620021a5565b60808301516001600160a01b039182169116827f91462591aed3d13dcadac8ed73fdc175ec6e79b798ca205822e7ec33dc019e888b3562000f7c60608e0160408f01620021a5565b604080519283526001600160a01b039091166020830152810188905260600160405180910390a450505050505050620007b260018055565b62000fbe62001030565b6001600160a01b038116620010255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000480565b620007b2816200121f565b6065546001600160a01b03163314620007e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000480565b62001096620019db565b620010a062001a0f565b620007b28162001a43565b600260015403620010ff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000480565b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526200115a90849062001a8d565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620011b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011dd9190620029e6565b905081158015620011f557506001600160a01b038116155b15620007c757604051631467050360e21b8152600481018590526024810184905260440162000480565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8035600090815260cb602090815260408083209183916200129891908601908601620021a5565b6001600160a01b03908116825260208201929092526040016000205416905080620012cb57620012c88262001b66565b90505b919050565b801580620012e557506001600160a01b038216155b15620012ef575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200133e576040519150601f19603f3d011682016040523d82523d6000602084013e62001343565b606091505b50509050806200115a5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000480565b60606000620013cf6040518060a001604052806000815260200160006001600160a01b03168152602001600060ff16815260200160608152602001606081525090565b6001600160a01b038616600090815260c9602052604090205460ff161562001603576001600160a01b03868116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff169181019190915260028201805491929160608401919062001455906200282d565b80601f016020809104026020016040519081016040528092919081815260200182805462001483906200282d565b8015620014d45780601f10620014a857610100808354040283529160200191620014d4565b820191906000526020600020905b815481529060010190602001808311620014b657829003601f168201915b50505050508152602001600382018054620014ef906200282d565b80601f01602080910402602001604051908101604052809291908181526020018280546200151d906200282d565b80156200156e5780601f1062001542576101008083540402835291602001916200156e565b820191906000526020600020905b8154815290600101906020018083116200155057829003601f168201915b5050509190925250505060208101519091506001600160a01b031662001598576200159862002a06565b604051632770a7eb60e21b8152336004820152602481018590526001600160a01b03871690639dc29fac90604401600060405180830381600087803b158015620015e157600080fd5b505af1158015620015f6573d6000803e3d6000fd5b505050508391506200197a565b60008690506040518060a00160405280468152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001667573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200168d919062002a1c565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620016d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620016fe919081019062002a3c565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001742573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200176c919081019062002a3c565b905291506200178b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316876001600160a01b0316036200180f57604051632770a7eb60e21b8152336004820152602481018690526001600160a01b03881690639dc29fac90604401600060405180830381600087803b158015620017ed57600080fd5b505af115801562001802573d6000803e3d6000fd5b5050505084925062001978565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562001857573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187d9190620025a2565b6040516323b872dd60e01b8152336004820152306024820152604481018890529091506001600160a01b038316906323b872dd906064016020604051808303816000875af1158015620018d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018fa919062002abc565b506040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801562001942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019689190620025a2565b620019749190620028d1565b9350505b505b6040516332c0f48f60e21b906200199c9083908a908990879060240162002adc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529791965090945050505050565b600054610100900460ff1662001a055760405162461bcd60e51b8152600401620004809062002b79565b620007e462001e42565b600054610100900460ff1662001a395760405162461bcd60e51b8152600401620004809062002b79565b620007e462001e6c565b6001600160a01b03811662001a6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600062001ae4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662001ea19092919063ffffffff16565b8051909150156200115a578080602001905181019062001b05919062002abc565b6200115a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000480565b60008062001bc360008460405160200162001b82919062002bc4565b604051602081830303815290604052805190602001206040518060200162001baa9062002148565b601f1982820381018352601f9091011660405262001eb2565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001bf36065546001600160a01b031690565b609754636c0db62b60e01b906001600160a01b031662001c1a60408a0160208b01620021a5565b893562001c2e60608c0160408d0162002c5c565b62001c3d60608d018d620025bc565b62001c4c60808f018f620025bc565b60405160200162001c6598979695949392919062002c7c565b60408051601f198184030181529082905262001c85929160200162002cdf565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cb49392919062002d12565b602060405180830381865af415801562001cd2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf89190620029e6565b6001600160a01b038116600090815260c960209081526040808320805460ff1916600117905560ca9091529020909250839062001d36828262002e60565b50508235600090815260cb6020908152604080832085939092909162001d6291908801908801620021a5565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031683602001602081019062001dc59190620021a5565b6001600160a01b031684357fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907962001e006060880188620025bc565b62001e0f60808a018a620025bc565b62001e2160608c0160408d0162002c5c565b60405162001e3495949392919062002ef3565b60405180910390a450919050565b600054610100900460ff166200115f5760405162461bcd60e51b8152600401620004809062002b79565b600054610100900460ff1662001e965760405162461bcd60e51b8152600401620004809062002b79565b620007e4336200121f565b6060620007c4848460008562001fbc565b60008347101562001f065760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000480565b815160000362001f595760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000480565b8282516020840186f590506001600160a01b038116620007c75760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000480565b6060824710156200201f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000480565b600080866001600160a01b031685876040516200203d919062002f34565b60006040518083038185875af1925050503d80600081146200207c576040519150601f19603f3d011682016040523d82523d6000602084013e62002081565b606091505b50915091506200209487838387620020a1565b925050505b949350505050565b60608315620021155782516000036200210d576001600160a01b0385163b6200210d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000480565b508162002099565b6200209983838151156200212c5781518083602001fd5b8060405162461bcd60e51b815260040162000480919062002f52565b6119788062002f6883390190565b6000602082840312156200216957600080fd5b81356001600160e01b031981168114620007c757600080fd5b6001600160a01b0381168114620007b257600080fd5b8035620012cb8162002182565b600060208284031215620021b857600080fd5b8135620007c78162002182565b600060208284031215620021d857600080fd5b813567ffffffffffffffff811115620021f057600080fd5b82016101808185031215620007c757600080fd5b600080604083850312156200221857600080fd5b8235915060208301356200222c8162002182565b809150509250929050565b8015158114620007b257600080fd5b6000806000606084860312156200225c57600080fd5b83359250602084013591506040840135620022778162002237565b809150509250925092565b60005b838110156200229f57818101518382015260200162002285565b50506000910152565b60008151808452620022c281602086016020860162002282565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906200230b90830185620022a8565b82810360808401526200231f8185620022a8565b98975050505050505050565b600080604083850312156200233f57600080fd5b8235915060208301356200222c8162002237565b600080600080608085870312156200236a57600080fd5b843567ffffffffffffffff8111156200238257600080fd5b850160a081880312156200239557600080fd5b93506020850135620023a78162002182565b92506040850135620023b98162002182565b9396929550929360600135925050565b600060208284031215620023dc57600080fd5b813567ffffffffffffffff811115620023f457600080fd5b82016101008185031215620007c757600080fd5b6000808335601e198436030181126200242057600080fd5b830160208101925035905067ffffffffffffffff8111156200244157600080fd5b8036038213156200245157600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006200249c6020840162002198565b6001600160a01b0381166040840152506040830135606083015260608301356080830152620024ce6080840162002198565b6001600160a01b03811660a084015250620024ec60a0840162002198565b6001600160a01b03811660c0840152506200250a60c0840162002198565b6001600160a01b03811660e08401525061010060e084013581840152610120818501358185015261014091508085013582850152506200254d8185018562002408565b915061018061016081818701526200256b6101a08701858562002458565b93506200257b8188018862002408565b878603601f190184890152935090506200259784848362002458565b979650505050505050565b600060208284031215620025b557600080fd5b5051919050565b6000808335601e19843603018112620025d457600080fd5b83018035915067ffffffffffffffff821115620025f057600080fd5b6020019150368190038213156200245157600080fd5b600080858511156200261757600080fd5b838611156200262557600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156200266e576200266e62002632565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715620026a057620026a062002632565b604052919050565b60ff81168114620007b257600080fd5b600067ffffffffffffffff821115620026d557620026d562002632565b50601f01601f191660200190565b600082601f830112620026f557600080fd5b81356200270c6200270682620026b8565b62002674565b8181528460208386010111156200272257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200275657600080fd5b843567ffffffffffffffff808211156200276f57600080fd5b9086019060a082890312156200278457600080fd5b6200278e62002648565b823581526020830135620027a28162002182565b60208201526040830135620027b781620026a8565b6040820152606083013582811115620027cf57600080fd5b620027dd8a828601620026e3565b606083015250608083013582811115620027f657600080fd5b620028048a828601620026e3565b60808301525095506200281d9150506020860162002198565b9250620023b96040860162002198565b600181811c908216806200284257607f821691505b6020821081036200286357634e487b7160e01b600052602260045260246000fd5b50919050565b6000606082840312156200287c57600080fd5b6040516060810181811067ffffffffffffffff82111715620028a257620028a262002632565b604052825181526020830151620028b98162002182565b60208201526040928301519281019290925250919050565b818103818111156200095957634e487b7160e01b600052601160045260246000fd5b6020815281516020820152600060208301516200291b60408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516200294b60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052620029be6101a0860184620022a8565b90860151858203601f190183870152909250620029dc8382620022a8565b9695505050505050565b600060208284031215620029f957600080fd5b8151620007c78162002182565b634e487b7160e01b600052600160045260246000fd5b60006020828403121562002a2f57600080fd5b8151620007c781620026a8565b60006020828403121562002a4f57600080fd5b815167ffffffffffffffff81111562002a6757600080fd5b8201601f8101841362002a7957600080fd5b805162002a8a6200270682620026b8565b81815285602083850101111562002aa057600080fd5b62002ab382602083016020860162002282565b95945050505050565b60006020828403121562002acf57600080fd5b8151620007c78162002237565b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e085015262002b28610120850183620022a8565b91506080880151607f198584030161010086015262002b488382620022a8565b9188166020860152506001600160a01b0386166040850152915062002b6a9050565b82606083015295945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208152813560208201526000602083013562002be18162002182565b6001600160a01b031660408381019190915283013562002c0181620026a8565b60ff811660608401525062002c1a606084018462002408565b60a0608085015262002c3160c08501828462002458565b91505062002c43608085018562002408565b848303601f190160a0860152620029dc83828462002458565b60006020828403121562002c6f57600080fd5b8135620007c781620026a8565b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c06080820181905260009062002cbb908301868862002458565b82810360a084015262002cd081858762002458565b9b9a5050505050505050505050565b6001600160e01b031983168152815160009062002d0481600485016020870162002282565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002ab390830184620022a8565b601f8211156200115a57600081815260208120601f850160051c8101602086101562002d695750805b601f850160051c820191505b8181101562002d8a5782815560010162002d75565b505050505050565b67ffffffffffffffff83111562002dad5762002dad62002632565b62002dc58362002dbe83546200282d565b8362002d40565b6000601f84116001811462002dfc576000851562002de35750838201355b600019600387901b1c1916600186901b17835562002e59565b600083815260209020601f19861690835b8281101562002e2f578685013582556020948501946001909201910162002e0d565b508682101562002e4d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135815560018101602083013562002e788162002182565b8154604085013562002e8a81620026a8565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b0319919091161717905562002ec26060830183620025bc565b62002ed281836002860162002d92565b505062002ee36080830183620025bc565b62000c0981836003860162002d92565b60608152600062002f0960608301878962002458565b828103602084015262002f1e81868862002458565b91505060ff831660408301529695505050505050565b6000825162002f4881846020870162002282565b9190910192915050565b602081526000620009566020830184620022a856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61188b806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b366004611349565b61036c565b005b61017a6103e5565b604051610187919061138a565b60405180910390f35b6101a361019e3660046113bd565b61041f565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046113e9565b610439565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a36102313660046113bd565b610479565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b6101706102693660046113bd565b61049b565b6101b760fc5481565b6101706102853660046114cd565b610558565b61024361029836600461158c565b6106fe565b6101b76102ab366004611349565b6001600160a01b0316600090815260c9602052604090205490565b61017061070b565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a61071f565b6101706103083660046113bd565b6107b1565b6101a361031b3660046113bd565b61083b565b61024361032e3660046115c1565b6108c1565b6101a36103413660046113bd565b6108ce565b6101b76103543660046115ed565b610903565b610170610367366004611349565b61092e565b6103746109a7565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606103ef610a01565b6103fa60fc54610a10565b60405160200161040b929190611626565b604051602081830303815290604052905090565b60003361042d818585610aa3565b60019150505b92915050565b6000306001600160a01b0384160361046457604051636cfe544760e01b815260040160405180910390fd5b61046f848484610bbf565b90505b9392505050565b60003361042d81858561048c8383610903565b6104969190611664565b610aa3565b6a195c98cc8c17dd985d5b1d60aa1b647461696b6f60d81b6104be8260016108c1565b6001600160a01b0316336001600160a01b0316141580156104fb57506104e58160016108c1565b6001600160a01b0316336001600160a01b031614155b1561051957604051630d85cccf60e11b815260040160405180910390fd5b6105238484610bd8565b6040518381526001600160a01b038516906000906000805160206118368339815191529060200160405180910390a350505050565b600054610100900460ff16158080156105785750600054600160ff909116105b806105925750303b158015610592575060005460ff166001145b6105fa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561061d576000805461ff0019166101001790555b6001600160a01b0386161580610631575084155b8061063b57504685145b8061064557508251155b8061064f57508151155b1561066d57604051635d061ab760e11b815260040160405180910390fd5b61067687610c88565b6106808284610ca1565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff861617905580156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b600061046f848484610cd2565b6107136109a7565b61071d6000610d86565b565b606060cd805461072e90611685565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611685565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b6a195c98cc8c17dd985d5b1d60aa1b6107cb8160016108c1565b6001600160a01b0316336001600160a01b0316146107fc57604051630d85cccf60e11b815260040160405180910390fd5b6108068383610dd8565b6040518281526000906001600160a01b03851690600080516020611836833981519152906020015b60405180910390a3505050565b600033816108498286610903565b9050838110156108a95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105f1565b6108b68286868403610aa3565b506001949350505050565b6000610472468484610cd2565b6000306001600160a01b038416036108f957604051636cfe544760e01b815260040160405180910390fd5b6104728383610ef7565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6109366109a7565b6001600160a01b03811661099b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f1565b6109a481610d86565b50565b6065546001600160a01b0316331461071d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f1565b606060cc805461072e90611685565b60606000610a1d83610f05565b600101905060008167ffffffffffffffff811115610a3d57610a3d61142a565b6040519080825280601f01601f191660200182016040528015610a67576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a7157509392505050565b6001600160a01b038316610b055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f1565b6001600160a01b038216610b665760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f1565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161082e565b600033610bcd858285610fdd565b6108b6858585611057565b6001600160a01b038216610c2e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105f1565b8060cb6000828254610c409190611664565b90915550506001600160a01b038216600081815260c96020908152604080832080548601905551848152600080516020611836833981519152910160405180910390a35b5050565b610c906111f0565b610c9861121f565b6109a48161124e565b600054610100900460ff16610cc85760405162461bcd60e51b81526004016105f1906116bf565b610c848282611297565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d47919061170a565b905081158015610d5e57506001600160a01b038116155b1561047257604051631467050360e21b815260048101859052602481018490526044016105f1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105f1565b6001600160a01b038216600090815260c9602052604090205481811015610eac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105f1565b6001600160a01b038316600081815260c960209081526040808320868603905560cb8054879003905551858152919291600080516020611836833981519152910161082e565b505050565b60003361042d818585611057565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f445772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f70576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f8e57662386f26fc10000830492506010015b6305f5e1008310610fa6576305f5e100830492506008015b6127108310610fba57612710830492506004015b60648310610fcc576064830492506002015b600a83106104335760010192915050565b6000610fe98484610903565b9050600019811461105157818110156110445760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105f1565b6110518484848403610aa3565b50505050565b6001600160a01b0383166110bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f1565b6001600160a01b03821661111d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f1565b6001600160a01b038316600090815260c96020526040902054818110156111955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105f1565b6001600160a01b03808516600081815260c960205260408082208686039055928616808252908390208054860190559151600080516020611836833981519152906111e39086815260200190565b60405180910390a3611051565b600054610100900460ff166112175760405162461bcd60e51b81526004016105f1906116bf565b61071d6112d7565b600054610100900460ff166112465760405162461bcd60e51b81526004016105f1906116bf565b61071d611304565b6001600160a01b03811661127557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166112be5760405162461bcd60e51b81526004016105f1906116bf565b60cc6112ca8382611775565b5060cd610ef28282611775565b600054610100900460ff166112fe5760405162461bcd60e51b81526004016105f1906116bf565b60018055565b600054610100900460ff1661132b5760405162461bcd60e51b81526004016105f1906116bf565b61071d33610d86565b6001600160a01b03811681146109a457600080fd5b60006020828403121561135b57600080fd5b813561047281611334565b60005b83811015611381578181015183820152602001611369565b50506000910152565b60208152600082518060208401526113a9816040850160208701611366565b601f01601f19169190910160400192915050565b600080604083850312156113d057600080fd5b82356113db81611334565b946020939093013593505050565b6000806000606084860312156113fe57600080fd5b833561140981611334565b9250602084013561141981611334565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261145157600080fd5b813567ffffffffffffffff8082111561146c5761146c61142a565b604051601f8301601f19908116603f011681019082821181831017156114945761149461142a565b816040528381528660208588010111156114ad57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156114e657600080fd5b86356114f181611334565b9550602087013561150181611334565b945060408701359350606087013560ff8116811461151e57600080fd5b9250608087013567ffffffffffffffff8082111561153b57600080fd5b6115478a838b01611440565b935060a089013591508082111561155d57600080fd5b5061156a89828a01611440565b9150509295509295509295565b8035801515811461158757600080fd5b919050565b6000806000606084860312156115a157600080fd5b83359250602084013591506115b860408501611577565b90509250925092565b600080604083850312156115d457600080fd5b823591506115e460208401611577565b90509250929050565b6000806040838503121561160057600080fd5b823561160b81611334565b9150602083013561161b81611334565b809150509250929050565b60008351611638818460208801611366565b6241c55b60e71b9083019081528351611658816004840160208801611366565b01600401949350505050565b8082018082111561043357634e487b7160e01b600052601160045260246000fd5b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561171c57600080fd5b815161047281611334565b601f821115610ef257600081815260208120601f850160051c8101602086101561174e5750805b601f850160051c820191505b8181101561176d5782815560010161175a565b505050505050565b815167ffffffffffffffff81111561178f5761178f61142a565b6117a38161179d8454611685565b84611727565b602080601f8311600181146117d857600084156117c05750858301515b600019600386901b1c1916600185901b17855561176d565b600085815260208120601f198616915b82811015611807578886015182559484019460019091019084016117e8565b50858210156118255787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122084c55b31f1ca31a63eb2f494abc3a7a53871a4d74e8f1a0d4a8487fc410374b564736f6c63430008140033a2646970667358221220fb6838adab59caf0c87ea98c1d46d8afdd628bcbc80e276935e7eb4856c7485964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "ERC20VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000008": { + "contractName": "ProxiedERC721Vault", + "storage": {}, + "code": "0x6080604052600436106200011f5760003560e01c80636c6563f611620000a15780639aa8605c116200006c5780639aa8605c1462000342578063a86f9d9e1462000379578063a9976baf146200039e578063c287e57814620003b5578063f2fde38b14620003e957600080fd5b80636c6563f614620002ce578063715018a614620002f357806373339643146200030b5780638da5cb5b146200032257600080fd5b80632ca069a511620000ee5780632ca069a5146200020457806332a642ca14620002215780633ab76e9f146200023857806359f4a907146200026c57806367090ccf146200028957600080fd5b806301ffc9a714620001245780630652b57a146200016e578063150b7a02146200019557806319ab453c14620001df575b600080fd5b3480156200013157600080fd5b50620001596200014336600462002112565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200017b57600080fd5b50620001936200018d36600462002161565b6200040e565b005b348015620001a257600080fd5b50620001c5620001b436600462002181565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200162000165565b348015620001ec57600080fd5b5062000193620001fe36600462002161565b6200048a565b3480156200021157600080fd5b50620001c5636cdb3d1360e11b81565b620001936200023236600462002228565b620005aa565b3480156200024557600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000165565b3480156200027957600080fd5b50620001c56380ac58cd60e01b81565b3480156200029657600080fd5b5062000253620002a836600462002266565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002db57600080fd5b5062000253620002ed366004620022a8565b620009cd565b3480156200030057600080fd5b5062000193620009e6565b620001936200031c366004620022e4565b620009fe565b3480156200032f57600080fd5b506065546001600160a01b031662000253565b3480156200034f57600080fd5b50620003676200036136600462002161565b62000eaa565b60405162000165949392919062002376565b3480156200038657600080fd5b506200025362000398366004620023c1565b62000ffd565b62000193620003af366004620024af565b62001015565b348015620003c257600080fd5b5062000159620003d436600462002161565b60c96020526000908152604090205460ff1681565b348015620003f657600080fd5b50620001936200040836600462002161565b62001336565b62000418620013b2565b6001600160a01b0381166200044057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004ab5750600054600160ff909116105b80620004c75750303b158015620004c7575060005460ff166001145b620005305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000554576000805461ff0019166101001790555b6200055f826200140e565b8015620005a6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b620005b46200142d565b6562726964676560d01b620005cb81600162000ffd565b6001600160a01b0316336001600160a01b031614620005fd57604051630d85cccf60e11b815260040160405180910390fd5b60006200061160a084016080850162002161565b6001600160a01b031603620006395760405163016a294f60e41b815260040160405180910390fd5b468260400135146200065e57604051630a15fbb960e01b815260040160405180910390fd5b600080620006716101408501856200254d565b620006819160049082906200259d565b81019062000690919062002704565b935050509150600073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d632c6a56af86620006c96562726964676560d01b600062000ffd565b86602001516040518463ffffffff1660e01b8152600401620006ee93929190620027c6565b602060405180830381865af41580156200070c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000732919062002920565b6020808501516001600160a01b0316600090815260c9909152604090205490915060ff1615620008245760005b82518110156200081d5760208401516001600160a01b03166340c10f196200078e60a0890160808a0162002161565b858481518110620007a357620007a36200293a565b60200260200101516040518363ffffffff1660e01b8152600401620007dd9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015620007f857600080fd5b505af11580156200080d573d6000803e3d6000fd5b505050508060010190506200075f565b50620008ee565b60005b8251811015620008ec5760208401516001600160a01b03166342842e0e306200085760a08a0160808b0162002161565b8685815181106200086c576200086c6200293a565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620008c757600080fd5b505af1158015620008dc573d6000803e3d6000fd5b5050505080600101905062000827565b505b6200091960e08601356200090960a088016080890162002161565b6001600160a01b03169062001488565b6200092b60a086016080870162002161565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd85602001518560006001600160401b03811115620009785762000978620023e9565b604051908082528060200260200182016040528015620009a2578160200160208202803683370190505b50604051620009b4939291906200298d565b60405180910390a350505050620009ca60018055565b50565b6000620009dc8484846200154f565b90505b9392505050565b620009f0620013b2565b620009fc600062001609565b565b62000a086200142d565b73b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d63c0619cc262000a316080840184620029d1565b62000a406060860186620029d1565b60016040518663ffffffff1660e01b815260040162000a6495949392919062002a50565b60006040518083038186803b15801562000a7d57600080fd5b505af415801562000a92573d6000803e3d6000fd5b5050505073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6393522e3e62000ad183600001356b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b62000ae3604085016020860162002161565b62000af5606086016040870162002161565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160006040518083038186803b15801562000b4557600080fd5b505af415801562000b5a573d6000803e3d6000fd5b5062000b8f92506380ac58cd60e01b915062000b7f9050606084016040850162002161565b6001600160a01b0316906200165b565b62000bad57604051633ee915f560e11b815260040160405180910390fd5b600062000bbe6080830183620029d1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000c0492505050606084016040850162002161565b9050600062000c176060850185620029d1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525060408051610180810182528281526020810183905290810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810182905261016081019190915293945062000cb292505050565b8435606082015262000cc53386620016d8565b610140820152336080820152606081015162000cf3906b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b6001600160a01b031660a08083019190915285013561012082015262000d1e60c08601353462002a90565b60e08083019190915260c08601356101008084019190915262000d479190870190870162002161565b6001600160a01b031660c082015262000d656101008601866200254d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000db891506562726964676560d01b90508262000ffd565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000de6919062002ab2565b60206040518083038185885af115801562000e05573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000e2c919062002920565b905062000e40604087016020880162002161565b6001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b60405162000e93949392919062002b9b565b60405180910390a45050505050620009ca60018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b039092169262000ede9062002bdb565b80601f016020809104026020016040519081016040528092919081815260200182805462000f0c9062002bdb565b801562000f5d5780601f1062000f315761010080835404028352916020019162000f5d565b820191906000526020600020905b81548152906001019060200180831162000f3f57829003601f168201915b50505050509080600301805462000f749062002bdb565b80601f016020809104026020016040519081016040528092919081815260200182805462000fa29062002bdb565b801562000ff35780601f1062000fc75761010080835404028352916020019162000ff3565b820191906000526020600020905b81548152906001019060200180831162000fd557829003601f168201915b5050505050905084565b60006200100c4684846200154f565b90505b92915050565b6200101f6200142d565b6562726964676560d01b6200103681600162000ffd565b6001600160a01b0316336001600160a01b0316146200106857604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526b195c98cdcc8c57dd985d5b1d60a21b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af4158015620010d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f6919062002c17565b9050600046873503620011d15762001115604088016020890162002161565b905060005b8451811015620011ca57816001600160a01b03166323b872dd30888885815181106200114a576200114a6200293a565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620011a557600080fd5b505af1158015620011ba573d6000803e3d6000fd5b505050508060010190506200111a565b506200128c565b620011dc8762001c07565b905060005b84518110156200128a57816001600160a01b03166340c10f19878784815181106200121057620012106200293a565b60200260200101516040518363ffffffff1660e01b81526004016200124a9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200126557600080fd5b505af11580156200127a573d6000803e3d6000fd5b50505050806001019050620011e1565b505b620012a16001600160a01b0386163462001488565b815160408301516001600160a01b0380881692908916917f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b1908589600060405190808252806020026020018201604052801562001308578160200160208202803683370190505b506040516200131b949392919062002b9b565b60405180910390a45050506200133060018055565b50505050565b62001340620013b2565b6001600160a01b038116620013a75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000527565b620009ca8162001609565b6065546001600160a01b03163314620009fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000527565b6200141862001c70565b6200142262001ca4565b620009ca8162001cd8565b600260015403620014815760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000527565b6002600155565b8015806200149d57506001600160a01b038216155b15620014a7575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620014f6576040519150601f19603f3d011682016040523d82523d6000602084013e620014fb565b606091505b5050905080620015445760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000527565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620015a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015c7919062002c7e565b905081158015620015df57506001600160a01b038116155b15620009df57604051631467050360e21b8152600481018590526024810184905260440162000527565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015620016cb575060408051601f3d908101601f19168201909252620016c89181019062002c9e565b60015b156200100f579392505050565b6040805160808101825260008082526020820152606091810182905280820182905260c9600062001710606086016040870162002161565b6001600160a01b0316815260208101919091526040016000205460ff1615620019985760ca600062001749606086016040870162002161565b6001600160a01b0390811682526020808301939093526040918201600020825160808101845281548152600182015490921693820193909352600283018054919392840191620017999062002bdb565b80601f0160208091040260200160405190810160405280929190818152602001828054620017c79062002bdb565b8015620018185780601f10620017ec5761010080835404028352916020019162001818565b820191906000526020600020905b815481529060010190602001808311620017fa57829003601f168201915b50505050508152602001600382018054620018339062002bdb565b80601f0160208091040260200160405190810160405280929190818152602001828054620018619062002bdb565b8015620018b25780601f106200188657610100808354040283529160200191620018b2565b820191906000526020600020905b8154815290600101906020018083116200189457829003601f168201915b505050505081525050905060005b620018cf6060850185620029d1565b90508110156200199157620018eb606085016040860162002161565b6001600160a01b0316639dc29fac86620019096060880188620029d1565b858181106200191c576200191c6200293a565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526020029190910135602483015250604401600060405180830381600087803b1580156200196c57600080fd5b505af115801562001981573d6000803e3d6000fd5b50505050806001019050620018c0565b5062001b8c565b6000620019ac606085016040860162002161565b90506040518060800160405280468152602001856040016020810190620019d4919062002161565b6001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001a4b919081019062002cbe565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ab9919081019062002cbe565b9052915060005b62001acf6060860186620029d1565b905081101562001b89576001600160a01b0382166323b872dd873062001af960608a018a620029d1565b8681811062001b0c5762001b0c6200293a565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801562001b6457600080fd5b505af115801562001b79573d6000803e3d6000fd5b5050505080600101905062001ac0565b50505b63a9976baf60e01b818562001ba8604087016020880162002161565b62001bb76060880188620029d1565b60405160240162001bcd95949392919062002d8b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b8035600090815260cb6020908152604080832091839162001c2e9190860190860162002161565b6001600160a01b0390811682526020820192909252604001600020541690508062001c6b5762001c6862001c628362002dd8565b62001d22565b90505b919050565b600054610100900460ff1662001c9a5760405162461bcd60e51b8152600401620005279062002de6565b620009fc62001f9b565b600054610100900460ff1662001cce5760405162461bcd60e51b8152600401620005279062002de6565b620009fc62001fc5565b6001600160a01b03811662001d0057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008062001d7f60008460405160200162001d3e919062002e31565b604051602081830303815290604052805190602001206040518060200162001d669062002104565b601f1982820381018352601f9091011660405262001ffa565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001daf6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001deb966001600160a01b03909116959493910162002e46565b60408051601f198184030181529082905262001e0b929160200162002e8f565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001e3a9392919062002ec2565b602060405180830381865af415801562001e58573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e7e919062002c7e565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001eec908262002f42565b506060820151600382019062001f03908262002f42565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001f8d92916200300e565b60405180910390a450919050565b600054610100900460ff16620015495760405162461bcd60e51b8152600401620005279062002de6565b600054610100900460ff1662001fef5760405162461bcd60e51b8152600401620005279062002de6565b620009fc3362001609565b6000834710156200204e5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000527565b8151600003620020a15760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000527565b8282516020840186f590506001600160a01b038116620009df5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000527565b611f55806200303883390190565b6000602082840312156200212557600080fd5b81356001600160e01b0319811681146200100c57600080fd5b6001600160a01b0381168114620009ca57600080fd5b803562001c6b816200213e565b6000602082840312156200217457600080fd5b81356200100c816200213e565b6000806000806000608086880312156200219a57600080fd5b8535620021a7816200213e565b94506020860135620021b9816200213e565b93506040860135925060608601356001600160401b0380821115620021dd57600080fd5b818801915088601f830112620021f257600080fd5b8135818111156200220257600080fd5b8960208285010111156200221557600080fd5b9699959850939650602001949392505050565b6000602082840312156200223b57600080fd5b81356001600160401b038111156200225257600080fd5b820161018081850312156200100c57600080fd5b600080604083850312156200227a57600080fd5b8235915060208301356200228e816200213e565b809150509250929050565b8015158114620009ca57600080fd5b600080600060608486031215620022be57600080fd5b83359250602084013591506040840135620022d98162002299565b809150509250925092565b600060208284031215620022f757600080fd5b81356001600160401b038111156200230e57600080fd5b820161012081850312156200100c57600080fd5b60005b838110156200233f57818101518382015260200162002325565b50506000910152565b600081518084526200236281602086016020860162002322565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620023a29083018562002348565b8281036060840152620023b6818562002348565b979650505050505050565b60008060408385031215620023d557600080fd5b8235915060208301356200228e8162002299565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200242a576200242a620023e9565b604052919050565b600082601f8301126200244457600080fd5b813560206001600160401b03821115620024625762002462620023e9565b8160051b62002473828201620023ff565b92835284810182019282810190878511156200248e57600080fd5b83870192505b84831015620023b65782358252918301919083019062002494565b60008060008060808587031215620024c657600080fd5b84356001600160401b0380821115620024de57600080fd5b9086019060808289031215620024f357600080fd5b90945060208601359062002507826200213e565b9093506040860135906200251b826200213e565b909250606086013590808211156200253257600080fd5b50620025418782880162002432565b91505092959194509250565b6000808335601e198436030181126200256557600080fd5b8301803591506001600160401b038211156200258057600080fd5b6020019150368190038213156200259657600080fd5b9250929050565b60008085851115620025ae57600080fd5b83861115620025bc57600080fd5b5050820193919092039150565b60006001600160401b03821115620025e557620025e5620023e9565b50601f01601f191660200190565b600082601f8301126200260557600080fd5b81356200261c6200261682620025c9565b620023ff565b8181528460208386010111156200263257600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082840312156200266257600080fd5b604051608081016001600160401b038282108183111715620026885762002688620023e9565b816040528293508435835260208501359150620026a5826200213e565b8160208401526040850135915080821115620026c057600080fd5b620026ce86838701620025f3565b60408401526060850135915080821115620026e857600080fd5b50620026f785828601620025f3565b6060830152505092915050565b600080600080608085870312156200271b57600080fd5b84356001600160401b03808211156200273357600080fd5b62002741888389016200264f565b95506020870135915062002507826200213e565b6000808335601e198436030181126200276d57600080fd5b83016020810192503590506001600160401b038111156200278d57600080fd5b8036038213156200259657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152833560608201526000620027e16020860162002154565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620028136080860162002154565b6001600160a01b031660e08301526200282f60a0860162002154565b61010062002847818501836001600160a01b03169052565b6200285560c0880162002154565b91506101206200286f818601846001600160a01b03169052565b610140925060e088013583860152610160828901358187015261018092508189013583870152620028a3848a018a62002755565b94509150826101a0870152620028bf6101e0870185846200279d565b9350620028cf818a018a62002755565b9350915050605f19858403016101c0860152620028ee8383836200279d565b93505050506200290960208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b6000602082840312156200293357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015620029825781518752958201959082019060010162002964565b509495945050505050565b6001600160a01b0384168152606060208201819052600090620029b39083018562002950565b8281036040840152620029c7818562002950565b9695505050505050565b6000808335601e19843603018112620029e957600080fd5b8301803591506001600160401b0382111562002a0457600080fd5b6020019150600581901b36038213156200259657600080fd5b81835260006001600160fb1b0383111562002a3757600080fd5b8260051b80836020870137939093016020019392505050565b60608152600062002a6660608301878962002a1d565b828103602084015262002a7b81868862002a1d565b91505082151560408301529695505050505050565b818103818111156200100f57634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002ada60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002b0a60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002b7d6101a086018462002348565b90860151858203601f190183870152909250620029c7838262002348565b8481526001600160a01b038416602082015260806040820181905260009062002bc79083018562002950565b8281036060840152620023b6818562002950565b600181811c9082168062002bf057607f821691505b60208210810362002c1157634e487b7160e01b600052602260045260246000fd5b50919050565b60006060828403121562002c2a57600080fd5b604051606081018181106001600160401b038211171562002c4f5762002c4f620023e9565b60405282518152602083015162002c66816200213e565b60208201526040928301519281019290925250919050565b60006020828403121562002c9157600080fd5b81516200100c816200213e565b60006020828403121562002cb157600080fd5b81516200100c8162002299565b60006020828403121562002cd157600080fd5b81516001600160401b0381111562002ce857600080fd5b8201601f8101841362002cfa57600080fd5b805162002d0b6200261682620025c9565b81815285602083850101111562002d2157600080fd5b62002d3482602083016020860162002322565b95945050505050565b8051825260018060a01b036020820151166020830152600060408201516080604085015262002d70608085018262002348565b90506060830151848203606086015262002d34828262002348565b60808152600062002da0608083018862002d3d565b6001600160a01b03878116602085015286166040840152828103606084015262002dcc81858762002a1d565b98975050505050505050565b600062001c6836836200264f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020815260006200100c602083018462002d3d565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002e7b9083018562002348565b828103608084015262002dcc818562002348565b6001600160e01b031983168152815160009062002eb481600485016020870162002322565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002d349083018462002348565b601f8211156200154457600081815260208120601f850160051c8101602086101562002f195750805b601f850160051c820191505b8181101562002f3a5782815560010162002f25565b505050505050565b81516001600160401b0381111562002f5e5762002f5e620023e9565b62002f768162002f6f845462002bdb565b8462002ef0565b602080601f83116001811462002fae576000841562002f955750858301515b600019600386901b1c1916600185901b17855562002f3a565b600085815260208120601f198616915b8281101562002fdf5788860151825594840194600190910190840162002fbe565b508582101562002ffe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003023604083018562002348565b828103602084015262002d3481856200234856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611e68806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610377578063d1399b1a14610398578063e985e9c5146103ab578063f2fde38b146103e857600080fd5b8063a22cb4651461033e578063a86f9d9e14610351578063b88d4fde1461036457600080fd5b806370a08231146102e3578063715018a6146102f65780637cf8ed0d146102fe5780638da5cb5b1461031257806395d89b41146103235780639dc29fac1461032b57600080fd5b80633ab76e9f1161014b57806349d126051161012557806349d126051461026d5780636352211e1461028557806367e828bf146102985780636c6563f6146102d057600080fd5b80633ab76e9f1461023657806340c10f191461024757806342842e0e1461025a57600080fd5b806301ffc9a7146101935780630652b57a146101bb57806306fdde03146101d0578063081812fc146101e5578063095ea7b31461021057806323b872dd14610223575b600080fd5b6101a66101a136600461171c565b6103fb565b60405190151581526020015b60405180910390f35b6101ce6101c936600461174e565b61044d565b005b6101d86104c6565b6040516101b291906117bb565b6101f86101f33660046117ce565b610501565b6040516001600160a01b0390911681526020016101b2565b6101ce61021e3660046117e7565b610528565b6101ce610231366004611813565b610642565b6097546001600160a01b03166101f8565b6101ce6102553660046117e7565b610676565b6101ce610268366004611813565b6106f7565b61027761012e5481565b6040519081526020016101b2565b6101f86102933660046117ce565b610712565b6102b161012d5461012e546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016101b2565b6101f86102de366004611869565b610772565b6102776102f136600461174e565b610789565b6101ce61080f565b61012d546101f8906001600160a01b031681565b6065546001600160a01b03166101f8565b6101d8610823565b6101ce6103393660046117e7565b6108b5565b6101ce61034c36600461189e565b61096f565b6101f861035f3660046118d3565b61097e565b6101ce610372366004611982565b61098b565b6101d86103853660046117ce565b5060408051602081019091526000815290565b6101ce6103a6366004611a22565b6109c3565b6101a66103b9366004611ab5565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b6101ce6103f636600461174e565b610b56565b60006001600160e01b031982166380ac58cd60e01b148061042c57506001600160e01b03198216635b5e139f60e01b145b8061044757506301ffc9a760e01b6001600160e01b03198316145b92915050565b610455610bcf565b6001600160a01b03811661047c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606104d0610c29565b6104dc61012e54610c38565b6040516020016104ed929190611aee565b604051602081830303815290604052905090565b600061050c82610ccb565b50600090815260ff60205260409020546001600160a01b031690565b600061053382610712565b9050806001600160a01b0316836001600160a01b0316036105a55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105c157506105c181336103b9565b6106335760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161059c565b61063d8383610d2a565b505050565b306001600160a01b0383160361066b57604051636cfe544760e01b815260040160405180910390fd5b61063d838383610d98565b6b195c98cdcc8c57dd985d5b1d60a21b61069181600161097e565b6001600160a01b0316336001600160a01b0316146106c257604051630d85cccf60e11b815260040160405180910390fd5b6106cc8383610dc9565b60405182906001600160a01b03851690600090600080516020611e13833981519152908290a4505050565b61063d8383836040518060200160405280600081525061098b565b600081815260fd60205260408120546001600160a01b0316806104475760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600061077f848484610f42565b90505b9392505050565b60006001600160a01b0382166107f35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161059c565b506001600160a01b0316600090815260fe602052604090205490565b610817610bcf565b6108216000610ff6565b565b606060fc805461083290611b2c565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611b2c565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6b195c98cdcc8c57dd985d5b1d60a21b6108d081600161097e565b6001600160a01b0316336001600160a01b03161461090157604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b031661091483610712565b6001600160a01b03161461093b576040516302dca79760e41b815260040160405180910390fd5b61094482611048565b60405182906000906001600160a01b03861690600080516020611e13833981519152908390a4505050565b61097a3383836110cb565b5050565b6000610782468484610f42565b610995338361119a565b6109b15760405162461bcd60e51b815260040161059c90611b66565b6109bd8484848461121a565b50505050565b600054610100900460ff16158080156109e35750600054600160ff909116105b806109fd5750303b1580156109fd575060005460ff166001145b610a605760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161059c565b6000805460ff191660011790558015610a83576000805461ff0019166101001790555b6001600160a01b0385161580610a97575083155b80610aa157504684145b80610aab57508251155b80610ab557508151155b15610ad357604051635d061ab760e11b815260040160405180910390fd5b610adc8661124d565b610ae68284611266565b61012d80546001600160a01b0319166001600160a01b03871617905561012e8490558015610b4e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610b5e610bcf565b6001600160a01b038116610bc35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059c565b610bcc81610ff6565b50565b6065546001600160a01b031633146108215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059c565b606060fb805461083290611b2c565b60606000610c4583611297565b600101905060008167ffffffffffffffff811115610c6557610c656118f6565b6040519080825280601f01601f191660200182016040528015610c8f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c9957509392505050565b600081815260fd60205260409020546001600160a01b0316610bcc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d5f82610712565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610da2338261119a565b610dbe5760405162461bcd60e51b815260040161059c90611b66565b61063d83838361136f565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610e845760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610ee95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b6001600160a01b038216600081815260fe602090815260408083208054600101905584835260fd90915280822080546001600160a01b031916841790555183929190600080516020611e13833981519152908290a45050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190611bb3565b905081158015610fce57506001600160a01b038116155b1561078257604051631467050360e21b8152600481018590526024810184905260440161059c565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061105382610712565b905061105e82610712565b600083815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b03851680855260fe8452828520805460001901905587855260fd90935281842080549091169055519293508492600080516020611e13833981519152908390a45050565b816001600160a01b0316836001600160a01b03160361112c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161059c565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806111a683610712565b9050806001600160a01b0316846001600160a01b031614806111ee57506001600160a01b038082166000908152610100602090815260408083209388168352929052205460ff165b806112125750836001600160a01b031661120784610501565b6001600160a01b0316145b949350505050565b61122584848461136f565b611231848484846114c1565b6109bd5760405162461bcd60e51b815260040161059c90611bd0565b6112556115c2565b61125d6115f1565b610bcc81611620565b600054610100900460ff1661128d5760405162461bcd60e51b815260040161059c90611c22565b61097a8282611669565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106112d65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611302576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061132057662386f26fc10000830492506010015b6305f5e1008310611338576305f5e100830492506008015b612710831061134c57612710830492506004015b6064831061135e576064830492506002015b600a83106104475760010192915050565b826001600160a01b031661138282610712565b6001600160a01b0316146113a85760405162461bcd60e51b815260040161059c90611c6d565b6001600160a01b03821661140a5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b826001600160a01b031661141d82610712565b6001600160a01b0316146114435760405162461bcd60e51b815260040161059c90611c6d565b600081815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260fe855283862080546000190190559087168086528386208054600101905586865260fd9094528285208054909216841790915590518493600080516020611e1383398151915291a4505050565b60006001600160a01b0384163b156115b757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611505903390899088908890600401611cb2565b6020604051808303816000875af1925050508015611540575060408051601f3d908101601f1916820190925261153d91810190611cef565b60015b61159d573d80801561156e576040519150601f19603f3d011682016040523d82523d6000602084013e611573565b606091505b5080516000036115955760405162461bcd60e51b815260040161059c90611bd0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611212565b506001949350505050565b600054610100900460ff166115e95760405162461bcd60e51b815260040161059c90611c22565b6108216116a9565b600054610100900460ff166116185760405162461bcd60e51b815260040161059c90611c22565b6108216116d6565b6001600160a01b03811661164757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166116905760405162461bcd60e51b815260040161059c90611c22565b60fb61169c8382611d52565b5060fc61063d8282611d52565b600054610100900460ff166116d05760405162461bcd60e51b815260040161059c90611c22565b60018055565b600054610100900460ff166116fd5760405162461bcd60e51b815260040161059c90611c22565b61082133610ff6565b6001600160e01b031981168114610bcc57600080fd5b60006020828403121561172e57600080fd5b813561078281611706565b6001600160a01b0381168114610bcc57600080fd5b60006020828403121561176057600080fd5b813561078281611739565b60005b8381101561178657818101518382015260200161176e565b50506000910152565b600081518084526117a781602086016020860161176b565b601f01601f19169290920160200192915050565b602081526000610782602083018461178f565b6000602082840312156117e057600080fd5b5035919050565b600080604083850312156117fa57600080fd5b823561180581611739565b946020939093013593505050565b60008060006060848603121561182857600080fd5b833561183381611739565b9250602084013561184381611739565b929592945050506040919091013590565b8035801515811461186457600080fd5b919050565b60008060006060848603121561187e57600080fd5b833592506020840135915061189560408501611854565b90509250925092565b600080604083850312156118b157600080fd5b82356118bc81611739565b91506118ca60208401611854565b90509250929050565b600080604083850312156118e657600080fd5b823591506118ca60208401611854565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611927576119276118f6565b604051601f8501601f19908116603f0116810190828211818310171561194f5761194f6118f6565b8160405280935085815286868601111561196857600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561199857600080fd5b84356119a381611739565b935060208501356119b381611739565b925060408501359150606085013567ffffffffffffffff8111156119d657600080fd5b8501601f810187136119e757600080fd5b6119f68782356020840161190c565b91505092959194509250565b600082601f830112611a1357600080fd5b6107828383356020850161190c565b600080600080600060a08688031215611a3a57600080fd5b8535611a4581611739565b94506020860135611a5581611739565b935060408601359250606086013567ffffffffffffffff80821115611a7957600080fd5b611a8589838a01611a02565b93506080880135915080821115611a9b57600080fd5b50611aa888828901611a02565b9150509295509295909350565b60008060408385031215611ac857600080fd5b8235611ad381611739565b91506020830135611ae381611739565b809150509250929050565b60008351611b0081846020880161176b565b6241c55b60e71b9083019081528351611b2081600484016020880161176b565b01600401949350505050565b600181811c90821680611b4057607f821691505b602082108103611b6057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215611bc557600080fd5b815161078281611739565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ce59083018461178f565b9695505050505050565b600060208284031215611d0157600080fd5b815161078281611706565b601f82111561063d57600081815260208120601f850160051c81016020861015611d335750805b601f850160051c820191505b81811015610b4e57828155600101611d3f565b815167ffffffffffffffff811115611d6c57611d6c6118f6565b611d8081611d7a8454611b2c565b84611d0c565b602080601f831160018114611db55760008415611d9d5750858301515b600019600386901b1c1916600185901b178555610b4e565b600085815260208120601f198616915b82811015611de457888601518255948401946001909101908401611dc5565b5085821015611e025787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220982ed42a531dac25c2cd2d24df34757ecf10be7c97db68448affe62cbba75e9764736f6c63430008140033a2646970667358221220fee14084f7c8b84170ddb74bcefdd41ccd4dfdb6fcb6f2b4715d9e5da996604564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000008": { + "contractName": "ERC721VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000008" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000009": { + "contractName": "ProxiedERC1155Vault", + "storage": {}, + "code": "0x6080604052600436106200012b5760003560e01c80636c6563f611620000ad578063a86f9d9e116200006c578063a86f9d9e146200035c578063bc197c811462000381578063c287e57814620003b4578063f23a6e6114620003e8578063f2fde38b146200041957600080fd5b80636c6563f614620002b1578063715018a614620002d65780637333964314620002ee5780638da5cb5b14620003055780639aa8605c146200032557600080fd5b80632ca069a511620000fa5780632ca069a514620001cd57806332a642ca14620002045780633ab76e9f146200021b57806359f4a907146200024f57806367090ccf146200026c57600080fd5b806301ffc9a714620001305780630652b57a146200016a57806319ab453c146200019157806320b8155914620001b6575b600080fd5b3480156200013d57600080fd5b50620001556200014f36600462001fcf565b6200043e565b60405190151581526020015b60405180910390f35b3480156200017757600080fd5b506200018f620001893660046200201e565b62000488565b005b3480156200019e57600080fd5b506200018f620001b03660046200201e565b62000504565b6200018f620001c73660046200213b565b62000624565b348015620001da57600080fd5b50620001ea636cdb3d1360e11b81565b6040516001600160e01b0319909116815260200162000161565b6200018f6200021536600462002201565b62000953565b3480156200022857600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000161565b3480156200025c57600080fd5b50620001ea6380ac58cd60e01b81565b3480156200027957600080fd5b50620002366200028b3660046200223f565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002be57600080fd5b5062000236620002d036600462002281565b62000cfb565b348015620002e357600080fd5b506200018f62000d14565b6200018f620002ff36600462002343565b62000d2c565b3480156200031257600080fd5b506065546001600160a01b031662000236565b3480156200033257600080fd5b506200034a620003443660046200201e565b620010a7565b604051620001619493929190620024b5565b3480156200036957600080fd5b50620002366200037b366004620024f5565b620011fa565b3480156200038e57600080fd5b50620001ea620003a0366004620025af565b63bc197c8160e01b98975050505050505050565b348015620003c157600080fd5b5062000155620003d33660046200201e565b60c96020526000908152604090205460ff1681565b348015620003f557600080fd5b50620001ea620004073660046200267b565b63f23a6e6160e01b9695505050505050565b3480156200042657600080fd5b506200018f620004383660046200201e565b62001209565b60006001600160e01b031982166301ffc9a760e01b14806200047057506001600160e01b03198216631953216560e11b145b80620004825750620004828262001285565b92915050565b62000492620012bc565b6001600160a01b038116620004ba57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620005255750600054600160ff909116105b80620005415750303b15801562000541575060005460ff166001145b620005aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620005ce576000805461ff0019166101001790555b620005d98262001318565b801562000620576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200062e62001337565b6562726964676560d01b62000645816001620011fa565b6001600160a01b0316336001600160a01b0316146200067757604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526c195c98cc4c4d4d57dd985d5b1d609a1b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620026fe565b9050600046883503620007e757620007256040890160208a016200201e565b905060005b8551811015620007e057816001600160a01b031663f242432a30898985815181106200075a576200075a62002765565b602002602001015189868151811062000777576200077762002765565b60200260200101516040518563ffffffff1660e01b8152600401620007a094939291906200277b565b600060405180830381600087803b158015620007bb57600080fd5b505af1158015620007d0573d6000803e3d6000fd5b505050508060010190506200072a565b50620008ce565b620007fc620007f68962002868565b62001392565b905060005b8551811015620008cc57816001600160a01b031663156e29f68888848151811062000830576200083062002765565b60200260200101518885815181106200084d576200084d62002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015620008a757600080fd5b505af1158015620008bc573d6000803e3d6000fd5b5050505080600101905062000801565b505b620008e36001600160a01b03871634620013d3565b856001600160a01b0316876001600160a01b031683600001517f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b18560400151858a8a604051620009379493929190620028b3565b60405180910390a45050506200094c60018055565b5050505050565b6200095d62001337565b6562726964676560d01b62000974816001620011fa565b6001600160a01b0316336001600160a01b031614620009a657604051630d85cccf60e11b815260040160405180910390fd5b60008080620009ba610140860186620028f3565b620009ca9160049082906200293c565b810190620009d9919062002968565b9450945050509250600073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d632c6a56af8762000a146562726964676560d01b6000620011fa565b87602001516040518463ffffffff1660e01b815260040162000a399392919062002a2c565b602060405180830381865af415801562000a57573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a7d919062002b86565b6020808601516001600160a01b0316600090815260c9909152604090205490915060ff161562000b915760005b835181101562000b8a5760208501516001600160a01b031663156e29f662000ad960a08a0160808b016200201e565b86848151811062000aee5762000aee62002765565b602002602001015186858151811062000b0b5762000b0b62002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000b6557600080fd5b505af115801562000b7a573d6000803e3d6000fd5b5050505080600101905062000aaa565b5062000c61565b60005b835181101562000c5f5760208501516001600160a01b031663f242432a3062000bc460a08b0160808c016200201e565b87858151811062000bd95762000bd962002765565b602002602001015187868151811062000bf65762000bf662002765565b60200260200101516040518563ffffffff1660e01b815260040162000c1f94939291906200277b565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b5050505080600101905062000b94565b505b62000c8c60e087013562000c7c60a0890160808a016200201e565b6001600160a01b031690620013d3565b62000c9e60a08701608088016200201e565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd8660200151868660405162000ce19392919062002ba0565b60405180910390a3505050505062000cf860018055565b50565b600062000d0a8484846200149a565b90505b9392505050565b62000d1e620012bc565b62000d2a600062001554565b565b62000d3662001337565b60808101516060820151604051636030ce6160e11b815273b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9263c0619cc29262000d7a9260009060040162002be4565b60006040518083038186803b15801562000d9357600080fd5b505af415801562000da8573d6000803e3d6000fd5b5050505073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6393522e3e62000de883600001516c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b602084015160408086015190516001600160e01b031960e086901b1681526001600160a01b039384166004820152918316602483015291909116604482015260640160006040518083038186803b15801562000e4357600080fd5b505af415801562000e58573d6000803e3d6000fd5b505050604082015162000e7d91506001600160a01b0316636cdb3d1360e11b620015a6565b62000e9b57604051633ee915f560e11b815260040160405180910390fd5b60808082015160408084015160608086015183516101808101855260008082526020820181905294810185905280830185905295860184905260a0860184905260c0860184905260e086018490526101008601849052610120860193909352610140850181905261016085015291928451606082015262000f1d338662001623565b610140820152336080820152606081015162000f4c906c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b6001600160a01b031660a08083019190915285015161012082015260c085015162000f78903462002c20565b60e08083019190915260c08087015161010080850191909152918701516001600160a01b031690830152850151610160820152600062000fc26562726964676560d01b82620011fa565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000ff0919062002c42565b60206040518083038185885af11580156200100f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062001036919062002b86565b905085602001516001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b604051620010909493929190620028b3565b60405180910390a4505050505062000cf860018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b0390921692620010db9062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620011099062002d2b565b80156200115a5780601f106200112e576101008083540402835291602001916200115a565b820191906000526020600020905b8154815290600101906020018083116200113c57829003601f168201915b505050505090806003018054620011719062002d2b565b80601f01602080910402602001604051908101604052809291908181526020018280546200119f9062002d2b565b8015620011f05780601f10620011c457610100808354040283529160200191620011f0565b820191906000526020600020905b815481529060010190602001808311620011d257829003601f168201915b5050505050905084565b600062000d0d4684846200149a565b62001213620012bc565b6001600160a01b0381166200127a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005a1565b62000cf88162001554565b60006001600160e01b03198216630271189760e51b14806200048257506301ffc9a760e01b6001600160e01b031983161462000482565b6065546001600160a01b0316331462000d2a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005a1565b6200132262001b2d565b6200132c62001b61565b62000cf88162001b95565b6002600154036200138b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620005a1565b6002600155565b8051600090815260cb60209081526040808320828501516001600160a01b0390811685529252909120541680620013ce57620004828262001bdf565b919050565b801580620013e857506001600160a01b038216155b15620013f2575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811462001441576040519150601f19603f3d011682016040523d82523d6000602084013e62001446565b606091505b50509050806200148f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401620005a1565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620014ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001512919062002d67565b9050811580156200152a57506001600160a01b038116155b1562000d0d57604051631467050360e21b81526004810185905260248101849052604401620005a1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001616575060408051601f3d908101601f19168201909252620016139181019062002d87565b60015b1562000482579392505050565b604080516080810182526000808252602082015260609181018290528082018290526040808401516001600160a01b0316600090815260c9602052205460ff1615620018c7576040808401516001600160a01b03908116600090815260ca6020908152908390208351608081018552815481526001820154909316918301919091526002810180549293919291840191620016be9062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620016ec9062002d2b565b80156200173d5780601f1062001711576101008083540402835291602001916200173d565b820191906000526020600020905b8154815290600101906020018083116200171f57829003601f168201915b50505050508152602001600382018054620017589062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620017869062002d2b565b8015620017d75780601f10620017ab57610100808354040283529160200191620017d7565b820191906000526020600020905b815481529060010190602001808311620017b957829003601f168201915b505050505081525050905060005b836060015151811015620018c05783604001516001600160a01b031663f5298aca868660600151848151811062001820576200182062002765565b60200260200101518760800151858151811062001841576200184162002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b1580156200189b57600080fd5b505af1158015620018b0573d6000803e3d6000fd5b50505050806001019050620017e5565b5062001ac6565b604051806080016040528046815260200184604001516001600160a01b03168152602001604051806020016040528060008152508152602001604051806020016040528060008152508152509050600083604001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156200198057506040513d6000823e601f3d908101601f191682016040526200197d919081019062002da7565b60015b156200198c5760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015620019ee57506040513d6000823e601f3d908101601f19168201604052620019eb919081019062002da7565b60015b15620019fa5760408301525b60005b84606001515181101562001ac35784604001516001600160a01b031663f242432a33308860600151858151811062001a395762001a3962002765565b60200260200101518960800151868151811062001a5a5762001a5a62002765565b60200260200101516040518563ffffffff1660e01b815260040162001a8394939291906200277b565b600060405180830381600087803b15801562001a9e57600080fd5b505af115801562001ab3573d6000803e3d6000fd5b50505050806001019050620019fd565b50505b6020830151606084015160808501516040516320b8155960e01b9362001af39386938a9360240162002e74565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b600054610100900460ff1662001b575760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a62001e58565b600054610100900460ff1662001b8b5760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a62001e82565b6001600160a01b03811662001bbd57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008062001c3c60008460405160200162001bfb919062002f21565b604051602081830303815290604052805190602001206040518060200162001c239062001fc1565b601f1982820381018352601f9091011660405262001eb7565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001c6c6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001ca8966001600160a01b03909116959493910162002f36565b60408051601f198184030181529082905262001cc8929160200162002f7f565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cf79392919062002fb2565b602060405180830381865af415801562001d15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d3b919062002d67565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001da9908262003032565b506060820151600382019062001dc0908262003032565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001e4a9291620030fe565b60405180910390a450919050565b600054610100900460ff16620014945760405162461bcd60e51b8152600401620005a19062002ed6565b600054610100900460ff1662001eac5760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a3362001554565b60008347101562001f0b5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401620005a1565b815160000362001f5e5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401620005a1565b8282516020840186f590506001600160a01b03811662000d0d5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401620005a1565b612546806200312883390190565b60006020828403121562001fe257600080fd5b81356001600160e01b03198116811462000d0d57600080fd5b6001600160a01b038116811462000cf857600080fd5b8035620013ce8162001ffb565b6000602082840312156200203157600080fd5b813562000d0d8162001ffb565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156200207a576200207a6200203e565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620020ab57620020ab6200203e565b604052919050565b600082601f830112620020c557600080fd5b813560206001600160401b03821115620020e357620020e36200203e565b8160051b620020f482820162002080565b92835284810182019282810190878511156200210f57600080fd5b83870192505b84831015620021305782358252918301919083019062002115565b979650505050505050565b600080600080600060a086880312156200215457600080fd5b85356001600160401b03808211156200216c57600080fd5b908701906080828a0312156200218157600080fd5b909550602087013590620021958262001ffb565b909450604087013590620021a98262001ffb565b90935060608701359080821115620021c057600080fd5b620021ce89838a01620020b3565b93506080880135915080821115620021e557600080fd5b50620021f488828901620020b3565b9150509295509295909350565b6000602082840312156200221457600080fd5b81356001600160401b038111156200222b57600080fd5b8201610180818503121562000d0d57600080fd5b600080604083850312156200225357600080fd5b823591506020830135620022678162001ffb565b809150509250929050565b801515811462000cf857600080fd5b6000806000606084860312156200229757600080fd5b83359250602084013591506040840135620022b28162002272565b809150509250925092565b60006001600160401b03821115620022d957620022d96200203e565b50601f01601f191660200190565b600082601f830112620022f957600080fd5b8135620023106200230a82620022bd565b62002080565b8181528460208386010111156200232657600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156200235657600080fd5b81356001600160401b03808211156200236e57600080fd5b9083019061012082860312156200238457600080fd5b6200238e62002054565b82358152620023a06020840162002011565b6020820152620023b36040840162002011565b6040820152606083013582811115620023cb57600080fd5b620023d987828601620020b3565b606083015250608083013582811115620023f257600080fd5b6200240087828601620020b3565b60808301525060a083013560a082015260c083013560c08201526200242860e0840162002011565b60e082015261010080840135838111156200244257600080fd5b6200245088828701620022e7565b918301919091525095945050505050565b60005b838110156200247e57818101518382015260200162002464565b50506000910152565b60008151808452620024a181602086016020860162002461565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620024e19083018562002487565b828103606084015262002130818562002487565b600080604083850312156200250957600080fd5b823591506020830135620022678162002272565b60008083601f8401126200253057600080fd5b5081356001600160401b038111156200254857600080fd5b6020830191508360208260051b85010111156200256457600080fd5b9250929050565b60008083601f8401126200257e57600080fd5b5081356001600160401b038111156200259657600080fd5b6020830191508360208285010111156200256457600080fd5b60008060008060008060008060a0898b031215620025cc57600080fd5b8835620025d98162001ffb565b97506020890135620025eb8162001ffb565b965060408901356001600160401b03808211156200260857600080fd5b620026168c838d016200251d565b909850965060608b01359150808211156200263057600080fd5b6200263e8c838d016200251d565b909650945060808b01359150808211156200265857600080fd5b50620026678b828c016200256b565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156200269557600080fd5b8635620026a28162001ffb565b95506020870135620026b48162001ffb565b9450604087013593506060870135925060808701356001600160401b03811115620026de57600080fd5b620026ec89828a016200256b565b979a9699509497509295939492505050565b6000606082840312156200271157600080fd5b604051606081018181106001600160401b03821117156200273657620027366200203e565b6040528251815260208301516200274d8162001ffb565b60208201526040928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b600060808284031215620027c657600080fd5b604051608081016001600160401b038282108183111715620027ec57620027ec6200203e565b816040528293508435835260208501359150620028098262001ffb565b81602084015260408501359150808211156200282457600080fd5b6200283286838701620022e7565b604084015260608501359150808211156200284c57600080fd5b506200285b85828601620022e7565b6060830152505092915050565b6000620004823683620027b3565b600081518084526020808501945080840160005b83811015620028a8578151875295820195908201906001016200288a565b509495945050505050565b8481526001600160a01b0384166020820152608060408201819052600090620028df9083018562002876565b828103606084015262002130818562002876565b6000808335601e198436030181126200290b57600080fd5b8301803591506001600160401b038211156200292657600080fd5b6020019150368190038213156200256457600080fd5b600080858511156200294d57600080fd5b838611156200295b57600080fd5b5050820193919092039150565b600080600080600060a086880312156200298157600080fd5b85356001600160401b03808211156200299957600080fd5b620029a789838a01620027b3565b965060208801359150620021958262001ffb565b6000808335601e19843603018112620029d357600080fd5b83016020810192503590506001600160401b03811115620029f357600080fd5b8036038213156200256457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815283356060820152600062002a476020860162002011565b6001600160a01b038116608084015250604085013560a0830152606085013560c083015262002a796080860162002011565b6001600160a01b031660e083015262002a9560a0860162002011565b61010062002aad818501836001600160a01b03169052565b62002abb60c0880162002011565b915061012062002ad5818601846001600160a01b03169052565b610140925060e08801358386015261016082890135818701526101809250818901358387015262002b09848a018a620029bb565b94509150826101a087015262002b256101e08701858462002a03565b935062002b35818a018a620029bb565b9350915050605f19858403016101c086015262002b5483838362002a03565b935050505062002b6f60208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b60006020828403121562002b9957600080fd5b5051919050565b6001600160a01b038416815260606020820181905260009062002bc69083018562002876565b828103604084015262002bda818562002876565b9695505050505050565b60608152600062002bf9606083018662002876565b828103602084015262002c0d818662002876565b9150508215156040830152949350505050565b818103818111156200048257634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002c6a60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002c9a60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002d0d6101a086018462002487565b90860151858203601f19018387015290925062002bda838262002487565b600181811c9082168062002d4057607f821691505b60208210810362002d6157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562002d7a57600080fd5b815162000d0d8162001ffb565b60006020828403121562002d9a57600080fd5b815162000d0d8162002272565b60006020828403121562002dba57600080fd5b81516001600160401b0381111562002dd157600080fd5b8201601f8101841362002de357600080fd5b805162002df46200230a82620022bd565b81815285602083850101111562002e0a57600080fd5b62002e1d82602083016020860162002461565b95945050505050565b8051825260018060a01b036020820151166020830152600060408201516080604085015262002e59608085018262002487565b90506060830151848203606086015262002e1d828262002487565b60a08152600062002e8960a083018862002e26565b6001600160a01b03878116602085015286166040840152828103606084015262002eb4818662002876565b9050828103608084015262002eca818562002876565b98975050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208152600062000d0d602083018462002e26565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002f6b9083018562002487565b828103608084015262002eca818562002487565b6001600160e01b031983168152815160009062002fa481600485016020870162002461565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002e1d9083018462002487565b601f8211156200148f57600081815260208120601f850160051c81016020861015620030095750805b601f850160051c820191505b818110156200302a5782815560010162003015565b505050505050565b81516001600160401b038111156200304e576200304e6200203e565b62003066816200305f845462002d2b565b8462002fe0565b602080601f8311600181146200309e5760008415620030855750858301515b600019600386901b1c1916600185901b1785556200302a565b600085815260208120601f198616915b82811015620030cf57888601518255948401946001909101908401620030ae565b5085821015620030ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003113604083018562002487565b828103602084015262002e1d81856200248756fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61245880620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c8063715018a6116100b8578063a86f9d9e1161007c578063a86f9d9e1461029c578063d1399b1a146102af578063e985e9c5146102c2578063f242432a146102fe578063f2fde38b14610311578063f5298aca1461032457600080fd5b8063715018a6146102545780637cf8ed0d1461025c5780638da5cb5b1461027057806395d89b4114610281578063a22cb4651461028957600080fd5b8063156e29f61161010a578063156e29f6146101cc5780632eb2c2d6146101df5780633ab76e9f146101f257806349d12605146102175780634e1273f4146102215780636c6563f61461024157600080fd5b8062fdd58e1461014657806301ffc9a71461016c5780630652b57a1461018f57806306fdde03146101a45780630e89341c146101b9575b600080fd5b6101596101543660046118e5565b610337565b6040519081526020015b60405180910390f35b61017f61017a366004611927565b6103d2565b6040519015158152602001610163565b6101a261019d366004611944565b610422565b005b6101ac61049b565b60405161016391906119b1565b6101ac6101c73660046119c4565b6104d1565b6101a26101da3660046119dd565b610565565b6101a26101ed366004611b5e565b61061b565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610163565b61015961012e5481565b61023461022f366004611c0c565b610667565b6040516101639190611d14565b6101ff61024f366004611d3c565b610791565b6101a26107a8565b61012d546101ff906001600160a01b031681565b6065546001600160a01b03166101ff565b6101ac6107bc565b6101a2610297366004611d71565b61084b565b6101ff6102aa366004611da6565b61085a565b6101a26102bd366004611dc9565b610867565b61017f6102d0366004611e2c565b6001600160a01b03918216600090815260fc6020908152604080832093909416825291909152205460ff1690565b6101a261030c366004611e65565b610a10565b6101a261031f366004611944565b610a46565b6101a26103323660046119dd565b610abf565b60006001600160a01b0383166103a75760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815260fb602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061040357506001600160e01b031982166303a24d0760e21b145b806103cc57506301ffc9a760e01b6001600160e01b03198316146103cc565b61042a610b5b565b6001600160a01b03811661045157604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606101306104ac61012e54610bb5565b6040516020016104bd929190611f08565b604051602081830303815290604052905090565b606060fd80546104e090611ece565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90611ece565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b50505050509050919050565b6c195c98cc4c4d4d57dd985d5b1d609a1b61058181600161085a565b6001600160a01b0316336001600160a01b0316146105b257604051630d85cccf60e11b815260040160405180910390fd5b6105cd84848460405180602001604052806000815250610c48565b60408051848152602081018490526001600160a01b038616916000917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc4491015b60405180910390a350505050565b6001600160a01b038516331480610637575061063785336102d0565b6106535760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585610d5e565b5050505050565b606081518351146106cc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161039e565b6000835167ffffffffffffffff8111156106e8576106e8611a12565b604051908082528060200260200182016040528015610711578160200160208202803683370190505b50905060005b84518110156107895761075c85828151811061073557610735611fec565b602002602001015185838151811061074f5761074f611fec565b6020026020010151610337565b82828151811061076e5761076e611fec565b602090810291909101015261078281612018565b9050610717565b509392505050565b600061079e848484610f36565b90505b9392505050565b6107b0610b5b565b6107ba6000610fea565b565b61012f80546107ca90611ece565b80601f01602080910402602001604051908101604052809291908181526020018280546107f690611ece565b80156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b61085633838361103c565b5050565b60006107a1468484610f36565b600054610100900460ff16158080156108875750600054600160ff909116105b806108a15750303b1580156108a1575060005460ff166001145b6109045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610927576000805461ff0019166101001790555b6001600160a01b038516158061093b575083155b8061094557504684145b1561096357604051635d061ab760e11b815260040160405180910390fd5b61096c8661111c565b61098460405180602001604052806000815250611135565b61012d80546001600160a01b0319166001600160a01b03871617905561012e84905561012f6109b3848261207c565b506101306109c1838261207c565b508015610a08576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b306001600160a01b03851603610a3957604051636cfe544760e01b815260040160405180910390fd5b6106608585858585611165565b610a4e610b5b565b6001600160a01b038116610ab35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b610abc81610fea565b50565b6c195c98cc4c4d4d57dd985d5b1d609a1b610adb81600161085a565b6001600160a01b0316336001600160a01b031614610b0c57604051630d85cccf60e11b815260040160405180910390fd5b610b178484846111aa565b60408051848152602081018490526000916001600160a01b038716917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910161060d565b6065546001600160a01b031633146107ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b60606000610bc283611329565b600101905060008167ffffffffffffffff811115610be257610be2611a12565b6040519080825280601f01601f191660200182016040528015610c0c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c1657509392505050565b6001600160a01b038416610ca85760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161039e565b336000610cb485611401565b90506000610cc185611401565b9050600086815260fb602090815260408083206001600160a01b038b16845290915281208054879290610cf590849061213c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610d558360008989898961144c565b50505050505050565b8151835114610dc05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b606482015260840161039e565b6001600160a01b038416610de65760405162461bcd60e51b815260040161039e9061214f565b3360005b8451811015610ed0576000858281518110610e0757610e07611fec565b602002602001015190506000858381518110610e2557610e25611fec565b602090810291909101810151600084815260fb835260408082206001600160a01b038e168352909352919091205490915081811015610e765760405162461bcd60e51b815260040161039e90612194565b600083815260fb602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610eb590849061213c565b9250508190555050505080610ec990612018565b9050610dea565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610f209291906121de565b60405180910390a4610a088187878787876115a7565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab919061220c565b905081158015610fc257506001600160a01b038116155b156107a157604051631467050360e21b8152600481018590526024810184905260440161039e565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036110af5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161039e565b6001600160a01b03838116600081815260fc6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611124611662565b61112c611691565b610abc816116c0565b600054610100900460ff1661115c5760405162461bcd60e51b815260040161039e90612229565b610abc81611709565b6001600160a01b038516331480611181575061118185336102d0565b61119d5760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585611739565b6001600160a01b03831661120c5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161039e565b33600061121884611401565b9050600061122584611401565b604080516020808201835260009182905288825260fb81528282206001600160a01b038b16835290522054909150848110156112af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b606482015260840161039e565b600086815260fb602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610d55565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611394576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113b257662386f26fc10000830492506010015b6305f5e10083106113ca576305f5e100830492506008015b61271083106113de57612710830492506004015b606483106113f0576064830492506002015b600a83106103cc5760010192915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061143b5761143b611fec565b602090810291909101015292915050565b6001600160a01b0384163b15610a085760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114909089908990889088908890600401612274565b6020604051808303816000875af19250505080156114cb575060408051601f3d908101601f191682019092526114c8918101906122b9565b60015b611577576114d76122d6565b806308c379a00361151057506114eb6122f2565b806114f65750611512565b8060405162461bcd60e51b815260040161039e91906119b1565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161039e565b6001600160e01b0319811663f23a6e6160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b6001600160a01b0384163b15610a085760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115eb90899089908890889088906004016123c4565b6020604051808303816000875af1925050508015611626575060408051601f3d908101601f19168201909252611623918101906122b9565b60015b611632576114d76122d6565b6001600160e01b0319811663bc197c8160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b600054610100900460ff166116895760405162461bcd60e51b815260040161039e90612229565b6107ba611867565b600054610100900460ff166116b85760405162461bcd60e51b815260040161039e90612229565b6107ba611894565b6001600160a01b0381166116e757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166117305760405162461bcd60e51b815260040161039e90612229565b610abc816118c4565b6001600160a01b03841661175f5760405162461bcd60e51b815260040161039e9061214f565b33600061176b85611401565b9050600061177885611401565b9050600086815260fb602090815260408083206001600160a01b038c168452909152902054858110156117bd5760405162461bcd60e51b815260040161039e90612194565b600087815260fb602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906117fc90849061213c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461185c848a8a8a8a8a61144c565b505050505050505050565b600054610100900460ff1661188e5760405162461bcd60e51b815260040161039e90612229565b60018055565b600054610100900460ff166118bb5760405162461bcd60e51b815260040161039e90612229565b6107ba33610fea565b60fd610856828261207c565b6001600160a01b0381168114610abc57600080fd5b600080604083850312156118f857600080fd5b8235611903816118d0565b946020939093013593505050565b6001600160e01b031981168114610abc57600080fd5b60006020828403121561193957600080fd5b81356107a181611911565b60006020828403121561195657600080fd5b81356107a1816118d0565b60005b8381101561197c578181015183820152602001611964565b50506000910152565b6000815180845261199d816020860160208601611961565b601f01601f19169290920160200192915050565b6020815260006107a16020830184611985565b6000602082840312156119d657600080fd5b5035919050565b6000806000606084860312156119f257600080fd5b83356119fd816118d0565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611a4e57611a4e611a12565b6040525050565b600067ffffffffffffffff821115611a6f57611a6f611a12565b5060051b60200190565b600082601f830112611a8a57600080fd5b81356020611a9782611a55565b604051611aa48282611a28565b83815260059390931b8501820192828101915086841115611ac457600080fd5b8286015b84811015611adf5780358352918301918301611ac8565b509695505050505050565b600082601f830112611afb57600080fd5b813567ffffffffffffffff811115611b1557611b15611a12565b604051611b2c601f8301601f191660200182611a28565b818152846020838601011115611b4157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611b7657600080fd5b8535611b81816118d0565b94506020860135611b91816118d0565b9350604086013567ffffffffffffffff80821115611bae57600080fd5b611bba89838a01611a79565b94506060880135915080821115611bd057600080fd5b611bdc89838a01611a79565b93506080880135915080821115611bf257600080fd5b50611bff88828901611aea565b9150509295509295909350565b60008060408385031215611c1f57600080fd5b823567ffffffffffffffff80821115611c3757600080fd5b818501915085601f830112611c4b57600080fd5b81356020611c5882611a55565b604051611c658282611a28565b83815260059390931b8501820192828101915089841115611c8557600080fd5b948201945b83861015611cac578535611c9d816118d0565b82529482019490820190611c8a565b96505086013592505080821115611cc257600080fd5b50611ccf85828601611a79565b9150509250929050565b600081518084526020808501945080840160005b83811015611d0957815187529582019590820190600101611ced565b509495945050505050565b6020815260006107a16020830184611cd9565b80358015158114611d3757600080fd5b919050565b600080600060608486031215611d5157600080fd5b8335925060208401359150611d6860408501611d27565b90509250925092565b60008060408385031215611d8457600080fd5b8235611d8f816118d0565b9150611d9d60208401611d27565b90509250929050565b60008060408385031215611db957600080fd5b82359150611d9d60208401611d27565b600080600080600060a08688031215611de157600080fd5b8535611dec816118d0565b94506020860135611dfc816118d0565b935060408601359250606086013567ffffffffffffffff80821115611e2057600080fd5b611bdc89838a01611aea565b60008060408385031215611e3f57600080fd5b8235611e4a816118d0565b91506020830135611e5a816118d0565b809150509250929050565b600080600080600060a08688031215611e7d57600080fd5b8535611e88816118d0565b94506020860135611e98816118d0565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ec257600080fd5b611bff88828901611aea565b600181811c90821680611ee257607f821691505b602082108103611f0257634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611f1681611ece565b60018281168015611f2e5760018114611f4357611f72565b60ff1984168752821515830287019450611f72565b8860005260208060002060005b85811015611f695781548a820152908401908201611f50565b50505082870194505b50506241c55b60e71b835250508351611f92816004840160208801611961565b01600401949350505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161202a5761202a612002565b5060010190565b601f82111561207757600081815260208120601f850160051c810160208610156120585750805b601f850160051c820191505b81811015610a0857828155600101612064565b505050565b815167ffffffffffffffff81111561209657612096611a12565b6120aa816120a48454611ece565b84612031565b602080601f8311600181146120df57600084156120c75750858301515b600019600386901b1c1916600185901b178555610a08565b600085815260208120601f198616915b8281101561210e578886015182559484019460019091019084016120ef565b508582101561212c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156103cc576103cc612002565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006121f16040830185611cd9565b82810360208401526122038185611cd9565b95945050505050565b60006020828403121561221e57600080fd5b81516107a1816118d0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122ae90830184611985565b979650505050505050565b6000602082840312156122cb57600080fd5b81516107a181611911565b600060033d11156122ef5760046000803e5060005160e01c5b90565b600060443d10156123005790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561233057505050505090565b82850191508151818111156123485750505050505090565b843d87010160208285010111156123625750505050505090565b61237160208286010187611a28565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906123f090830186611cd9565b82810360608401526124028186611cd9565b905082810360808401526124168185611985565b9897505050505050505056fea2646970667358221220ee7f810feef1b382c8ef11eb3d6f0b845bda726deaea1e489e353f59025211be64736f6c63430008140033a2646970667358221220ea3ce65f4b921acac47f314a689a5ec16ba6d76cce7b6d58b3b98a450302fd6b64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000009": { + "contractName": "ERC1155VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000009" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a8d565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a8d565b610320565b34801561014057600080fd5b506100ed61014f366004610abf565b610438565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af4565b6104f1565b3480156101b757600080fd5b506100ed610508565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b29565b61051c565b34801561020a57600080fd5b506100ed610219366004610b4c565b610529565b34801561022a57600080fd5b506100ed610239366004610b78565b6105ee565b34801561024a57600080fd5b506100ed610259366004610a8d565b610671565b34801561026a57600080fd5b50610297610279366004610a8d565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106e7565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156103405750600054600160ff909116105b8061035a5750303b15801561035a575060005460ff166001145b6103c25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103e5576000805461ff0019166101001790555b6103ee82610741565b8015610434576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6104406106e7565b6001600160a01b038216158061047457506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049257604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006104fe84848461075a565b90505b9392505050565b6105106106e7565b61051a600061080e565b565b600061050146848461075a565b33600090815260c9602052604090205460ff1661055957604051634fa3f24560e01b815260040160405180910390fd5b610561610860565b80156105e5576001600160a01b03821661058e5760405163687563df60e01b815260040160405180910390fd5b6105a16001600160a01b038316826108b9565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105dc91815260200190565b60405180910390a25b61043460018055565b33600090815260c9602052604090205460ff1661061e57604051634fa3f24560e01b815260040160405180910390fd5b610626610860565b61063033826108b9565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261066e60018055565b50565b6106796106e7565b6001600160a01b0381166106de5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b9565b61066e8161080e565b6065546001600160a01b0316331461051a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b9565b61074961097a565b6107516109a9565b61066e816109d8565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190610b91565b9050811580156107e657506001600160a01b038116155b1561050157604051631467050360e21b815260048101859052602481018490526044016103b9565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103b9565b6002600155565b8015806108cd57506001600160a01b038216155b156108d6575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610923576040519150601f19603f3d011682016040523d82523d6000602084013e610928565b606091505b505090508061096f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103b9565b505050565b60018055565b600054610100900460ff166109a15760405162461bcd60e51b81526004016103b990610bae565b61051a610a21565b600054610100900460ff166109d05760405162461bcd60e51b81526004016103b990610bae565b61051a610a48565b6001600160a01b0381166109ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109745760405162461bcd60e51b81526004016103b990610bae565b600054610100900460ff16610a6f5760405162461bcd60e51b81526004016103b990610bae565b61051a3361080e565b6001600160a01b038116811461066e57600080fd5b600060208284031215610a9f57600080fd5b813561050181610a78565b80358015158114610aba57600080fd5b919050565b60008060408385031215610ad257600080fd5b8235610add81610a78565b9150610aeb60208401610aaa565b90509250929050565b600080600060608486031215610b0957600080fd5b8335925060208401359150610b2060408501610aaa565b90509250925092565b60008060408385031215610b3c57600080fd5b82359150610aeb60208401610aaa565b60008060408385031215610b5f57600080fd5b8235610b6a81610a78565b946020939093013593505050565b600060208284031215610b8a57600080fd5b5035919050565b600060208284031215610ba357600080fd5b815161050181610a78565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204c31d592cfc1ec7ee55355c17834d2e62089d97edf1b79bd01f89108c83709d164736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a23565b6101e0565b005b6100cc6100dc366004611a23565b610259565b6100f46100ef366004611a40565b610371565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a6c565b6103e3565b61015461014f366004611b02565b61055d565b604051908152602001610100565b610116610170366004611b30565b6105a4565b6100cc6105bb565b6065546001600160a01b0316610116565b61011661019c366004611b65565b6105cf565b6100cc6101af366004611a23565b6105e5565b6101546101c2366004611a40565b6040805192835260208301919091526034600c830120918101905290565b6101e861065e565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156102795750600054600160ff909116105b806102935750303b158015610293575060005460ff166001145b6102fb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561031e576000805461ff0019166101001790555b610327826106b8565b801561036d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000826001600160a01b03811661039b576040516354cdfc8d60e11b815260040160405180910390fd5b8260008190036103be5760405163014f1da760e21b815260040160405180910390fd5b5050604080519384526020840192909252506034600c83012091810190525460011490565b6000854681036104065760405163e822b48d60e01b815260040160405180910390fd5b856001600160a01b03811661042e576040516354cdfc8d60e11b815260040160405180910390fd5b8560008190036104515760405163014f1da760e21b815260040160405180910390fd5b600061045f86880188611c01565b90506000610476647461696b6f60d81b60006105cf565b825160405163016674a560e21b815267ffffffffffffffff90911660048201526001600160a01b039190911690630599d29490602401602060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611cd6565b604080518c8152602081018c90526034600c820120818301909252606081019190915290915061054e90608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106d1565b9b9a5050505050505050505050565b6000818082036105805760405163014f1da760e21b815260040160405180910390fd5b50506040805133815260208101929092526034600c83012091810190526001815590565b60006105b18484846106f5565b90505b9392505050565b6105c361065e565b6105cd60006107a9565b565b60006105dc4684846106f5565b90505b92915050565b6105ed61065e565b6001600160a01b0381166106525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f2565b61065b816107a9565b50565b6065546001600160a01b031633146105cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f2565b6106c06107fb565b6106c861082a565b61065b81610859565b6000806106dd866108a2565b90506106eb818686866108d4565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a9190611cef565b90508115801561078157506001600160a01b038116155b156105b457604051631467050360e21b815260048101859052602481018490526044016102f2565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108225760405162461bcd60e51b81526004016102f290611d0c565b6105cd610911565b600054610100900460ff166108515760405162461bcd60e51b81526004016102f290611d0c565b6105cd61093e565b6001600160a01b03811661088057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108be91815260200190565b6040516020818303038152906040529050919050565b60008060006108e487868661096e565b9150915081801561090657508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff166109385760405162461bcd60e51b81526004016102f290611d0c565b60018055565b600054610100900460ff166109655760405162461bcd60e51b81526004016102f290611d0c565b6105cd336107a9565b60006060600061097d85610a49565b9050600080600061098f848a89610b42565b815192955090935091501580806109a35750815b6109ef5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102f2565b600081610a0b5760405180602001604052806000815250610a37565b610a3786610a1a600188611d6d565b81518110610a2a57610a2a611d80565b6020026020010151610f62565b919b919a509098505050505050505050565b60606000610a5683610f89565b90506000815167ffffffffffffffff811115610a7457610a74611b91565b604051908082528060200260200182016040528015610ab957816020015b6040805180820190915260608082526020820152815260200190600190039081610a925790505b50905060005b8251811015610b3a576000610aec848381518110610adf57610adf611d80565b6020026020010151610fbc565b90506040518060400160405280610b0283610f89565b815260200182815250838381518110610b1d57610b1d611d80565b60200260200101819052505080610b3390611d96565b9050610abf565b509392505050565b600060606000806000610b548761104c565b90506000869050600080610b7b604051806040016040528060608152602001606081525090565b60005b8c51811015610f3a578c8181518110610b9957610b99611d80565b602002602001015191508284610baf9190611daf565b9350610bbc600188611daf565b965083600003610c19578482602001518051906020012014610c145760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102f2565b610cdb565b602082602001515110610c80578482602001518051906020012014610c145760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102f2565b84610c8e8360200151611185565b14610cdb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102f2565b610ce760106001611dc2565b60ff1682600001515103610d555785518414610f3a576000868581518110610d1157610d11611d80565b01602001518351805160f89290921c925060009183908110610d3557610d35611d80565b60200260200101519050610d48816111ad565b9650600194505050610f2a565b81515160011901610ee2576000610d6b836111e3565b9050600081600081518110610d8257610d82611d80565b016020015160f81c90506000610d99600283611ddb565b610da4906002611e0b565b90506000610db5848360ff16611207565b90506000610dc38b8a611207565b90506000610dd1838361123d565b905060ff851660021480610de8575060ff85166003145b15610e2257808351148015610dfd5750808251145b15610e0f57610e0c818b611daf565b99505b50600160ff1b9950610f3a945050505050565b60ff85161580610e35575060ff85166001145b15610e8b5782518114610e555750600160ff1b9950610f3a945050505050565b610e7c8860000151600181518110610e6f57610e6f611d80565b60200260200101516111ad565b9a509750610f2a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102f2565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102f2565b610f3381611d96565b9050610b7e565b50600160ff1b841486610f4d8786611207565b909e909d50909b509950505050505050505050565b805180516060916105df91610f7990600190611d6d565b81518110610adf57610adf611d80565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906105df906112b7565b60606000806000610fcc856114a3565b919450925090506000816001811115610fe757610fe7611e24565b146110345760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102f2565b611043856020015184846117ed565b95945050505050565b606060008251600261105e9190611e3a565b67ffffffffffffffff81111561107657611076611b91565b6040519080825280601f01601f1916602001820160405280156110a0576020820181803683370190505b50905060005b835181101561117e5760048482815181106110c3576110c3611d80565b01602001516001600160f81b031916901c826110e0836002611e3a565b815181106110f0576110f0611d80565b60200101906001600160f81b031916908160001a905350601084828151811061111b5761111b611d80565b016020015161112d919060f81c611ddb565b60f81b8261113c836002611e3a565b611147906001611daf565b8151811061115757611157611d80565b60200101906001600160f81b031916908160001a90535061117781611d96565b90506110a6565b5092915050565b600060208251101561119957506020015190565b818060200190518101906105df9190611cd6565b600060606020836000015110156111ce576111c783611896565b90506111da565b6111d783610fbc565b90505b6105b481611185565b60606105df6112028360000151600081518110610adf57610adf611d80565b61104c565b60608251821061122657506040805160208101909152600081526105df565b6105dc83838486516112389190611d6d565b6118a1565b6000805b8084511180156112515750808351115b80156112a2575082818151811061126a5761126a611d80565b602001015160f81c60f81b6001600160f81b03191684828151811061129157611291611d80565b01602001516001600160f81b031916145b156105dc576112b081611d96565b9050611241565b60606000806112c5846114a3565b919350909150600190508160018111156112e1576112e1611e24565b1461132e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102f2565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816113475790505090506000835b865181101561149857602082106113e05760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102f2565b60008061141d6040518060400160405280858c600001516114019190611d6d565b8152602001858c602001516114169190611daf565b90526114a3565b5091509150604051806040016040528083836114399190611daf565b8152602001848b6020015161144e9190611daf565b81525085858151811061146357611463611d80565b6020908102919091010152611479600185611daf565b93506114858183611daf565b61148f9084611daf565b92505050611374565b508152949350505050565b6000806000808460000151116114fb5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102f2565b6020840151805160001a607f81116115205760006001600094509450945050506117e6565b60b7811161159c576000611535608083611d6d565b90508087600001511161158a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102f2565b600195509350600092506117e6915050565b60bf811161168b5760006115b160b783611d6d565b9050808760000151116116065760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102f2565b600183015160208290036101000a90046116208183611daf565b88511161166f5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102f2565b61167a826001611daf565b96509450600093506117e692505050565b60f781116117065760006116a060c083611d6d565b9050808760000151116116f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102f2565b6001955093508492506117e6915050565b600061171360f783611d6d565b9050808760000151116117685760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102f2565b600183015160208290036101000a90046117828183611daf565b8851116117ca5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102f2565b6117d5826001611daf565b96509450600193506117e692505050565b9193909250565b606060008267ffffffffffffffff81111561180a5761180a611b91565b6040519080825280601f01601f191660200182016040528015611834576020820181803683370190505b50905080516000036118475790506105b4565b8484016020820160005b85811015611869578281015182820152602001611851565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606105df826119f8565b6060816118af81601f611daf565b10156118ee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b826118f98382611daf565b10156119385760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b6119428284611daf565b845110156119865760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102f2565b6060821580156119a557604051915060008252602082016040526119ef565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119de5780518352602092830192016119c6565b5050858452601f01601f1916604052505b50949350505050565b60606105df8260200151600084600001516117ed565b6001600160a01b038116811461065b57600080fd5b600060208284031215611a3557600080fd5b81356105dc81611a0e565b60008060408385031215611a5357600080fd5b8235611a5e81611a0e565b946020939093013593505050565b600080600080600060808688031215611a8457600080fd5b853594506020860135611a9681611a0e565b935060408601359250606086013567ffffffffffffffff80821115611aba57600080fd5b818801915088601f830112611ace57600080fd5b813581811115611add57600080fd5b896020828501011115611aef57600080fd5b9699959850939650602001949392505050565b600060208284031215611b1457600080fd5b5035919050565b80358015158114611b2b57600080fd5b919050565b600080600060608486031215611b4557600080fd5b8335925060208401359150611b5c60408501611b1b565b90509250925092565b60008060408385031215611b7857600080fd5b82359150611b8860208401611b1b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bca57611bca611b91565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf957611bf9611b91565b604052919050565b60006020808385031215611c1457600080fd5b823567ffffffffffffffff80821115611c2c57600080fd5b9084019060408287031215611c4057600080fd5b611c48611ba7565b82358281168114611c5857600080fd5b81528284013582811115611c6b57600080fd5b80840193505086601f840112611c8057600080fd5b823582811115611c9257611c92611b91565b611ca4601f8201601f19168601611bd0565b92508083528785828601011115611cba57600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b81516105dc81611a0e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105df576105df611d57565b634e487b7160e01b600052603260045260246000fd5b600060018201611da857611da8611d57565b5060010190565b808201808211156105df576105df611d57565b60ff81811683821601908111156105df576105df611d57565b600060ff831680611dfc57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156105df576105df611d57565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176105df576105df611d5756fea2646970667358221220c8e5d2f03cdfd05271211f91051ea017cc78712d374c157f61c7f6293b421c5864736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4b9b777e5e3847acfd8740f275a6896b3f3a10ae36191d153fdb5ef40d61b6c1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x9e7a5276a30d934c5fffd9ef18e4dcae10597352188cecf658522b6bf4d924d3": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/snaefellsjokull.json taikoxyz/taiko-geth/core/taiko_genesis/snaefellsjokull.json new file mode 100644 index 0000000000000000000000000000000000000000..01ce4e45c7d785d860e9e73a0645ac95da4d1729 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/snaefellsjokull.json @@ -0,0 +1,98 @@ +{ + "0x26250179C8e8E12104e556C4Cd03bCF4dabd51b9": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9D716db5fF59f8dd903D44a56C41BcbE99bA666c": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x11f080128e565c07caD6fF7ADbb50Be1f62B84DB": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x617138FAdFEeE2E57f87cCba7dd6D6902aB0427d": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x5fa99CB8C2201B2a8CFfe2edfbF11ed6B78cb069": { + "balance": "0x8ac7230489e80000" + }, + "0xC5d653E17c24928B788a17838F11d2AcF0c922A3": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063960304391461003a575b600080fd5b61004d6100483660046119a5565b61004f565b005b60008061005e83850185611b39565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608b901b166020820152919350915060009081906100b490603401604051602081830303815290604052858c6101d3565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101fc565b9050600061013c8260028151811061012f5761012f611b9d565b6020026020010151610235565b905060006101758b60405160200161015691815260200190565b60405160208183030381529060405261016e8c610338565b888561034b565b9050806101c45760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c69642073746f726167652070726f6f66000000000000006044820152606401610101565b50505050505050505050505050565b6000606060006101e286610365565b90506101ef818686610397565b9250925050935093915050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061022f90610472565b92915050565b600060218260000151111561028c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061029a85610671565b9194509250905060008160018111156102b5576102b5611bcc565b146103025760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516103149190611c2a565b8051909150602084101561032e5760208490036101000a90045b9695505050505050565b606061022f610346836109c2565b610b2d565b60008061035786610365565b905061032e81868686610b9c565b6060818051906020012060405160200161038191815260200190565b6040516020818303038152906040529050919050565b6000606060006103a685610bd9565b905060008060006103b8848a89610cd4565b815192955090935091501580806103cc5750815b6104185760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816104345760405180602001604052806000815250610460565b61046086610443600188611c42565b8151811061045357610453611b9d565b602002602001015161116f565b919b919a509098505050505050505050565b606060008061048084610671565b9193509091506001905081600181111561049c5761049c611bcc565b146104e95760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816105025790505090506000835b865181101561066657602082106105ae5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610101565b6000806105eb6040518060400160405280858c600001516105cf9190611c42565b8152602001858c602001516105e49190611c2a565b9052610671565b5091509150604051806040016040528083836106079190611c2a565b8152602001848b6020015161061c9190611c2a565b81525085858151811061063157610631611b9d565b6020908102919091010152610647600185611c2a565b93506106538183611c2a565b61065d9084611c2a565b9250505061052f565b508152949350505050565b6000806000808460000151116106c95760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f81116106ee5760006001600094509450945050506109bb565b60b7811161076a576000610703608083611c42565b9050808760000151116107585760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b600195509350600092506109bb915050565b60bf811161085957600061077f60b783611c42565b9050808760000151116107d45760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a90046107ee8183611c2a565b88511161083d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b610848826001611c2a565b96509450600093506109bb92505050565b60f781116108d457600061086e60c083611c42565b9050808760000151116108c35760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b6001955093508492506109bb915050565b60006108e160f783611c42565b9050808760000151116109365760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046109508183611c2a565b88511161099f5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610101565b6109aa826001611c2a565b96509450600193506109bb92505050565b9193909250565b60606000826040516020016109d991815260200190565b604051602081830303815290604052905060005b6020811015610a4b57818181518110610a0857610a08611b9d565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615610a3957610a4b565b80610a4381611c59565b9150506109ed565b6000610a58826020611c42565b67ffffffffffffffff811115610a7057610a70611a5f565b6040519080825280601f01601f191660200182016040528015610a9a576020820181803683370190505b50905060005b8151811015610b24578383610ab481611c59565b945081518110610ac657610ac6611b9d565b602001015160f81c60f81b828281518110610ae357610ae3611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610b1c81611c59565b915050610aa0565b50949350505050565b60608082516001148015610b5b5750608083600081518110610b5157610b51611b9d565b016020015160f81c105b15610b6757508161022f565b610b7383516080611199565b83604051602001610b85929190611ccd565b604051602081830303815290604052905092915050565b6000806000610bac878686610397565b91509150818015610bce57508051602080830191909120875191880191909120145b979650505050505050565b60606000610be6836101fc565b90506000815167ffffffffffffffff811115610c0457610c04611a5f565b604051908082528060200260200182016040528015610c4957816020015b6040805180820190915260608082526020820152815260200190600190039081610c225790505b50905060005b8251811015610ccc576000610c7c848381518110610c6f57610c6f611b9d565b6020026020010151611390565b90506040518060400160405280828152602001610c98836101fc565b815250838381518110610cad57610cad611b9d565b6020026020010181905250508080610cc490611c59565b915050610c4f565b509392505050565b60006060818080610ce487611420565b90506000869050600080610d0b604051806040016040528060608152602001606081525090565b60005b8c5181101561112b578c8181518110610d2957610d29611b9d565b602002602001015191508284610d3f9190611c2a565b9350610d4c600188611c2a565b965083610db057815180516020909101208514610dab5760405162461bcd60e51b815260206004820152601160248201527f496e76616c696420726f6f7420686173680000000000000000000000000000006044820152606401610101565b610e6d565b815151602011610e1257815180516020909101208514610dab5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610e2083600001516115a3565b14610e6d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610e7960106001611c2a565b8260200151511415610ef2578551841415610e935761112b565b6000868581518110610ea757610ea7611b9d565b602001015160f81c60f81b60f81c9050600083602001518260ff1681518110610ed257610ed2611b9d565b60200260200101519050610ee5816115cb565b9650600194505050611119565b600282602001515114156110d1576000610f0b83611601565b9050600081600081518110610f2257610f22611b9d565b016020015160f81c90506000610f39600283611d19565b610f44906002611d3b565b90506000610f55848360ff16611625565b90506000610f638b8a611625565b90506000610f71838361165b565b905060ff851660021480610f88575060ff85166003145b15610fde57808351148015610f9d5750808251145b15610faf57610fac818b611c2a565b99505b507f8000000000000000000000000000000000000000000000000000000000000000995061112b945050505050565b60ff85161580610ff1575060ff85166001145b15611063578251811461102d57507f8000000000000000000000000000000000000000000000000000000000000000995061112b945050505050565b611054886020015160018151811061104757611047611b9d565b60200260200101516115cb565b9a509750611119945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e2060448201527f70726566697800000000000000000000000000000000000000000000000000006064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b8061112381611c59565b915050610d0e565b507f800000000000000000000000000000000000000000000000000000000000000084148661115a8786611625565b909e909d50909b509950505050505050505050565b6020810151805160609161022f9161118990600190611c42565b81518110610c6f57610c6f611b9d565b606080603884101561121857604080516001808252818301909252906020820181803683370190505090506111ce8385611d5e565b60f81b816000815181106111e4576111e4611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611389565b600060015b6112278187611d83565b1561124d578161123681611c59565b9250611246905061010082611d97565b905061121d565b611258826001611c2a565b67ffffffffffffffff81111561127057611270611a5f565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5092506112a78583611d5e565b6112b2906037611d5e565b60f81b836000815181106112c8576112c8611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611386576101006113108284611c42565b61131c90610100611ef4565b6113269088611d83565b6113309190611f00565b60f81b83828151811061134557611345611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061137e81611c59565b9150506112fc565b50505b9392505050565b606060008060006113a085610671565b9194509250905060008160018111156113bb576113bb611bcc565b146114085760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b61141785602001518484611707565b95945050505050565b60606000825160026114329190611d97565b67ffffffffffffffff81111561144a5761144a611a5f565b6040519080825280601f01601f191660200182016040528015611474576020820181803683370190505b50905060005b835181101561159c57600484828151811061149757611497611b9d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c826114cc836002611d97565b815181106114dc576114dc611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350601084828151811061151f5761151f611b9d565b0160200151611531919060f81c611d19565b60f81b82611540836002611d97565b61154b906001611c2a565b8151811061155b5761155b611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061159481611c59565b91505061147a565b5092915050565b60006020825110156115b757506020015190565b8180602001905181019061022f9190611f14565b600060606020836000015110156115ec576115e5836117e6565b90506115f8565b6115f583611390565b90505b611389816115a3565b606061022f6116208360200151600081518110610c6f57610c6f611b9d565b611420565b606082518210611644575060408051602081019091526000815261022f565b61138983838486516116569190611c42565b6117f1565b6000805b80845111801561166f5750808351115b80156116f0575082818151811061168857611688611b9d565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168482815181106116c7576116c7611b9d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561138957806116ff81611c59565b91505061165f565b606060008267ffffffffffffffff81111561172457611724611a5f565b6040519080825280601f01601f19166020018201604052801561174e576020820181803683370190505b509050805160001415611762579050611389565b600061176e8587611c2a565b90506020820160005b611782602087611d83565b8110156117b95782518252611798602084611c2a565b92506117a5602083611c2a565b9150806117b181611c59565b915050611777565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b606061022f8261198f565b6060816117ff81601f611c2a565b101561184d5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610101565b826118588382611c2a565b10156118a65760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610101565b6118b08284611c2a565b845110156119005760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610101565b60608215801561191f5760405191506000825260208201604052610b24565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611958578051835260209283019201611940565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166040525050949350505050565b606061022f826020015160008460000151611707565b60008060008060008060a087890312156119be57600080fd5b86359550602087013573ffffffffffffffffffffffffffffffffffffffff811681146119e957600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff80821115611a1457600080fd5b818901915089601f830112611a2857600080fd5b813581811115611a3757600080fd5b8a6020828501011115611a4957600080fd5b6020830194508093505050509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611a9f57600080fd5b813567ffffffffffffffff80821115611aba57611aba611a5f565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611b0057611b00611a5f565b81604052838152866020858801011115611b1957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611b4c57600080fd5b823567ffffffffffffffff80821115611b6457600080fd5b611b7086838701611a8e565b93506020850135915080821115611b8657600080fd5b50611b9385828601611a8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611c3d57611c3d611bfb565b500190565b600082821015611c5457611c54611bfb565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611c8b57611c8b611bfb565b5060010190565b6000815160005b81811015611cb35760208185018101518683015201611c99565b81811115611cc2576000828601525b509290920192915050565b6000611ce2611cdc8386611c92565b84611c92565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060ff831680611d2c57611d2c611cea565b8060ff84160691505092915050565b600060ff821660ff841680821015611d5557611d55611bfb565b90039392505050565b600060ff821660ff84168060ff03821115611d7b57611d7b611bfb565b019392505050565b600082611d9257611d92611cea565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611dcf57611dcf611bfb565b500290565b600181815b80851115611e2d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611e1357611e13611bfb565b80851615611e2057918102915b93841c9390800290611dd9565b509250929050565b600082611e445750600161022f565b81611e515750600061022f565b8160018114611e675760028114611e7157611e8d565b600191505061022f565b60ff841115611e8257611e82611bfb565b50506001821b61022f565b5060208310610133831016604e8410600b8410161715611eb0575081810a61022f565b611eba8383611dd4565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611eec57611eec611bfb565b029392505050565b60006113898383611e35565b600082611f0f57611f0f611cea565b500690565b600060208284031215611f2657600080fd5b505191905056fea2646970667358221220f7f04c88df651530a5c547edaa8d0ac57b5adf851950adbf06f8245338f8d71564736f6c63430008090033", + "balance": "0x0" + }, + "0x8A9E82Ebf0E219BBdB4fBBd50FEd45d098a8Ba1e": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806346eb9db51461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046107f9565b61005c565b005b610140820135158061006b5750805b156101195761008060a0830160808401610880565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a64656e69656400000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600061012c610127846109a8565b610432565b90506001600082815260018701602052604090205460ff16600381111561015557610155610aaa565b146101bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6e6f74466f756e64000000000000000000000000000000000000000000006044820152606401610110565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff86169063461a44789060640160206040518083038186803b15801561025257600080fd5b505afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610ad9565b905073ffffffffffffffffffffffffffffffffffffffff81161561032d576040517f1efa4ec0000000000000000000000000000000000000000000000000000000008152610100850135600482015273ffffffffffffffffffffffffffffffffffffffff821690631efa4ec090602401600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050505b6103418661033a866109a8565b845a610462565b156103575761035286836002610634565b61042a565b82156103e95761036986836003610634565b60008061037c60e0870160c08801610880565b73ffffffffffffffffffffffffffffffffffffffff16146103ac576103a760e0860160c08701610880565b6103bc565b6103bc60a0860160808701610880565b90506103e373ffffffffffffffffffffffffffffffffffffffff8216610100870135610700565b5061042a565b73ffffffffffffffffffffffffffffffffffffffff81161561042a5761042a73ffffffffffffffffffffffffffffffffffffffff8216610100860135610700565b505050505050565b6000816040516020016104459190610b70565b604051602081830303815290604052805190602001209050919050565b60008082116104cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6761734c696d6974000000000000000000000000000000000000000000006044820152606401610110565b6040805160608101825284815260208681015173ffffffffffffffffffffffffffffffffffffffff90811691830182905287840151928401839052600389018790556004890180547fffffffffffffffffffffffff000000000000000000000000000000000000000016909217909155600588019190915560a08601516101008701516101608801519351919092169285929161056a9190610d04565b600060405180830381858888f193505050503d80600081146105a8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ad565b606091505b5050604080516060810182526001808252602082018190527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909201819052600388018290556004880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560059096019590955550929392505050565b80600381111561064657610646610aaa565b600083815260018501602052604090205460ff16600381111561066b5761066b610aaa565b146106fb57600082815260018085016020526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116908360038111156106bd576106bd610aaa565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634826040516106f29190610d20565b60405180910390a25b505050565b80156107d05760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610760576040519150601f19603f3d011682016040523d82523d6000602084013e610765565b606091505b50509050806106fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610110565b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f657600080fd5b50565b6000806000806080858703121561080f57600080fd5b843593506020850135610821816107d4565b9250604085013567ffffffffffffffff81111561083d57600080fd5b85016101a0818803121561085057600080fd5b91506060850135801515811461086557600080fd5b939692955090935050565b803561087b816107d4565b919050565b60006020828403121561089257600080fd5b813561089d816107d4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156108f7576108f76108a4565b60405290565b600082601f83011261090e57600080fd5b813567ffffffffffffffff80821115610929576109296108a4565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561096f5761096f6108a4565b8160405283815286602085880101111561098857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a082360312156109bb57600080fd5b6109c36108d3565b823581526109d360208401610870565b602082015260408301356040820152606083013560608201526109f860808401610870565b6080820152610a0960a08401610870565b60a0820152610a1a60c08401610870565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115610a6757600080fd5b610a73368388016108fd565b83850152610180925082860135915080821115610a8f57600080fd5b50610a9c368287016108fd565b918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610aeb57600080fd5b815161089d816107d4565b60005b83811015610b11578181015183820152602001610af9565b83811115610b20576000848401525b50505050565b60008151808452610b3e816020860160208601610af6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601460408201527f5441494b4f5f4252494447455f4d4553534147450000000000000000000000006060820152608060208201528151608082015260006020830151610bd860a084018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160c0830152606083015160e08301526080830151610100610c168185018373ffffffffffffffffffffffffffffffffffffffff169052565b60a08501519150610120610c418186018473ffffffffffffffffffffffffffffffffffffffff169052565b60c08601519250610140610c6c8187018573ffffffffffffffffffffffffffffffffffffffff169052565b60e0870151610160878101919091529287015161018080880191909152918701516101a080880191909152908701516101c0870152918601516101e0860192909252909150610cbf610220850183610b26565b908501518482037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8001610200860152909150610cfb8282610b26565b95945050505050565b60008251610d16818460208701610af6565b9190910192915050565b6020810160048310610d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9190529056fea2646970667358221220ef77fa8abe15893a91d42d96908d637a4ee0724e51d926aff79565effe20a22c64736f6c63430008090033", + "balance": "0x0" + }, + "0xf7c52068c40213E7C49313B0d6FCc11Cb2C45dbF": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063c0249e2d1461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046119c3565b61005c565b005b61014083013561010f5761007660a0840160808501611a8d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461010f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f423a666f7262696464656e00000000000000000000000000000000000000000060448201526064015b60405180910390fd5b4683606001351461017c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f423a64657374436861696e4964000000000000000000000000000000000000006044820152606401610106565b600061018f61018a85611bf5565b61073d565b905060008082815260018801602052604090205460ff1660038111156101b7576101b7611cf7565b1461021e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a7374617475730000000000000000000000000000000000000000000000006044820152606401610106565b604080517ff16c79340000000000000000000000000000000000000000000000000000000081528186013560048201526024810191909152600660448201527f6272696467650000000000000000000000000000000000000000000000000000606482015260009073ffffffffffffffffffffffffffffffffffffffff87169063f16c79349060840160206040518083038186803b1580156102bf57600080fd5b505afa1580156102d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f79190611d26565b905061030786828385888861076d565b61036d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f423a6e6f745265636569766564000000000000000000000000000000000000006044820152606401610106565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff88169063461a44789060640160206040518083038186803b15801561040357600080fd5b505afa158015610417573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043b9190611d26565b905073ffffffffffffffffffffffffffffffffffffffff8116156104e95773ffffffffffffffffffffffffffffffffffffffff8116631efa4ec061012088013561048e6101008a013560e08b0135611d72565b6104989190611d72565b6040518263ffffffff1660e01b81526004016104b691815260200190565b600060405180830381600087803b1580156104d057600080fd5b505af11580156104e4573d6000803e3d6000fd5b505050505b61051d60e087013561050160a0890160808a01611a8d565b73ffffffffffffffffffffffffffffffffffffffff1690610b33565b6000803061053160c08a0160a08b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff1614806105785750600061056060c08a0160a08b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff16145b1561058d57506002905061010087013561064f565b600061059f60a08a0160808b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105dc578861014001356105de565b5a5b905060006105f68c6105ef8c611bf5565b8985610c09565b90508015610607576002935061064c565b6001935073ffffffffffffffffffffffffffffffffffffffff85161561064c5761064c73ffffffffffffffffffffffffffffffffffffffff86166101008c0135610b33565b50505b61065a8a8684610dbd565b60008061066d60e08b0160c08c01611a8d565b73ffffffffffffffffffffffffffffffffffffffff161461069d5761069860e08a0160c08b01611a8d565b6106ad565b6106ad60a08a0160808b01611a8d565b90503373ffffffffffffffffffffffffffffffffffffffff82161415610701576106fc6106df6101208b013584611d72565b73ffffffffffffffffffffffffffffffffffffffff831690610b33565b610730565b610710336101208b0135610b33565b61073073ffffffffffffffffffffffffffffffffffffffff821683610b33565b5050505050505050505050565b6000816040516020016107509190611e04565b604051602081830303815290604052805190602001209050919050565b6000848473ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610106565b80610855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610106565b73ffffffffffffffffffffffffffffffffffffffff88166108d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f423a7372634272696467650000000000000000000000000000000000000000006044820152606401610106565b60006108e08587018761203e565b905073C5d653E17c24928B788a17838F11d2AcF0c922A363960304398260000151606001518b6109108c8c610e88565b60208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152610953949392916001916004016121d7565b60006040518083038186803b15801561096b57600080fd5b505af415801561097f573d6000803e3d6000fd5b50506040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7461696b6f00000000000000000000000000000000000000000000000000000060448201526000925073ffffffffffffffffffffffffffffffffffffffff8d16915063461a44789060640160206040518083038186803b158015610a1957600080fd5b505afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190611d26565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f29060240160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190612223565b90508015801590610b2457508151610b2190610ee3565b81145b9b9a5050505050505050505050565b8015610c055760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5050905080610c03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610106565b505b5050565b6000808211610c74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6761734c696d6974000000000000000000000000000000000000000000006044820152606401610106565b6040805160608101825284815260208681015173ffffffffffffffffffffffffffffffffffffffff90811691830182905287840151928401839052600389018790556004890180547fffffffffffffffffffffffff000000000000000000000000000000000000000016909217909155600588019190915560a086015161010087015161016088015193519190921692859291610d11919061223c565b600060405180830381858888f193505050503d8060008114610d4f576040519150601f19603f3d011682016040523d82523d6000602084013e610d54565b606091505b50506040805160608101825260018082526020820181905260001991909201819052600388018290556004880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560059096019590955550929392505050565b806003811115610dcf57610dcf611cf7565b600083815260018501602052604090205460ff166003811115610df457610df4611cf7565b14610c0357600082815260018085016020526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911690836003811115610e4657610e46611cf7565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b257563482604051610e7b9190612258565b60405180910390a2505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290526000906054016040516020818303038152906040528051906020012090505b92915050565b60006060826101e0015160001415610f285760408051600f808252610200820190925290816020015b6060815260200190600190039081610f0c579050509050610f57565b604080516010808252610220820190925290816020015b6060815260200190600190039081610f3f5790505090505b8251610f629061129d565b81600081518110610f7557610f75612299565b6020026020010181905250610f8d836020015161129d565b81600181518110610fa057610fa0612299565b6020026020010181905250610fb883604001516112b0565b81600281518110610fcb57610fcb612299565b6020026020010181905250610fe3836060015161129d565b81600381518110610ff657610ff6612299565b602002602001018190525061100e836080015161129d565b8160048151811061102157611021612299565b60200260200101819052506110398360a0015161129d565b8160058151811061104c5761104c612299565b60200260200101819052506110838360c0015160405160200161106f91906122c8565b6040516020818303038152906040526112ec565b8160068151811061109657611096612299565b60200260200101819052506110ae8360e0015161135b565b816007815181106110c1576110c1612299565b60200260200101819052506110ec8361010001516fffffffffffffffffffffffffffffffff1661135b565b816008815181106110ff576110ff612299565b6020026020010181905250611118836101200151611369565b8160098151811061112b5761112b612299565b6020026020010181905250611144836101400151611369565b81600a8151811061115757611157612299565b6020026020010181905250611170836101600151611369565b81600b8151811061118357611183612299565b602002602001018190525061119c8361018001516112ec565b81600c815181106111af576111af612299565b60200260200101819052506111c8836101a0015161129d565b81600d815181106111db576111db612299565b602002602001018190525061122a836101c0015160405160200161106f919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061123d5761123d612299565b6020026020010181905250826101e0015160001461128257611263836101e0015161135b565b81600f8151811061127657611276612299565b60200260200101819052505b600061128d82611381565b8051602090910120949350505050565b6060610edd6112ab836113c5565b6112ec565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602083015290610edd9060340161106f565b6060808251600114801561131a575060808360008151811061131057611310612299565b016020015160f81c105b15611326575081610edd565b611332835160806114b8565b836040516020016113449291906122fd565b604051602081830303815290604052905092915050565b6060610edd6112ab836116af565b6060610edd6112ab8367ffffffffffffffff166116af565b6060600061138e83611811565b905061139c815160c06114b8565b816040516020016113ae9291906122fd565b604051602081830303815290604052915050919050565b60606000826040516020016113dc91815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b81518110156114af57838361143f8161232c565b94508151811061145157611451612299565b602001015160f81c60f81b82828151811061146e5761146e612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806114a78161232c565b91505061142b565b50949350505050565b606080603884101561153757604080516001808252818301909252906020820181803683370190505090506114ed8385612347565b60f81b8160008151811061150357611503612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506116a8565b600060015b611546818761239b565b1561156c57816115558161232c565b92506115659050610100826123af565b905061153c565b611577826001611d72565b67ffffffffffffffff81111561158f5761158f611aaa565b6040519080825280601f01601f1916602001820160405280156115b9576020820181803683370190505b5092506115c68583612347565b6115d1906037612347565b60f81b836000815181106115e7576115e7612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116116a55761010061162f82846123ce565b61163b906101006124c9565b611645908861239b565b61164f91906124d5565b60f81b83828151811061166457611664612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061169d8161232c565b91505061161b565b50505b9392505050565b60606000826040516020016116c691815260200190565b604051602081830303815290604052905060005b6020811015611738578181815181106116f5576116f5612299565b01602001517fff00000000000000000000000000000000000000000000000000000000000000161561172657611738565b806117308161232c565b9150506116da565b60006117458260206123ce565b67ffffffffffffffff81111561175d5761175d611aaa565b6040519080825280601f01601f191660200182016040528015611787576020820181803683370190505b50905060005b81518110156114af5783836117a18161232c565b9450815181106117b3576117b3612299565b602001015160f81c60f81b8282815181106117d0576117d0612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806118098161232c565b91505061178d565b606081516000141561183157505060408051600081526020810190915290565b6000805b83518110156118785783818151811061185057611850612299565b602002602001015151826118649190611d72565b9150806118708161232c565b915050611835565b60008267ffffffffffffffff81111561189357611893611aaa565b6040519080825280601f01601f1916602001820160405280156118bd576020820181803683370190505b50600092509050602081015b85518310156114af5760008684815181106118e6576118e6612299565b60200260200101519050600060208201905061190483828451611941565b87858151811061191657611916612299565b6020026020010151518361192a9190611d72565b9250505082806119399061232c565b9350506118c9565b8282825b6020811061197d578151835261195c602084611d72565b9250611969602083611d72565b91506119766020826123ce565b9050611945565b905182516020929092036101000a6000190180199091169116179052505050565b73ffffffffffffffffffffffffffffffffffffffff811681146119c057600080fd5b50565b6000806000806000608086880312156119db57600080fd5b8535945060208601356119ed8161199e565b9350604086013567ffffffffffffffff80821115611a0a57600080fd5b908701906101a0828a031215611a1f57600080fd5b90935060608701359080821115611a3557600080fd5b818801915088601f830112611a4957600080fd5b813581811115611a5857600080fd5b896020828501011115611a6a57600080fd5b9699959850939650602001949392505050565b8035611a888161199e565b919050565b600060208284031215611a9f57600080fd5b81356116a88161199e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715611afd57611afd611aaa565b60405290565b6040805190810167ffffffffffffffff81118282101715611afd57611afd611aaa565b604051610200810167ffffffffffffffff81118282101715611afd57611afd611aaa565b600082601f830112611b5b57600080fd5b813567ffffffffffffffff80821115611b7657611b76611aaa565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611bbc57611bbc611aaa565b81604052838152866020858801011115611bd557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215611c0857600080fd5b611c10611ad9565b82358152611c2060208401611a7d565b60208201526040830135604082015260608301356060820152611c4560808401611a7d565b6080820152611c5660a08401611a7d565b60a0820152611c6760c08401611a7d565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115611cb457600080fd5b611cc036838801611b4a565b83850152610180925082860135915080821115611cdc57600080fd5b50611ce936828701611b4a565b918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611d3857600080fd5b81516116a88161199e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611d8557611d85611d43565b500190565b60005b83811015611da5578181015183820152602001611d8d565b83811115611db4576000848401525b50505050565b60008151808452611dd2816020860160208601611d8a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601460408201527f5441494b4f5f4252494447455f4d4553534147450000000000000000000000006060820152608060208201528151608082015260006020830151611e6c60a084018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160c0830152606083015160e08301526080830151610100611eaa8185018373ffffffffffffffffffffffffffffffffffffffff169052565b60a08501519150610120611ed58186018473ffffffffffffffffffffffffffffffffffffffff169052565b60c08601519250610140611f008187018573ffffffffffffffffffffffffffffffffffffffff169052565b60e0870151610160878101919091529287015161018080880191909152918701516101a080880191909152908701516101c0870152918601516101e0860192909252909150611f53610220850183611dba565b908501518482037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8001610200860152909150611f8f8282611dba565b95945050505050565b600082601f830112611fa957600080fd5b60405161010080820182811067ffffffffffffffff82111715611fce57611fce611aaa565b60405283018185821115611fe157600080fd5b845b82811015611ffb578035825260209182019101611fe3565b509195945050505050565b80356fffffffffffffffffffffffffffffffff81168114611a8857600080fd5b803567ffffffffffffffff81168114611a8857600080fd5b60006020828403121561205057600080fd5b813567ffffffffffffffff8082111561206857600080fd5b908301906040828603121561207c57600080fd5b612084611b03565b82358281111561209357600080fd5b83016102e081880312156120a657600080fd5b6120ae611b26565b81358152602082013560208201526120c860408301611a7d565b6040820152606082013560608201526080820135608082015260a082013560a08201526120f88860c08401611f98565b60c08201526101c08083013560e08301526101e0612117818501612006565b61010084015261212a6102008501612026565b61012084015261213d6102208501612026565b6101408401526121506102408501612026565b6101608401526102608401358681111561216957600080fd5b6121758b828701611b4a565b610180850152506102808401356101a08401526121956102a08501612026565b828401526102c084013581840152505080835250506020830135828111156121bc57600080fd5b6121c887828601611b4a565b60208301525095945050505050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061221860a0830184611dba565b979650505050505050565b60006020828403121561223557600080fd5b5051919050565b6000825161224e818460208701611d8a565b9190910192915050565b6020810160048310612293577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156122ed5781518352602092830192909101906001016122ce565b5050506101008201905092915050565b6000835161230f818460208801611d8a565b835190830190612323818360208801611d8a565b01949350505050565b600060001982141561234057612340611d43565b5060010190565b600060ff821660ff84168060ff0382111561236457612364611d43565b019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826123aa576123aa61236c565b500490565b60008160001904831182151516156123c9576123c9611d43565b500290565b6000828210156123e0576123e0611d43565b500390565b600181815b8085111561242057816000190482111561240657612406611d43565b8085161561241357918102915b93841c93908002906123ea565b509250929050565b60008261243757506001610edd565b8161244457506000610edd565b816001811461245a576002811461246457612480565b6001915050610edd565b60ff84111561247557612475611d43565b50506001821b610edd565b5060208310610133831016604e8410600b84101617156124a3575081810a610edd565b6124ad83836123e5565b80600019048211156124c1576124c1611d43565b029392505050565b60006116a88383612428565b6000826124e4576124e461236c565b50069056fea264697066735822122014b842a0757d4ec0c7768c8c29fec84d20bd7c03ad1a5e3376215194d1c9806464736f6c63430008090033", + "balance": "0x0" + }, + "0x1FEEE7d2A4da93fE4899fFf3ff844A224b1A143d": { + "contractName": "LibTxDecoder", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80632cb6101a14610045578063dae029d31461006e575b600080fd5b6100586100533660046117b8565b61008e565b6040516100659190611925565b60405180910390f35b61008161007c3660046119de565b610218565b6040516100659190611aad565b604080516020810190915260608152816100a757610212565b60006100e884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104e092505050565b90506000815167ffffffffffffffff811115610106576101066119af565b60405190808252806020026020018201604052801561019b57816020015b610188604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b8152602001906001900390816101245790505b50905060005b82518110156101ff576101cf61007c8483815181106101c2576101c2611ac0565b6020026020010151610513565b8282815181106101e1576101e1611ac0565b602002602001018190525080806101f790611b1e565b9150506101a1565b5060408051602081019091529081529150505b92915050565b61027c604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b602082015160e0820183905260001a60c081108015906102a0575060fe8160ff1611155b156103265760008083526102b3846104e0565b905060006102c0826105a3565b60408082015160608088019190915282015173ffffffffffffffffffffffffffffffffffffffff16602087015260c08083015160ff16608088015260e083015160a080890191909152610100840151918801919091529091015190850152506104da9050565b607f8160ff16116104925760ff81168252600061034c6103478560016107bd565b6104e0565b90508160ff16600114156103c4576000610365826107fa565b6060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff16602087015261010082015160ff169086015261012081015160a086015261014081015160c080870191909152015160408501525061048c565b826000015160ff166002141561043f5760006103df82610a3b565b608080820151606087015260a08083015173ffffffffffffffffffffffffffffffffffffffff16602088015261012083015160ff16918701919091526101408201519086015261016081015160c086015260e0015160408501525061048c565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064015b60405180910390fd5b506104da565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964207072656669780000000000000000000000000000000000006044820152606401610483565b50919050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061021290610c90565b6060600080600061052385610e8f565b91945092509050600081600181111561053e5761053e611b57565b1461058b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610483565b61059a856020015184846111e0565b95945050505050565b61060b604051806101200160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600060ff16815260200160008152602001600081525090565b815160091461065c5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b61067f8260008151811061067257610672611ac0565b60200260200101516112d9565b8152815161069a908390600190811061067257610672611ac0565b602082015281516106b8908390600290811061067257610672611ac0565b604082015281516106e390839060039081106106d6576106d6611ac0565b60200260200101516112e4565b73ffffffffffffffffffffffffffffffffffffffff1660608201528151610717908390600490811061067257610672611ac0565b6080820152815161073590839060059081106101c2576101c2611ac0565b60a082015261074862028c5b6002611b86565b61075e8360068151811061067257610672611ac0565b6107689190611bc3565b610773906023611bda565b60ff1660c08201528151610794908390600790811061067257610672611ac0565b60e082015281516107b2908390600890811061067257610672611ac0565b610100820152919050565b6060825182106107dc5750604080516020810190915260008152610212565b6107f383838486516107ee9190611bc3565b611353565b9392505050565b61087060405180610160016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600b146108c15760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b6108d78260008151811061067257610672611ac0565b815281516108f2908390600190811061067257610672611ac0565b60208201528151610910908390600290811061067257610672611ac0565b6040820152815161092e908390600390811061067257610672611ac0565b6060820152815161094c90839060049081106106d6576106d6611ac0565b73ffffffffffffffffffffffffffffffffffffffff1660808201528151610980908390600590811061067257610672611ac0565b60a0820152815161099e90839060069081106101c2576101c2611ac0565b8160c001819052506109d16109cc836007815181106109bf576109bf611ac0565b6020026020010151610c90565b6114f2565b8160e001819052506109ef8260088151811061067257610672611ac0565b60ff166101008201528151610a11908390600990811061067257610672611ac0565b6101208201528151610a30908390600a90811061067257610672611ac0565b610140820152919050565b610ab86040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600c14610b095760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b610b1f8260008151811061067257610672611ac0565b81528151610b3a908390600190811061067257610672611ac0565b60208201528151610b58908390600290811061067257610672611ac0565b60408201528151610b76908390600390811061067257610672611ac0565b60608201528151610b94908390600490811061067257610672611ac0565b60808201528151610bb290839060059081106106d6576106d6611ac0565b73ffffffffffffffffffffffffffffffffffffffff1660a08201528151610be6908390600690811061067257610672611ac0565b60c08201528151610c0490839060079081106101c2576101c2611ac0565b8160e00181905250610c256109cc836008815181106109bf576109bf611ac0565b816101000181905250610c448260098151811061067257610672611ac0565b60ff166101208201528151610c66908390600a90811061067257610672611ac0565b6101408201528151610c85908390600b90811061067257610672611ac0565b610160820152919050565b6060600080610c9e84610e8f565b91935090915060019050816001811115610cba57610cba611b57565b14610d075760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610483565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610d205790505090506000835b8651811015610e845760208210610dcc5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610483565b600080610e096040518060400160405280858c60000151610ded9190611bc3565b8152602001858c60200151610e029190611bda565b9052610e8f565b509150915060405180604001604052808383610e259190611bda565b8152602001848b60200151610e3a9190611bda565b815250858581518110610e4f57610e4f611ac0565b6020908102919091010152610e65600185611bda565b9350610e718183611bda565b610e7b9084611bda565b92505050610d4d565b508152949350505050565b600080600080846000015111610ee75760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610483565b6020840151805160001a607f8111610f0c5760006001600094509450945050506111d9565b60b78111610f88576000610f21608083611bc3565b905080876000015111610f765760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610483565b600195509350600092506111d9915050565b60bf8111611077576000610f9d60b783611bc3565b905080876000015111610ff25760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610483565b600183015160208290036101000a900461100c8183611bda565b88511161105b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610483565b611066826001611bda565b96509450600093506111d992505050565b60f781116110f257600061108c60c083611bc3565b9050808760000151116110e15760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610483565b6001955093508492506111d9915050565b60006110ff60f783611bc3565b9050808760000151116111545760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610483565b600183015160208290036101000a900461116e8183611bda565b8851116111bd5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610483565b6111c8826001611bda565b96509450600193506111d992505050565b9193909250565b606060008267ffffffffffffffff8111156111fd576111fd6119af565b6040519080825280601f01601f191660200182016040528015611227576020820181803683370190505b50905080516000141561123b5790506107f3565b60006112478587611bda565b90506020820160005b61125b602087611bf2565b8110156112925782518252611271602084611bda565b925061127e602083611bda565b91508061128a81611b1e565b915050611250565b5080519151601f959095166020036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019182169119909416179092525092915050565b6000610212826116b5565b8051600090600114156112f957506000919050565b815160151461134a5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020616464726573732076616c75652e0000000000006044820152606401610483565b610212826112d9565b60608161136181601f611bda565b10156113af5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610483565b826113ba8382611bda565b10156114085760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610483565b6114128284611bda565b845110156114625760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610483565b60608215801561148157604051915060008252602082016040526114e9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156114ba5780518352602092830192016114a2565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6060815167ffffffffffffffff81111561150e5761150e6119af565b60405190808252806020026020018201604052801561155457816020015b60408051808201909152600081526060602082015281526020019060019003908161152c5790505b50905060005b82518110156104da57600061157a8483815181106109bf576109bf611ac0565b90506000611594826000815181106106d6576106d6611ac0565b905060006115ae836001815181106109bf576109bf611ac0565b90506000815167ffffffffffffffff8111156115cc576115cc6119af565b6040519080825280602002602001820160405280156115f5578160200160208202803683370190505b50905060005b82518110156116555761162683828151811061161957611619611ac0565b60200260200101516116b5565b82828151811061163857611638611ac0565b60209081029190910101528061164d81611b1e565b9150506115fb565b5060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018281525086868151811061169357611693611ac0565b60200260200101819052505050505080806116ad90611b1e565b91505061155a565b600060218260000151111561170c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610483565b600080600061171a85610e8f565b91945092509050600081600181111561173557611735611b57565b146117825760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610483565b60008386602001516117949190611bda565b805190915060208410156117ae5760208490036101000a90045b9695505050505050565b600080602083850312156117cb57600080fd5b823567ffffffffffffffff808211156117e357600080fd5b818501915085601f8301126117f757600080fd5b81358181111561180657600080fd5b86602082850101111561181857600080fd5b60209290920196919550909350505050565b6000815180845260005b8181101561185057602081850181015186830182015201611834565b81811115611862576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600061010060ff835116845273ffffffffffffffffffffffffffffffffffffffff602084015116602085015260408301518160408601526118d88286018261182a565b9150506060830151606085015260808301516118f9608086018260ff169052565b5060a083015160a085015260c083015160c085015260e083015184820360e086015261059a828261182a565b60006020808352604083018451828386015281815180845260608701915060608160051b8801019350848301925060005b818110156119a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888603018352611990858551611895565b94509285019291850191600101611956565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156119f057600080fd5b813567ffffffffffffffff80821115611a0857600080fd5b818401915084601f830112611a1c57600080fd5b813581811115611a2e57611a2e6119af565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611a7457611a746119af565b81604052828152876020848701011115611a8d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6020815260006107f36020830184611895565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b5057611b50611aef565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611bbe57611bbe611aef565b500290565b600082821015611bd557611bd5611aef565b500390565b60008219821115611bed57611bed611aef565b500190565b600082611c28577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220ce05fa3cbf6e91edf039ea061baf84063d7d321bf9eb0101e512c682c93dd08f64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "AddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x9e150550d912c06ad86bcac5075c8239136cbee2772f59805934f638390787fd": "0x0000000000000000000000000000777700000000000000000000000000000001", + "0xdf0a4e0e7239b530f3a9e9f04f6a2a1d6919446d7589e04de0d7da7f18f5d05a": "0x0000000000000000000000000000777700000000000000000000000000000004", + "0x20beed59eb6fea4f4c6192069320a80e7e285095b80b0603151a98cc480424ce": "0x0000000000000000000000000000777700000000000000000000000000000002", + "0x3d81277ccd96113ddd1d87267c98b973367fd126e1b94b601a82a8474494f54f": "0x0000000000000000000000000000777700000000000000000000000000000003" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bf40fac111610050578063bf40fac1146100d7578063e1c7392a146100ea578063f2fde38b146100f257600080fd5b8063715018a6146100775780638da5cb5b146100815780639b2ea4bd146100c4575b600080fd5b61007f610105565b005b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f6100d23660046107d8565b610119565b61009b6100e5366004610826565b6101ec565b61007f610228565b61007f610100366004610863565b6103bf565b61010d610473565b61011760006104f4565b565b610121610473565b600061012c8361056b565b60008181526065602052604090819020805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092559151929350169061018f908590610885565b6040805191829003822073ffffffffffffffffffffffffffffffffffffffff808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b6000606560006101fb8461056b565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1692915050565b600054610100900460ff16158080156102485750600054600160ff909116105b806102625750303b158015610262575060005460ff166001145b6102f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61035961059b565b80156103bc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6103c7610473565b73ffffffffffffffffffffffffffffffffffffffff811661046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102ea565b6103bc816104f4565b60335473ffffffffffffffffffffffffffffffffffffffff163314610117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ea565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160405160200161057e9190610885565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ea565b610117600054610100900460ff166106cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ea565b610117336104f4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261071557600080fd5b813567ffffffffffffffff80821115610730576107306106d5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610776576107766106d5565b8160405283815286602085880101111561078f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146107d357600080fd5b919050565b600080604083850312156107eb57600080fd5b823567ffffffffffffffff81111561080257600080fd5b61080e85828601610704565b92505061081d602084016107af565b90509250929050565b60006020828403121561083857600080fd5b813567ffffffffffffffff81111561084f57600080fd5b61085b84828501610704565b949350505050565b60006020828403121561087557600080fd5b61087e826107af565b9392505050565b6000825160005b818110156108a6576020818601810151858301520161088c565b818111156108b5576000828501525b50919091019291505056fea264697066735822122073e1836383d35ef46f9abd6688521406480eb2e7754e7387e4dd208fb4d7c6e464736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "TaikoL2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000032": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000035": "0x7eb68e48c9bb3d707a9aba14662dab6ddd0a07c15abb07e83f02d11a86c15560" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639a295e7311610081578063dac5df781161005b578063dac5df78146101f2578063ee82ac5e146101fb578063f16c79341461020e57600080fd5b80639a295e7314610170578063a0ca2d08146101d6578063c8d772ab146101e957600080fd5b8063461a4478116100b2578063461a4478146101405780635155ce9f14610153578063975e09a01461015b57600080fd5b806325bf86f2146100ce5780633ab76e9f14610101575b600080fd5b6100ee6100dc366004611e7a565b60009081526034602052604090205490565b6040519081526020015b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f8565b61011b61014e366004611fbe565b610221565b6036546100ee565b61016e610169366004611ff3565b610233565b005b604080516001815262028c5b6020820152610801918101919091526014606082015260006080820152600560a0820152624c4b4060c0820152606460e0820152620927c06101008201526152086101208201526203d090610140820152610160016100f8565b61016e6101e4366004612080565b6102ec565b6100ee60365481565b6100ee60355481565b6100ee610209366004611e7a565b61034c565b61011b61021c3660046120a2565b610399565b600061022d4683610456565b92915050565b600061024185858585610531565b90506000816006811115610257576102576120e9565b14156102aa5760405162461bcd60e51b815260206004820152600960248201527f4c323a726561736f6e000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6102b261082f565b6102bc8585610952565b6040517f64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a290600090a25050505050565b6102f461082f565b60008281526034602052604090819020829055603682905551829043907f930c750845026c7bb04c0e3d9111d512b4c86981713c4944a35a10a4a7a854f3906103409085815260200190565b60405180910390a35050565b600043821061035d57506000919050565b4382108015610377575061037361010043612147565b8210155b1561038157504090565b5060009081526033602052604090205490565b919050565b60006103a58383610456565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661040f5760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f4164647265737300000000000000000000000000000000000060448201526064016102a1565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061046284610974565b8360405160200161047492919061218e565b60408051601f19818403018152908290526000547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906104d99084906004016121e6565b60206040518083038186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610529919061223d565b949350505050565b6000620927c084111561054657506001610529565b6040517f2cb6101a000000000000000000000000000000000000000000000000000000008152731FEEE7d2A4da93fE4899fFf3ff844A224b1A143d90632cb6101a906105989088908890600401612258565b60006040518083038186803b1580156105b057600080fd5b505af49250505080156105e557506040513d6000823e601f3d908101601f191682016040526105e291908101906122dd565b60015b610623573d808015610613576040519150601f19603f3d011682016040523d82523d6000602084013e610618565b606091505b506002915050610529565b80515160641015610638576003915050610529565b624c4b4061064582610aa6565b1115610655576004915050610529565b80515183106106a65760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642074784964780000000000000000000000000000000000000060448201526064016102a1565b6000816000015184815181106106be576106be61247d565b60200260200101519050600560068111156106db576106db6120e9565b8560068111156106ed576106ed6120e9565b141561076c5760006106fe82610afa565b73ffffffffffffffffffffffffffffffffffffffff16146107615760405162461bcd60e51b815260206004820152601760248201527f6261642068696e742054585f494e56414c49445f53494700000000000000000060448201526064016102a1565b600592505050610529565b6006856006811115610780576107806120e9565b14156107e757615208816060015110156107dc5760405162461bcd60e51b815260206004820152600860248201527f6261642068696e7400000000000000000000000000000000000000000000000060448201526064016102a1565b600692505050610529565b60405162461bcd60e51b815260206004820152601e60248201527f6661696c656420746f2070726f76652074786c69737420696e76616c6964000060448201526064016102a1565b610837611e5b565b434660025b610100811115801561084e5750808310155b1561089c5761085d8184612147565b408460ff61086b8487612147565b61087591906124db565b60ff81106108855761088561247d565b602002015280610894816124ef565b91505061083c565b5060006108aa600184612147565b905080406108bb8383600088610b89565b6035541461090b5760405162461bcd60e51b815260206004820152601260248201527f4c323a7075626c6963496e70757448617368000000000000000000000000000060448201526064016102a1565b808561091860ff856124db565b60ff81106109285761092861247d565b602002015261093a8385600088610b89565b60355560009182526033602052604090912055505050565b60008282604051610964929190612528565b6040518091039020905092915050565b6060816109b457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156109de57806109c8816124ef565b91506109d79050600a83612538565b91506109b8565b60008167ffffffffffffffff8111156109f9576109f9611e93565b6040519080825280601f01601f191660200182016040528015610a23576020820181803683370190505b5090505b841561052957610a38600183612147565b9150610a45600a866124db565b610a5090603061254c565b60f81b818381518110610a6557610a6561247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610a9f600a86612538565b9450610a27565b8051600090815b8151811015610af357818181518110610ac857610ac861247d565b60200260200101516060015183610adf919061254c565b925080610aeb816124ef565b915050610aad565b5050919050565b60006001610b0783610bc2565b6080840151610b1790601b612564565b60a085015160c0860151604080516000815260200190819052610b56949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015610b78573d6000803e3d6000fd5b5050604051601f1901519392505050565b600084848484604051602001610ba29493929190612589565b604051602081830303815290604052805190602001209050949350505050565b805160009060609060ff16610be557610bde8360e00151610fb5565b9050610bff565b610bfc610bf78460e001516001610fe8565b610fb5565b90505b825160ff16610c5e578051600914610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b610d68565b826000015160ff1660011415610cbf578051600b14610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b826000015160ff1660021415610d20578051600c14610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064016102a1565b825160009060ff1615610d885760038251610d839190612147565b610d8b565b81515b67ffffffffffffffff811115610da357610da3611e93565b604051908082528060200260200182016040528015610dd657816020015b6060815260200190600190039081610dc15790505b50905060005b8151811015610f6357845160ff1615801590610e04575060018251610e019190612147565b81145b15610e4d57610e2b838281518110610e1e57610e1e61247d565b602002602001015161101e565b828281518110610e3d57610e3d61247d565b6020026020010181905250610f51565b610e77610e72848381518110610e6557610e6561247d565b6020026020010151611029565b6110b9565b828281518110610e8957610e8961247d565b6020908102919091010152845160ff16158015610eb2575060048251610eaf9190612147565b81145b15610f5157610ec362028c5b611128565b82610ecf83600161254c565b81518110610edf57610edf61247d565b6020026020010181905250610ef46000611136565b82610f0083600261254c565b81518110610f1057610f1061247d565b6020026020010181905250610f256000611136565b82610f3183600361254c565b81518110610f4157610f4161247d565b6020026020010181905250610f63565b80610f5b816124ef565b915050610ddc565b506000610f6f8261114e565b855190915060ff1615610fa5578451604051610f939160f81b9083906020016125d4565b60405160208183030381529060405290505b8051602090910120949350505050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061022d90611192565b606082518210611007575060408051602081019091526000815261022d565b6103a583838486516110199190612147565b611391565b606061022d82611512565b6060600080600061103985611528565b919450925090506000816001811115611054576110546120e9565b146110a15760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102a1565b6110b085602001518484611879565b95945050505050565b606080825160011480156110e757506080836000815181106110dd576110dd61247d565b016020015160f81c105b156110f357508161022d565b6110ff83516080611958565b8360405160200161111192919061261c565b604051602081830303815290604052905092915050565b606061022d610e7283611b4e565b606061022d610e728367ffffffffffffffff16611b4e565b6060600061115b83611cb0565b9050611169815160c0611958565b8160405160200161117b92919061261c565b604051602081830303815290604052915050919050565b60606000806111a084611528565b919350909150600190508160018111156111bc576111bc6120e9565b146112095760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102a1565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816112225790505090506000835b865181101561138657602082106112ce5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e0000000000000000000000000000000000000000000060648201526084016102a1565b60008061130b6040518060400160405280858c600001516112ef9190612147565b8152602001858c60200151611304919061254c565b9052611528565b509150915060405180604001604052808383611327919061254c565b8152602001848b6020015161133c919061254c565b8152508585815181106113515761135161247d565b602090810291909101015261136760018561254c565b9350611373818361254c565b61137d908461254c565b9250505061124f565b508152949350505050565b60608161139f81601f61254c565b10156113ed5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016102a1565b826113f8838261254c565b10156114465760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016102a1565b611450828461254c565b845110156114a05760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016102a1565b6060821580156114bf5760405191506000825260208201604052611509565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156114f85780518352602092830192016114e0565b5050858452601f01601f1916604052505b50949350505050565b606061022d826020015160008460000151611879565b6000806000808460000151116115805760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102a1565b6020840151805160001a607f81116115a5576000600160009450945094505050611872565b60b781116116215760006115ba608083612147565b90508087600001511161160f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102a1565b60019550935060009250611872915050565b60bf811161171057600061163660b783612147565b90508087600001511161168b5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102a1565b600183015160208290036101000a90046116a5818361254c565b8851116116f45760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102a1565b6116ff82600161254c565b965094506000935061187292505050565b60f7811161178b57600061172560c083612147565b90508087600001511161177a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102a1565b600195509350849250611872915050565b600061179860f783612147565b9050808760000151116117ed5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102a1565b600183015160208290036101000a9004611807818361254c565b8851116118565760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e0000000000000000000060448201526064016102a1565b61186182600161254c565b965094506001935061187292505050565b9193909250565b606060008267ffffffffffffffff81111561189657611896611e93565b6040519080825280601f01601f1916602001820160405280156118c0576020820181803683370190505b5090508051600014156118d45790506103a5565b60006118e0858761254c565b90506020820160005b6118f4602087612538565b81101561192b578251825261190a60208461254c565b925061191760208361254c565b915080611923816124ef565b9150506118e9565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60608060388410156119d7576040805160018082528183019092529060208201818036833701905050905061198d8385612564565b60f81b816000815181106119a3576119a361247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506103a5565b600060015b6119e68187612538565b15611a0c57816119f5816124ef565b9250611a0590506101008261264b565b90506119dc565b611a1782600161254c565b67ffffffffffffffff811115611a2f57611a2f611e93565b6040519080825280601f01601f191660200182016040528015611a59576020820181803683370190505b509250611a668583612564565b611a71906037612564565b60f81b83600081518110611a8757611a8761247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611b4557610100611acf8284612147565b611adb906101006127a8565b611ae59088612538565b611aef91906124db565b60f81b838281518110611b0457611b0461247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611b3d816124ef565b915050611abb565b50509392505050565b6060600082604051602001611b6591815260200190565b604051602081830303815290604052905060005b6020811015611bd757818181518110611b9457611b9461247d565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611bc557611bd7565b80611bcf816124ef565b915050611b79565b6000611be4826020612147565b67ffffffffffffffff811115611bfc57611bfc611e93565b6040519080825280601f01601f191660200182016040528015611c26576020820181803683370190505b50905060005b8151811015611509578383611c40816124ef565b945081518110611c5257611c5261247d565b602001015160f81c60f81b828281518110611c6f57611c6f61247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611ca8816124ef565b915050611c2c565b6060815160001415611cd057505060408051600081526020810190915290565b6000805b8351811015611d1757838181518110611cef57611cef61247d565b60200260200101515182611d03919061254c565b915080611d0f816124ef565b915050611cd4565b60008267ffffffffffffffff811115611d3257611d32611e93565b6040519080825280601f01601f191660200182016040528015611d5c576020820181803683370190505b50600092509050602081015b8551831015611509576000868481518110611d8557611d8561247d565b602002602001015190506000602082019050611da383828451611de0565b878581518110611db557611db561247d565b60200260200101515183611dc9919061254c565b925050508280611dd8906124ef565b935050611d68565b8282825b60208110611e1c5781518352611dfb60208461254c565b9250611e0860208361254c565b9150611e15602082612147565b9050611de4565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b60405180611fe0016040528060ff906020820280368337509192915050565b600060208284031215611e8c57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff81118282101715611ee557611ee5611e93565b60405290565b604051610100810167ffffffffffffffff81118282101715611ee557611ee5611e93565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3857611f38611e93565b604052919050565b600067ffffffffffffffff821115611f5a57611f5a611e93565b50601f01601f191660200190565b600082601f830112611f7957600080fd5b8135611f8c611f8782611f40565b611f0f565b818152846020838601011115611fa157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611fd057600080fd5b813567ffffffffffffffff811115611fe757600080fd5b61052984828501611f68565b6000806000806060858703121561200957600080fd5b843567ffffffffffffffff8082111561202157600080fd5b818701915087601f83011261203557600080fd5b81358181111561204457600080fd5b88602082850101111561205657600080fd5b602092830196509450508501356007811061207057600080fd5b9396929550929360400135925050565b6000806040838503121561209357600080fd5b50508035926020909101359150565b600080604083850312156120b557600080fd5b82359150602083013567ffffffffffffffff8111156120d357600080fd5b6120df85828601611f68565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561215957612159612118565b500390565b60005b83811015612179578181015183820152602001612161565b83811115612188576000848401525b50505050565b600083516121a081846020880161215e565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516121da81600184016020880161215e565b01600101949350505050565b602081526000825180602084015261220581604085016020870161215e565b601f01601f19169190910160400192915050565b805173ffffffffffffffffffffffffffffffffffffffff8116811461039457600080fd5b60006020828403121561224f57600080fd5b6103a582612219565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b805160ff8116811461039457600080fd5b600082601f8301126122a957600080fd5b81516122b7611f8782611f40565b8181528460208386010111156122cc57600080fd5b61052982602083016020870161215e565b600060208083850312156122f057600080fd5b825167ffffffffffffffff8082111561230857600080fd5b818501915082828703121561231c57600080fd5b612324611ec2565b82518281111561233357600080fd5b80840193505086601f84011261234857600080fd5b82518281111561235a5761235a611e93565b8060051b612369868201611f0f565b918252848101860191868101908a84111561238357600080fd5b87870192505b8383101561246d578251868111156123a057600080fd5b8701610100818d03601f19018113156123b857600080fd5b6123c0611eeb565b6123cb8b8401612287565b81526123d960408401612219565b8b8201526060830151898111156123ef57600080fd5b6123fd8f8d83870101612298565b6040830152506080830151606082015260a061241a818501612287565b608083015260c0808501518284015260e091508185015181840152508284015192508983111561244a5760008081fd5b6124588f8d85870101612298565b90820152845250509187019190870190612389565b8452509198975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826124ea576124ea6124ac565b500690565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561252157612521612118565b5060010190565b8183823760009101908152919050565b600082612547576125476124ac565b500490565b6000821982111561255f5761255f612118565b500190565b600060ff821660ff84168060ff0382111561258157612581612118565b019392505050565b848152600060208581840152846040840152606083018460005b60ff8110156125c0578151835291830191908301906001016125a3565b505050506120408201905095945050505050565b7fff00000000000000000000000000000000000000000000000000000000000000831681526000825161260e81600185016020870161215e565b919091016001019392505050565b6000835161262e81846020880161215e565b83519083019061264281836020880161215e565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561268357612683612118565b500290565b600181815b808511156126e157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156126c7576126c7612118565b808516156126d457918102915b93841c939080029061268d565b509250929050565b6000826126f85750600161022d565b816127055750600061022d565b816001811461271b576002811461272557612741565b600191505061022d565b60ff84111561273657612736612118565b50506001821b61022d565b5060208310610133831016604e8410600b8410161715612764575081810a61022d565b61276e8383612688565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156127a0576127a0612118565b029392505050565b60006103a583836126e956fea264697066735822122033da65b31403f3528dc6eca551c4217b5ea7512d6e8827e9af8f7449068335bf64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "Bridge", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106101485760003560e01c80636950f0de116100c0578063d0496d6a11610074578063f2fde38b11610059578063f2fde38b14610421578063f980391914610441578063fee99b221461046157600080fd5b8063d0496d6a14610385578063f16c79341461040157600080fd5b80638da5cb5b116100a55780638da5cb5b1461031957806396e1785214610344578063a4444efd1461036557600080fd5b80636950f0de146102e4578063715018a61461030457600080fd5b8063461a447811610117578063540be6a3116100fc578063540be6a3146102745780635d0bd9861461029457806366ca2bc0146102c457600080fd5b8063461a4478146102175780635075a9d41461023757600080fd5b806319ab453c1461015457806332676bc6146101765780633ab76e9f146101ab5780633aec8585146101f757600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5061017461016f36600461260a565b610481565b005b34801561018257600080fd5b50610196610191366004612627565b610600565b60405190151581526020015b60405180910390f35b3480156101b757600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b34801561020357600080fd5b5061019661021236600461269c565b610615565b34801561022357600080fd5b506101d2610232366004612851565b610672565b34801561024357600080fd5b50610267610252366004612886565b600090815260ca602052604090205460ff1690565b6040516101a2919061289f565b34801561028057600080fd5b5061019661028f366004612886565b61067e565b3480156102a057600080fd5b506101966102af366004612886565b600090815260c9602052604090205460ff1690565b3480156102d057600080fd5b506101746102df366004612886565b61068a565b3480156102f057600080fd5b506101746102ff3660046128f0565b6106d0565b34801561031057600080fd5b5061017461073c565b34801561032557600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166101d2565b610357610352366004612935565b610750565b6040519081526020016101a2565b34801561037157600080fd5b5061019661038036600461296a565b6107c8565b34801561039157600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260cc5480825260cd5473ffffffffffffffffffffffffffffffffffffffff90811683860190815260ce5493870193845286519283525116938101939093525192820192909252016101a2565b34801561040d57600080fd5b506101d261041c3660046129bd565b610824565b34801561042d57600080fd5b5061017461043c36600461260a565b610830565b34801561044d57600080fd5b5061017461045c366004612a04565b6108cd565b34801561046d57600080fd5b5061017461047c366004612a49565b6109b4565b600054610100900460ff16158080156104a15750600054600160ff909116105b806104bb5750303b1580156104bb575060005460ff166001145b6105325760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61059982610a9e565b80156105fc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060c8383610ab7565b90505b92915050565b600080610657866040518060400160405280600681526020017f6272696467650000000000000000000000000000000000000000000000000000815250610824565b90506106673082878a8888610bc9565b979650505050505050565b600061060f4683610f96565b600061060f3083610ab7565b610694338261108f565b60408051338152602081018390527ff0958489d2a32db2b0faf27a72a31fdf28f2636ca5532f1b077ddc2f51b20d1d910160405180910390a150565b600260015414156107235760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b600260015561073460c9838361119d565b505060018055565b61074461126d565b61074e60006112d4565b565b6000600260015414156107a55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556107be60c9306107b985612ab2565b61134b565b6001805592915050565b60008061080a856040518060400160405280600681526020017f6272696467650000000000000000000000000000000000000000000000000000815250610824565b905061081a308283898888610bc9565b9695505050505050565b600061060c8383610f96565b61083861126d565b73ffffffffffffffffffffffffffffffffffffffff81166108c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610529565b6108ca816112d4565b50565b600260015414156109205760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556040517f46eb9db5000000000000000000000000000000000000000000000000000000008152738A9E82Ebf0E219BBdB4fBBd50FEd45d098a8Ba1e906346eb9db59061097c9060c990309087908790600401612d8e565b60006040518083038186803b15801561099457600080fd5b505af41580156109a8573d6000803e3d6000fd5b50505050505060018055565b60026001541415610a075760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556040517fc0249e2d00000000000000000000000000000000000000000000000000000000815273f7c52068c40213E7C49313B0d6FCc11Cb2C45dbF9063c0249e2d90610a659060c9903090889088908890600401612dd6565b60006040518083038186803b158015610a7d57600080fd5b505af4158015610a91573d6000803e3d6000fd5b5050505050506001805550565b610aa6611626565b610aae6116ab565b6108ca81611730565b6000828273ffffffffffffffffffffffffffffffffffffffff8216610b1e5760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b80610b6b5760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b50506040805160609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208086019190915260348086019490945281518086039094018452605490940190525080519101205460011490565b6000848473ffffffffffffffffffffffffffffffffffffffff8216610c305760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b80610c7d5760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b73ffffffffffffffffffffffffffffffffffffffff8816610ce05760405162461bcd60e51b815260206004820152600b60248201527f423a7372634272696467650000000000000000000000000000000000000000006044820152606401610529565b6000610cee85870187612ed0565b905073C5d653E17c24928B788a17838F11d2AcF0c922A363960304398260000151606001518b610d738c8c6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b60208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152610db6949392916001916004016130e3565b60006040518083038186803b158015610dce57600080fd5b505af4158015610de2573d6000803e3d6000fd5b50506040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7461696b6f00000000000000000000000000000000000000000000000000000060448201526000925073ffffffffffffffffffffffffffffffffffffffff8d16915063461a44789060640160206040518083038186803b158015610e7c57600080fd5b505afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb49190613124565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f29060240160206040518083038186803b158015610f3557600080fd5b505afa158015610f49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6d9190613141565b90508015801590610f8757508151610f84906117da565b81145b9b9a5050505050505050505050565b600080610fa284611b94565b83604051602001610fb492919061315a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906110379084906004016131b2565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190613124565b949350505050565b818173ffffffffffffffffffffffffffffffffffffffff82166110f45760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b806111415760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b50506040805160609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020808501919091526034808501939093528151808503909301835260549093019052805191012060019055565b6000821180156111ad5750468214155b6111f95760405162461bcd60e51b815260206004820152600960248201527f423a636861696e496400000000000000000000000000000000000000000000006044820152606401610529565b6000828152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515908117909155915191825283917f9f391218c06d4fc365ceb15f340bb3d77306b28ac0b8d4e519aec2654794536d910160405180910390a2505050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461074e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610529565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b608081015160009073ffffffffffffffffffffffffffffffffffffffff166113b55760405162461bcd60e51b815260206004820152600760248201527f423a6f776e6572000000000000000000000000000000000000000000000000006044820152606401610529565b468260600151141580156113dc5750606082015160009081526020859052604090205460ff165b6114285760405162461bcd60e51b815260206004820152600d60248201527f423a64657374436861696e4964000000000000000000000000000000000000006044820152606401610529565b60008261012001518361010001518460e0015161144591906131f4565b61144f91906131f4565b90503481146114a05760405162461bcd60e51b815260206004820152600760248201527f423a76616c7565000000000000000000000000000000000000000000000000006044820152606401610529565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff86169063461a44789060640160206040518083038186803b15801561153657600080fd5b505afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190613124565b905073ffffffffffffffffffffffffffffffffffffffff8116156115ac576115ac73ffffffffffffffffffffffffffffffffffffffff821683611cc6565b6002860180549060006115be8361320c565b9091555084523360208501524660408501526115d984611d81565b92506115e5308461108f565b827f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f3856040516116159190613362565b60405180910390a250509392505050565b600054610100900460ff166116a35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e611db1565b600054610100900460ff166117285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e611e34565b73ffffffffffffffffffffffffffffffffffffffff81166117935760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f416464726573730000000000000000000000000000000000006044820152606401610529565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006060826101e001516000141561181f5760408051600f808252610200820190925290816020015b606081526020019060019003908161180357905050905061184e565b604080516010808252610220820190925290816020015b60608152602001906001900390816118365790505090505b825161185990611eba565b8160008151811061186c5761186c613375565b60200260200101819052506118848360200151611eba565b8160018151811061189757611897613375565b60200260200101819052506118af8360400151611ecd565b816002815181106118c2576118c2613375565b60200260200101819052506118da8360600151611eba565b816003815181106118ed576118ed613375565b60200260200101819052506119058360800151611eba565b8160048151811061191857611918613375565b60200260200101819052506119308360a00151611eba565b8160058151811061194357611943613375565b602002602001018190525061197a8360c0015160405160200161196691906133a4565b604051602081830303815290604052611f09565b8160068151811061198d5761198d613375565b60200260200101819052506119a58360e00151611f78565b816007815181106119b8576119b8613375565b60200260200101819052506119e38361010001516fffffffffffffffffffffffffffffffff16611f78565b816008815181106119f6576119f6613375565b6020026020010181905250611a0f836101200151611f86565b81600981518110611a2257611a22613375565b6020026020010181905250611a3b836101400151611f86565b81600a81518110611a4e57611a4e613375565b6020026020010181905250611a67836101600151611f86565b81600b81518110611a7a57611a7a613375565b6020026020010181905250611a93836101800151611f09565b81600c81518110611aa657611aa6613375565b6020026020010181905250611abf836101a00151611eba565b81600d81518110611ad257611ad2613375565b6020026020010181905250611b21836101c00151604051602001611966919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e81518110611b3457611b34613375565b6020026020010181905250826101e00151600014611b7957611b5a836101e00151611f78565b81600f81518110611b6d57611b6d613375565b60200260200101819052505b6000611b8482611f9e565b8051602090910120949350505050565b606081611bd457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611bfe5780611be88161320c565b9150611bf79050600a83613408565b9150611bd8565b60008167ffffffffffffffff811115611c1957611c19612706565b6040519080825280601f01601f191660200182016040528015611c43576020820181803683370190505b5090505b841561108757611c5860018361341c565b9150611c65600a86613433565b611c709060306131f4565b60f81b818381518110611c8557611c85613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611cbf600a86613408565b9450611c47565b80156105fc5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611d26576040519150601f19603f3d011682016040523d82523d6000602084013e611d2b565b606091505b5050905080611d7c5760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610529565b505050565b600081604051602001611d949190613447565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16611e2e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b60018055565b600054610100900460ff16611eb15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e336112d4565b606061060f611ec883611fe2565b611f09565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061060f90603401611966565b60608082516001148015611f375750608083600081518110611f2d57611f2d613375565b016020015160f81c105b15611f4357508161060f565b611f4f835160806120d5565b83604051602001611f6192919061348e565b604051602081830303815290604052905092915050565b606061060f611ec8836122cb565b606061060f611ec88367ffffffffffffffff166122cb565b60606000611fab8361242d565b9050611fb9815160c06120d5565b81604051602001611fcb92919061348e565b604051602081830303815290604052915050919050565b6060600082604051602001611ff991815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b81518110156120cc57838361205c8161320c565b94508151811061206e5761206e613375565b602001015160f81c60f81b82828151811061208b5761208b613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806120c48161320c565b915050612048565b50949350505050565b6060806038841015612154576040805160018082528183019092529060208201818036833701905050905061210a83856134bd565b60f81b8160008151811061212057612120613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061060c565b600060015b6121638187613408565b1561218957816121728161320c565b92506121829050610100826134e2565b9050612159565b6121948260016131f4565b67ffffffffffffffff8111156121ac576121ac612706565b6040519080825280601f01601f1916602001820160405280156121d6576020820181803683370190505b5092506121e385836134bd565b6121ee9060376134bd565b60f81b8360008151811061220457612204613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116122c25761010061224c828461341c565b6122589061010061363f565b6122629088613408565b61226c9190613433565b60f81b83828151811061228157612281613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806122ba8161320c565b915050612238565b50509392505050565b60606000826040516020016122e291815260200190565b604051602081830303815290604052905060005b60208110156123545781818151811061231157612311613375565b01602001517fff00000000000000000000000000000000000000000000000000000000000000161561234257612354565b8061234c8161320c565b9150506122f6565b600061236182602061341c565b67ffffffffffffffff81111561237957612379612706565b6040519080825280601f01601f1916602001820160405280156123a3576020820181803683370190505b50905060005b81518110156120cc5783836123bd8161320c565b9450815181106123cf576123cf613375565b602001015160f81c60f81b8282815181106123ec576123ec613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806124258161320c565b9150506123a9565b606081516000141561244d57505060408051600081526020810190915290565b6000805b83518110156124945783818151811061246c5761246c613375565b6020026020010151518261248091906131f4565b91508061248c8161320c565b915050612451565b60008267ffffffffffffffff8111156124af576124af612706565b6040519080825280601f01601f1916602001820160405280156124d9576020820181803683370190505b50600092509050602081015b85518310156120cc57600086848151811061250257612502613375565b6020026020010151905060006020820190506125208382845161255d565b87858151811061253257612532613375565b6020026020010151518361254691906131f4565b9250505082806125559061320c565b9350506124e5565b8282825b6020811061259957815183526125786020846131f4565b92506125856020836131f4565b915061259260208261341c565b9050612561565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108ca57600080fd5b8035612605816125d8565b919050565b60006020828403121561261c57600080fd5b813561060c816125d8565b6000806040838503121561263a57600080fd5b8235612645816125d8565b946020939093013593505050565b60008083601f84011261266557600080fd5b50813567ffffffffffffffff81111561267d57600080fd5b60208301915083602082850101111561269557600080fd5b9250929050565b6000806000806000608086880312156126b457600080fd5b853594506020860135935060408601356126cd816125d8565b9250606086013567ffffffffffffffff8111156126e957600080fd5b6126f588828901612653565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561275957612759612706565b60405290565b6040805190810167ffffffffffffffff8111828210171561275957612759612706565b604051610200810167ffffffffffffffff8111828210171561275957612759612706565b600082601f8301126127b757600080fd5b813567ffffffffffffffff808211156127d2576127d2612706565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561281857612818612706565b8160405283815286602085880101111561283157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561286357600080fd5b813567ffffffffffffffff81111561287a57600080fd5b611087848285016127a6565b60006020828403121561289857600080fd5b5035919050565b60208101600483106128da577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b8035801515811461260557600080fd5b6000806040838503121561290357600080fd5b82359150612913602084016128e0565b90509250929050565b60006101a0828403121561292f57600080fd5b50919050565b60006020828403121561294757600080fd5b813567ffffffffffffffff81111561295e57600080fd5b6110878482850161291c565b6000806000806060858703121561298057600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156129a557600080fd5b6129b187828801612653565b95989497509550505050565b600080604083850312156129d057600080fd5b82359150602083013567ffffffffffffffff8111156129ee57600080fd5b6129fa858286016127a6565b9150509250929050565b60008060408385031215612a1757600080fd5b823567ffffffffffffffff811115612a2e57600080fd5b612a3a8582860161291c565b925050612913602084016128e0565b600080600060408486031215612a5e57600080fd5b833567ffffffffffffffff80821115612a7657600080fd5b612a828783880161291c565b94506020860135915080821115612a9857600080fd5b50612aa586828701612653565b9497909650939450505050565b60006101a08236031215612ac557600080fd5b612acd612735565b82358152612add602084016125fa565b60208201526040830135604082015260608301356060820152612b02608084016125fa565b6080820152612b1360a084016125fa565b60a0820152612b2460c084016125fa565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115612b7157600080fd5b612b7d368388016127a6565b83850152610180925082860135915080821115612b9957600080fd5b50612ba6368287016127a6565b918301919091525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612be957600080fd5b830160208101925035905067ffffffffffffffff811115612c0957600080fd5b80360383131561269557600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101a082358452612c76602084016125fa565b73ffffffffffffffffffffffffffffffffffffffff81166020860152506040830135604085015260608301356060850152612cb3608084016125fa565b73ffffffffffffffffffffffffffffffffffffffff166080850152612cda60a084016125fa565b73ffffffffffffffffffffffffffffffffffffffff1660a0850152612d0160c084016125fa565b73ffffffffffffffffffffffffffffffffffffffff1660c085015260e08381013590850152610100808401359085015261012080840135908501526101408084013590850152610160612d5681850185612bb4565b8383880152612d688488018284612c18565b9350505050610180612d7c81850185612bb4565b86840383880152610667848284612c18565b84815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000612dc36080830185612c61565b9050821515606083015295945050505050565b85815273ffffffffffffffffffffffffffffffffffffffff85166020820152608060408201526000612e0b6080830186612c61565b8281036060840152612e1e818587612c18565b98975050505050505050565b600082601f830112612e3b57600080fd5b60405161010080820182811067ffffffffffffffff82111715612e6057612e60612706565b60405283018185821115612e7357600080fd5b845b82811015612e8d578035825260209182019101612e75565b509195945050505050565b80356fffffffffffffffffffffffffffffffff8116811461260557600080fd5b803567ffffffffffffffff8116811461260557600080fd5b600060208284031215612ee257600080fd5b813567ffffffffffffffff80821115612efa57600080fd5b9083019060408286031215612f0e57600080fd5b612f1661275f565b823582811115612f2557600080fd5b83016102e08188031215612f3857600080fd5b612f40612782565b8135815260208201356020820152612f5a604083016125fa565b6040820152606082013560608201526080820135608082015260a082013560a0820152612f8a8860c08401612e2a565b60c08201526101c08083013560e08301526101e0612fa9818501612e98565b610100840152612fbc6102008501612eb8565b610120840152612fcf6102208501612eb8565b610140840152612fe26102408501612eb8565b61016084015261026084013586811115612ffb57600080fd5b6130078b8287016127a6565b610180850152506102808401356101a08401526130276102a08501612eb8565b828401526102c0840135818401525050808352505060208301358281111561304e57600080fd5b61305a878286016127a6565b60208301525095945050505050565b60005b8381101561308457818101518382015260200161306c565b83811115613093576000848401525b50505050565b600081518084526130b1816020860160208601613069565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061066760a0830184613099565b60006020828403121561313657600080fd5b815161060c816125d8565b60006020828403121561315357600080fd5b5051919050565b6000835161316c818460208801613069565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516131a6816001840160208801613069565b01600101949350505050565b60208152600061060c6020830184613099565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613207576132076131c5565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561323e5761323e6131c5565b5060010190565b60006101a0825184526020830151613275602086018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160408501526060830151606085015260808301516132b1608086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a08301516132d960a086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015161330160c086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083810151908501526101008084015190850152610120808401519085015261014080840151908501526101608084015181860183905261334683870182613099565b92505050610180808401518583038287015261081a8382613099565b60208152600061060c6020830184613245565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156133c95781518352602092830192909101906001016133aa565b5050506101008201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613417576134176133d9565b500490565b60008282101561342e5761342e6131c5565b500390565b600082613442576134426133d9565b500690565b60408152601460408201527f5441494b4f5f4252494447455f4d455353414745000000000000000000000000606082015260806020820152600061060c6080830184613245565b600083516134a0818460208801613069565b8351908301906134b4818360208801613069565b01949350505050565b600060ff821660ff84168060ff038211156134da576134da6131c5565b019392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561351a5761351a6131c5565b500290565b600181815b8085111561357857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561355e5761355e6131c5565b8085161561356b57918102915b93841c9390800290613524565b509250929050565b60008261358f5750600161060f565b8161359c5750600061060f565b81600181146135b257600281146135bc576135d8565b600191505061060f565b60ff8411156135cd576135cd6131c5565b50506001821b61060f565b5060208310610133831016604e8410600b84101617156135fb575081810a61060f565b613605838361351f565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613637576136376131c5565b029392505050565b600061060c838361358056fea2646970667358221220d5e1fe055176dc14480cf9170f5a503d79f8793c534119929c5bbb34db12f54764736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "TokenVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106100d25760003560e01c8063715018a61161007f578063c287e57811610059578063c287e57814610228578063ee1490b214610268578063f16c79341461027b578063f2fde38b1461029b57600080fd5b8063715018a6146101c45780638da5cb5b146101d95780639aa8605c146101f757600080fd5b80633ab76e9f116100b05780633ab76e9f1461012c578063461a44781461016357806367090ccf1461018357600080fd5b80630c6fab82146100d757806319ab453c146100f957806339da33ba14610119575b600080fd5b3480156100e357600080fd5b506100f76100f2366004612459565b6102bb565b005b34801561010557600080fd5b506100f76101143660046124c8565b6105f9565b6100f76101273660046125c3565b610773565b34801561013857600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016f57600080fd5b5061014661017e366004612641565b610ad1565b34801561018f57600080fd5b5061014661019e366004612676565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d057600080fd5b506100f7610ae3565b3480156101e557600080fd5b506065546001600160a01b0316610146565b34801561020357600080fd5b506102176102123660046124c8565b610af7565b60405161015a9594939291906126fe565b34801561023457600080fd5b506102586102433660046124c8565b60c96020526000908152604090205460ff1681565b604051901515815260200161015a565b6100f761027636600461274d565b610c59565b34801561028757600080fd5b506101466102963660046127e9565b611682565b3480156102a757600080fd5b506100f76102b63660046124c8565b611695565b600260015414156103135760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260015560408051808201909152600681527f6272696467650000000000000000000000000000000000000000000000000000602082015261035581610ad1565b6001600160a01b0316336001600160a01b0316146103b55760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161030a565b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b815260040160606040518083038186803b1580156103f057600080fd5b505afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190612830565b905061046d81604001516040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b031681602001516001600160a01b0316146104d15760405162461bcd60e51b815260206004820152600860248201527f563a73656e646572000000000000000000000000000000000000000000000000604482015260640161030a565b60008635461415610507576104ec60408801602089016124c8565b90506105026001600160a01b0382168686611725565b610590565b610510876117d3565b6040517f42e91bb30000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561057757600080fd5b505af115801561058b573d6000803e3d6000fd5b505050505b60408281015181516001600160a01b038981168252602082019290925283821681840152606081018790529151908716917f485a7041eaecffd5ef478f291c05a2a47a1e6af7e7780e46578f18bf03e1bf3f919081900360800190a25050600180555050505050565b600054610100900460ff16158080156106195750600054600160ff909116105b806106335750303b158015610633575060005460ff166001145b6106a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161030a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561070357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61070c8261182c565b801561076f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600260015414156107c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161030a565b60026001556001600160a01b03851615801590610833575061081d866040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b0316856001600160a01b031614155b6108815760405162461bcd60e51b815260040161030a9060208082526004908201527f563a746f00000000000000000000000000000000000000000000000000000000604082015260600190565b8234116108d05760405162461bcd60e51b815260206004820152600a60248201527f563a6d736756616c756500000000000000000000000000000000000000000000604482015260640161030a565b61095f604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018790523360808201526001600160a01b03861660a08201526101408101859052610120810184905261099584346128c1565b60e08201526001600160a01b03831660c0820152610180810182905260408051808201909152600681527f627269646765000000000000000000000000000000000000000000000000000060208201526000906109f190610ad1565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b8152600401610a1d91906128d8565b6020604051808303818588803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6f91906129d2565b60e0830151604080518b8152602081019290925281018290529091506001600160a01b038816907fc4f150c33b1c9146a833662318b1e72e3d07a471886bb6f3a547a8e0bc3a7cfa9060600160405180910390a2505060018055505050505050565b6000610add4683611845565b92915050565b610aeb611913565b610af5600061196d565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b038316937401000000000000000000000000000000000000000090930460ff1692909190610b48906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b74906129eb565b8015610bc15780601f10610b9657610100808354040283529160200191610bc1565b820191906000526020600020905b815481529060010190602001808311610ba457829003601f168201915b505050505090806003018054610bd6906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c02906129eb565b8015610c4f5780601f10610c2457610100808354040283529160200191610c4f565b820191906000526020600020905b815481529060010190602001808311610c3257829003601f168201915b5050505050905085565b60026001541415610cac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161030a565b60026001556001600160a01b03871615801590610d195750610d03886040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b0316876001600160a01b031614155b610d675760405162461bcd60e51b815260040161030a9060208082526004908201527f563a746f00000000000000000000000000000000000000000000000000000000604082015260600190565b6001600160a01b038616610dbd5760405162461bcd60e51b815260206004820152600760248201527f563a746f6b656e00000000000000000000000000000000000000000000000000604482015260640161030a565b60008511610e0d5760405162461bcd60e51b815260206004820152600860248201527f563a616d6f756e74000000000000000000000000000000000000000000000000604482015260640161030a565b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff16156110bd576040517f77be18a8000000000000000000000000000000000000000000000000000000008152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a081018452815481526001820154948516928101929092527401000000000000000000000000000000000000000090930460ff1691810191909152600282018054919291606084019190610f44906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610f70906129eb565b8015610fbd5780601f10610f9257610100808354040283529160200191610fbd565b820191906000526020600020905b815481529060010190602001808311610fa057829003601f168201915b50505050508152602001600382018054610fd6906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611002906129eb565b801561104f5780601f106110245761010080835404028352916020019161104f565b820191906000526020600020905b81548152906001019060200180831161103257829003601f168201915b5050509190925250505060208101519092506001600160a01b03166110b65760405162461bcd60e51b815260206004820152601060248201527f563a63616e6f6e6963616c546f6b656e00000000000000000000000000000000604482015260640161030a565b508561139a565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561111b57600080fd5b505afa15801561112f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111539190612a4e565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d09190810190612a6b565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124a9190810190612a6b565b90526040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529093506000906001600160a01b038316906370a082319060240160206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906129d2565b90506112f96001600160a01b03831633308c6119d7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b15801561135357600080fd5b505afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b91906129d2565b61139591906128c1565b925050505b611429604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015260408051808201909152600b81527f746f6b656e5f7661756c740000000000000000000000000000000000000000006020820152611475908c90611682565b6001600160a01b031660a082015260808101516040517f0c6fab8200000000000000000000000000000000000000000000000000000000916114c0918691908e908790602401612ae2565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526101608201526101408101879052610120810186905261153f86346128c1565b60e08201526001600160a01b03851660c0820152610180810184905260408051808201909152600681527f6272696467650000000000000000000000000000000000000000000000000000602082015260009061159b90610ad1565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016115c791906128d8565b6020604051808303818588803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061161991906129d2565b604080518e81526001600160a01b038d81166020830152918101869052606081018390529192508c16907ffd41c851d9a68cdf761055c8f7cb21010b653b27f89f6e3fa224a75eb82a40ac9060800160405180910390a250506001805550505050505050505050565b600061168e8383611845565b9392505050565b61169d611913565b6001600160a01b0381166117195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161030a565b6117228161196d565b50565b6040516001600160a01b0383166024820152604481018290526117ce9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611a2e565b505050565b8035600090815260cb602090815260408083208392909183916117fa9187019087016124c8565b6001600160a01b03908116825260208201929092526040016000205416905080610add5761182783611b13565b61168e565b611834611dd0565b61183c611e55565b61172281611eda565b60008061185184611f6a565b83604051602001611863929190612b99565b60408051601f19818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac1906118bb908490600401612bf1565b60206040518083038186803b1580156118d357600080fd5b505afa1580156118e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190b9190612c04565b949350505050565b6065546001600160a01b03163314610af55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161030a565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a289085907f23b872dd000000000000000000000000000000000000000000000000000000009060840161176a565b50505050565b6000611a83826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661209c9092919063ffffffff16565b8051909150156117ce5780806020019051810190611aa19190612c21565b6117ce5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161030a565b6000808235611b2860408501602086016124c8565b604051602001611b6792919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b604051602081830303815290604052805190602001209050611bad60008260405180602001611b9590612437565b601f1982820381018352601f909101166040526120ab565b6097549092506001600160a01b0380841691636c0db62b9116611bd660408701602088016124c8565b8635611be86060890160408a01612c43565b611bf560608a018a612c60565b611c0260808c018c612c60565b604051611c169291908e3590602001612ccc565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401611c479796959493929190612d7a565b600060405180830381600087803b158015611c6157600080fd5b505af1158015611c75573d6000803e3d6000fd5b5050506001600160a01b038316600090815260c96020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560ca9091529020849150611cd08282612f21565b50508235600090815260cb60209081526040808320859390929091611cfa919088019088016124c8565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316836020016020810190611d5b91906124c8565b6001600160a01b031684357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611d946060880188612c60565b611da160808a018a612c60565b611db160608c0160408d01612c43565b604051611dc2959493929190612ff9565b60405180910390a450919050565b600054610100900460ff16611e4d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af56121ad565b600054610100900460ff16611ed25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af5612230565b6001600160a01b038116611f305760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161030a565b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b606081611faa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611fd45780611fbe81613036565b9150611fcd9050600a8361309e565b9150611fae565b60008167ffffffffffffffff811115611fef57611fef6124e5565b6040519080825280601f01601f191660200182016040528015612019576020820181803683370190505b5090505b841561190b5761202e6001836128c1565b915061203b600a866130b2565b6120469060306130c6565b60f81b81838151811061205b5761205b6130de565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350612095600a8661309e565b945061201d565b606061190b84846000856122b6565b600080844710156120fe5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161030a565b825161214c5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161030a565b8383516020850187f590506001600160a01b03811661190b5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161030a565b600054610100900460ff1661222a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b60018055565b600054610100900460ff166122ad5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af53361196d565b60608247101561232e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161030a565b6001600160a01b0385163b6123855760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161030a565b600080866001600160a01b031685876040516123a1919061310d565b60006040518083038185875af1925050503d80600081146123de576040519150601f19603f3d011682016040523d82523d6000602084013e6123e3565b606091505b50915091506123f38282866123fe565b979650505050505050565b6060831561240d57508161168e565b82511561241d5782518084602001fd5b8160405162461bcd60e51b815260040161030a9190612bf1565b6120a08061312a83390190565b6001600160a01b038116811461172257600080fd5b6000806000806080858703121561246f57600080fd5b843567ffffffffffffffff81111561248657600080fd5b850160a0818803121561249857600080fd5b935060208501356124a881612444565b925060408501356124b881612444565b9396929550929360600135925050565b6000602082840312156124da57600080fd5b813561168e81612444565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561253d5761253d6124e5565b604052919050565b600067ffffffffffffffff82111561255f5761255f6124e5565b50601f01601f191660200190565b600082601f83011261257e57600080fd5b813561259161258c82612545565b612514565b8181528460208386010111156125a657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c087890312156125dc57600080fd5b8635955060208701356125ee81612444565b94506040870135935060608701359250608087013561260c81612444565b915060a087013567ffffffffffffffff81111561262857600080fd5b61263489828a0161256d565b9150509295509295509295565b60006020828403121561265357600080fd5b813567ffffffffffffffff81111561266a57600080fd5b61190b8482850161256d565b6000806040838503121561268957600080fd5b82359150602083013561269b81612444565b809150509250929050565b60005b838110156126c15781810151838201526020016126a9565b83811115611a285750506000910152565b600081518084526126ea8160208601602086016126a6565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a06060820152600061272f60a08301856126d2565b828103608084015261274181856126d2565b98975050505050505050565b600080600080600080600080610100898b03121561276a57600080fd5b88359750602089013561277c81612444565b9650604089013561278c81612444565b9550606089013594506080890135935060a0890135925060c08901356127b181612444565b915060e089013567ffffffffffffffff8111156127cd57600080fd5b6127d98b828c0161256d565b9150509295985092959890939650565b600080604083850312156127fc57600080fd5b82359150602083013567ffffffffffffffff81111561281a57600080fd5b6128268582860161256d565b9150509250929050565b60006060828403121561284257600080fd5b6040516060810181811067ffffffffffffffff82111715612865576128656124e5565b60405282518152602083015161287a81612444565b60208201526040928301519281019290925250919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156128d3576128d3612892565b500390565b6020815281516020820152600060208301516128ff60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161292e60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a06101808085018290526129ac6101c08601846126d2565b90860151858203601f1901838701529092506129c883826126d2565b9695505050505050565b6000602082840312156129e457600080fd5b5051919050565b600181811c908216806129ff57607f821691505b60208210811415612a39577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60ff8116811461172257600080fd5b600060208284031215612a6057600080fd5b815161168e81612a3f565b600060208284031215612a7d57600080fd5b815167ffffffffffffffff811115612a9457600080fd5b8201601f81018413612aa557600080fd5b8051612ab361258c82612545565b818152856020838501011115612ac857600080fd5b612ad98260208301602086016126a6565b95945050505050565b6080815284516080820152600060208601516001600160a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152612b2d6101208501836126d2565b915060808801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8085840301610100860152612b6983826126d2565b9188166020860152506001600160a01b03861660408501529150612b8a9050565b82606083015295945050505050565b60008351612bab8184602088016126a6565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351612be58160018401602088016126a6565b01600101949350505050565b60208152600061168e60208301846126d2565b600060208284031215612c1657600080fd5b815161168e81612444565b600060208284031215612c3357600080fd5b8151801515811461168e57600080fd5b600060208284031215612c5557600080fd5b813561168e81612a3f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c9557600080fd5b83018035915067ffffffffffffffff821115612cb057600080fd5b602001915036819003821315612cc557600080fd5b9250929050565b828482377f286272696467656400000000000000000000000000000000000000000000000092019182527ff09f8c88000000000000000000000000000000000000000000000000000000006008830152600c8201527f2900000000000000000000000000000000000000000000000000000000000000602c820152602d01919050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808a16835280891660208401525086604083015260ff8616606083015260c06080830152612db660c083018587612d4f565b82810360a0840152612dc881856126d2565b9a9950505050505050505050565b601f8211156117ce57600081815260208120601f850160051c81016020861015612dfd5750805b601f850160051c820191505b81811015612e1c57828155600101612e09565b505050505050565b67ffffffffffffffff831115612e3c57612e3c6124e5565b612e5083612e4a83546129eb565b83612dd6565b6000601f841160018114612ea25760008515612e6c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355612f1a565b600083815260209020601f19861690835b82811015612ed35786850135825560209485019460019092019101612eb3565b5086821015612f0e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612f3781612444565b6001600160a01b03811690508154817fffffffffffffffffffffffff000000000000000000000000000000000000000082161783556040850135612f7a81612a3f565b74ff00000000000000000000000000000000000000008160a01b16837fffffffffffffffffffffff00000000000000000000000000000000000000000084161717845550505050612fce6060830183612c60565b612fdc818360028601612e24565b5050612feb6080830183612c60565b611a28818360038601612e24565b60608152600061300d606083018789612d4f565b8281036020840152613020818688612d4f565b91505060ff831660408301529695505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561306857613068612892565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826130ad576130ad61306f565b500490565b6000826130c1576130c161306f565b500690565b600082198211156130d9576130d9612892565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000825161311f8184602087016126a6565b919091019291505056fe608060405234801561001057600080fd5b50612080806100206000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636c0db62b116100e357806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146103b0578063f16c7934146103f6578063f2fde38b1461040957600080fd5b806395d89b4114610382578063a457c2d71461038a578063a9059cbb1461039d57600080fd5b806377be18a8116100bd57806377be18a8146103315780637cf8ed0d146103445780638da5cb5b1461036457600080fd5b80636c0db62b146102e057806370a08231146102f3578063715018a61461032957600080fd5b80633950935111610145578063461a44781161011f578063461a44781461027457806349d126051461028757806367e828bf1461029057600080fd5b8063395093511461020d5780633ab76e9f1461022057806342e91bb31461025f57600080fd5b806318160ddd1161017657806318160ddd146101d357806323b872dd146101e5578063313ce567146101f857600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a61041c565b6040516101a79190611b2e565b60405180910390f35b6101c36101be366004611ba1565b6104ae565b60405190151581526020016101a7565b60cb545b6040519081526020016101a7565b6101c36101f3366004611bcd565b6104c6565b60ce5460405160ff90911681526020016101a7565b6101c361021b366004611ba1565b610546565b60975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61027261026d366004611ba1565b610592565b005b61023a610282366004611ce8565b6106aa565b6101d760fc5481565b6102b460fb5460fc5473ffffffffffffffffffffffffffffffffffffffff90911691565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101a7565b6102726102ee366004611d1d565b6106bc565b6101d7610301366004611dc7565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b610272610921565b61027261033f366004611ba1565b610935565b60fb5461023a9073ffffffffffffffffffffffffffffffffffffffff1681565b60655473ffffffffffffffffffffffffffffffffffffffff1661023a565b61019a610a40565b6101c3610398366004611ba1565b610a4f565b6101c36103ab366004611ba1565b610b11565b6101d76103be366004611de4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ca6020908152604080832093909416825291909152205490565b61023a610404366004611e1d565b610b8a565b610272610417366004611dc7565b610b96565b606060cc805461042b90611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461045790611e64565b80156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b5050505050905090565b6000336104bc818585610c33565b5060019392505050565b600073ffffffffffffffffffffffffffffffffffffffff83163014156105335760405162461bcd60e51b815260206004820152600560248201527f42453a746f00000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61053e848484610db2565b949350505050565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104bc908290869061058d908790611ee7565b610c33565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506105d1816106aa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064b5760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161052a565b6106558383610dcb565b8273ffffffffffffffffffffffffffffffffffffffff167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161069d91815260200190565b60405180910390a2505050565b60006106b64683610e89565b92915050565b600054610100900460ff16158080156106dc5750600054600160ff909116105b806106f65750303b1580156106f6575060005460ff166001145b6107685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8616158015906107ea57508415155b80156107f65750468514155b8015610803575060008351115b8015610810575060008251115b61085c5760405162461bcd60e51b815260206004820152600960248201527f42453a706172616d730000000000000000000000000000000000000000000000604482015260640161052a565b61086587610f7a565b610870828486610f93565b60fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905560fc859055801561091857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610929611020565b6109336000611087565b565b6040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250610974816106aa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109ee5760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161052a565b6109f883836110fe565b8273ffffffffffffffffffffffffffffffffffffffff167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161069d91815260200190565b606060cd805461042b90611e64565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610af95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161052a565b610b068286868403610c33565b506001949350505050565b600073ffffffffffffffffffffffffffffffffffffffff8316301415610b795760405162461bcd60e51b815260206004820152600560248201527f42453a746f000000000000000000000000000000000000000000000000000000604482015260640161052a565b610b83838361126f565b9392505050565b6000610b838383610e89565b610b9e611020565b73ffffffffffffffffffffffffffffffffffffffff8116610c275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052a565b610c3081611087565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610cbb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610d445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600033610dc085828561127d565b610b0685858561133a565b73ffffffffffffffffffffffffffffffffffffffff8216610e2e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161052a565b8060cb6000828254610e409190611ee7565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604081208054839290610e7a908490611ee7565b90915550610e859050565b5050565b600080610e958461159f565b83604051602001610ea7929190611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac190610f2a908490600401611b2e565b60206040518083038186803b158015610f4257600080fd5b505afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e9190611f57565b610f826116d1565b610f8a611756565b610c30816117db565b600054610100900460ff166110105760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b61101b838383611885565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146109335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff82166111875760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260c96020526040902054818110156112235760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260408120838303905560cb805484929061125f908490611f74565b9091555061101b90508360008483565b6000336104bc81858561133a565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260ca60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461133457818110156113275760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161052a565b6113348484848403610c33565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166113c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff821661144c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c96020526040902054818110156114e85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260c9602052604080822085850390559185168152908120805484929061152c908490611ee7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161159291815260200190565b60405180910390a3611334565b6060816115df57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561160957806115f381611f8b565b91506116029050600a83611ff3565b91506115e3565b60008167ffffffffffffffff81111561162457611624611c0e565b6040519080825280601f01601f19166020018201604052801561164e576020820181803683370190505b5090505b841561053e57611663600183611f74565b9150611670600a86612007565b61167b906030611ee7565b60f81b8183815181106116905761169061201b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506116ca600a86611ff3565b9450611652565b600054610100900460ff1661174e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b610933611960565b600054610100900460ff166117d35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b6109336119e3565b73ffffffffffffffffffffffffffffffffffffffff811661183e5760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161052a565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff166119025760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b82516119159060cc906020860190611a69565b5081516119299060cd906020850190611a69565b5060ce80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b600054610100900460ff166119dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b60018055565b600054610100900460ff16611a605760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b61093333611087565b828054611a7590611e64565b90600052602060002090601f016020900481019282611a975760008555611add565b82601f10611ab057805160ff1916838001178555611add565b82800160010185558215611add579182015b82811115611add578251825591602001919060010190611ac2565b50611ae9929150611aed565b5090565b5b80821115611ae95760008155600101611aee565b60005b83811015611b1d578181015183820152602001611b05565b838111156113345750506000910152565b6020815260008251806020840152611b4d816040850160208701611b02565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c3057600080fd5b60008060408385031215611bb457600080fd5b8235611bbf81611b7f565b946020939093013593505050565b600080600060608486031215611be257600080fd5b8335611bed81611b7f565b92506020840135611bfd81611b7f565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611c4e57600080fd5b813567ffffffffffffffff80821115611c6957611c69611c0e565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611caf57611caf611c0e565b81604052838152866020858801011115611cc857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611cfa57600080fd5b813567ffffffffffffffff811115611d1157600080fd5b61053e84828501611c3d565b60008060008060008060c08789031215611d3657600080fd5b8635611d4181611b7f565b95506020870135611d5181611b7f565b945060408701359350606087013560ff81168114611d6e57600080fd5b9250608087013567ffffffffffffffff80821115611d8b57600080fd5b611d978a838b01611c3d565b935060a0890135915080821115611dad57600080fd5b50611dba89828a01611c3d565b9150509295509295509295565b600060208284031215611dd957600080fd5b8135610b8381611b7f565b60008060408385031215611df757600080fd5b8235611e0281611b7f565b91506020830135611e1281611b7f565b809150509250929050565b60008060408385031215611e3057600080fd5b82359150602083013567ffffffffffffffff811115611e4e57600080fd5b611e5a85828601611c3d565b9150509250929050565b600181811c90821680611e7857607f821691505b60208210811415611eb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611efa57611efa611eb8565b500190565b60008351611f11818460208801611b02565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351611f4b816001840160208801611b02565b01600101949350505050565b600060208284031215611f6957600080fd5b8151610b8381611b7f565b600082821015611f8657611f86611eb8565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611fbd57611fbd611eb8565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261200257612002611fc4565b500490565b60008261201657612016611fc4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220f24dcb708d1867134df56fe5efc5ccc3a875e0deca527b2af220b5bde7e6b93664736f6c63430008090033a2646970667358221220abf8c5a35e42ce1f54480f59a3b073492445c3fe339322ddb4639465be6e49ee64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "EtherVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x029ae2e2f1d6964720a0fa7e6ffa902f995c156242f4f5a930aa9d9765d167d0": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "code": "0x6080604052600436106100b55760003560e01c8063715018a611610069578063f16c79341161004e578063f16c79341461023f578063f2fde38b1461025f578063fe9fbb801461027f57600080fd5b8063715018a6146101ff5780638da5cb5b1461021457600080fd5b80632d1fb3891161009a5780632d1fb3891461016e5780633ab76e9f1461018e578063461a4478146101df57600080fd5b806319ab453c1461012e5780631efa4ec01461014e57600080fd5b36610129574715806100d6575033600090815260c9602052604090205460ff165b6101275760405162461bcd60e51b815260206004820152600960248201527f45563a64656e696564000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b005b600080fd5b34801561013a57600080fd5b50610127610149366004610dd8565b6102d5565b34801561015a57600080fd5b50610127610169366004610df5565b61044f565b34801561017a57600080fd5b50610127610189366004610e0e565b610517565b34801561019a57600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101eb57600080fd5b506101b56101fa366004610f26565b610646565b34801561020b57600080fd5b50610127610658565b34801561022057600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166101b5565b34801561024b57600080fd5b506101b561025a366004610f5b565b61066c565b34801561026b57600080fd5b5061012761027a366004610dd8565b61067f565b34801561028b57600080fd5b506102c561029a366004610dd8565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205460ff1690565b60405190151581526020016101d6565b600054610100900460ff16158080156102f55750600054600160ff909116105b8061030f5750303b15801561030f575060005460ff166001145b6103815760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161011e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103df57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103e88261071c565b801561044b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b33600090815260c9602052604090205460ff166104ae5760405162461bcd60e51b815260206004820152600960248201527f45563a64656e6965640000000000000000000000000000000000000000000000604482015260640161011e565b600260015414156105015760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161011e565b60026001556105103382610735565b5060018055565b61051f6107f0565b73ffffffffffffffffffffffffffffffffffffffff821615801590610570575073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604090205460ff16151581151514155b6105bc5760405162461bcd60e51b815260206004820152600860248201527f45563a706172616d000000000000000000000000000000000000000000000000604482015260640161011e565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260c9602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006106524683610857565b92915050565b6106606107f0565b61066a6000610950565b565b60006106788383610857565b9392505050565b6106876107f0565b73ffffffffffffffffffffffffffffffffffffffff81166107105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161011e565b61071981610950565b50565b6107246109c7565b61072c610a4c565b61071981610ad1565b801561044b5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610795576040519150601f19603f3d011682016040523d82523d6000602084013e61079a565b606091505b50509050806107eb5760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c656400000000000000000000000000604482015260640161011e565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461066a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161011e565b60008061086384610b7b565b83604051602001610875929190610fd2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906108f890849060040161102a565b60206040518083038186803b15801561091057600080fd5b505afa158015610924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610948919061107b565b949350505050565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610a445760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a610cad565b600054610100900460ff16610ac95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a610d30565b73ffffffffffffffffffffffffffffffffffffffff8116610b345760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161011e565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b606081610bbb57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610be55780610bcf816110c7565b9150610bde9050600a8361112f565b9150610bbf565b60008167ffffffffffffffff811115610c0057610c00610e4c565b6040519080825280601f01601f191660200182016040528015610c2a576020820181803683370190505b5090505b841561094857610c3f600183611143565b9150610c4c600a8661115a565b610c5790603061116e565b60f81b818381518110610c6c57610c6c611186565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610ca6600a8661112f565b9450610c2e565b600054610100900460ff16610d2a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b60018055565b600054610100900460ff16610dad5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a33610950565b73ffffffffffffffffffffffffffffffffffffffff8116811461071957600080fd5b600060208284031215610dea57600080fd5b813561067881610db6565b600060208284031215610e0757600080fd5b5035919050565b60008060408385031215610e2157600080fd5b8235610e2c81610db6565b915060208301358015158114610e4157600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610e8c57600080fd5b813567ffffffffffffffff80821115610ea757610ea7610e4c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610eed57610eed610e4c565b81604052838152866020858801011115610f0657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610f3857600080fd5b813567ffffffffffffffff811115610f4f57600080fd5b61094884828501610e7b565b60008060408385031215610f6e57600080fd5b82359150602083013567ffffffffffffffff811115610f8c57600080fd5b610f9885828601610e7b565b9150509250929050565b60005b83811015610fbd578181015183820152602001610fa5565b83811115610fcc576000848401525b50505050565b60008351610fe4818460208801610fa2565b7f2e00000000000000000000000000000000000000000000000000000000000000908301908152835161101e816001840160208801610fa2565b01600101949350505050565b6020815260008251806020840152611049816040850160208701610fa2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60006020828403121561108d57600080fd5b815161067881610db6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110f9576110f9611098565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261113e5761113e611100565b500490565b60008282101561115557611155611098565b500390565b60008261116957611169611100565b500690565b6000821982111561118157611181611098565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220a9a80c6d09a8fe0110adcdabd6682b37ae15ded4282fed28d917343fa3f34e2564736f6c63430008090033", + "balance": "0xffffffffffffffc87d2531626fffffff" + } +}